您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
its da best
// ==UserScript== // @name Agarbot-Client // @namespace Agarbot // @description its da best // @include https://www.youtube.com/watch?v=KcD-BA2lnVE // @exclude // // @exclude ==UserScript== // @exclude // // @exclude @name // @exclude Agarbot-Client // @exclude // // @exclude @namespace // @exclude Agarbot // @exclude // // @exclude @version // @exclude 1.0 // @exclude // // @exclude @description // @exclude its // @exclude da // @exclude best // @exclude // // @exclude @author // @exclude Voltized // @exclude // // @exclude @match // @exclude http://agar.io/* // @exclude // // @exclude @require // @exclude https://cdnjs.cloudflare.com/ajax/libs/socket.io/1.4.5/socket.io.min.js // @exclude // // @exclude @grant // @exclude none // @exclude // // @exclude @run-at // @exclude document-start // @exclude // // @exclude ==/UserScript== // @exclude setTimeout(function() // @exclude { // @exclude var // @exclude real_minx // @exclude = // @exclude -7071; // @exclude var // @exclude real_miny // @exclude = // @exclude -7071; // @exclude var // @exclude real_maxx // @exclude = // @exclude 7071; // @exclude var // @exclude real_maxy // @exclude = // @exclude 7071; // @exclude var // @exclude lastsent // @exclude = // @exclude { // @exclude minx: // @exclude 0, // @exclude miny: // @exclude 0, // @exclude maxx: // @exclude 0, // @exclude maxy: // @exclude 0 // @exclude }; // @exclude function // @exclude valcompare(Y, // @exclude Z) // @exclude { // @exclude return // @exclude 0.01 // @exclude > // @exclude Y // @exclude - // @exclude Z // @exclude && // @exclude -0.01 // @exclude < // @exclude Y // @exclude - // @exclude Z // @exclude } // @exclude window.agar.hooks.dimensionsUpdated // @exclude = // @exclude function(server_minx, // @exclude server_miny, // @exclude server_maxx, // @exclude server_maxy) // @exclude { // @exclude if // @exclude (valcompare(server_maxx // @exclude - // @exclude server_minx, // @exclude server_maxy // @exclude - // @exclude server_miny)) // @exclude { // @exclude real_minx // @exclude = // @exclude server_minx; // @exclude real_miny // @exclude = // @exclude server_miny; // @exclude real_maxx // @exclude = // @exclude server_maxx; // @exclude real_maxy // @exclude = // @exclude server_maxy // @exclude } // @exclude else // @exclude { // @exclude if // @exclude (valcompare(server_minx, // @exclude lastsent.minx)) // @exclude { // @exclude if // @exclude (0.01 // @exclude < // @exclude server_maxx // @exclude - // @exclude lastsent.maxx // @exclude || // @exclude -0.01 // @exclude > // @exclude server_maxx // @exclude - // @exclude lastsent.maxx) // @exclude { // @exclude real_minx // @exclude = // @exclude server_minx; // @exclude real_maxx // @exclude = // @exclude server_minx // @exclude + // @exclude 14142.135623730952 // @exclude } // @exclude } // @exclude if // @exclude (0.01 // @exclude < // @exclude server_minx // @exclude - // @exclude lastsent.minx // @exclude || // @exclude -0.01 // @exclude > // @exclude server_minx // @exclude - // @exclude lastsent.minx) // @exclude { // @exclude if // @exclude (valcompare(server_maxx, // @exclude lastsent.maxx)) // @exclude { // @exclude real_maxx // @exclude = // @exclude server_maxx; // @exclude real_minx // @exclude = // @exclude server_maxx // @exclude - // @exclude 14142.135623730952 // @exclude } // @exclude } // @exclude if // @exclude (0.01 // @exclude < // @exclude server_miny // @exclude - // @exclude lastsent.miny // @exclude || // @exclude -0.01 // @exclude > // @exclude server_miny // @exclude - // @exclude lastsent.miny) // @exclude { // @exclude if // @exclude (valcompare(server_maxy, // @exclude lastsent.maxy)) // @exclude { // @exclude real_maxy // @exclude = // @exclude server_maxy; // @exclude real_miny // @exclude = // @exclude server_maxy // @exclude - // @exclude 14142.135623730952 // @exclude } // @exclude } // @exclude if // @exclude (valcompare(server_miny, // @exclude lastsent.miny)) // @exclude { // @exclude if // @exclude (0.01 // @exclude < // @exclude server_maxy // @exclude - // @exclude lastsent.maxy // @exclude || // @exclude -0.01 // @exclude > // @exclude server_maxy // @exclude - // @exclude lastsent.maxy) // @exclude { // @exclude real_miny // @exclude = // @exclude server_miny; // @exclude real_maxy // @exclude = // @exclude server_miny // @exclude + // @exclude 14142.135623730952 // @exclude } // @exclude } // @exclude if // @exclude (server_minx // @exclude < // @exclude real_minx) // @exclude { // @exclude real_minx // @exclude = // @exclude server_minx; // @exclude real_maxx // @exclude = // @exclude server_minx // @exclude + // @exclude 14142.135623730952 // @exclude } // @exclude if // @exclude (server_maxx // @exclude > // @exclude real_maxx) // @exclude { // @exclude real_maxx // @exclude = // @exclude server_maxx; // @exclude real_minx // @exclude = // @exclude server_maxx // @exclude - // @exclude 14142.135623730952 // @exclude } // @exclude if // @exclude (server_miny // @exclude < // @exclude real_miny) // @exclude { // @exclude real_miny // @exclude = // @exclude server_miny; // @exclude real_maxy // @exclude = // @exclude server_miny // @exclude + // @exclude 14142.135623730952 // @exclude } // @exclude if // @exclude (server_maxy // @exclude > // @exclude real_maxy) // @exclude { // @exclude real_maxy // @exclude = // @exclude server_maxy; // @exclude real_miny // @exclude = // @exclude server_maxy // @exclude - // @exclude 14142.135623730952 // @exclude } // @exclude lastsent.minx // @exclude = // @exclude server_minx; // @exclude lastsent.miny // @exclude = // @exclude server_miny; // @exclude lastsent.maxy // @exclude = // @exclude server_maxy; // @exclude lastsent.maxx // @exclude = // @exclude server_maxx // @exclude } // @exclude offset_x // @exclude = // @exclude real_minx // @exclude || // @exclude -7071; // @exclude offset_y // @exclude = // @exclude real_miny // @exclude || // @exclude -7071 // @exclude }; // @exclude var // @exclude socket // @exclude = // @exclude io.connect('ws://127.0.0.1:8081'); // @exclude var // @exclude canMove // @exclude = // @exclude true; // @exclude var // @exclude movetoMouse // @exclude = // @exclude true; // @exclude var // @exclude moveEvent // @exclude = // @exclude new // @exclude Array(2); // @exclude var // @exclude canvas // @exclude = // @exclude document.getElementById("canvas"); // @exclude last_transmited_game_server // @exclude = // @exclude null; // @exclude socket.on('force-login', // @exclude function(data) // @exclude { // @exclude socket.emit("login", // @exclude { // @exclude "uuid": // @exclude client_uuid, // @exclude "type": // @exclude "client" // @exclude }); // @exclude transmit_game_server() // @exclude }); // @exclude $( // @exclude "#canvas" // @exclude ).after( // @exclude "<div // @exclude style='background-color: // @exclude #000000; // @exclude -moz-opacity: // @exclude 0.4; // @exclude -khtml-opacity: // @exclude 0.4; // @exclude opacity: // @exclude 0.4; // @exclude filter: // @exclude alpha(opacity=40); // @exclude zoom: // @exclude 1; // @exclude width: // @exclude 205px; // @exclude top: // @exclude 10px; // @exclude left: // @exclude 10px; // @exclude display: // @exclude block; // @exclude position: // @exclude absolute; // @exclude text-align: // @exclude center; // @exclude font-size: // @exclude 15px; // @exclude color: // @exclude #ffffff; // @exclude padding: // @exclude 5px; // @exclude font-family: // @exclude Ubuntu;'> // @exclude <div // @exclude style='color:#ffffff; // @exclude display: // @exclude inline; // @exclude -moz-opacity:1; // @exclude -khtml-opacity: // @exclude 1; // @exclude opacity:1; // @exclude filter:alpha(opacity=100); // @exclude padding: // @exclude 10px;'><a>Kadir // @exclude G // @exclude YT // @exclude 1.5</a></div> // @exclude <div // @exclude style='color:#ffffff; // @exclude display: // @exclude inline; // @exclude -moz-opacity:1; // @exclude -khtml-opacity: // @exclude 1; // @exclude opacity:1; // @exclude filter:alpha(opacity=100); // @exclude padding: // @exclude 10px;'><br>Minions: // @exclude <a // @exclude id='minionCount' // @exclude >Offline</a> // @exclude </div> // @exclude <div // @exclude style='color:#ffffff; // @exclude display: // @exclude inline; // @exclude -moz-opacity:1; // @exclude -khtml-opacity: // @exclude 1; // @exclude opacity:1; // @exclude filter:alpha(opacity=100); // @exclude padding: // @exclude 10px;'><br>Move // @exclude To // @exclude Mouse: // @exclude <a // @exclude id='ismoveToMouse' // @exclude >On</a> // @exclude </div> // @exclude <div // @exclude style='color:#ffffff; // @exclude display: // @exclude inline; // @exclude -moz-opacity:1; // @exclude -khtml-opacity: // @exclude 1; // @exclude opacity:1; // @exclude filter:alpha(opacity=100); // @exclude padding: // @exclude 10px;'><br>Stop // @exclude Movement: // @exclude <a // @exclude id='isStopMove' // @exclude >Off</a> // @exclude </div>" // @exclude ); // @exclude socket.on('spawn-count', // @exclude function(data) // @exclude { // @exclude document.getElementById('minionCount').innerHTML // @exclude = // @exclude data // @exclude }); // @exclude var // @exclude client_uuid // @exclude = // @exclude localStorage.getItem('client_uuid'); // @exclude if // @exclude (client_uuid // @exclude == // @exclude null) // @exclude { // @exclude console.log("generating // @exclude a // @exclude uuid // @exclude for // @exclude this // @exclude user"); // @exclude client_uuid // @exclude = // @exclude ""; // @exclude var // @exclude ranStr // @exclude = // @exclude "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; // @exclude for // @exclude (var // @exclude ii // @exclude = // @exclude 0; // @exclude ii // @exclude < // @exclude 15; // @exclude ii++) // @exclude client_uuid // @exclude += // @exclude ranStr.charAt(Math.floor(Math.random() // @exclude * // @exclude ranStr.length)); // @exclude localStorage.setItem('client_uuid', // @exclude client_uuid) // @exclude } // @exclude socket.emit("login", // @exclude client_uuid); // @exclude $("#instructions").replaceWith('<br><div // @exclude class="input-group"><span // @exclude class="input-group-addon" // @exclude id="basic-addon1">UUID</span><input // @exclude type="text" // @exclude value="' // @exclude + // @exclude client_uuid // @exclude + // @exclude '" // @exclude readonly // @exclude class="form-control"</div>'); // @exclude function // @exclude isMe(cell) // @exclude { // @exclude for // @exclude (var // @exclude i // @exclude = // @exclude 0; // @exclude i // @exclude < // @exclude window.agar.myCells.length; // @exclude i++) // @exclude { // @exclude if // @exclude (window.agar.myCells[i] // @exclude == // @exclude cell.id) // @exclude { // @exclude return // @exclude true // @exclude } // @exclude } // @exclude return // @exclude false // @exclude } // @exclude function // @exclude getCell() // @exclude { // @exclude var // @exclude me // @exclude = // @exclude []; // @exclude for // @exclude (var // @exclude key // @exclude in // @exclude window.agar.allCells) // @exclude { // @exclude var // @exclude cell // @exclude = // @exclude window.agar.allCells[key]; // @exclude if // @exclude (isMe(cell)) // @exclude { // @exclude me.push(cell) // @exclude } // @exclude } // @exclude return // @exclude me[0] // @exclude } // @exclude var // @exclude skin_var // @exclude = // @exclude 0; // @exclude function // @exclude emitPosition() // @exclude { // @exclude for // @exclude (i // @exclude = // @exclude 0; // @exclude i // @exclude < // @exclude agar.myCells.length; // @exclude i++) // @exclude {} // @exclude x // @exclude = // @exclude (mouseX // @exclude - // @exclude window.innerWidth // @exclude / // @exclude 2) // @exclude / // @exclude window.agar.drawScale // @exclude + // @exclude window.agar.rawViewport.x; // @exclude y // @exclude = // @exclude (mouseY // @exclude - // @exclude window.innerHeight // @exclude / // @exclude 2) // @exclude / // @exclude window.agar.drawScale // @exclude + // @exclude window.agar.rawViewport.y; // @exclude if // @exclude (!movetoMouse) // @exclude { // @exclude x // @exclude = // @exclude getCell().x; // @exclude y // @exclude = // @exclude getCell().y // @exclude } // @exclude socket.emit("pos", // @exclude { // @exclude "x": // @exclude x // @exclude - // @exclude (real_minx // @exclude + // @exclude 7071), // @exclude "y": // @exclude y // @exclude - // @exclude (real_miny // @exclude + // @exclude 7071), // @exclude "dimensions": // @exclude [-7071, // @exclude -7071, // @exclude 7071, // @exclude 7071] // @exclude }) // @exclude } // @exclude function // @exclude emitSplit() // @exclude { // @exclude socket.emit("cmd", // @exclude { // @exclude "name": // @exclude "split" // @exclude }) // @exclude } // @exclude function // @exclude emitMassEject() // @exclude { // @exclude socket.emit("cmd", // @exclude { // @exclude "name": // @exclude "eject" // @exclude }) // @exclude } // @exclude function // @exclude toggleMovement() // @exclude { // @exclude canMove // @exclude = // @exclude !canMove; // @exclude switch // @exclude (canMove) // @exclude { // @exclude case // @exclude true: // @exclude canvas.onmousemove // @exclude = // @exclude moveEvent[0]; // @exclude moveEvent[0] // @exclude = // @exclude null; // @exclude canvas.onmousedown // @exclude = // @exclude moveEvent[1]; // @exclude moveEvent[1] // @exclude = // @exclude null; // @exclude break; // @exclude case // @exclude false: // @exclude canvas.onmousemove({ // @exclude clientX: // @exclude innerWidth // @exclude / // @exclude 2, // @exclude clientY: // @exclude innerHeight // @exclude / // @exclude 2 // @exclude }); // @exclude moveEvent[0] // @exclude = // @exclude canvas.onmousemove; // @exclude canvas.onmousemove // @exclude = // @exclude null; // @exclude moveEvent[1] // @exclude = // @exclude canvas.onmousedown; // @exclude canvas.onmousedown // @exclude = // @exclude null; // @exclude break // @exclude } // @exclude } // @exclude interval_id // @exclude = // @exclude setInterval(function() // @exclude { // @exclude emitPosition() // @exclude }, // @exclude 100); // @exclude interval_id2 // @exclude = // @exclude setInterval(function() // @exclude { // @exclude transmit_game_server_if_changed() // @exclude }, // @exclude 5000); // @exclude document.addEventListener('keydown', // @exclude function(e) // @exclude { // @exclude var // @exclude key // @exclude = // @exclude e.keyCode // @exclude || // @exclude e.which; // @exclude switch // @exclude (key) // @exclude { // @exclude case // @exclude 65: // @exclude movetoMouse // @exclude = // @exclude !movetoMouse; // @exclude if(movetoMouse) // @exclude { // @exclude document.getElementById('ismoveToMouse').innerHTML // @exclude = // @exclude "On"; // @exclude } // @exclude else // @exclude { // @exclude document.getElementById('ismoveToMouse').innerHTML // @exclude = // @exclude "Off"; // @exclude } // @exclude break; // @exclude case // @exclude 68: // @exclude toggleMovement(); // @exclude if(!canMove) // @exclude { // @exclude document.getElementById('isStopMove').innerHTML // @exclude = // @exclude "On"; // @exclude } // @exclude else // @exclude { // @exclude document.getElementById('isStopMove').innerHTML // @exclude = // @exclude "Off"; // @exclude } // @exclude break; // @exclude case // @exclude 69: // @exclude emitSplit(); // @exclude break; // @exclude case // @exclude 82: // @exclude emitMassEject(); // @exclude break // @exclude } // @exclude }); // @exclude function // @exclude transmit_game_server_if_changed() // @exclude { // @exclude if // @exclude (last_transmited_game_server // @exclude != // @exclude window.agar.ws) // @exclude { // @exclude transmit_game_server() // @exclude } // @exclude } // @exclude function // @exclude transmit_game_server() // @exclude { // @exclude last_transmited_game_server // @exclude = // @exclude window.agar.ws; // @exclude socket.emit("cmd", // @exclude { // @exclude "name": // @exclude "connect_server", // @exclude "ip": // @exclude last_transmited_game_server // @exclude }) // @exclude } // @exclude var // @exclude mouseX // @exclude = // @exclude 0; // @exclude var // @exclude mouseY // @exclude = // @exclude 0; // @exclude $("body").mousemove(function(event) // @exclude { // @exclude mouseX // @exclude = // @exclude event.clientX; // @exclude mouseY // @exclude = // @exclude event.clientY // @exclude }); // @exclude window.agar.minScale // @exclude = // @exclude -30 // @exclude }, // @exclude 5000); // @exclude var // @exclude allRules // @exclude = // @exclude [ // @exclude { // @exclude hostname: // @exclude ["agar.io"], // @exclude scriptUriRe: // @exclude /^http:\/\/agar\.io\/main_out\.js/, // @exclude replace: // @exclude function // @exclude (m) // @exclude { // @exclude m.removeNewlines() // @exclude m.replace("var:allCells", // @exclude /(=null;)(\w+)(.hasOwnProperty\(\w+\)?)/, // @exclude "$1" // @exclude + // @exclude "$v=$2;" // @exclude + // @exclude "$2$3", // @exclude "$v // @exclude = // @exclude {}") // @exclude m.replace("var:myCells", // @exclude /(case // @exclude 32:)(\w+)(\.push)/, // @exclude "$1" // @exclude + // @exclude "$v=$2;" // @exclude + // @exclude "$2$3", // @exclude "$v // @exclude = // @exclude []") // @exclude m.replace("var:top", // @exclude /case // @exclude 49:[^:]+?(\w+)=\[];/, // @exclude "%exclude%" // @exclude + // @exclude "$v=$1;", // @exclude "$v // @exclude = // @exclude []") // @exclude m.replace("var:topTeams", // @exclude /case // @exclude 50:(\w+)=\[];/, // @exclude "%exclude%" // @exclude + // @exclude "$v=$1;", // @exclude "$v // @exclude = // @exclude []") // @exclude var // @exclude dr // @exclude = // @exclude "(\\w+)=\\w+\\.getFloat64\\(\\w+,!0\\);\\w+\\+=8;\\n?" // @exclude var // @exclude dd // @exclude = // @exclude 7071.067811865476 // @exclude m.replace("var:dimensions // @exclude hook:dimensionsUpdated", // @exclude RegExp("case // @exclude 64:"+dr+dr+dr+dr), // @exclude "%exclude%" // @exclude + // @exclude "$v // @exclude = // @exclude [$1,$2,$3,$4],$H($1,$2,$3,$4),", // @exclude "$v // @exclude = // @exclude " // @exclude + // @exclude JSON.stringify([-dd,-dd,dd,dd])) // @exclude var // @exclude vr // @exclude = // @exclude "(\\w+)=\\w+\\.getFloat32\\(\\w+,!0\\);\\w+\\+=4;" // @exclude m.save() // @exclude && // @exclude m.replace("var:rawViewport:x,y // @exclude var:disableRendering:1", // @exclude /else // @exclude \w+=\(5\*\w+\+(\w+)\)\/6,\w+=\(5\*\w+\+(\w+)\)\/6,.*?;/, // @exclude "%exclude%" // @exclude + // @exclude "$v0.x=$1; // @exclude $v0.y=$2; // @exclude if($v1)return;") // @exclude && // @exclude m.replace("var:disableRendering:2 // @exclude hook:skipCellDraw", // @exclude /(\w+:function\(\w+\){)(if\(this\.\w+\(\)\){\+\+this\.[\w$]+;)/, // @exclude "$1" // @exclude + // @exclude "if($v // @exclude || // @exclude $H(this))return;" // @exclude + // @exclude "$2") // @exclude && // @exclude m.replace("var:rawViewport:scale", // @exclude /Math\.pow\(Math\.min\(64\/\w+,1\),\.4\)/, // @exclude "($v.scale=%exclude%)") // @exclude && // @exclude m.replace("var:rawViewport:x,y,scale", // @exclude RegExp("case // @exclude 17:"+vr+vr+vr), // @exclude "%exclude%" // @exclude + // @exclude "$v.x=$1; // @exclude $v.y=$2; // @exclude $v.scale=$3;") // @exclude && // @exclude m.reset_("window.agar.rawViewport // @exclude = // @exclude {x:0,y:0,scale:1};" // @exclude + // @exclude "window.agar.disableRendering // @exclude = // @exclude false;") // @exclude || // @exclude m.restore() // @exclude m.replace("reset // @exclude hook:connect // @exclude var:ws // @exclude var:webSocket", // @exclude /new // @exclude WebSocket\((\w+)\);/, // @exclude "$v1 // @exclude = // @exclude %exclude%; // @exclude $v0=$1;" // @exclude + // @exclude m.reset // @exclude + // @exclude "$H();", // @exclude "$v0 // @exclude = // @exclude ''; // @exclude $v1 // @exclude = // @exclude null;") // @exclude m.replace("property:scale", // @exclude /function // @exclude \w+\(\w+\){\w+\.preventDefault\(\);[^;]+;1>(\w+)&&\(\1=1\)/, // @exclude `;${makeProperty("scale", // @exclude "$1")};%exclude%`) // @exclude m.replace("var:minScale", // @exclude /;1>(\w+)&&\(\1=1\)/, // @exclude ";$v>$1 // @exclude && // @exclude ($1=$v)", // @exclude "$v // @exclude = // @exclude 1") // @exclude m.replace("var:region", // @exclude /console\.log\("Find // @exclude "\+(\w+\+\w+)\);/, // @exclude "%exclude%" // @exclude + // @exclude "$v=$1;", // @exclude "$v // @exclude = // @exclude ''") // @exclude m.replace("cellProperty:isVirus", // @exclude /((\w+)=!!\(\w+&1\)[\s\S]{0,400})((\w+).(\w+)=\2;)/, // @exclude "$1$4.isVirus=$3") // @exclude m.replace("var:dommousescroll", // @exclude /("DOMMouseScroll",)(\w+),/, // @exclude "$1($v=$2),") // @exclude m.replace("var:skinF // @exclude hook:cellSkin", // @exclude /(\w+.fill\(\))(;null!=(\w+))/, // @exclude "$1;" // @exclude + // @exclude "if($v)$3 // @exclude = // @exclude $v(this,$3);" // @exclude + // @exclude "if($h)$3 // @exclude = // @exclude $h(this,$3);" // @exclude + // @exclude "$2"); // @exclude m.replace("hook:afterCellStroke", // @exclude /\((\w+)\.strokeStyle="#000000",\1\.globalAlpha\*=\.1,\1\.stroke\(\)\);\1\.globalAlpha=1;/, // @exclude "%exclude%" // @exclude + // @exclude "$H(this);") // @exclude m.replace("var:showStartupBg", // @exclude /\w+\?\(\w\.globalAlpha=\w+,/, // @exclude "$v // @exclude && // @exclude %exclude%", // @exclude "$v // @exclude = // @exclude true") // @exclude var // @exclude vAlive // @exclude = // @exclude /\((\w+)\[(\w+)\]==this\){\1\.splice\(\2,1\);/.exec(m.text) // @exclude var // @exclude vEaten // @exclude = // @exclude /0<this\.[$\w]+&&(\w+)\.push\(this\)}/.exec(m.text) // @exclude !vAlive // @exclude && // @exclude console.error("Expose: // @exclude can't // @exclude find // @exclude vAlive") // @exclude !vEaten // @exclude && // @exclude console.error("Expose: // @exclude can't // @exclude find // @exclude vEaten") // @exclude if // @exclude (vAlive // @exclude && // @exclude vEaten) // @exclude m.replace("var:aliveCellsList // @exclude var:eatenCellsList", // @exclude RegExp(vAlive[1] // @exclude + // @exclude "=\\[\\];" // @exclude + // @exclude vEaten[1] // @exclude + // @exclude "=\\[\\];"), // @exclude "$v0=" // @exclude + // @exclude vAlive[1] // @exclude + // @exclude "=[];" // @exclude + // @exclude "$v1=" // @exclude + // @exclude vEaten[1] // @exclude + // @exclude "=[];", // @exclude "$v0 // @exclude = // @exclude []; // @exclude $v1 // @exclude = // @exclude []") // @exclude m.replace("hook:drawScore", // @exclude /(;(\w+)=Math\.max\(\2,(\w+\(\))\);)0!=\2&&/, // @exclude "$1($H($3))||0!=$2&&") // @exclude m.replace("hook:beforeTransform // @exclude hook:beforeDraw // @exclude var:drawScale", // @exclude /(\w+)\.save\(\);\1\.translate\((\w+\/2,\w+\/2)\);\1\.scale\((\w+),\3\);\1\.translate\((-\w+,-\w+)\);/, // @exclude "$v // @exclude = // @exclude $3;$H0($1,$2,$3,$4);" // @exclude + // @exclude "%exclude%" // @exclude + // @exclude "$H1($1,$2,$3,$4);", // @exclude "$v // @exclude = // @exclude 1") // @exclude m.replace("hook:afterDraw", // @exclude /(\w+)\.restore\(\);(\w+)&&\2\.width&&\1\.drawImage/, // @exclude "$H();" // @exclude + // @exclude "%exclude%") // @exclude m.replace("hook:cellColor", // @exclude /(\w+=)this\.color,/, // @exclude "$1 // @exclude ($h // @exclude && // @exclude $h(this, // @exclude this.color) // @exclude || // @exclude this.color),") // @exclude m.replace("var:drawGrid", // @exclude /(\w+)\.globalAlpha=(\.2\*\w+);/, // @exclude "if(!$v)return;" // @exclude + // @exclude "%exclude%", // @exclude "$v // @exclude = // @exclude true") // @exclude m.replace("hook:drawCellMass", // @exclude /&&\((\w+\|\|0==\w+\.length&&\(!this\.\w+\|\|this\.\w+\)&&20<this\.size)\)&&/, // @exclude "&&( // @exclude $h // @exclude ? // @exclude $h(this,$1) // @exclude : // @exclude ($1) // @exclude )&&") // @exclude m.replace("hook:cellMassText", // @exclude /(\.\w+)(\(~~\(this\.size\*this\.size\/100\)\))/, // @exclude "$1( // @exclude $h // @exclude ? // @exclude $h(this,$2) // @exclude : // @exclude $2 // @exclude )") // @exclude m.replace("hook:cellMassTextScale", // @exclude /(\.\w+)\((this\.\w+\(\))\)([\s\S]{0,1000})\1\(\2\/2\)/, // @exclude "$1($2)$3$1( // @exclude $h // @exclude ? // @exclude $h(this,$2/2) // @exclude : // @exclude ($2/2) // @exclude )") // @exclude m.replace("var:enableDirectionSending", // @exclude /;64>(\w+)\*\1\+(\w+)\*\2/, // @exclude ";if(!$v)return" // @exclude + // @exclude "%exclude%", // @exclude "$v // @exclude = // @exclude true") // @exclude m.replace("var:simpleCellDraw", // @exclude /(:function\(\){)(var // @exclude a=10;)/, // @exclude "$1 // @exclude if($v)return // @exclude true;$2", // @exclude "$v=false") // @exclude m.replace("hook:updateLeaderboard", // @exclude /({\w+=null;)(if\(null!=)/, // @exclude "$1 // @exclude if($H())return; // @exclude $2") // @exclude var // @exclude template // @exclude = // @exclude (key,n) // @exclude => // @exclude `this\\.${key}=\\w+\\*\\(this\\.(\\w+)-this\\.(\\w+)\\)\\+this\\.\\${n};` // @exclude var // @exclude re // @exclude = // @exclude new // @exclude RegExp(template('x', // @exclude 2) // @exclude + // @exclude template('y', // @exclude 4) // @exclude + // @exclude template('size', // @exclude 6)) // @exclude var // @exclude match // @exclude = // @exclude re.exec(m.text) // @exclude if // @exclude (match) // @exclude { // @exclude m.cellProp.nx // @exclude = // @exclude match[1] // @exclude m.cellProp.ny // @exclude = // @exclude match[3] // @exclude m.cellProp.nSize // @exclude = // @exclude match[5] // @exclude } // @exclude else // @exclude console.error("Expose: // @exclude cellProp:x,y,size // @exclude search // @exclude failed!") // @exclude }}, // @exclude ] // @exclude function // @exclude makeProperty(name, // @exclude varname) // @exclude { // @exclude return // @exclude "'" // @exclude + // @exclude name // @exclude + // @exclude "' // @exclude in // @exclude window.agar // @exclude || // @exclude " // @exclude + // @exclude "Object.defineProperty( // @exclude window.agar, // @exclude '"+name+"', // @exclude " // @exclude + // @exclude "{get:function(){return // @exclude "+varname+"},set:function(){"+varname+"=arguments[0]},enumerable:true})" // @exclude } // @exclude if // @exclude (window.top // @exclude != // @exclude window.self) // @exclude return // @exclude if // @exclude (document.readyState // @exclude !== // @exclude 'loading') // @exclude return // @exclude console.error("Expose: // @exclude this // @exclude script // @exclude should // @exclude run // @exclude at // @exclude document-start") // @exclude var // @exclude isFirefox // @exclude = // @exclude /Firefox/.test(navigator.userAgent) // @exclude // // @exclude Stage // @exclude 1: // @exclude Find // @exclude corresponding // @exclude rule // @exclude var // @exclude rules // @exclude for // @exclude (var // @exclude i // @exclude = // @exclude 0; // @exclude i // @exclude < // @exclude allRules.length; // @exclude i++) // @exclude if // @exclude (allRules[i].hostname.indexOf(window.location.hostname) // @exclude !== // @exclude -1) // @exclude { // @exclude rules // @exclude = // @exclude allRules[i] // @exclude break // @exclude } // @exclude if // @exclude (!rules) // @exclude return // @exclude console.error("Expose: // @exclude cant // @exclude find // @exclude corresponding // @exclude rule") // @exclude // // @exclude Stage // @exclude 2: // @exclude Search // @exclude for // @exclude `main_out.js` // @exclude if // @exclude (isFirefox) // @exclude { // @exclude function // @exclude bse_listener(e) // @exclude { // @exclude tryReplace(e.target, // @exclude e) // @exclude } // @exclude window.addEventListener('beforescriptexecute', // @exclude bse_listener, // @exclude true) // @exclude } // @exclude else // @exclude { // @exclude // // @exclude Iterate // @exclude over // @exclude document.head // @exclude child // @exclude elements // @exclude and // @exclude look // @exclude for // @exclude `main_out.js` // @exclude for // @exclude (var // @exclude i // @exclude = // @exclude 0; // @exclude i // @exclude < // @exclude document.head.childNodes.length; // @exclude i++) // @exclude if // @exclude (tryReplace(document.head.childNodes[i])) // @exclude return // @exclude // // @exclude If // @exclude there // @exclude are // @exclude no // @exclude desired // @exclude element // @exclude in // @exclude document.head, // @exclude then // @exclude wait // @exclude until // @exclude it // @exclude appears // @exclude function // @exclude observerFunc(mutations) // @exclude { // @exclude for // @exclude (var // @exclude i // @exclude = // @exclude 0; // @exclude i // @exclude < // @exclude mutations.length; // @exclude i++) // @exclude { // @exclude var // @exclude addedNodes // @exclude = // @exclude mutations[i].addedNodes // @exclude for // @exclude (var // @exclude j // @exclude = // @exclude 0; // @exclude j // @exclude < // @exclude addedNodes.length; // @exclude j++) // @exclude if // @exclude (tryReplace(addedNodes[j])) // @exclude return // @exclude observer.disconnect() // @exclude } // @exclude } // @exclude var // @exclude observer // @exclude = // @exclude new // @exclude MutationObserver(observerFunc) // @exclude observer.observe(document.head, // @exclude {childList: // @exclude true}) // @exclude } // @exclude // // @exclude Stage // @exclude 3: // @exclude Replace // @exclude found // @exclude element // @exclude using // @exclude rules // @exclude function // @exclude tryReplace(node, // @exclude event) // @exclude { // @exclude var // @exclude scriptLinked // @exclude = // @exclude rules.scriptUriRe // @exclude && // @exclude rules.scriptUriRe.test(node.src) // @exclude var // @exclude scriptEmbedded // @exclude = // @exclude rules.scriptTextRe // @exclude && // @exclude rules.scriptTextRe.test(node.textContent) // @exclude if // @exclude (node.tagName // @exclude != // @exclude "SCRIPT" // @exclude || // @exclude (!scriptLinked // @exclude && // @exclude !scriptEmbedded)) // @exclude return // @exclude false // @exclude // // @exclude this // @exclude is // @exclude not // @exclude desired // @exclude element; // @exclude get // @exclude back // @exclude to // @exclude stage // @exclude 2 // @exclude if // @exclude (isFirefox) // @exclude { // @exclude event.preventDefault() // @exclude window.removeEventListener('beforescriptexecute', // @exclude bse_listener, // @exclude true) // @exclude } // @exclude var // @exclude mod // @exclude = // @exclude { // @exclude reset: // @exclude "", // @exclude text: // @exclude null, // @exclude history: // @exclude [], // @exclude cellProp: // @exclude {}, // @exclude save() // @exclude { // @exclude this.history.push({reset:this.reset, // @exclude text:this.text}) // @exclude return // @exclude true // @exclude }, // @exclude restore() // @exclude { // @exclude var // @exclude state // @exclude = // @exclude this.history.pop() // @exclude this.reset // @exclude = // @exclude state.reset // @exclude this.text // @exclude = // @exclude state.text // @exclude return // @exclude true // @exclude }, // @exclude reset_(reset) // @exclude { // @exclude this.reset // @exclude += // @exclude reset // @exclude return // @exclude true // @exclude }, // @exclude replace(what, // @exclude from, // @exclude to, // @exclude reset) // @exclude { // @exclude var // @exclude vars // @exclude = // @exclude [], // @exclude hooks // @exclude = // @exclude [] // @exclude what.split(" // @exclude ").forEach((x) // @exclude => // @exclude { // @exclude x // @exclude = // @exclude x.split(":") // @exclude x[0] // @exclude === // @exclude "var" // @exclude && // @exclude vars.push(x[1]) // @exclude x[0] // @exclude === // @exclude "hook" // @exclude && // @exclude hooks.push(x[1]) // @exclude }) // @exclude function // @exclude replaceShorthands(str) // @exclude { // @exclude function // @exclude nope(letter, // @exclude array, // @exclude fun) // @exclude { // @exclude str // @exclude = // @exclude str // @exclude .split(new // @exclude RegExp('\\ // @version 1 // @grant none // ==/UserScript== // @exclude + // @exclude letter // @exclude + // @exclude '([0-9]?)')) // @exclude .map((v,n) // @exclude => // @exclude n%2 // @exclude ? // @exclude fun(array[v||0]) // @exclude : // @exclude v) // @exclude .join("") // @exclude } // @exclude nope('v', // @exclude vars, // @exclude (name) // @exclude => // @exclude "window.agar." // @exclude + // @exclude name) // @exclude nope('h', // @exclude hooks, // @exclude (name) // @exclude => // @exclude "window.agar.hooks." // @exclude + // @exclude name) // @exclude nope('H', // @exclude hooks, // @exclude (name) // @exclude => // @exclude "window.agar.hooks." // @exclude + // @exclude name // @exclude + // @exclude "&&" // @exclude + // @exclude "window.agar.hooks." // @exclude + // @exclude name) // @exclude return // @exclude str // @exclude } // @exclude var // @exclude newText // @exclude = // @exclude this.text.replace(from, // @exclude replaceShorthands(to)) // @exclude if(newText // @exclude === // @exclude this.text) // @exclude { // @exclude console.error("Expose: // @exclude `" // @exclude + // @exclude what // @exclude + // @exclude "` // @exclude replacement // @exclude failed!") // @exclude return // @exclude false // @exclude } // @exclude else // @exclude { // @exclude this.text // @exclude = // @exclude newText // @exclude if // @exclude (reset) // @exclude this.reset // @exclude += // @exclude replaceShorthands(reset) // @exclude + // @exclude ";" // @exclude return // @exclude true // @exclude } // @exclude }, // @exclude removeNewlines() // @exclude { // @exclude this.text // @exclude = // @exclude this.text.replace(/([,\/;])\n/mg, // @exclude "$1") // @exclude }, // @exclude get: // @exclude function() // @exclude { // @exclude var // @exclude cellProp // @exclude = // @exclude JSON.stringify(this.cellProp) // @exclude return // @exclude `window.agar={hooks:{},cellProp:${cellProp}};` // @exclude + // @exclude this.reset // @exclude + // @exclude this.text // @exclude } // @exclude } // @exclude if // @exclude (scriptEmbedded) // @exclude { // @exclude mod.text // @exclude = // @exclude node.textContent // @exclude rules.replace(mod) // @exclude if // @exclude (isFirefox) // @exclude { // @exclude document.head.removeChild(node) // @exclude var // @exclude script // @exclude = // @exclude document.createElement("script") // @exclude script.textContent // @exclude = // @exclude mod.get() // @exclude document.head.appendChild(script) // @exclude } // @exclude else // @exclude { // @exclude node.textContent // @exclude = // @exclude mod.get() // @exclude } // @exclude console.log("Expose: // @exclude replacement // @exclude done") // @exclude } // @exclude else // @exclude { // @exclude document.head.removeChild(node) // @exclude var // @exclude request // @exclude = // @exclude new // @exclude XMLHttpRequest() // @exclude request.onload // @exclude = // @exclude function() // @exclude { // @exclude var // @exclude script // @exclude = // @exclude document.createElement("script") // @exclude mod.text // @exclude = // @exclude this.responseText // @exclude rules.replace(mod) // @exclude script.textContent // @exclude = // @exclude mod.get() // @exclude // // @exclude `main_out.js` // @exclude should // @exclude not // @exclude executed // @exclude before // @exclude jQuery // @exclude was // @exclude loaded, // @exclude so // @exclude we // @exclude need // @exclude to // @exclude wait // @exclude jQuery // @exclude function // @exclude insertScript(script) // @exclude { // @exclude if // @exclude (typeof // @exclude jQuery // @exclude === // @exclude "undefined") // @exclude return // @exclude setTimeout(insertScript, // @exclude 0, // @exclude script) // @exclude document.head.appendChild(script) // @exclude console.log("Expose: // @exclude replacement // @exclude done") // @exclude } // @exclude insertScript(script) // @exclude } // @exclude request.onerror // @exclude = // @exclude function() // @exclude { // @exclude console.error("Expose: // @exclude response // @exclude was // @exclude null") // @exclude } // @exclude request.open("get", // @exclude node.src, // @exclude true) // @exclude request.send() // @exclude } // @exclude return // @exclude true // @exclude } // @version 1 // @grant none // ==/UserScript==