GreatBots.ga Script

New Cellcraft Best Bots!

目前为 2017-06-24 提交的版本。查看 最新版本

  1. // ==UserScript==
  2. // @name GreatBots.ga Script
  3. // @namespace Wut
  4. // @version v1.0
  5. // @description New Cellcraft Best Bots!
  6. // @match *.5bz.esy.es/*
  7. // @match http://gaver.io/
  8. // @match http://forceagar.com/
  9. // @match *.3rb.be/*
  10. // @match *.flaresserver.tk/*
  11. // @match http://splits.ga/
  12. // @match *.cellcraft.io/*
  13. // @match *.agar.pro/*
  14. // @match http://louisagar.pw/
  15. // @match *.cellcraft.io/*
  16. // @match http://ftbots.ml/
  17. // @match *.agarios.com/*
  18. // @match *.agarz.com/*
  19. // @match *.mgar.io/*
  20. // @match *.agariogame.club/*
  21. // @match *.old.ogarul.io/*
  22. // @match *.agarly.com/*
  23. // @match *.bubble.am/*
  24. // @match *.gota.io/*
  25. // @match *.vincebots.ovh/*
  26. // @match *.agariohub.net/*
  27. // @match *.agarserv.com/*
  28. // @match *.agarioservers.ga/*
  29. // @match *.alis.io/*
  30. //@match http://astr.io/
  31. // @match *.agarioplay.org/*
  32. // @match *.agario.city/*
  33. // @match *.germs.io/*
  34. // @match *.agarioforums.io/*
  35. // @match *.agariofun.com/*
  36. // @match *.agar.pro/*
  37. // @match *.agarabi.com/*
  38. // @match *.warball.co/*
  39. // @match *.agariom.net/*
  40. // @match *.agar.re/*
  41. // @match *.www.agardark.com/*
  42. // @match *.easyagario.com/*
  43. // @match *.playagario.org/*
  44. // @match *.agariofr.com/*
  45. // @match http://ftserver.tk/
  46. // @match *.agariowun.com/*
  47. // @match *.agarios.org/*
  48. // @match *.agariowun.com/*
  49. // @match *.usagar.com/*
  50. // @match *.agarioplay.com/*
  51. // @match *.privateagario.net/*
  52. // @match *.agariorage.com/*
  53. // @match *.blong.io/*
  54. // @match *.agar.blue/*
  55. // @match *.agar.bio/*
  56. // @match *.agario.se/*
  57. // @match *.nbkio.com/*
  58. // @match *.agariohit.com/*
  59. // @match *.agariomultiplayer.com/*
  60. // @match *.agariogameplay.com/*
  61. // @match *.agariowow.com/*
  62. // @match *.bestagario.net/*
  63. // @match *.tytio.com/*
  64. // @match *.kralagario.com/*
  65. // @match *.agario.zafer2.com/*
  66. // @match *.agarprivateserver.net/*
  67. // @match *.agarca.com/*
  68. // @match *.agarioplay.mobi/*
  69. // @match *.agario.mobi*
  70. // @match *.abs0rb.me/*
  71. // @match *.agario.us/*
  72. // @match *.agariojoy.com/*
  73. // @match *.agario.ch/*
  74. // @match *.ioagar.us/*
  75. // @match *.play.agario0.com/*
  76. // @match *.agario.run/*
  77. // @match *.agarpvp.us/*
  78. // @match *.agario.pw/*
  79. // @match *.ogario.net/*
  80. // @match *.ogario.net/*
  81. // @match *.nbk.io/*
  82. // @match *.agariofly.com/*
  83. // @match *.agario.info/*
  84. // @match *.inciagario.com/*
  85. // @match *.agar.io.biz.tr/*
  86. // @match *.agariown.com/*
  87. // @match *.agario.dk/*
  88. // @match *.agario.lol/*
  89. // @match *.agario.gen.tr/*
  90. // @match *.agarioprivateserver.us/*
  91. // @match *.agariot.com/*
  92. // @match *.agarw.com/*
  93. // @match *.agario.city/*
  94. // @match *.agario.ovh/*
  95. // @match *.feedy.io/*
  96. // @match *.agar.io/*
  97. // @match *.agar.zircon.at/*
  98. // @match *.minemoorealt.github.io/*
  99. // @match *.agario.bz/*
  100. // @match *.cell.sh/*
  101. // @match *.c0nsume.me/*
  102. // @match *.agar.red/*
  103. // @match *.trydox.com/*
  104. // @match *.agarix.esy.es/*
  105. // @match *.blobsonline.com/*
  106. // @match *.agr-game.ml/*
  107. // @match *.xgario.com/*
  108. // @require https://cdnjs.cloudflare.com/ajax/libs/socket.io/1.4.5/socket.io.min.js
  109. // @require https://code.jquery.com/jquery-3.1.1.min.js
  110. // @grant none
  111. // @run-at document-start
  112. // ==/UserScript==
  113.  
  114.  
  115. setTimeout(function() {
  116. window.__WebSocket = window.WebSocket;
  117. window.fakeWebSocket = function(){return {readyState: 0}};
  118. window._WebSocket = window.WebSocket = function(ip){return new window.fakeWebSocket(ip);};
  119. window.__botclonsData = {};
  120. window.__botclonsData.mx = 0;
  121. window.__botclonsData.my = 0;
  122. window.__botclonsData.ml = 0;
  123. window.__botclonsData.ma = 0;
  124. window.__botclonsData.mb = 0;
  125. window.__botclonsData.wa = false;
  126. window.__botclonsData.sa = false;
  127. window.__botclonsData.w = null;
  128. window.__botclonsData.s = null;
  129. window.__botclonsData.aX = -1;
  130. window.__botclonsData.aY = -1;
  131. window.__botclonsData.p = 0;
  132. window.__botclonsData.q=false;
  133. window.__botclonsData.socketaddr = null;
  134. window.addEventListener("load",function(){
  135. // код инжектинга
  136. if(!window.OldSocket)
  137. OldSocket = window.__WebSocket;
  138. window._WebSocket = window.WebSocket = window.fakeWebSocket = function(ip){
  139. var ws = new OldSocket(ip);
  140. ws.binaryType="arraybuffer"
  141. var fakeWS = {};
  142. for(var i in ws)
  143. fakeWS[i] = ws[i];
  144. fakeWS.send = function(){
  145. //console.log("перехватили передачу! " + arguments[0]);
  146. var msg = new DataView(arguments[0]);
  147. /*if((msg.byteLength>0)&&(msg.getUint8(0)!=16)){
  148. var f="";
  149. for(var i=0;i<msg.byteLength;i++){
  150. var a=msg.getUint8(i);
  151. f=f+a+" ";
  152. }
  153. console.log(f);
  154. }*/
  155. if(msg.byteLength==21){ // Most clones
  156. if(msg.getInt8(0, true) == 16){
  157. window.__botclonsData.mx = msg.getFloat64(1, true);
  158. window.__botclonsData.my = msg.getFloat64(9, true);
  159. window.__botclonsData.ml = msg.byteLength;
  160. }
  161. } else {
  162. if(msg.byteLength==13){ // Agar.re, agarioforums.io, alis.io
  163. if(msg.getUint8(0, true) == 16){
  164. window.__botclonsData.mx = msg.getInt32(1, true);
  165. window.__botclonsData.my = msg.getInt32(5, true);
  166. window.__botclonsData.ml = msg.byteLength;
  167. }else{
  168. if(msg.byteLength>4){ // gota.io
  169. if(msg.getUint8(0, true) == 16){
  170. window.__botclonsData.mx = msg.getInt16(1, true);
  171. window.__botclonsData.my = msg.getInt16(3, true);
  172. window.__botclonsData.ml = msg.byteLength;
  173. }
  174. }
  175. }
  176. }
  177. }
  178. return ws.send.apply(ws, arguments);
  179. };
  180. ws.onmessage = function(){
  181. //console.log("перехватили прием! " + arguments[0].data);
  182. var msg = new DataView(arguments[0].data);
  183. if(msg.byteLength>16){ // Most clones
  184. if(msg.getUint8(0, true) == 64){
  185. window.__botclonsData.ma = msg.getFloat64(1, true);
  186. window.__botclonsData.mb = msg.getFloat64(9, true);
  187. }
  188. }
  189. fakeWS.onmessage && fakeWS.onmessage.apply(ws, arguments);
  190. };
  191. ws.onopen = function(){
  192. window.__botclonsData.socketaddr = ws.url;
  193. //console.log("перехватили подключение!");
  194. fakeWS.readyState = 1;
  195. fakeWS.onopen.apply(ws, arguments);
  196. };
  197. ws.onclose = function(){
  198. fakeWS.onclose.apply(ws, arguments);
  199. };
  200. return fakeWS;
  201. }
  202. if(location.origin=="http://cellcraft.io")connect("");
  203. })
  204. var real_minx = -7071;
  205. var real_miny = -7071;
  206. var real_maxx = 7071;
  207. var real_maxy = 7071;
  208. var lastsent = {
  209. minx: 0,
  210. miny: 0,
  211. maxx: 0,
  212. maxy: 0
  213. };
  214.  
  215. function valcompare(Y, Z) {
  216. return 0.01 > Y - Z && -0.01 < Y - Z
  217. }
  218. var socket = io.connect('ws://127.0.0.1:8081');
  219. var canMove = true;
  220. var movetoMouse = true;
  221. var moveEvent = new Array(2);
  222. var canvas = document.getElementById("canvas");
  223. last_transmited_game_server = null;
  224. socket.on('force-login', function(data) {
  225. socket.emit("login", {
  226. "uuid": client_uuid,
  227. "type": "client"
  228. });
  229. transmit_game_server()
  230. });
  231. $( "#overlays" ).after( "<div style='z-index: 10000000; border-radius: 4px;position: fixed; top: 10px; left: 10px; text-align: center; width: 200px; background-color: #708090; opacity: 0.9; padding: 7px;'> <div style='border-radius: 25px; text-indent:0; border:3px solid #fff; display:inline-block; color:#000; font-family:arial; font-size:15px; font-weight:bold; font-style:normal; height:30px; -webkit-box-shadow: 0px 0px 52px -6px rgba(46,204,113,1); -moz-box-shadow: 0px 0px 52px -6px rgba(46,204,113,1); box-shadow: 0px 0px 52px -6px rgb(202, 202, 202); line-height:1.5em; text-decoration:none; text-align:center; width: 190px; color: #fff;'>GreatBots.ga</div><br><br> <a style='color: #fff; font-family: arial;'>Bot Amount: </a><a style='color: #fff; font-family: arial;' id='minionCount'>0</a><br> <a style='color: #fff; font-family: arial;'>X/Y: </a><a style='color: #fff; font-family: arial;'id='gh45nmvsy'>0,0</a><br><br><a style='color: #fff; font-family: arial;'>E - Split Bots</a><br><a style='color: #fff; font-family: arial;'>R - Bots Feed </a> </div>" );
  232. socket.on('spawn-count', function(data) {
  233. console.log(data);
  234. document.getElementById('minionCount').innerHTML = data
  235. });
  236. var client_uuid = localStorage.getItem('client_uuid');
  237. if (client_uuid == null) {
  238. console.log("generating a uuid for this user");
  239. client_uuid = ""; var ranStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
  240. for (var ii = 0; ii < 15; ii++) client_uuid += ranStr.charAt(Math.floor(Math.random() * ranStr.length));
  241. localStorage.setItem('client_uuid', client_uuid)
  242. }
  243. socket.emit("login", client_uuid);
  244. $("#instructions").replaceWith('<br><div class="input-group"><span class="input-group-addon" id="basic-addon1">UUID</span><input type="text" value="' + client_uuid + '" readonly class="form-control"</div>');
  245.  
  246. function isMe(cell) {
  247. for (var i = 0; i < window.agar.myCells.length; i++) {
  248. if (window.agar.myCells[i] == cell.id) {
  249. return true
  250. }
  251. }
  252. return false
  253. }
  254.  
  255. function getCell() {
  256. var me = [];
  257. for (var key in window.agar.allCells) {
  258. var cell = window.agar.allCells[key];
  259. if (isMe(cell)) {
  260. me.push(cell)
  261. }
  262. }
  263. return me[0]
  264. }
  265. var skin_var = 0;
  266.  
  267. function emitPosition() {
  268. console.log(client_uuid);
  269. document.getElementById('gh45nmvsy').innerHTML=(~~(window.__botclonsData.mx-window.__botclonsData.ma))+","+(~~(window.__botclonsData.my-window.__botclonsData.mb));
  270. socket.emit("pos", {
  271. "x": window.__botclonsData.mx-window.__botclonsData.ma,
  272. "y": window.__botclonsData.my-window.__botclonsData.mb,
  273. "l": window.__botclonsData.ml,
  274. "p": window.__botclonsData.p,
  275. "c": window.__botclonsData.q
  276. })
  277. }
  278.  
  279. function toggleMovement() {
  280. canMove = !canMove;
  281. switch (canMove) {
  282. case true:
  283. canvas.onmousemove = moveEvent[0];
  284. moveEvent[0] = null;
  285. canvas.onmousedown = moveEvent[1];
  286. moveEvent[1] = null;
  287. break;
  288. case false:
  289. canvas.onmousemove({
  290. clientX: innerWidth / 2,
  291. clientY: innerHeight / 2
  292. });
  293. moveEvent[0] = canvas.onmousemove;
  294. canvas.onmousemove = null;
  295. moveEvent[1] = canvas.onmousedown;
  296. canvas.onmousedown = null;
  297. break
  298. }
  299. }
  300. interval_id = setInterval(function() {
  301. emitPosition()
  302. }, 100);
  303. interval_id2 = setInterval(function() {
  304. transmit_game_server_if_changed()
  305. }, 5000);
  306. document.addEventListener('keydown', function(e) {
  307. var key = e.keyCode || e.which;
  308. switch (key) {
  309. case 16:
  310. if(!window.__botclonsData.sa){
  311. window.__botclonsData.sa=true;
  312. window.__botclonsData.s = setInterval(function() {
  313. $("body").trigger($.Event("keydown", { keyCode: 32}));
  314. $("body").trigger($.Event("keyup", { keyCode: 32}));
  315. }, 10);
  316. }
  317. break;
  318. case 87:
  319. if(!window.__botclonsData.wa){
  320. window.__botclonsData.wa=true;
  321. window.__botclonsData.w = setInterval(function() {
  322. $("body").trigger($.Event("keydown", { keyCode: 87}));
  323. $("body").trigger($.Event("keyup", { keyCode: 87}));
  324. }, 10);
  325. }
  326. break;
  327. case 65:
  328. window.__botclonsData.p--;
  329. document.getElementById('ismoveToMouse').innerHTML = window.__botclonsData.p;
  330. break;
  331. case 45:
  332. window.__botclonsData.q=!window.__botclonsData.q;
  333. if(window.__botclonsData.q) { document.getElementById('dfdghehfj').innerHTML = "On"; } else { document.getElementById('dfdghehfj').innerHTML = "Off"; }
  334. break;
  335. case 69:
  336. socket.emit("cmd", {
  337. "name": "split"
  338. })
  339. break;
  340. case 82:
  341. socket.emit("cmd", {
  342. "name": "eject"
  343. })
  344. break;
  345. case 80:
  346. window.__botclonsData.p++;
  347. document.getElementById('ismoveToMouse').innerHTML = window.__botclonsData.p;
  348. break
  349. }
  350. });
  351. document.addEventListener('keyup', function(e) {
  352. var key = e.keyCode || e.which;
  353. console.log(key);
  354. switch (key) {
  355. case 87:
  356. clearInterval(window.__botclonsData.w);
  357. window.__botclonsData.wa=false;
  358. break;
  359. case 16:
  360. clearInterval(window.__botclonsData.s);
  361. window.__botclonsData.sa=false;
  362. break;
  363. }
  364. });
  365.  
  366. function transmit_game_server_if_changed() {
  367. if (last_transmited_game_server != window.__botclonsData.socketaddr) {
  368. transmit_game_server()
  369. }
  370. }
  371.  
  372. function transmit_game_server() {
  373. last_transmited_game_server = window.__botclonsData.socketaddr;
  374. socket.emit("cmd", {
  375. "name": "connect_server",
  376. "ip": window.__botclonsData.socketaddr,
  377. "origin": location.origin
  378. })
  379. }
  380. var mouseX = 0;
  381. var mouseY = 0;
  382. $("body").mousemove(function(event) {
  383. mouseX = event.clientX;
  384. mouseY = event.clientY
  385. });
  386. client_uuid = "TBots";
  387.  
  388. }, 2200);

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址