BASE BUILD FULL ATTACK

Yep

  1. // ==UserScript==
  2. // @name BASE BUILD FULL ATTACK
  3. // @namespace none
  4. // @version 1.1
  5. // @description Yep
  6. // @author [TH]
  7. // @match http://bloble.io/*
  8. // @match http://www.bloble.io/*
  9. // @grant none
  10. // ==/UserScript==
  11.  
  12.  
  13. var scroll=0;
  14. mainCanvas["addEventListener"]?(window["addEventListener"]("mousewheel",zoom,!1),mainCanvas["addEventListener"]("DOMMouseScroll",zoom,!1)):window["attachEvent"]("onmousewheel",zoom);function zoom(a)
  15. {
  16. a= window["event"]|| a;a["preventDefault"]();a["stopPropagation"]();scroll= Math["max"](-1,Math["min"](1,a["wheelDelta"]|| -a["detail"]));if(scroll== -1)
  17. {
  18. if(maxScreenHeight< 10000)
  19. {
  20. (maxScreenHeight+= 250,maxScreenWidth+= 250,resize());scroll= 0
  21. }
  22. }
  23. if(scroll== 1)
  24. {
  25. if(maxScreenHeight> 1000)
  26. {
  27. (maxScreenHeight-= 250,maxScreenWidth-= 250,resize());scroll= 0
  28. }
  29. }
  30. }
  31. mainCanvas["onkeydown"]= function(event)
  32. {
  33. var k=event["keyCode"]?event["keyCode"]:event["which"];
  34. if(k== 70)
  35. {
  36. if(maxScreenHeight< 10000)
  37. {
  38. (maxScreenHeight+= 250,maxScreenWidth+= 250,resize())
  39. }
  40. }
  41. if(k== 67)
  42. {
  43. if(maxScreenHeight> 1000)
  44. {
  45. (maxScreenHeight-= 250,maxScreenWidth-= 250,resize())
  46. }
  47. }
  48. {
  49. if(65== a|| 37== a)
  50. {
  51. cameraKeys["l"]= 0,updateCameraInput()
  52. }
  53. if(68== a|| 39== a)
  54. {
  55. cameraKeys["r"]= 0,updateCameraInput()
  56. }
  57. if(87== a|| 38== a)
  58. {
  59. cameraKeys["u"]= 0,updateCameraInput()
  60. }
  61. if(83== a|| 40== a)
  62. {
  63. cameraKeys["d"]= 0,updateCameraInput()
  64. }
  65. if(32== a)
  66. {
  67. var d=unitList["indexOf"](activeUnit);
  68. sendUnit(d)
  69. }
  70. void(0)!= upgrInputsToIndex["k"+ a]&& toggleActiveUnit(upgrInputsToIndex["k"+ a]);46== a&& selUnits["length"]&& sellSelUnits();84== a&& toggleChat("none"== chatListWrapper["style"]["display"]);27== a&& (toggleActiveUnit(),disableSelUnit(),showSelector= !1);82== a&& (camY= camX= 0)
  71. }
  72. }
  73. ;mainCanvas["onkeydown"]= function(a)
  74. {
  75. a= a["keyCode"]?a["keyCode"]:a["which"];socket&& player&& !player["dead"]&& (65!= a&& 37!= a|| cameraKeys["l"]|| (cameraKeys["l"]= -1,cameraKeys["r"]= 0,updateCameraInput()),68!= a&& 39!= a|| cameraKeys["r"]|| (cameraKeys["r"]= 1,cameraKeys["l"]= 0,updateCameraInput()),87!= a&& 38!= a|| cameraKeys["u"]|| (cameraKeys["u"]= -1,cameraKeys["d"]= 0,updateCameraInput()),83!= a&& 40!= a|| cameraKeys["d"]|| (cameraKeys["d"]= 1,cameraKeys["u"]= 0,updateCameraInput()))
  76. }
  77.  
  78.  
  79.  
  80.  
  81. addEventListener("keydown", function(a) {
  82. if (a.keyCode == 51) { //Generators
  83. for(i=-3.14;i<=2.36;i+=0.050){
  84. socket.emit("1",i,132,3);
  85. }
  86. }
  87. if (a.keyCode == 54) { //Armory
  88. socket.emit("1",UTILS.roundToTwo(2.75),UTILS.roundToTwo(175),7);
  89. }
  90. if (a.keyCode == 52) { //Houses
  91. for(i=-3.134;i<=2.492;i+=0.04620){
  92. socket.emit("1",i,194,4);
  93. }
  94. }
  95.  
  96. if (a.keyCode == 50) {//Turrets
  97. socket.emit("1",2.75,245.75,2);socket.emit("1",2.50,245,2);socket.emit("1",3,245,2);
  98. for(i=-2.98;i<=2.2;i+=0.3235){
  99. socket.emit("1",i,245,2);
  100. }
  101. }
  102. if (a.keyCode == 49) {//Walls
  103. for(i=-3.14;i<3.14;i+=0.216){
  104. socket.emit("1",i,1e3,1);
  105. }
  106. }
  107. if (a.keyCode == 55) {//Barracks
  108. socket.emit("1",0.32,310,8);
  109. socket.emit("1",-0.98,310,8);
  110. socket.emit("1",1.61,310,8);
  111. socket.emit("1",-2.27,310,8);
  112. }
  113. });
  114.  
  115. addEventListener("keydown", function(a) {
  116. if (a.keyCode == 77){
  117. for(i=0;i<users.length;++i){
  118. if(users[i].name.startsWith("[G]")&&users[i].name !== player.name){
  119. camX = users[i].x-player.x;
  120. camY = users[i].y-player.y;
  121. }
  122. }
  123. }
  124. });
  125.  
  126.  
  127.  
  128. 1
  129. 2
  130. 3
  131. 4
  132. 5
  133. 6
  134. 7
  135. 8
  136. 9
  137. 10
  138. 11
  139. 12
  140. 13
  141. 14
  142. 15
  143.  
  144.  
  145. setInterval(updatePlayer,90000);
  146. function updatePlayer(){
  147. socket.emit("2",0,0);
  148. socket.emit("2",Math.round(camX),Math.round(camY));
  149. }
  150.  
  151.  
  152.  
  153. 1
  154. 2
  155. 3
  156. 4
  157. 5
  158. 6
  159. 7
  160. 8
  161.  
  162.  
  163. var headAppend=document.getElementsByTagName("head")[0],style=document.createElement("div");style.innerHTML="<style>#upgradeScriptCont,.buttonClass{background-color:rgba(40,40,40,.5);margin-left: 3px;border-radius:4px;pointer-events:all}#upgradeScriptCont{top: -138px;transition: 1s;margin-left:10px;position:absolute;padding-left:24px;margin-top:9px;padding-top:15px;width:530px;height:128px;font-family:arial;left:28%}#upgradeScriptCont:hover{top:0px}.buttonClass{color:#fff;padding:7px;height:19px;display:inline-block;cursor:pointer;font-size:15px}.hoverMessage{color: white;font-size: 14px;position: relative;left: 457px;bottom: 2px;pointer-events: none;}</style>",headAppend.appendChild(style);var contAppend=document.getElementById("gameUiContainer"),menuA=document.createElement("div");menuA.innerHTML="<div id=upgradeScriptCont><div id=layer1><div id=walls class=buttonClass onclick=walls()>Buy Walls</div><div id=upgradeBoulders class=buttonClass onclick=boulders()>Upgrade Boulders</div><div id=upgradeSpikes class=buttonClass onclick=spikes()>Upgrade Spikes</div><div id=upgradeGen class=buttonClass onclick=powerPlants()>Upgrade Power Plants</div></div><div id=layer2 style=margin-top:7px;margin-left:7px><div id=walls class=buttonClass onclick=generators()>Buy Generators</div><div id=upgradeBoulders class=buttonClass onclick=rapid()>Upgrade Rapid</div><div id=upgradeSpikes class=buttonClass onclick=ranged()>Upgrade Ranged</div><div id=upgradeGen class=buttonClass onclick=antiTank()>Upgrade anti-tank</div></div><div id=layer3 style=margin-top:7px;margin-left:-16px><div id=walls class=buttonClass onclick=gatlins()>Upgrade Gatlins</div><div id=upgradeBoulders class=buttonClass onclick=spotter()>Upgrade spotter</div><div id=upgradeMicro class=buttonClass onclick=microGenerators()>Upgrade Micro-Gen</div><div id=upgradeSpikes class=buttonClass onclick=semiAuto()>Upgrade Semi-auto</div></div><span class=hoverMessage>Hover over</span></div>",contAppend.insertBefore(menuA,contAppend.firstChild),window.walls=function(){for(i=-3.14;i<3.14;i+=.108)socket.emit("1",i,1e3,1)},window.generators=function(){for(i=-3.14;i<3.14;i+=.075)socket.emit("1",i,132,3)},window.boulders=function(){for(i=0;i<units.length;++i)3==units[i].type&&"circle"==units[i].shape&&units[i].owner==player.sid&&socket.emit("4",units[i].id,0)},window.microGenerators=function(){for(i=0;i<units.length;++i)3==units[i].type&&"circle"==units[i].shape&&units[i].owner==player.sid&&socket.emit("4",units[i].id,1)},window.spikes=function(){for(i=0;i<units.length;++i)3==units[i].type&&"hexagon"==units[i].shape&&units[i].owner==player.sid&&socket.emit("4",units[i].id,0)},window.powerPlants=function(){for(i=0;i<units.length;++i)0==units[i].type&&"hexagon"==units[i].shape&&units[i].owner==player.sid&&socket.emit("4",units[i].id,0)},window.rapid=function(){for(i=0;i<units.length;++i)0==units[i].type&&1==units[i].turretIndex&&"circle"==units[i].shape&&units[i].owner==player.sid&&socket.emit("4",units[i].id,0)},window.ranged=function(){for(i=0;i<units.length;++i)0==units[i].type&&1==units[i].turretIndex&&"circle"==units[i].shape&&units[i].owner==player.sid&&socket.emit("4",units[i].id,1)},window.antiTank=function(){for(i=0;i<units.length;++i)0==units[i].type&&4==units[i].turretIndex&&"circle"==units[i].shape&&units[i].owner==player.sid&&socket.emit("4",units[i].id,1)},window.semiAuto=function(){for(i=0;i<units.length;++i)0==units[i].type&&4==units[i].turretIndex&&"circle"==units[i].shape&&units[i].owner==player.sid&&socket.emit("4",units[i].id,0)},window.gatlins=function(){for(i=0;i<units.length;++i)0==units[i].type&&2==units[i].turretIndex&&"circle"==units[i].shape&&units[i].owner==player.sid&&socket.emit("4",units[i].id,0)},window.spotter=function(){for(i=0;i<units.length;++i)0==units[i].type&&3==units[i].turretIndex&&"circle"==units[i].shape&&units[i].owner==player.sid&&socket.emit("4",units[i].id,0)};
  164.  
  165. var correct = `<div class="correctness incorrect">Errado</div>`;
  166. //document.body.style.backgroundImage = "url('http://eskipaper.com/images/blue-background-2.jpg')";
  167.  
  168.  
  169. function clickelementbyname(elementname){
  170. document.getElementsByName(elementname)[0].click();
  171. }
  172. /*
  173. function clickelementbyclassname(elementclassname){
  174. document.getElementsByClassName(elementclassname)[0].click();
  175. }
  176. */
  177.  
  178. if(window.location.href.indexOf("nead.pro.br/mod/quiz/attempt.php?") > -1){
  179. console.log("Questionary page detected.");
  180. //var id = document.getElementsByName('questionids')[0].value;
  181. var s1 = document.getElementsByClassName('submit btn')[0].getAttribute('onclick').split(`'`)[1];
  182. var id = s1.split('q')[1];
  183. var questionID = document.getElementsByName('questionids')[0].value;
  184. var questioncode = document.getElementById(`q${id}`).innerHTML;
  185. var correctness = document.getElementsByClassName("correctness correct")[0];
  186. console.log("Checking question grading.");
  187. if(correctness !== undefined){
  188. console.log("Question is right, saving data.");
  189. localStorage.setItem('que'+ id, questioncode);
  190. if(document.getElementsByClassName("next")[0] !== undefined){
  191. console.log("Going to next page.");
  192. document.getElementsByClassName("next")[0].click();
  193. }
  194. if(document.getElementsByClassName("next")[0] === undefined){
  195. console.log("Questionary is finished.");
  196. alert("Questionary is finished.");
  197. }
  198. }
  199. if(correctness === undefined){
  200. console.log("Question isn't right, looking for question data");
  201. if(localStorage.getItem('que' + id) === null){
  202. alert("No data found, you must answer this question");
  203. console.log("No data found, human must answer");
  204. }
  205. if(localStorage.getItem('que' + id) !== null){
  206. document.getElementById(`q${id}`).innerHTML = localStorage.getItem('que' + id);
  207. setTimeout(clickelementbyname, 250, 'resp' + id + '_submit');
  208. console.log("Data found, changing page.");
  209. }
  210. }
  211. }
  212.  
  213.  
  214.  
  215.  
  216. //CHAT IS SELECTED OR NO
  217. chatInput.onfocus=function(){chatInput.isFocused=true;};
  218. chatInput.onblur=function(){chatInput.isFocused=false;};
  219.  
  220. //DELETE PLAYER
  221. addEventListener("keydown", function(a) {
  222. if(chatInput.isFocused===false&&a.keyCode==46){
  223. if(selUnits.length!==0){
  224. local.emit('del',selUnits[0].owner);
  225. }
  226. }
  227. });
  228.  
  229. //AGROUP UNITS
  230. addEventListener("keydown", function(a) {
  231. if(chatInput.isFocused===false&&a.keyCode==16){
  232. if(selUnits.length==4&&selUnits.length!==0){
  233. var center = selUnitsMidPoint();
  234. var points = [];
  235. points.push({x:center[0],y:center[1],moving:false});
  236. points.push({x:center[0]+275,y:center[1]+275,moving:false});
  237. points.push({x:center[0]+275,y:center[1],moving:false});
  238. points.push({x:center[0],y:center[1]+275,moving:false});
  239. for(o=0,e=selUnits;o<e.length;++o){
  240. var closest = 1000000000;
  241. for(i=0,e=points;i<points.length;++i){
  242. var d=UTILS.getDistance(e[i].x,e[i].y,selUnits[o].x,selUnits[o].y);
  243. if(i!==4){
  244. if(e[i].moving===false&&d<closest){
  245. closest=d;
  246. local.emit("5",points[i].x,points[i].y,[selUnits[o].id],0,0);
  247. if(selUnits[o].owner==player.sid){socket.emit("5",UTILS.roundToTwo(points[i].x),UTILS.roundToTwo(points[i].y),[selUnits[o].id],0,0);}
  248. }
  249. }
  250. else{
  251. closest=d;
  252. if(selUnits[o].owner==player.sid){socket.emit("5",UTILS.roundToTwo(points[i].x),UTILS.roundToTwo(points[i].y),[selUnits[o].id],0,0);}
  253. local.emit("5",points[i].x,points[i].y,[selUnits[o].id],0,0);
  254. }
  255. }
  256. }
  257. }
  258. }
  259. });
  260.  
  261.  
  262. //CONNECT TO BOTS
  263. var local = connectLocal();
  264. function connectLocal(){
  265. const locallIo = io;
  266. return locallIo.connect('http://localhost:8080');
  267. }
  268.  
  269.  
  270. //MID POS BETWEN UNITS
  271. function selUnitsMidPoint(){
  272. x=0;
  273. y=0;
  274. for(i=0,a=selUnits;i<a.length;++i){
  275. y=selUnits[i].y+y;
  276. x=selUnits[i].x+x;
  277. }
  278. return [x/a.length,y/a.length];
  279. }
  280.  
  281. //CREATE NEW SOLDIER
  282. addEventListener("keydown", function(a) {
  283. if (chatInput.isFocused===false&&a.keyCode == 107) {
  284. local.emit("create");
  285. }
  286. });
  287.  
  288.  
  289. //GET BOTS CODE
  290. addEventListener("keydown", function(a) {
  291. if (chatInput.isFocused===false&&a.keyCode == 9) {
  292. alert('node . '+socket.io.uri+' '+player.sid+' '+[KM]+'SOLDIER'+' 0');
  293. }
  294. });