Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name Agar.io API feeder bots
- // @namespace http://github.com/nuclearc/
- // @version 0.8
- // @description Agar.io bots
- // @author NuclearC & AgarThix
- // @license MIT
- // @match *://72.k.vu/*
- // @match http://soapplus.tk/sgar/*
- // @match http://mgar.io/mgar/
- // @match http://soapplus.tk/sgar/?ip=
- // @grant none
- // @run-at document-start
- // ==/UserScript==
- var ip = "ws://127.0.0.1:8081";
- var ws = null;
- var mapOffsetX = 0;
- var mapOffsetY = 0;
- var mapSizeX = 0;
- var mapSizeY = 0;
- var playerX = 0;
- var playerY = 0;
- var canSendPosition = true;
- var movetoMouse = true;
- var collectingPallets = false;
- setTimeout(function () {
- $("#canvas").after("<div style='background-color: #000000; border: 0px; border-radius: 5px; -moz-opacity: 0.8; -khtml-opacity: 0.8; opacity: 0.8; filter: alpha(opacity=80); zoom: 1; width: 205px; top: 10px; left: 10px; display: block; position: fixed; text-align: center; font-size: 21px; color: #0091FF; padding: 5px; font-family: Arial;'> <div style='color:#0091FF; display: inline; -moz-opacity:1; -khtml-opacity: 1; opacity:1; filter:alpha(opacity=100); padding: 20px;'><a>IMBots</a></div> <div style='color:0091FF; display: inline; -moz-opacity:1; -khtml-opacity: 1; opacity:1; filter:alpha(opacity=100); padding: 10px;'><br>Bots : <a id='minionCount' >Offline</a><br>Collect Food: <a id='iscollectfood' >Off</a>");
- $("#helloContainer").after("<div style='background-color: #fff; border: 5px solid rgba(123, 121, 121, 1); border-radius: 5px; -moz-opacity: 1.0; -khtml-opacity: 1.0; opacity: 1.0; width: 355px; height: 175px; top: 41%; left: 59.5%; display: block; position: fixed; text-align: center; font-size: 15px; color: #000000; font-family: Arial;'><h4>Input Method</h4><div style='margin-top: 6px;' class='input-group'><span style='width:75px;' class='input-group-addon' id='basic-addon1'>Amount</span><input id='bot-amount' type='text' value='100' maxlength='4' style='width:245px' placeholder='Bot amount (max 5000)' autofocus='' class='form-control'></div><div style='margin-top: 6px;' class='input-group'><span style='width:75px; margin: 10px;' class='input-group-addon' id='basic-addon1'>Name</span><input id='bot-name' type='text' value='IMBots' maxlength='15' style='width:245px' placeholder='Bots name (max length 15)' autofocus='' class='form-control'></div><div><br>Position: <a id='posXY'>0, 0</a> </div>");
- $("h2").replaceWith("<h2>AgarAPI</h2>");
- $('#options').after("<center><button id='stop-bots' style='margin: 2px; width: 100px;' class='btn btn-needs-server btn btn-danger'><b>Stop Bots</b></button></center>");
- $('#options').after("<center><button id='start-bots' style='margin: 0px; width: 100px;' class='btn btn-needs-server btn-success'><b>Start Bots</b></button></center>");
- ws = new WebSocket(ip);
- ws.binaryType = 'arraybuffer';
- ws.onopen = function () {
- document.getElementById('minionCount').innerHTML = "Waiting...";
- }
- ws.onclose = function () {
- document.getElementById('minionCount').innerHTML = "OFFLINE";
- canSendPosition = true;
- }
- ws.onerror = function () {
- document.getElementById('minionCount').innerHTML = "OFFLINE";
- canSendPosition = true;
- }
- ws.onmessage = function (e) {
- var data = event.data;
- var dv = new DataView(data);
- var packetID = dv.getUint8(0);
- switch (packetID) {
- case 0x10:
- {
- // got connection!
- canSendPosition = true;
- setInterval(function () {
- emitPosition()
- }, 100);
- } break;
- case 0x70:
- {
- // max bots and current bots
- var maxBots = dv.getUint32(1, true);
- var currentBots = dv.getUint32(5, true);
- document.getElementById('minionCount').innerHTML = currentBots + "/" + maxBots;
- } break;
- }
- }
- var client_uuid = localStorage.getItem('client_uuid');
- if (client_uuid == null) {
- console.log("generating a uuid for this user");
- client_uuid = ""; var ranStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
- for (var ii = 0; ii < 15; ii++) client_uuid += ranStr.charAt(Math.floor(Math.random() * ranStr.length));
- localStorage.setItem('client_uuid', client_uuid);
- }
- $("#options").after('<br><br><br><div style="margin-top: 6px;" class="input-group"><span style="width:75px;" class="input-group-addon" id="basic-addon1">UUID</span><input id="bot-uuid" type="text" value="' + client_uuid + '" style="width:245px" readonly class="form-control"</div>');
- window.v72.hooks.dimensionsUpdated = function (minx, miny, maxx, maxy) {
- mapSizeX = maxx - minx;
- mapSizeY = maxy - miny;
- mapOffsetX = minx +
- mapSizeX / 2;
- mapOffsetY = miny +
- mapSizeY / 2;
- };
- var mouseX = 0;
- var mouseY = 0;
- document.getElementById("start-bots").onclick = function () {
- emitServer()
- };
- document.getElementById("stop-bots").onclick = function () {
- emitStop()
- };
- $("body").mousemove(function (event) {
- mouseX = event.clientX;
- mouseY = event.clientY;
- document.getElementById('posXY').innerHTML = playerX + ", " + playerY;
- });
- function isMe(cell) {
- for (var i = 0; i < window.v72.myCells.length; i++) {
- if (window.v72.myCells[i] == cell.id) {
- return true
- }
- }
- return true
- }
- function getCell() {
- var me = [];
- for (var key in window.v72.allCells) {
- var cell = window.v72.allCells[key];
- if (isMe(cell)) {
- me.push(cell)
- }
- }
- return me[0];
- }
- function emitPosition() {
- var mycell = getCell();
- if (window.v72.myCells.length > 0 && mycell != undefined) {
- playerX = mycell.x;
- playerY = mycell.y;
- }
- var x = 0;
- var y = 0;
- if (movetoMouse) {
- x = (mouseX - window.innerWidth / 2) / window.v72.drawScale + window.v72.rawViewport.x;
- y = (mouseY - window.innerHeight / 2) / window.v72.drawScale + window.v72.rawViewport.y;
- }
- else {
- x = playerX;
- y = playerY;
- }
- var buffer = new ArrayBuffer(9);
- var dv = new DataView(buffer);
- dv.setUint8(0, 0x10);
- dv.setInt32(1, x - mapOffsetX, true);
- dv.setInt32(5, y - mapOffsetY, true);
- if (canSendPosition) {
- ws.send(buffer);
- }
- }
- function emitStop() {
- var buffer = new Uint8Array(1);
- buffer[0] = 240;
- if (canSendPosition) {
- ws.send(buffer);
- }
- }
- function emitServer() {
- var a = '0' + client_uuid + ',' + 'ws://' + window.location.search.substring(4) + ',' + $('#bot-name').val() + ',' + $('#bot-amount').val() + ';';
- ws.send(a);
- }
- document.addEventListener('keydown', function (event) {
- switch (event.keyCode) {
- case 0x58:
- {
- var buffer = new Uint8Array(1);
- buffer[0] = 230;
- if (canSendPosition) {
- ws.send(buffer);
- }
- } break;
- case 0x43: {
- var buffer = new Uint8Array(1);
- buffer[0] = 231;
- if (canSendPosition) {
- ws.send(buffer);
- }
- } break;
- case 65:
- movetoMouse = !movetoMouse;
- if (movetoMouse) { document.getElementById('ismoveToMouse').innerHTML = "On"; } else { document.getElementById('ismoveToMouse').innerHTML = "Off"; }
- break;
- case 0x50:
- collectingPallets = !collectingPallets;
- if (collectingPallets) { document.getElementById('iscollectfood').innerHTML = "On"; } else { document.getElementById('iscollectfood').innerHTML = "Off"; }
- var buffer = new Uint8Array(1);
- buffer[0] = 232;
- if (canSendPosition) {
- ws.send(buffer);
- }
- break;
- }
- });
- }, 50);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement