Free agar.io bots vanilla version ควบค ม

Q: My ip does not change after W-lan Router restart. A: You have a statical Ip, So you cannot change the ip.

Q: When i have a Statical ip, How to change it? A: Use a VPN!, like ProtonVPN, NordVPN, PerfectPrivacy(PAID) etc

  • Info
  • Code
  • History
  • Feedback (4)
  • Stats

Free open source agar.io bots

// ==UserScript== // @name Free Agar.io Bots (Vanilla Version) // @version 1.0.1 // @description Free open source agar.io bots // @author Nel // @grant none // @run-at document-start // @match ://agar.io/ // @namespace //greasyfork.org/users/370897 // ==/UserScript== / START OF USER SETTINGS / window.SERVER_HOST = 'localhost' // Hostname/IP of the server where the bots are running [Default = localhost (your own pc)] window.SERVER_PORT = 1337 // Port number used on the server where the bots are running [Default = 1337] window.BOTS_SPLIT_KEY = 't' // Keyboard key to make the bots split, value must be between a-z (lowercase) or 0-9 [Default = t] window.BOTS_FEED_KEY = 'a' // Keyboard key to make the bots feed, value must be between a-z (lowercase) or 0-9 [Default = a] window.BOTS_AI_KEY = 'f' // Keyboard key to enable/disable bots AI (Artificial Intelligence), value must be between a-z (lowercase) or 0-9 [Default = f] window.MACRO_FEED_KEY = 'e' // Keyboard key to make the user macro feed, value must be between a-z (lowercase) or 0-9 [Default = e] window.DOUBLE_SPLIT_KEY = 'q' // Keyboard key to make the user double split, value must be between a-z (lowercase) or 0-9 [Default = q] window.SIXTEEN_SPLIT_KEY = 'r' // Keyboard key to make the user sixteen split, value must be between a-z (lowercase) or 0-9 [Default = r] window.ZOOM_SPEED = 0.85 // Numerical value that indicates the speed of the mouse wheel when zooming, value must be between 0.01-0.99 [Default = 0.85] window.EXTENDED_ZOOM = true // Boolean value that indicates whether to extend the zoom or not, possible values are true and false [Default = true] window.DRAW_MAP_GRID = false // Boolean value that indicates whether to draw the map grid or not, possible values are true and false [Default = false] window.SHOW_ALL_PLAYERS_MASS = true // Boolean value that indicates whether to show all players mass or not, possible values are true and false [Default = true] / END OF USER SETTINGS / class Writer {constructor(size){ this.dataView = new DataView(new ArrayBuffer(size)) this.byteOffset = 0 } writeUint8(value){ this.dataView.setUint8(this.byteOffset++, value) } writeInt32(value){ this.dataView.setInt32(this.byteOffset, value, true) this.byteOffset += 4 } writeUint32(value){ this.dataView.setUint32(this.byteOffset, value, true) this.byteOffset += 4 } writeString(string){ for(let i = 0; i < string.length; i++) this.writeUint8(string.charCodeAt(i)) this.writeUint8(0) } } window.buffers = {startBots(url, protocolVersion, clientVersion, userStatus, botsName, botsAmount){ const writer = new Writer(13 + url.length + botsName.length) writer.writeUint8(0) writer.writeString(url) writer.writeUint32(protocolVersion) writer.writeUint32(clientVersion) writer.writeUint8(Number(userStatus)) writer.writeString(botsName) writer.writeUint8(botsAmount) return writer.dataView.buffer }, mousePosition(x, y){ const writer = new Writer(9) writer.writeUint8(6) writer.writeInt32(x) writer.writeInt32(y) return writer.dataView.buffer } } window.connection = {ws: null, connect(){ this.ws = new WebSocket(`ws://${window.SERVER_HOST}:${window.SERVER_PORT}`) this.ws.binaryType = 'arraybuffer' this.ws.onopen = this.onopen.bind(this) this.ws.onmessage = this.onmessage.bind(this) this.ws.onclose = this.onclose.bind(this) }, send(buffer){ if(this.ws && this.ws.readyState === WebSocket.OPEN) this.ws.send(buffer) }, onopen(){ document.getElementById('userStatus').style.color = ' # 00C02E' document.getElementById('userStatus').innerText = 'Connected' document.getElementById('connect').disabled = true document.getElementById('startBots').disabled = false document.getElementById('stopBots').disabled = false }, onmessage(message){ const dataView = new DataView(message.data) switch(dataView.getUint8(0)){ case 0: document.getElementById('startBots').disabled = true document.getElementById('stopBots').disabled = false document.getElementById('startBots').style.display = 'none' document.getElementById('stopBots').style.display = 'inline' document.getElementById('stopBots').innerText = 'Stop Bots' window.user.startedBots = true break case 1: document.getElementById('stopBots').disabled = true document.getElementById('stopBots').innerText = 'Stopping Bots...' break case 2: document.getElementById('botsAI').style.color = ' # DA0A00' document.getElementById('botsAI').innerText = 'Disabled' document.getElementById('startBots').disabled = false document.getElementById('stopBots').disabled = true document.getElementById('startBots').style.display = 'inline' document.getElementById('stopBots').style.display = 'none' document.getElementById('stopBots').innerText = 'Stop Bots' window.user.startedBots = false window.bots.ai = false break case 3: alert('Your IP has captcha and bots are unable to spawn, change your ip with a VPN or something to one that doesn\'t has captcha in order to use the bots') break } }, onclose(){ document.getElementById('userStatus').style.color = ' # DA0A00' document.getElementById('userStatus').innerText = 'Disconnected' document.getElementById('botsAI').style.color = ' # DA0A00' document.getElementById('botsAI').innerText = 'Disabled' document.getElementById('connect').disabled = false document.getElementById('startBots').disabled = true document.getElementById('stopBots').disabled = true document.getElementById('startBots').style.display = 'inline' document.getElementById('stopBots').style.display = 'none' window.user.startedBots = false window.bots.ai = false } } window.game = {url: '', protocolVersion: 0, clientVersion: 0 } window.user = {startedBots: false, isAlive: false, mouseX: 0, mouseY: 0, offsetX: 0, offsetY: 0, macroFeedInterval: null } window.bots = {name: '', amount: 0, ai: false } function modifyCore(core){return core .replace(/if\(\w+\.MC&&\w+\.MC\.onPlayerSpawn\)/, ` $& window.user.isAlive = true if(window.user.startedBots) window.connection.send(new Uint8Array([5, Number(window.user.isAlive)]).buffer) `) .replace(/if\(\w+\.MC&&\w+\.MC\.onPlayerDeath\)/, ` $& window.user.isAlive = false if(window.user.startedBots) window.connection.send(new Uint8Array([5, Number(window.user.isAlive)]).buffer) `) .replace(/new\s+WebSocket\((\w+\(\w+\))\)/, ` $& if(window.user.startedBots) window.connection.send(new Uint8Array([1]).buffer) window.game.url = $1 window.user.isAlive = false window.user.macroFeedInterval = null `).replace(/(\w+)=~~\(\+\w+\[\w+\+\d+>>3]\+\s+\+\(\(\w+\[\w+\+\d+>>2]\|0\)-\(\(\w+\[\d+]\|0\)\/2\|0\)\|0\)\/\w+\);(\w+)=~~\(\+\w+\[\w+\+\d+>>3]\+\s+\+\(\(\w+\[\w+\+\d+>>2]\|0\)-\(\(\w+\[\d+]\|0\)\/2\|0\)\|0\)\/\w+\)/, ` $& window.user.mouseX = $1 - window.user.offsetX window.user.mouseY = $2 - window.user.offsetY if(window.user.startedBots && window.user.isAlive) window.connection.send(window.buffers.mousePosition(window.user.mouseX, window.user.mouseY)) `) .replace(/\w+\[\w+\+272>>3]=(\w+);\w+\[\w+\+280>>3]=(\w+);\w+\[\w+\+288>>3]=(\w+);\w+\[\w+\+296>>3]=(\w+)/, ` $& if(~~($3 - $1) === 14142 && ~~($4 - $2) === 14142){ window.user.offsetX = ($1 + $3) / 2 window.user.offsetY = ($2 + $4) / 2 } `) .replace(/\(\.9,/, '(window.ZOOM_SPEED,') .replace(/;if\((\w+)<1\.0\)/, ';if($1 < (window.EXTENDED_ZOOM ? 0.05 : 1))') .replace(/(\w+\(\d+,\w+\|0,\.5,\.5\)\|0);(\w+\(\d+,\w+\|0,\.5,50\.5\)\|0);(\w+\(\d+,\w+\|0,\.5,\.5\)\|0);(\w+\(\d+,\w+\|0,50\.5,\.5\)\|0)/, ` $1 if(window.DRAW_MAP_GRID) $2 $3 if(window.DRAW_MAP_GRID) $4 `) .replace(/while\(0\);(\w+)=\(\w+\|0\)!=\(\w+\|0\);/, ` $& if(window.SHOW_ALL_PLAYERS_MASS) $1 = true `) } function setKeysEvents(){document.addEventListener('keydown', e => { if(!document.getElementById('overlays')){ switch(e.key){ case window.BOTS_SPLIT_KEY: if(window.user.startedBots && window.user.isAlive) window.connection.send(new Uint8Array([2]).buffer) break case window.BOTS_FEED_KEY: if(window.user.startedBots && window.user.isAlive) window.connection.send(new Uint8Array([3]).buffer) break case window.BOTS_AI_KEY: if(window.user.startedBots && window.user.isAlive){ if(!window.bots.ai){ document.getElementById('botsAI').style.color = ' # 00C02E' document.getElementById('botsAI').innerText = 'Enabled' window.bots.ai = true window.connection.send(new Uint8Array([4, Number(window.bots.ai)]).buffer) } else { document.getElementById('botsAI').style.color = ' # DA0A00' document.getElementById('botsAI').innerText = 'Disabled' window.bots.ai = false window.connection.send(new Uint8Array([4, Number(window.bots.ai)]).buffer) } } break case window.MACRO_FEED_KEY: if(!window.user.macroFeedInterval){ window.core.eject() window.user.macroFeedInterval = setInterval(window.core.eject, 80) } break case window.DOUBLE_SPLIT_KEY: window.core.split() setTimeout(window.core.split, 40) break case window.SIXTEEN_SPLIT_KEY: window.core.split() setTimeout(window.core.split, 40) setTimeout(window.core.split, 80) setTimeout(window.core.split, 120) break } } }) document.addEventListener('keyup', e => { if(!document.getElementById('overlays') && e.key === window.MACRO_FEED_KEY && window.user.macroFeedInterval){ clearInterval(window.user.macroFeedInterval) window.user.macroFeedInterval = null } }) } function setGUI(){document.getElementById('advertisement').innerHTML = ` <h2 id="botsInfo"> <a href="//discord.gg/SDMNEcJ" target="_blank">Free Agar.io Bots</a> </h2> <h5 id="botsAuthor"> Developed by <a href="//www.youtube.com/channel/UCZo9WmnFPWw38q65Llu5Lug" target="_blank">Nel</a> </h5> <span id="statusText">Status: <b id="userStatus">Disconnected</b></span> <br> <br> <span id="aiText">Bots AI: <b id="botsAI">Disabled</b></span> <br> <input type="text" id="botsName" placeholder="Bots Name" maxlength="15" spellcheck="false"> <input type="number" id="botsAmount" placeholder="Bots Amount" min="10" max="199" spellcheck="false"> <button id="connect">Connect</button> <br> <button id="startBots" disabled>Start Bots</button> <button id="stopBots">Stop Bots</button> ` if(localStorage.getItem('localStoredBotsName') !== null){ window.bots.name = localStorage.getItem('localStoredBotsName') document.getElementById('botsName').value = window.bots.name } if(localStorage.getItem('localStoredBotsAmount') !== null){ window.bots.amount = JSON.parse(localStorage.getItem('localStoredBotsAmount')) document.getElementById('botsAmount').value = String(window.bots.amount) } } function setGUIStyle(){document.getElementsByTagName('head')[0].innerHTML += ` <style type="text/css"> # mainui-ads { height: 360px !important; } # botsInfo > a,

botsAuthor > a { color: # 3894F8; text-decoration: none; } # botsAuthor { margin-top: -15px; letter-spacing: 1px; } # statusText,

aiText { font-weight: bold; } # userStatus,

botsAI { color: # DA0A00; } # botsName,

botsAmount { margin-top: 15px; width: 144px; border: 1px solid black; border-radius: 5px; padding: 8px; font-size: 14.5px; outline: none; } # botsName:focus,

botsAmount:focus { border-color: # 7D7D7D; } # connect,

startBots,

stopBots { color: white; border: none; border-radius: 5px; padding: 7px; width: 160px; font-size: 18px; outline: none; margin-top: 15px; letter-spacing: 1px; } # connect { display: inline; margin-left: 5px; background-color: # 0074C0; } # startBots { display: inline; background-color: # 00C02E; } # stopBots { display: none; background-color: # DA0A00; } # connect:active { background-color: # 004E82; } # startBots:active { background-color: # 009A25; } # stopBots:active { background-color: # 9A1B00; } </style> ` }

function setGUIEvents(){document.getElementById('botsAmount').addEventListener('keypress', e => { e.preventDefault() }) document.getElementById('botsName').addEventListener('change', function(){ window.bots.name = this.value localStorage.setItem('localStoredBotsName', window.bots.name) }) document.getElementById('botsAmount').addEventListener('change', function(){ window.bots.amount = Number(this.value) localStorage.setItem('localStoredBotsAmount', window.bots.amount) }) document.getElementById('connect').addEventListener('click', () => { if(!window.connection.ws || window.connection.ws.readyState !== WebSocket.OPEN) window.connection.connect() }) document.getElementById('startBots').addEventListener('click', () => { if(window.game.url && window.game.protocolVersion && window.game.clientVersion && !window.user.startedBots){ if(window.bots.name && window.bots.amount && !document.getElementById('socialLoginContainer')) window.connection.send(window.buffers.startBots(window.game.url, window.game.protocolVersion, window.game.clientVersion, window.user.isAlive, window.bots.name, window.bots.amount)) else alert('Bots name and amount are required before starting the bots, also you need to be logged in to your agar.io account in order to start the bots') } }) document.getElementById('stopBots').addEventListener('click', () => { if(window.user.startedBots) window.connection.send(new Uint8Array([1]).buffer) }) } WebSocket.prototype.storedSend = WebSocket.prototype.send WebSocket.prototype.send = function(buffer){this.storedSend(buffer) const dataView = new DataView(new Uint8Array(buffer).buffer) if(!window.game.protocolVersion && dataView.getUint8(0) === 254) window.game.protocolVersion = dataView.getUint32(1, true) else if(!window.game.clientVersion && dataView.getUint8(0) === 255) window.game.clientVersion = dataView.getUint32(1, true) } new MutationObserver(mutations => {mutations.forEach(({addedNodes}) => { addedNodes.forEach(node => { if(node.nodeType === 1 && node.tagName === 'SCRIPT' && node.src && node.src.includes('agario.core.js')){ node.type = 'javascript/blocked' node.parentElement.removeChild(node) fetch(node.src) .then(res => res.text()) .then(core => { Function(modifyCore(core))() setKeysEvents() setTimeout(() => { setGUI() setGUIStyle() setGUIEvents() }, 3500) }) } }) }) }).observe(document.documentElement, {childList: true, subtree: true })

Toplist

โพสต์ล่าสุด

แท็ก

แปลภาษาไทย ไทยแปลอังกฤษ โปรแกรม-แปล-ภาษา-อังกฤษ พร้อม-คำ-อ่าน ห่อหมกฮวกไปฝากป้าmv แปลภาษาอาหรับ-ไทย lmyour แปลภาษา ข้อสอบคณิตศาสตร์ พร้อมเฉลย แปลภาษาอังกฤษเป็นไทย pantip ระเบียบกระทรวงการคลังว่าด้วยการจัดซื้อจัดจ้างและการบริหารพัสดุภาครัฐ พ.ศ. 2560 แอพแปลภาษาอาหรับเป็นไทย ห่อหมกฮวกไปฝากป้า หนังเต็มเรื่อง แปลภาษาเวียดนามเป็นไทยทั้งประโยค Google Translate การ์ดแคปเตอร์ซากุระ ภาค 4 หยน อาจารย์ ตจต เมอร์ซี่ อาร์สยาม ล่าสุด ศัพท์ทหาร ภาษาอังกฤษ pdf ห่อหมกฮวกไปฝากป้า คาราโอเกะ app แปลภาษาไทยเป็นเวียดนาม การ์ดแคปเตอร์ซากุระ ภาค 3 บบบย ศัพท์ทหารบก แปลภาษาจีน การประปาส่วนภูมิภาค การ์ดแคปเตอร์ซากุระ ภาค 1 ขุนแผนหลวงปู่ทิม มีกี่รุ่น ชขภใ ตม.เชียงใหม่ เซ็นทรัลเฟสติวัล พจนานุกรมศัพท์ทหาร รหัสจังหวัด อําเภอ ตําบล รหัสประจำจังหวัด 77 จังหวัด สอบโอเน็ต ม.3 จําเป็นไหม หนังสือราชการ ตัวอย่าง ห่อหมกฮวกไปฝากป้า คอร์ด อเวนเจอร์ส ทั้งหมด แปลภาษา มาเลเซีย ไทย ไทยแปลอังกฤษ ประโยค ่้แปลภาษา Egp G no Reconguista Google map ขุนแผนหลวงปู่ทิมรุ่นแรก ข้อสอบภาษาไทยพร้อมเฉลย ข้อสอบโอเน็ต ม.3 ออกเรื่องอะไรบ้าง ค้นหา ประวัติ นามสกุล จองคิว ตม เชียงใหม่ ชื่อเต็ม ร.9 คําอ่าน ดีแม็กมือสองราคาไม่เกิน350000 ตัวอย่างรายงานการประชุมสั้นๆ