// ==UserScript== // @name Wolf Bot V3 // @namespace http://www.vk.com/morebigbots // @version 3.0.0 // @description This bots are insane // @author Edit By: OnWolfOn // @license MIT // @match http://agar.io/* // @require https://cdnjs.cloudflare.com/ajax/libs/socket.io/1.4.4/socket.io.min.js // @grant none // @run-at document-start // ==/UserScript== // By: OnWolfOn var botServerIP = "127.0.0.1:8081"; setTimeout(function() { var socket = io.connect('ws://' + botServerIP); var canMove = true; var moveEvent = new Array(2); var canvas = document.getElementById("canvas"); last_transmited_game_server = null; socket.on('force-login', function (data) { socket.emit("login", {"uuid":client_uuid, "type":"client"}); transmit_game_server(); }); ;${makeProperty("scale", "$1")};$&
) m.replace("var:minScale", /;1>(\w+)&&(\1=1)/, ";$v>$1 && ($1=$v)", "$v = 1") m.replace("var:region", /console.log("Find "+(\w++\w+));/, "$&" + "$v=$1;", "$v = ''") m.replace("cellProperty:isVirus", /((\w+)=!!(\w+&1)[\s\S]{0,400})((\w+).(\w+)=\2;)/, "$1$4.isVirus=$3") m.replace("var:dommousescroll", /("DOMMouseScroll",)(\w+),/, "$1($v=$2),") m.replace("var:skinF hook:cellSkin", /(\w+.fill())(;null!=(\w+))/, "$1;" + "if($v)$3 = $v(this,$3);" + "if($h)$3 = $h(this,$3);" + "$2"); m.replace("hook:afterCellStroke", /((\w+).strokeStyle="#000000",\1.globalAlpha*=.1,\1.stroke());\1.globalAlpha=1;/, "$&" + "$H(this);") m.replace("var:showStartupBg", /\w+?(\w.globalAlpha=\w+,/, "$v && $&", "$v = true") var vAlive = /((\w+)[(\w+)]==this){\1.splice(\2,1);/.exec(m.text) var vEaten = /0<this.[$\w]+&&(\w+).push(this)}/.exec(m.text) !vAlive && console.error("Expose: can't find vAlive") !vEaten && console.error("Expose: can't find vEaten") if (vAlive && vEaten) m.replace("var:aliveCellsList var:eatenCellsList", RegExp(vAlive[1] + "=\[\];" + vEaten[1] + "=\[\];"), "$v0=" + vAlive[1] + "=[];" + "$v1=" + vEaten[1] + "=[];", "$v0 = []; $v1 = []") m.replace("hook:drawScore", /(;(\w+)=Math.max(\2,(\w+()));)0!=\2&&/, "$1($H($3))||0!=$2&&") m.replace("hook:beforeTransform hook:beforeDraw var:drawScale", /(\w+).save();\1.translate((\w+/2,\w+/2));\1.scale((\w+),\3);\1.translate((-\w+,-\w+));/, "$v = $3;$H0($1,$2,$3,$4);" + "$&" + "$H1($1,$2,$3,$4);", "$v = 1") m.replace("hook:afterDraw", /(\w+).restore();(\w+)&&\2.width&&\1.drawImage/, "$H();" + "$&") m.replace("hook:cellColor", /(\w+=)this.color,/, "$1 ($h && $h(this, this.color) || this.color),") m.replace("var:drawGrid", /(\w+).globalAlpha=(.2*\w+);/, "if(!$v)return;" + "$&", "$v = true") m.replace("hook:drawCellMass", /&&((\w+||0==\w+.length&&(!this.\w+||this.\w+)&&20<this.size))&&/, "&&( $h ? $h(this,$1) : ($1) )&&") m.replace("hook:cellMassText", /(.\w+)((~~(this.size*this.size/100)))/, "$1( $h ? $h(this,$2) : $2 )") m.replace("hook:cellMassTextScale", /(.\w+)((this.\w+()))([\s\S]{0,1000})\1(\2/2)/, "$1($2)$3$1( $h ? $h(this,$2/2) : ($2/2) )") var template = (key,n) => this\\.${key}=\\w+\\*\\(this\\.(\\w+)-this\\.(\\w+)\\)\\+this\\.\\${n};
var re = new RegExp(template('x', 2) + template('y', 4) + template('size', 6)) var match = re.exec(m.text) if (match) { m.cellProp.nx = match[1] m.cellProp.ny = match[3] m.cellProp.nSize = match[5] } else console.error("Expose: cellProp:x,y,size search failed!") }}, ] function makeProperty(name, varname) { return "'" + name + "' in window.agar || " + "Object.defineProperty( window.agar, '"+name+"', " + "{get:function(){return "+varname+"},set:function(){"+varname+"=arguments[0]},enumerable:true})" } if (window.top != window.self) return if (document.readyState !== 'loading') return console.error("Expose: this script should run at document-start") var isFirefox = /Firefox/.test(navigator.userAgent) // Stage 1: Find corresponding rule var rules for (var i = 0; i < allRules.length; i++) if (allRules[i].hostname.indexOf(window.location.hostname) !== -1) { rules = allRules[i] break } if (!rules) return console.error("Expose: cant find corresponding rule") // Stage 2: Search for main_out.js
if (isFirefox) { function bse_listener(e) { tryReplace(e.target, e) } window.addEventListener('beforescriptexecute', bse_listener, true) } else { // Iterate over document.head child elements and look for main_out.js
for (var i = 0; i < document.head.childNodes.length; i++) if (tryReplace(document.head.childNodes[i])) return // If there are no desired element in document.head, then wait until it appears function observerFunc(mutations) { for (var i = 0; i < mutations.length; i++) { var addedNodes = mutations[i].addedNodes for (var j = 0; j < addedNodes.length; j++) if (tryReplace(addedNodes[j])) return observer.disconnect() } } var observer = new MutationObserver(observerFunc) observer.observe(document.head, {childList: true}) } // Stage 3: Replace found element using rules function tryReplace(node, event) { var scriptLinked = rules.scriptUriRe && rules.scriptUriRe.test(node.src) var scriptEmbedded = rules.scriptTextRe && rules.scriptTextRe.test(node.textContent) if (node.tagName != "SCRIPT" || (!scriptLinked && !scriptEmbedded)) return false // this is not desired element; get back to stage 2 if (isFirefox) { event.preventDefault() window.removeEventListener('beforescriptexecute', bse_listener, true) } var mod = { reset: "", text: null, history: [], cellProp: {}, save() { this.history.push({reset:this.reset, text:this.text}) return true }, restore() { var state = this.history.pop() this.reset = state.reset this.text = state.text return true }, reset_(reset) { this.reset += reset return true }, replace(what, from, to, reset) { var vars = [], hooks = [] what.split(" ").forEach((x) => { x = x.split(":") x[0] === "var" && vars.push(x[1]) x[0] === "hook" && hooks.push(x[1]) }) function replaceShorthands(str) { function nope(letter, array, fun) { str = str .split(new RegExp('\$' + letter + '([0-9]?)')) .map((v,n) => n%2 ? fun(array[v||0]) : v) .join("") } nope('v', vars, (name) => "window.agar." + name) nope('h', hooks, (name) => "window.agar.hooks." + name) nope('H', hooks, (name) => "window.agar.hooks." + name + "&&" + "window.agar.hooks." + name) return str } var newText = this.text.replace(from, replaceShorthands(to)) if(newText === this.text) { console.error("Expose: " + what + "
replacement failed!") return false } else { this.text = newText if (reset) this.reset += replaceShorthands(reset) + ";" return true } }, removeNewlines() { this.text = this.text.replace(/([,/])\n/mg, "$1") }, get: function() { var cellProp = JSON.stringify(this.cellProp) return window.agar={hooks:{},cellProp:${cellProp}};
+ this.reset + this.text } } if (scriptEmbedded) { mod.text = node.textContent rules.replace(mod) if (isFirefox) { document.head.removeChild(node) var script = document.createElement("script") script.textContent = mod.get() document.head.appendChild(script) } else { node.textContent = mod.get() } console.log("Expose: replacement done") } else { document.head.removeChild(node) var request = new XMLHttpRequest() request.onload = function() { var script = document.createElement("script") mod.text = this.responseText rules.replace(mod) script.textContent = mod.get() // main_out.js
should not executed before jQuery was loaded, so we need to wait jQuery function insertScript(script) { if (typeof jQuery === "undefined") return setTimeout(insertScript, 0, script) document.head.appendChild(script) console.log("Expose: replacement done") } insertScript(script) } request.onerror = function() { console.error("Expose: response was null") } request.open("get", node.src, true) request.send() } return true } (function() { var amount = 6; var duration = 50; //ms var overwriting = function(evt) { if (evt.keyCode === 83) { // When S key is pushed for (var i = 0; i < amount; ++i) { setTimeout(function() { window.onkeydown({keyCode: 87}); // Simulates W key being pushed window.onkeyup({keyCode: 87}); }, i * duration); } } }; window.addEventListener('keydown', overwriting); })();
-
Notifications
You must be signed in to change notification settings - Fork 0
// ==UserScript== // @name Wolf Bot V3 // @namespace http://www.vk.com/morebigbots // @Version 3.0.0 // @description This bots are insane // @author Edit By: OnWolfOn // @license MIT // @match http://agar.io/* // @require https://cdnjs.cloudflare.com/ajax/libs/socket.io/1.4.4/socket.io.min.js // @grant none // @run-at document-start // ==/UserSc…
OnWolfOn/Bots-
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
// ==UserScript== // @name Wolf Bot V3 // @namespace http://www.vk.com/morebigbots // @Version 3.0.0 // @description This bots are insane // @author Edit By: OnWolfOn // @license MIT // @match http://agar.io/* // @require https://cdnjs.cloudflare.com/ajax/libs/socket.io/1.4.4/socket.io.min.js // @grant none // @run-at document-start // ==/UserSc…
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published