您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Impossible to outplace
// ==UserScript== // @name Classified // @namespace none // @version 1 // @description Impossible to outplace // @author 𝓛._.𝓻𝓮 (Watersheep) // @match *://moomoo.io/* // @match *://sandbox.moomoo.io/* // @icon https://i.pinimg.com/originals/f8/7a/d3/f87ad32360e70eaf0b8f7ae9b5ed2b67.gif // @require http://code.jquery.com/jquery-3.3.1.min.js // @require https://cdn.jsdelivr.net/npm/[email protected]/dist/msgpack.min.js // @license WTFPL // ==/UserScript== let config = window.config; function normal() { hat(normalHat) acc(normalAcc) } function aim(x, y) { var cvs = document.getElementById("gameCanvas") cvs.dispatchEvent(new MouseEvent("mousemove", { clientX: x, clientY: y })) } let coreURL = new URL(window.location.href) window.sessionStorage.force = coreURL.searchParams.get("fc") if (window.sessionStorage.force != "false" && window.sessionStorage.force && window.sessionStorage.force.toString() != "null") { document.getElementsByClassName("menuHeader")[0].innerHTML = `Servers <span style="color: red">Force (${window.sessionStorage.force})</span>` } class ForceSocket extends WebSocket { constructor(...args) { if (window.sessionStorage.force != "false" && window.sessionStorage.force && window.sessionStorage.force.toString() != "null") { let server = window.sessionStorage.force let sip = "" for (let gameServer of window.vultr.servers) { if (`${gameServer.region}:${gameServer.index}:0` == server) { sip = gameServer.ip } } args[0] = `wss://ip_${sip}.moomoo.io:8008/?gameIndex=0` delete window.sessionStorage.force } super(...args) } } setInterval(() => { if(autoaim == true) { doNewSend(["2", [nearestEnemyAngle]]); } }, 0); setInterval(() => { if(spin) { aim(Math.random() * window.innerWidth, Math.random() * window.innerHeight); } }, 0); var spin = false; var nearestEnemy; var nearestEnemyAngle; var autoaim = false; var isEnemyNear; var instaSpeed = 0; var primary; var secondary; var foodType; var wallType; var spikeType; var millType; var mineType; var trapType; var boostType; var turretType; var spawnpadType; var tick = 0; var oldHat; var oldAcc; var enemiesNear; var normalHat; var normalAcc; var ws; var msgpack5 = msgpack; var boostDir; let myPlayer = { id: null, x: null, y: null, oldX: null, oldY: null, dt: 0, dir: null, object: null, weapon: null, clan: null, isLeader: null, hat: null, accessory: null, isSkull: null, sTime: 0, sCount: 0, health: 100 }; let healSpeed = 0; var messagecrash = 0; var clanToggle = 0; var clanCrash = 0; var clanfake = 0; var messagefake = 0; let healToggle = 0; let hatToggle = 0; let SoreHolder = document.getElementById('storeHolder'); let width; let height; let mouseX; let mouseY; let heal = false; let onetick = false; let oneticking = false; let lessmove = undefined; let instaing = false; let mySkins = {}; let myTails = {}; let camX = null; let camY = null; let myXY = { x: undefined, y: undefined } document.msgpack = msgpack; function n() { this.buffer = new Uint8Array([0]); this.buffer.__proto__ = new Uint8Array; this.type = 0; }; let packet = 0; let firstPacket = false; WebSocket.prototype.oldSend = WebSocket.prototype.send; WebSocket.prototype.send = function (m) { if (!ws) { document.ws = this; ws = this; socketFound(this); } if (ws == this) { if (!firstPacket) { firstPacket = true; setTimeout(() => { packet = 0; firstPacket = false; }, 1000); } packet++; } this.oldSend(m); }; let delta; let now; let lastUpdate = Date.now(); let types = { util: { getDist: function (tmp1, tmp2, type1, type2) { let tmpXY1 = { x: type1 == 0 ? tmp1.x : type1 == 1 ? tmp1.x1 : type1 == 2 && tmp1.x2, y: type1 == 0 ? tmp1.y : type1 == 1 ? tmp1.y1 : type1 == 2 && tmp1.y2 } let tmpXY2 = { x: type2 == 0 ? tmp2.x : type2 == 1 ? tmp2.x1 : type2 == 2 && tmp2.x2, y: type2 == 0 ? tmp2.y : type2 == 1 ? tmp2.y1 : type2 == 2 && tmp2.y2 } return Math.sqrt((tmpXY2.x -= tmpXY1.x) * tmpXY2.x + (tmpXY2.y -= tmpXY1.y) * tmpXY2.y); }, getDirect: function (tmp1, tmp2, type1, type2) { let tmpXY1 = { x: type1 == 0 ? tmp1.x : type1 == 1 ? tmp1.x1 : type1 == 2 && tmp1.x2, y: type1 == 0 ? tmp1.y : type1 == 1 ? tmp1.y1 : type1 == 2 && tmp1.y2 } let tmpXY2 = { x: type2 == 0 ? tmp2.x : type2 == 1 ? tmp2.x1 : type2 == 2 && tmp2.x2, y: type2 == 0 ? tmp2.y : type2 == 1 ? tmp2.y1 : type2 == 2 && tmp2.y2 } return Math.atan2(tmpXY1.y - tmpXY2.y, tmpXY1.x - tmpXY2.x); }, } } let gameCanvas = document.getElementById("gameCanvas"); let mainContext = gameCanvas.getContext("2d"); let myName = "unknown"; function shameCounter() { if (myPlayer.id) { let tmpXY = { x: camX, y: camY }; let tmpDist = types.util.getDist(tmpXY, myXY, 0, 0); let tmpDir = types.util.getDirect(myXY, tmpXY, 0, 0); let camSpd = Math.min(tmpDist * 0.01 * delta, tmpDist); if (tmpDist > 0.05) { camX += camSpd * Math.cos(tmpDir); camY += camSpd * Math.sin(tmpDir); } else { camX = myXY.x; camY = myXY.y; } let rate = 170; myPlayer.dt += delta; let tmpRate = Math.min(1.7, myPlayer.dt / rate); let tmpDiff = (myPlayer.x - myPlayer.oldX); myXY.x = myPlayer.oldX + (tmpDiff * tmpRate); tmpDiff = (myPlayer.y - myPlayer.oldY); myXY.y = myPlayer.oldY + (tmpDiff * tmpRate); let xOffset = camX - (1920 / 2); let yOffset = camY - (1080 / 2); mainContext.font = "30px Hammersmith One"; mainContext.fillStyle = "#fff"; mainContext.textBaseline = "middle"; mainContext.textAlign = "center"; mainContext.lineWidth = 8; mainContext.lineJoin = "round"; var tmpText = (myPlayer.clan ? "[" + myPlayer.clan + "] " : "") + (myName || ""); var tmpS = 60; var tmpX = myXY.x - xOffset - (tmpS / 2) + (mainContext.measureText(tmpText).width / 2) + 35 + (myPlayer.isSkull == 1 ? 90 : 30); mainContext.strokeText(myPlayer.sCount, tmpX, (myXY.y - yOffset - 35) - 34); mainContext.fillText(myPlayer.sCount, tmpX, (myXY.y - yOffset - 35) - 34); } else { camX = 14400 / 2; camY = 14400 / 2; } } let mStatus = document.createElement("div"); mStatus.id = "status"; mStatus.style.position = "absolute"; mStatus.style.color = "#fff"; mStatus.style.font = "15px Hammersmith One"; mStatus.style.top = "40px"; mStatus.style.left = "40px"; mStatus.style.display = "block"; mStatus.textAlign = "right"; document.body.appendChild(mStatus); function doUpdate() { now = Date.now(); delta = now - lastUpdate; lastUpdate = now; shameCounter(); window.requestAnimationFrame(doUpdate); mStatus.innerHTML = ` Packet: ${packet}</br> `; } doUpdate(); function socketFound(socket) { socket.addEventListener('message', function (message) { handleMessage(message); }); } function dist(a, b) { return Math.hypot(a[2] - b.y, a[1] - b.x); } function handleMessage(m) { let temp = msgpack5.decode(new Uint8Array(m.data)); let data; if (temp.length > 1) { data = [temp[0], ...temp[1]]; if (data[1] instanceof Array) { data = data; } } else { data = temp; } let item = data[0]; if (!data) { return }; if (item === "io-init") { let cvs = document.getElementById("gameCanvas"); width = cvs.clientWidth; height = cvs.clientHeight; $(window).resize(function () { width = cvs.clientWidth; height = cvs.clientHeight; }); cvs.addEventListener("mousemove", e => { mouseX = e.clientX; mouseY = e.clientY; }); } if (item == "A" && myPlayer.id == null) { myPlayer.id = data[1]; } if (item == "B") { if (data[2]) { myName = data[1][2]; myPlayer.health = 100; myPlayer.sCount = 0; myPlayer.sTime = 0; update(); } } if(data == "6") { console.warn(data); } if(data == "K") { console.error(data); let sid = data[0] let findObj = findObjectBySid(sid); try { let objAim = UTILS.getDirect(findObj, tmpXY(player)); let objDst = UTILS.getDist(findObj, tmpXY(player)); let tmpCount = -1; for (let i = -Math.PI/(Math.PI); i <= Math.PI/(Math.PI); i+= Math.PI/(Math.PI)) { tmpCount++ if (tmpCount == 1 && objDst <= 200) { place(spikeType, objAim); } else { checkPlace(2, objAim+i); } } } catch (e) { console.error(e); } } if (item == "O" && data[1] == myPlayer.id) { if (75 < data[2] < 100) { setTimeout(() => { place(foodType); }, 90); } } if (item == "O" && data[1] == myPlayer.id) { if (data[2] < 75) { macros.q = true place(foodType); place(foodType); } else { macros.q = false } } function findPlayerBySID(sid) { for (var i = 0; i < players.length; ++i) { if (players[i].sid == sid) { return players[i]; } } return null; } console.log(data); // UPDATE HEALTH: if (item == "O" && data[1] == myPlayer.id) { let tmpObj = findPlayerBySID(sid); if (tmpObj) { let tmpHealth = tmpObj.health; tmpObj.health = value; if (tmpHealth < tmpObj.health) { if (tmpObj.hitTime) { let timeSinceHit = Date.now() - tmpObj.hitTime; tmpObj.hitTime = 0; let tmpShame = tmpObj.shameCount; if (timeSinceHit <= 120) { tmpObj.shameCount = Math.min(8, tmpObj.shameCount + 1); } else { tmpObj.shameCount = Math.max(0, tmpObj.shameCount - 2); } if (tmpObj !== player) { if (tmpObj.dangerShame < tmpObj.shameCount) { tmpObj.dangerShame = tmpObj.shameCount; } } } } else if (tmpHealth > tmpObj.health) { let a = 0; let antiInsta = false; let checkAnti; tmpObj.hitTime = Date.now(); if (tmpObj === player) { if (!getEl("tickbase").checked) { let pingHeal = function() { return Math.max(0, 250 - window.pingTime); }; if (true) { if (near.length) { if(tmpObj != player) { if ( (tmpObj.reloads[tmpObj.primaryIndex] != 0 && tmpObj.skinIndex == 7) || (tmpObj.reloads[tmpObj.secondaryIndex] != 0 && tmpObj.skinIndex == 53) ) { checkAnti = true; } if (checkAnti) { io.send("ch", "anti insta test"); antiInsta = true; } if(antiInsta) { console.log("anti instad"); io.send("ch", "anti insta test"); if(value>40){ place(0, getAttackDir()); }else{ place(0, getAttackDir()); place(0, getAttackDir()); } } console.warn(player.reloads[player.primaryIndex]); if(Math.abs(value)>25) { if(tmpObj.reloads[tmpObj.primaryIndex] != 0) a=0; if(tmpObj.reloads[tmpObj.secondaryIndex] != 0) a=1; if(a=0) { io.send("ch", "beta anti insta"); place(0, getAttackDir()); place(0, getAttackDir()); } else if (a=1) { //io.send("ch", "test"); setTimeout(() => { place(0, getAttackDir()); }, 86); setTimeout(() => { place(0, getAttackDir()); }, 86); } } else { if(tmpObj.reloads[tmpObj.primaryIndex] != 0) a=0; if(tmpObj.reloads[tmpObj.secondaryIndex] != 0) a=1; if(a=0) { //io.send("ch", "beta anti insta"); place(0, getAttackDir()); place(0, getAttackDir()); } else if (a=1) { //io.send("ch", "test"); setTimeout(() => { place(0, getAttackDir()); }, 86); setTimeout(() => { place(0, getAttackDir()); }, 86); } } } value >= 20 if (tmpObj.skinIndex = 53 && tmpObj.isAI != true) { if(tmpObj.reloads[tmpObj.primaryIndex] != 0) a=0; if(tmpObj.reloads[tmpObj.secondaryIndex] != 0) a=1; if(a=0) { //io.send("ch", "beta anti insta"); place(0, getAttackDir()); place(0, getAttackDir()); } else if (a=1) { io.send("ch", "test"); setTimeout(() => { place(0, getAttackDir()); }, 86); setTimeout(() => { place(0, getAttackDir()); }, 86); } } else { if(tmpObj.reloads[tmpObj.primaryIndex] != 0) a=0; if(tmpObj.reloads[tmpObj.secondaryIndex] != 0) a=1; if(a=0) { //io.send("ch", "beta anti insta"); place(0, getAttackDir()); place(0, getAttackDir()); } else if (a=1) { io.send("ch", "test"); setTimeout(() => { place(0, getAttackDir()); }, 86); setTimeout(() => { place(0, getAttackDir()); }, 86); } } player.skinIndex == 11 && (value >= 30); buyEquip(11, 0); } else { if(tmpObj.reloads[tmpObj.primaryIndex] != 0) a=0; if(tmpObj.reloads[tmpObj.secondaryIndex] != 0) a=1; if(a=0) { //io.send("ch", "beta anti insta"); place(0, getAttackDir()); place(0, getAttackDir()); } else if (a=1) { if ( (tmpObj.reloads[tmpObj.primaryIndex] != 0 && tmpObj.skinIndex == 7) || (tmpObj.reloads[tmpObj.secondaryIndex] != 0 && tmpObj.skinIndex == 53) ) { checkAnti = true; } if (checkAnti) { io.send("ch", "anti insta test"); antiInsta = true; } if(antiInsta) { console.log("anti instad"); io.send("ch", "anti insta test"); if(value>40){ place(0, getAttackDir()); }else{ place(0, getAttackDir()); place(0, getAttackDir()); } } //io.send("ch", "test"); setTimeout(() => { place(0, getAttackDir()); }, 86); setTimeout(() => { place(0, getAttackDir()); }, 86); } } } } else { let damage = tmpHealth - tmpObj.health; let pingHeal = function() { return Math.max(0, 140 - window.pingTime); }; let normal = 50; if (near.nears.length) { for (let i = 0; i < near.nears.length; i++) { let nearEnemy = near.enemy; if (damage >= (tmpObj.skinIndex == 6 ? 30 : 10) && ((nearEnemy.secondaryIndex === undefined || nearEnemy.primaryIndex === undefined) ? true : (nearEnemy.reloads[nearEnemy.primaryIndex] === 0 && nearEnemy.reloads[nearEnemy.secondaryIndex] === 0))) { if (tmpObj.shameCount < 3) { for (let i = 0; i < applCxC(damage); i++) { setTimeout(() => { if(Math.abs(value)>40) { place(0, getAttackDir()); place(0, getAttackDir()); } else { place(0, getAttackDir()); } }, config.tickRate / 2); } } else { for (let i = 0; i < applCxC(damage); i++) { setTimeout(() => { if(Math.abs(value)>40) { place(0, getAttackDir()); place(0, getAttackDir()); } else { place(0, getAttackDir()); } }, config.tickRate); } } } else { for (let i = 0; i < applCxC(damage); i++) { setTimeout(() => { if(Math.abs(value)>40) { place(0, getAttackDir()); place(0, getAttackDir()); } else { place(0, getAttackDir()); } }, config.tickRate * 1.5); } } } } else { for (let i = 0; i < applCxC(damage); i++) { setTimeout(() => { if(Math.abs(value)>40) { place(0, getAttackDir()); place(0, getAttackDir()); } else { place(0, getAttackDir()); } }, config.tickRate / 2); } } } } else { if (tmpObj === near.enemy) { let damage = tmpHealth - tmpObj.health; if (damage > 5) { if (autos.insta.count > 0) { autos.insta.count--; setTimeout(() => { if (autos.insta.count <= 0) { autos.insta.todo = true; } }, config.tickRate / 2); } } } } } } } if (item == "a") { enemiesNear = []; for (let i = 0; i < data[1].length / 13; i++) { let playerInfo = data[1].slice(13 * i, 13 * i + 13); if (playerInfo[0] == myPlayer.id) { myPlayer.oldX = myXY.x; myPlayer.oldY = myXY.y; myPlayer.dt = 0; myPlayer.x = playerInfo[1]; myPlayer.y = playerInfo[2]; myPlayer.dir = playerInfo[3]; myPlayer.object = playerInfo[4]; myPlayer.weapon = playerInfo[5]; myPlayer.clan = playerInfo[7]; myPlayer.isLeader = playerInfo[8]; myPlayer.hat = playerInfo[9]; myPlayer.accessory = playerInfo[10]; myPlayer.isSkull = playerInfo[11]; if (myPlayer.hat == 45) { myPlayer.sCount = 0; } } else if (playerInfo[7] != myPlayer.clan || playerInfo[7] === null) { enemiesNear.push(playerInfo); } } isEnemyNear = false; if (enemiesNear) { nearestEnemy = enemiesNear.sort((a, b) => dist(a, myPlayer) - dist(b, myPlayer))[0]; } if (nearestEnemy) { nearestEnemyAngle = Math.atan2(nearestEnemy[2] - myPlayer.y, nearestEnemy[1] - myPlayer.x); if (Math.sqrt(Math.pow((myPlayer.y - nearestEnemy[2]), 2) + Math.pow((myPlayer.x - nearestEnemy[1]), 2)) < 300) { isEnemyNear = true; if (autoaim == false && oneticking == false && myPlayer.hat != 7 && myPlayer.hat != 53) { normalHat = 12; if (primary != 8) { normalAcc = 21 } }; } } if (onetick && enemiesNear.length) { let distance = dist(nearestEnemy, myPlayer); let biomehat = function () { if (myPlayer.accessory != 11) { acc(11); } if (myPlayer.y < 2400) { if (myPlayer.hat != 15) { hat(15); } } else if (myPlayer.y > 6850 && myPlayer.y < 7550) { if (myPlayer.hat != 31) { hat(31); } } else { if (myPlayer.hat != 12) { hat(12); } } }; oneticking = true; if (distance > 231 && distance < 234) { if (lessmove != undefined) { lessmove = undefined; doNewSend(["33", [lessmove]]); } biomehat(); if (nearestEnemy[9] != 22 && nearestEnemy[9] != 6) { sendTick(); } } else { if (distance <= 231) { if (lessmove != nearestEnemyAngle + Math.PI) { lessmove = nearestEnemyAngle + Math.PI; doNewSend(["33", [lessmove]]); } } else if (distance >= 234) { if (lessmove != nearestEnemyAngle) { lessmove = nearestEnemyAngle; doNewSend(["33", [lessmove]]); } } if (distance > 215 && distance < 250) { if (myPlayer.hat != 40) { hat(40); acc(0); } } else { if (myPlayer.hat != 12) { hat(12); } } } } else { oneticking = false; } if (isEnemyNear == false && autoaim == false) { normalAcc = 11; if (myPlayer.y < 2400) { normalHat = 15; } else if (myPlayer.y > 6850 && myPlayer.y < 7550) { normalHat = 31; } else { normalHat = 12; } } if (!nearestEnemy) { nearestEnemyAngle = myPlayer.dir; } if (doInsta) { doInsta = false; if (!instaing) { doNewSend(["13c", [0, 0, 1]]); doNewSend(["5", [primary, true]]); autoaim = true doNewSend(["7", [1]]); if (!mySkins[7]) { doNewSend(["13c", [1, 7, 0]]); } if (myPlayer.hat != 7) { doNewSend(["13c", [0, 7, 0]]); } if (myPlayer.accessory != 0) { doNewSend(["13c", [0, 0, 1]]); } setTimeout(() => { if (myPlayer.accessory != 0) { doNewSend(["13c", [0, 0, 1]]); } if (!mySkins[53]) { doNewSend(["13c", [1, 53, 0]]); } if (myPlayer.hat != 53) { doNewSend(["13c", [0, 53, 0]]); } doNewSend(["5", [secondary, true]]); autoaim = false setTimeout(() => { doNewSend(["7", [1]]); doNewSend(["5", [primary, true]]); }, 82); }, 82); } } } if (item == "h" && data[1] == myPlayer.id) { let dmg = myPlayer.health - data[2]; if ((myPlayer.health - data[2]) < 0) { if (myPlayer.sTime) { let timeHit = Date.now() - myPlayer.sTime; myPlayer.sTime = 0; if (timeHit <= 120) { myPlayer.sCount++; } else { myPlayer.sCount = Math.max(0, myPlayer.sCount - 2); } } } else { myPlayer.sTime = Date.now(); } myPlayer.health = data[2]; } if (item == "V") { update(); } if (item == "us") { if (data[3]) { if (!data[1]) myTails[data[2]] = 1; else myPlayer.accessory = data[2]; } else { if (!data[1]) mySkins[data[2]] = 1; else myPlayer.hat = data[2]; } } } let macros = { q: false, f: false, v: false, n: false, g: false, '9': false } setInterval(() => { macros.v && place(spikeType); }, 35); setInterval(() => { macros.f && place(boostType); macros.n && place(millType); macros.g && place(turretType); macros.q && place(foodType); macros['9'] && place(spawnpadType); }, 86); function doNewSend(sender) { ws.send(new Uint8Array(Array.from(msgpack5.encode(sender)))); } function acc(id) { doNewSend(["13c", [0, id, 1]]); } function hat(id) { doNewSend(["13c", [0, id, 0]]); } function place(id, angle = Math.atan2(mouseY - height / 2, mouseX - width / 2)) { doNewSend(["5", [id, null]]); doNewSend(["c", [1, angle]]); doNewSend(["5", [myPlayer.weapon, true]]); } function plac(id, angle = Math.atan2(mouseY - height / 2, mouseX - width / 2)) { doNewSend(["5", [id, null]]); doNewSend(["c", [1, angle]]); doNewSend(["5", [myPlayer.weapon, true]]); } function placing(id, angle = Math.atan2(mouseY - height / 2, mouseX - width / 2)) { doNewSend(["5", [id, null]]); doNewSend(["c", [1, angle]]); doNewSend(["5", [myPlayer.weapon, true]]); } let doInsta = false; let keyss = {}; document.addEventListener('keydown', (e) => { if (!keyss[e.keyCode]) { keyss[e.keyCode] = 1; if (document.activeElement.id.toLowerCase() !== "chatbox") { macros[e.key] = true; const wallPlacer = false; if (e.keyCode == 82) { doInsta = false; } if (e.keyCode == 84) { onetick = !onetick; acc(0); } if (e.keyCode == 0) { for (let i = 0; i < 5; i++) { let angle = myPlayer.dir + toRad(i * 72); place(millType, angle) } } if (e.keyCode == 0) { for (let i = 0; i < 4; i++) { let angle = myPlayer.dir + toRad(i * 90); place(wallType, angle) } } if (e.keyCode == 0) { for (let i = 0; i < 4; i++) { let angle = myPlayer.dir + toRad(i * 90); place(boostType, angle) } } if (e.keyCode == 89) { hat(20) } if (e.keyCode == 72) { hat(53) } if (e.keyCode == 66) { hat(7) acc(21) } if (e.keyCode == 16) { hat(6) acc(11) } if (e.keyCode == 76) { hat(31) } if (e.keyCode == 90) { hat(40) acc(21) } if (e.keyCode == 67) { if (spin == false) { spin = true; } else { spin = false; } } } } }) document.addEventListener('keyup', (e) => { if (keyss[e.keyCode]) { keyss[e.keyCode] = 0; macros[e.key] = false; if (document.activeElement.id.toLowerCase() !== "chatbox") { if (e.keyCode == 123123) { setTimeout(() => { doNewSend(["33", [null]]); boostDir = null; }, 10); } if (e.keyCode == 123123) { setTimeout(() => { doNewSend(["33"]); }, 1); } if (e.keyCode == 219) { setTimeout(() => { doNewSend(["33"]); }, 1); } if (e.keyCode == 123213) { setTimeout(() => { doNewSend(["33"]); }, 1); } if (e.keyCode == 1232131231231231231232131503123121213215021213) { setTimeout(() => { doNewSend(["33", [null]]); boostDir = null; }, 10); } } } }) //yes shared by zynq function isElementVisible(e) { return (e.offsetParent !== null); } function toRad(angle) { return angle * 0.01745329251; } function update() { for (let i = 0; i < 9; i++) { if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))) { primary = i; } } for (let i = 9; i < 16; i++) { if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))) { secondary = i; } } for (let i = 16; i < 19; i++) { if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))) { foodType = i - 16; } } for (let i = 19; i < 22; i++) { if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))) { wallType = i - 16; } } for (let i = 22; i < 26; i++) { if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))) { spikeType = i - 16; } } for (let i = 26; i < 29; i++) { if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))) { millType = i - 16; } } for (let i = 29; i < 31; i++) { if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))) { mineType = i - 16; } } for (let i = 31; i < 33; i++) { if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))) { boostType = i - 16; } } for (let i = 33; i < 36; i++) { if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))) { turretType = i - 16; } } for (let i = 36; i < 37; i++) { if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))) { spawnpadType = i - 16; } } for (let i = 37; i < 39; i++) { if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))) { turretType = i - 16; } } } window.onload = function () { document.getElementById("diedText").innerHTML = "YOU DIED"; document.getElementById("diedText").style.color = "#FFFFFF"; document.getElementById("gameName").innerHTML = "MOOMOO.IO"; document.getElementById("gameName").style.color = "#FFFFFF"; }
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址