PODEROSOITALIAV2

USEM COM SABEDORIA

  1. // ==UserScript==
  2. // @name PODEROSOITALIAV2
  3. // @namespace http://tampermonkey.net/
  4. // @version 3.0
  5. // @description USEM COM SABEDORIA
  6. // @author PODEROSOITALIA
  7. // @match http://bloble.io/*
  8. // @grant none
  9. // @icon
  10. // ==/UserScript==
  11.  
  12. window.renderPlayer = function(a, d, c, b, g) {b.save();if (a.skin && 0 < a.skin && a.skin <= playerSkins && !skinSprites[a.skin]) {var e = new Image;e.onload = function() {this.readyToDraw = !0;this.onload = null;g == currentSkin && changeSkin(0);};e.src = ".././img/skins/skin_" + (a.skin - 1) + ".png";skinSprites[a.skin] = e;};a.skin && skinSprites[a.skin] && skinSprites[a.skin].readyToDraw ? (e = a.size - b.lineWidth / 4, b.lineWidth /= 2, renderCircle(d, c, a.size, b, !1, !0)) : g || (b.fillStyle = "rgba(255, 255, 255, 0)", renderCircle(d, c, a.size, b)); b.restore();};
  13.  
  14.  
  15.  
  16. window.ntx = function(dir, dst, uPath) {window.socket.emit("1", dir, dst, uPath)}
  17. window.resolution = 1;
  18. window.upgrInputsToIndex = {};
  19. window.cameraSpd = 5.0;
  20. window.joinEnabled = true;
  21. window.cid = window.UTILS.getUniqueID();localStorage.setItem("cid",window.cid);
  22. window.outlineWidth = 6;
  23. window.darkColor = "#2125ff70";
  24. window.playerColors = "#f9ff6099 #ff606099 #82ff6099 #607eff99 #60eaff99 #ff60ee99 #e360ff99 #ffaf6099 #a3ff6099 #ff609c99 #60ff8299 #cc60ff99 #c6595999 #404b7f99 #f2d95799 #c5525299 #c5525299 #498e5699 #c4515199 #c3545499 #c8575799 #c8595999 #5b74b699 #cd686899 #5c81bd99 #5bb14699 #d8c96399 #c5525299 #404b7f99 #c5525299 #c5525299 #c5525299 #c5525299 #404b7f99 #498e5699 #498e5699 #dbd24599 #ca514e99 #43427e99".split(" ");
  25. window.backgroundColor = "#000";
  26. window.indicatorColor = "#2125ff60";
  27. window.redColor = "#fff";
  28. window.outerColor = "#0a0a0a";
  29. window.lanePad = 10;
  30. window.playerSkins = 0;
  31. window.SkinBots = 0;
  32. window.playerBorderRot = undefined;
  33. /*#2 COMANDOS DE CHAT*/
  34. enterGame = function() {
  35. socket && unitList && (showMainMenuText(randomLoadingTexts[UTILS.randInt(0, randomLoadingTexts.length - 1)]),
  36. hasStorage && localStorage.setItem("lstnmdbl", userNameInput.value),
  37. mainCanvas.focus(),
  38. grecaptcha.execute("6Ldh8e0UAAAAAFOKBv25wQ87F3EKvBzyasSbqxCE").then(function(a) {
  39. setTimeout(function() {frase();}, 1000);
  40. socket.emit("spawn", {
  41. name: ''+userNameInput.value,
  42. skin: 26
  43. }, a)}))}
  44. function frase(){
  45. socket.emit("ch", "")}
  46. //===================Fim===================//
  47. //base com casas e 9 gens//
  48. addEventListener('keydown', a => {
  49. a = a.keyCode;
  50.  
  51. function filterUnitsUp(unitType, uPath, typeUp) {
  52. const myUnits = window.units.filter(unit => unit.owner == window.player.sid && unit.type == unitType && unit.uPath == uPath);
  53. myUnits.forEach(unitID => {
  54. socket.emit("4", unitID.id, typeUp);
  55. });
  56. }
  57.  
  58. function filterUnitsSell(unitType, uPath) {
  59. let Sell = [];
  60. const myUnits = window.units.filter(unit => unit.owner == window.player.sid && unit.type == unitType && unit.uPath == uPath);
  61. myUnits.forEach(unitID => {
  62. Sell.push(unitID.id);
  63. socket.emit("3", Sell);
  64. });
  65. }
  66.  
  67. if (a == 105){
  68. setTimeout(function(){ gens()},1000);setTimeout(function(){ gens()},10000);setTimeout(function(){ gens()},20000);setTimeout(function(){ gens()},30000);setTimeout(function(){ gens()},50000);setTimeout(function(){ walls();},60000);setTimeout(function(){ walls()},63000);setTimeout(function(){ micro()},80000);setTimeout(function(){ micro()},95000);setTimeout(function(){ upgens()},100000);setTimeout(function(){ upgens();},130000);setTimeout(function(){ upgens();},155000);setTimeout(function(){ upgens()},160000);setTimeout(function(){ command()},170000);setTimeout(function(){ command()},180000);setTimeout(function(){ greatleadership()},185000);setTimeout(function(){ armory()},190000);setTimeout(function(){ barracks1()},195000);setTimeout(function(){ siege()},230000);setTimeout(function(){ siege()},234000);setTimeout(function(){ barracks2()},235000);setTimeout(function(){ barracks2()},240000);setTimeout(function(){ upbarracks()},250000);setTimeout(function(){ upbarracks()},255000);setTimeout(function(){ upbarracks()},260000);setTimeout(function(){ upbarracks()},270000);setTimeout(function(){ upbarracks()},280000);setTimeout(function(){ sellgens()},310000);setTimeout(function(){ base()},315000);setTimeout(function(){ sellsiege()},340000);setTimeout(function(){ centralizar()},340500);setTimeout(function(){ barracks1()},341000);setTimeout(function(){ upbarracks()},342000);setTimeout(function(){ upbarracks()},345000);setTimeout(function(){ upbarracks()},350000);setTimeout(function(){ centralizar2()},362000);setTimeout(function(){ centralizar3()},363000);setTimeout(function(){ centralizar3()},364000);setTimeout(function(){ upgens2()},365000);setTimeout(function(){ upantitank()},368000);
  69. function gens(){
  70. socket.emit("1", 4.73, 245, 3); socket.emit("1", 5.0025, 245, 3); socket.emit("1", 5.275, 245, 3); socket.emit("1", 5.5475, 245, 3); socket.emit("1", 5.82, 245, 3); socket.emit("1", 6.0925, 245, 3); socket.emit("1", 6.365, 245, 3); socket.emit("1", 6.6375, 245, 3); socket.emit("1", 6.91, 245, 3); socket.emit("1", 7.1825, 245, 3); socket.emit("1", 7.455, 245, 3); socket.emit("1", 7.7275, 245, 3); socket.emit("1", 8.0025, 245, 3); socket.emit("1", 8.275, 245, 3); socket.emit("1", 8.5475, 245, 3); socket.emit("1", 8.82, 245, 3); socket.emit("1", 9.0925, 245, 3); socket.emit("1", 9.3675, 245, 3); socket.emit("1", 9.64, 245, 3); socket.emit("1", 9.9125, 245, 3); socket.emit("1", 10.1875, 245, 3); socket.emit("1", 10.4625, 245, 3); socket.emit("1", 10.7375, 245, 3); socket.emit("1", 5.64, 180, 3); socket.emit("1", 5.999, 180, 3); socket.emit("1", 6.51, 185, 3); socket.emit("1", 7.05, 185, 3); socket.emit("1", 7.6, 185, 3); socket.emit("1", 8.15, 185, 3); socket.emit("1", 8.675, 185, 3); socket.emit("1", 9.225, 185, 3); socket.emit("1", 9.78, 185, 3); socket.emit("1", 10.325, 185, 3); socket.emit("1", 5.36, 130, 3); socket.emit("1", 6.275, 130, 3); socket.emit("1", 6.775, 130, 3); socket.emit("1", 7.3, 130, 3); socket.emit("1", 7.85, 130, 3); socket.emit("1", 8.4, 130, 3); socket.emit("1", 8.925, 130, 3); socket.emit("1", 9.5, 130, 3); socket.emit("1", 10.05, 130, 3);socket.emit("1",-1.55, 140, 7)
  71.  
  72. }
  73. function walls(){
  74. socket.emit("1",1.57, 306, 1);socket.emit("1",1.37, 306, 1);socket.emit("1",1.77, 306, 1);socket.emit("1",2.19, 306, 1);socket.emit("1",0.95, 306.01, 1);socket.emit("1",0.75, 306, 1);socket.emit("1",0.55, 306, 1);socket.emit("1",2.39, 306, 1);socket.emit("1",2.59, 306, 1);socket.emit("1",0.13, 306, 1);socket.emit("1",3.01, 306, 1);socket.emit("1",-3.07, 306, 1);socket.emit("1",-2.87, 306, 1);socket.emit("1",-2.67, 306, 1);socket.emit("1",-2.27, 306, 1);socket.emit("1",-2.07, 306, 1);socket.emit("1",-2.47, 306, 1);socket.emit("1",-0.07, 306, 1);socket.emit("1",-0.27, 306, 1);socket.emit("1",-0.47, 306, 1);socket.emit("1",-1.87, 306, 1);socket.emit("1",-1.67, 306, 1);socket.emit("1",-1.47, 306, 1);socket.emit("1",-1.27, 306, 1);socket.emit("1",-1.07, 306, 1);socket.emit("1",-0.87, 306, 1);socket.emit("1",-0.67, 306, 1);
  75. }
  76. function base(){
  77. socket.emit("1", -2.54, 130, 4);socket.emit("1",-1.55, 140, 7);socket.emit("1",1.57, 306, 1);socket.emit("1",1.37, 306, 1);socket.emit("1",1.77, 306, 1);socket.emit("1",2.19, 306, 1);socket.emit("1",0.95, 306.01, 1);socket.emit("1",0.75, 306, 1);socket.emit("1",0.55, 306, 1);socket.emit("1",2.39, 306, 1);socket.emit("1",2.59, 306, 1);socket.emit("1",0.13, 306, 1);socket.emit("1",3.01, 306, 1);socket.emit("1",-3.07, 306, 1);socket.emit("1",-2.87, 306, 1);socket.emit("1",-2.67, 306, 1);socket.emit("1",-2.27, 306, 1);socket.emit("1",-2.07, 306, 1);socket.emit("1",-2.47, 306, 1);socket.emit("1",-0.07, 306, 1);socket.emit("1",-0.27, 306, 1);socket.emit("1",-0.47, 306, 1);socket.emit("1",-1.87, 306, 1);socket.emit("1",-1.67, 306, 1);socket.emit("1",-1.47, 306, 1);socket.emit("1",-1.27, 306, 1);socket.emit("1",-1.07, 306, 1);socket.emit("1",-0.87, 306, 1);socket.emit("1",-0.67, 306, 1);socket.emit("1",1.16, 310, 8);socket.emit("1",1.98, 310, 8);socket.emit("1",2.8, 310, 8);socket.emit("1",-1.03, 130, 4);socket.emit("1",3.61, 245, 4);socket.emit("1",3.86, 245.01, 4);socket.emit("1",-2.17, 245.85, 4);socket.emit("1",3.08, 184, 4);socket.emit("1",3.11, 245, 4);socket.emit("1",3.36, 245, 4);socket.emit("1",4.36, 245, 4);socket.emit("1",4.86, 245, 4);socket.emit("1",4.61, 245, 4);socket.emit("1",4.39, 185, 4);socket.emit("1",5.11, 245, 4);socket.emit("1",5.36, 244.99, 4);socket.emit("1",-1.21, 184.75, 4);socket.emit("1",6.11, 245.01, 4);socket.emit("1",6.36, 245, 4);socket.emit("1",4.21, 130, 4);socket.emit("1",4.06, 186, 4);socket.emit("1",3.74, 190, 4);socket.emit("1",3.27, 130, 4);socket.emit("1",3.42, 186, 4);socket.emit("1",6.05, 186, 4);socket.emit("1",0.1, 184.35, 4);socket.emit("1",6.19, 130, 4);socket.emit("1",5.72, 130, 4);socket.emit("1",-0.88, 185.64, 4);socket.emit("1",5.73, 190, 4);socket.emit("1",5.86, 245, 4);socket.emit("1",5.61, 245, 4);socket.emit("1",6.66, 130, 4);socket.emit("1",2.79, 130, 4);socket.emit("1",2.75, 190, 4);socket.emit("1",2.86, 245.85, 4);socket.emit("1",6.61, 244.99, 4);socket.emit("1",6.72, 189.5, 4);socket.emit("1",3.74, 130, 4);socket.emit("1",0.34, 310, 8);socket.emit("1",2.43, 188, 4);socket.emit("1",2.3, 243.85, 5);socket.emit("1",7.04, 188.5, 4);socket.emit("1",0.89, 243.85, 5);socket.emit("1",0.6, 243.85, 5);socket.emit("1",2.59, 243.85, 5);socket.emit("1",2.04, 245.85, 4);socket.emit("1",1.15, 245.85, 4);socket.emit("1",1.78, 243.85, 5);socket.emit("1",1.41, 243.85, 5);socket.emit("1",2.09, 183.74, 3);socket.emit("1",1.1, 183.82, 3);socket.emit("1",2.32, 130, 4);socket.emit("1",1.84, 132, 3);socket.emit("1",1.35, 132, 3);socket.emit("1",1.59, 188.08, 3);socket.emit("1",0.86, 130, 4);
  78. }
  79. function barracks1(){
  80. socket.emit("1",0.34, 310, 8)
  81. }
  82. function barracks2(){
  83. socket.emit("1",1.16, 310, 8);socket.emit("1",1.98, 310, 8);socket.emit("1",2.8, 310, 8)
  84. }
  85. function greatleadership(){
  86. filterUnitsUp(1, 9, 0)
  87. }
  88. function upbarracks(){
  89. filterUnitsUp(2, 8, 0)
  90. }
  91. function micro(){
  92. filterUnitsUp(3, 1, 1)
  93. }
  94. function upgens(){
  95. filterUnitsUp(0, 3, 0)
  96. }
  97. function upgens2(){
  98. filterUnitsUp(0, 3, 0)
  99. }
  100. function upantitank(){
  101. filterUnitsUp(0, 5, 1)
  102. }
  103. function upgenstank(){
  104. filterUnitsUp(0, 3, 0)
  105. }
  106. function command(){
  107. socket.emit("4",0,0,1)
  108. }
  109. function siege(){
  110. filterUnitsUp(2, 8, 2)
  111. }
  112. function armory(){
  113. filterUnitsUp(0, 7, 0)
  114. }
  115. function sellgens(){
  116. filterUnitsSell(0, 3)
  117. filterUnitsSell(0, '3,0')
  118. }
  119. function sellsiege(){
  120. filterUnitsSell(2, '8,2')
  121. }
  122. function centralizar(){
  123. let ty = [];
  124. for (var b = 0; b < units.length; ++b) {
  125. if (units[b].owner == player.sid && units[b].uPath == 11) {
  126. ty.push(units[b].id);
  127. }
  128. }
  129. socket.emit("5", (player.x)-1, (player.y)+1, ty, 0, -1);
  130. }
  131. function centralizar2(){
  132. let ty = [];
  133. for (var b = 0; b < units.length; ++b) {
  134. if (units[b].owner == player.sid && units[b].uPath == 11) {
  135. ty.push(units[b].id);
  136. }
  137. }
  138. socket.emit("5", (player.x)+1, (player.y)-1, ty, 0, -1);
  139. }
  140. function centralizar3(){
  141. let ty = [];
  142. for (var b = 0; b < units.length; ++b) {
  143. if (units[b].owner == player.sid && units[b].uPath == 11) {
  144. ty.push(units[b].id);
  145. }
  146. }
  147. socket.emit("5", (player.x)*1, (player.y)*1, ty, 0, -1);
  148. }
  149. function centralizar4(){
  150. let ty = [];
  151. for (var b = 0; b < units.length; ++b) {
  152. if (units[b].owner == player.sid && units[b].uPath == 11) {
  153. ty.push(units[b].id);
  154. }
  155. }
  156. socket.emit("5", (player.x), (player.y), ty, 0, -1);
  157. }
  158. }
  159.  
  160.  
  161.  
  162.  
  163.  
  164. if (a == 97){//full atk
  165. socket.emit("1", -2.54, 130, 4);socket.emit("1",-1.55, 140, 7);socket.emit("1",1.57, 306, 1);socket.emit("1",1.37, 306, 1);socket.emit("1",1.77, 306, 1);socket.emit("1",2.19, 306, 1);socket.emit("1",0.95, 306.01, 1);socket.emit("1",0.75, 306, 1);socket.emit("1",0.55, 306, 1);socket.emit("1",2.39, 306, 1);socket.emit("1",2.59, 306, 1);socket.emit("1",0.13, 306, 1);socket.emit("1",3.01, 306, 1);socket.emit("1",-3.07, 306, 1);socket.emit("1",-2.87, 306, 1);socket.emit("1",-2.67, 306, 1);socket.emit("1",-2.27, 306, 1);socket.emit("1",-2.07, 306, 1);socket.emit("1",-2.47, 306, 1);socket.emit("1",-0.07, 306, 1);socket.emit("1",-0.27, 306, 1);socket.emit("1",-0.47, 306, 1);socket.emit("1",-1.87, 306, 1);socket.emit("1",-1.67, 306, 1);socket.emit("1",-1.47, 306, 1);socket.emit("1",-1.27, 306, 1);socket.emit("1",-1.07, 306, 1);socket.emit("1",-0.87, 306, 1);socket.emit("1",-0.67, 306, 1);socket.emit("1",1.16, 310, 8);socket.emit("1",1.98, 310, 8);socket.emit("1",2.8, 310, 8);socket.emit("1",-1.03, 130, 4);socket.emit("1",3.61, 245, 4);socket.emit("1",3.86, 245.01, 4);socket.emit("1",-2.17, 245.85, 4);socket.emit("1",3.08, 184, 4);socket.emit("1",3.11, 245, 4);socket.emit("1",3.36, 245, 4);socket.emit("1",4.36, 245, 4);socket.emit("1",4.86, 245, 4);socket.emit("1",4.61, 245, 4);socket.emit("1",4.39, 185, 4);socket.emit("1",5.11, 245, 4);socket.emit("1",5.36, 244.99, 4);socket.emit("1",-1.21, 184.75, 4);socket.emit("1",6.11, 245.01, 4);socket.emit("1",6.36, 245, 4);socket.emit("1",4.21, 130, 4);socket.emit("1",4.06, 186, 4);socket.emit("1",3.74, 190, 4);socket.emit("1",3.27, 130, 4);socket.emit("1",3.42, 186, 4);socket.emit("1",6.05, 186, 4);socket.emit("1",0.1, 184.35, 4);socket.emit("1",6.19, 130, 4);socket.emit("1",5.72, 130, 4);socket.emit("1",-0.88, 185.64, 4);socket.emit("1",5.73, 190, 4);socket.emit("1",5.86, 245, 4);socket.emit("1",5.61, 245, 4);socket.emit("1",6.66, 130, 4);socket.emit("1",2.79, 130, 4);socket.emit("1",2.75, 190, 4);socket.emit("1",2.86, 245.85, 4);socket.emit("1",6.61, 244.99, 4);socket.emit("1",6.72, 189.5, 4);socket.emit("1",3.74, 130, 4);socket.emit("1",0.34, 310, 8);socket.emit("1",2.43, 188, 4);socket.emit("1",2.3, 243.85, 5);socket.emit("1",7.04, 188.5, 4);socket.emit("1",0.89, 243.85, 5);socket.emit("1",0.6, 243.85, 5);socket.emit("1",2.59, 243.85, 5);socket.emit("1",2.04, 245.85, 4);socket.emit("1",1.15, 245.85, 4);socket.emit("1",1.78, 243.85, 5);socket.emit("1",1.41, 243.85, 5);socket.emit("1",2.09, 183.74, 3);socket.emit("1",1.1, 183.82, 3);socket.emit("1",2.32, 130, 4);socket.emit("1",1.84, 132, 3);socket.emit("1",1.35, 132, 3);socket.emit("1",1.59, 188.08, 3);socket.emit("1",0.86, 130, 4);
  166. }
  167. })
  168.  
  169.  
  170. //DEFEND//
  171. addEventListener('keydown', a => {
  172. a = a.keyCode;
  173. if (a == 88){
  174. socket.emit("1",1.57, 306, 1);socket.emit("1",1.37, 306, 1);socket.emit("1",1.77, 306, 1);socket.emit("1",2.19, 306, 1);socket.emit("1",0.95, 306.01, 1);socket.emit("1",0.75, 306, 1);socket.emit("1",0.55, 306, 1);socket.emit("1",2.39, 306, 1);socket.emit("1",2.59, 306, 1);socket.emit("1",0.13, 306, 1);socket.emit("1",3.01, 306, 1);socket.emit("1",-3.07, 306, 1);socket.emit("1",-2.87, 306, 1);socket.emit("1",-2.67, 306, 1);socket.emit("1",-2.27, 306, 1);socket.emit("1",-2.07, 306, 1);socket.emit("1",-2.47, 306, 1);socket.emit("1",-0.07, 306, 1);socket.emit("1",-0.27, 306, 1);socket.emit("1",-0.47, 306, 1);socket.emit("1",-1.87, 306, 1);socket.emit("1",-1.67, 306, 1);socket.emit("1",-1.47, 306, 1);socket.emit("1",-1.27, 306, 1);socket.emit("1",-1.07, 306, 1);socket.emit("1",-0.87, 306, 1);socket.emit("1",-0.67, 306, 1);socket.emit("1",3.11, 245, 1);socket.emit("1",3.36, 245, 1);socket.emit("1",3.08, 184, 1);socket.emit("1",3.42, 186, 1);socket.emit("1",3.27, 130, 1);socket.emit("1",8.26, 306, 1);socket.emit("1",3.61, 245, 1);socket.emit("1",3.86, 245.01, 1);socket.emit("1",4.73, 190, 1);socket.emit("1",3.74, 190, 1);socket.emit("1",5.06, 185, 1);socket.emit("1",4.06, 186, 1);socket.emit("1",4.39, 185, 1);socket.emit("1",4.73, 130, 1);socket.emit("1",5.25, 130, 1);socket.emit("1",3.74, 130, 1);socket.emit("1",4.21, 130, 1);socket.emit("1",2.8, 306, 1);socket.emit("1",1.16, 306, 1);socket.emit("1",0.35, 306, 1);socket.emit("1",2.43, 188, 1);socket.emit("1",7.13, 130, 1);socket.emit("1",7.6, 130, 1);socket.emit("1",1.85, 130, 1);socket.emit("1",2.32, 130, 1);socket.emit("1",2.79, 130, 1);socket.emit("1",8.89, 246, 1);socket.emit("1",2.86, 245, 1);socket.emit("1",2.75, 190, 1);socket.emit("1",8.14, 246.01, 1);socket.emit("1",8.39, 246, 1);socket.emit("1",8.64, 246, 1);socket.emit("1",7.37, 185, 1);socket.emit("1",7.71, 187.45, 1);socket.emit("1",8.04, 188.5, 1);socket.emit("1",8.36, 185, 1);socket.emit("1",7.64, 246, 1);socket.emit("1",7.89, 246, 1);socket.emit("1",4.11, 245, 1);socket.emit("1",4.36, 245, 1);socket.emit("1",4.61, 245, 1);socket.emit("1",4.86, 245, 1);socket.emit("1",5.11, 245, 1);socket.emit("1",5.36, 245, 1);socket.emit("1",5.61, 245, 1);socket.emit("1",5.73, 190, 1);socket.emit("1",5.4, 185, 1);socket.emit("1",5.72, 129.99, 1);socket.emit("1",6.19, 130, 1);socket.emit("1",6.66, 130, 1);socket.emit("1",5.86, 245, 1);socket.emit("1",6.11, 245, 1);socket.emit("1",6.36, 245, 1);socket.emit("1",6.61, 244.99, 1);socket.emit("1",6.05, 186, 1);socket.emit("1",6.37, 185, 1);socket.emit("1",6.86, 245.01, 1);socket.emit("1",7.14, 245, 1);socket.emit("1",7.39, 245, 1);socket.emit("1",6.72, 189.5, 1);socket.emit("1",7.04, 188.5, 1);
  175. }
  176. })
  177. //gens//
  178. addEventListener('keydown', a => {
  179. a = a.keyCode;
  180. if (a == 96){
  181. socket.emit("1",1.57, 243.85, 3);socket.emit("1",2.44, 196.8, 3);socket.emit("1",2.24, 243.86, 3);socket.emit("1",-2.78, 194.68, 3);socket.emit("1",1.97, 243.85, 3);socket.emit("1",2.1, 185.59, 3);socket.emit("1",1.87, 132, 3);socket.emit("1",1.26, 132, 3);socket.emit("1",1.38, 194.13, 3);socket.emit("1",1.76, 194.06, 3);socket.emit("1",-2.44, 185.75, 3);socket.emit("1",-2.59, 243.85, 3);socket.emit("1",3.06, 132, 3);socket.emit("1",2.37, 132, 3);socket.emit("1",2.77, 180.64, 3);socket.emit("1",2.91, 243.85, 3);socket.emit("1",2.64, 243.85, 3);socket.emit("1",3.11, 196.06, 3);socket.emit("1",-2.97, 243.85, 3);socket.emit("1",-2.69, 132, 3);socket.emit("1",-2.31, 243.85, 3);socket.emit("1",0.76, 132, 3);socket.emit("1",0.36, 180.1, 3);socket.emit("1",0.03, 197.16, 3);socket.emit("1",-0.44, 132, 3);socket.emit("1",0.08, 132, 3);socket.emit("1",0.23, 243.85, 3);socket.emit("1",0.5, 243.85, 3);socket.emit("1",0.7, 196.11, 3);socket.emit("1",0.9, 243.85, 3);socket.emit("1",1.04, 186.08, 3);socket.emit("1",1.17, 243.86, 3);socket.emit("1",-0.17, 243.85, 3);socket.emit("1",-0.36, 194.93, 3);socket.emit("1",-0.7, 183.73, 3);socket.emit("1",-0.55, 243.85, 3);socket.emit("1",-0.82, 243.85, 3);socket.emit("1",1.16, 310, 8);socket.emit("1",1.98, 310, 8);socket.emit("1",0.34, 310, 8);socket.emit("1",2.8, 310, 8);socket.emit("1",1.57, 306, 1);socket.emit("1",1.37, 306, 1);socket.emit("1",1.77, 306, 1);socket.emit("1",2.19, 306, 1);socket.emit("1",0.95, 306.01, 1);socket.emit("1",0.75, 306, 1);socket.emit("1",0.55, 306, 1);socket.emit("1",2.39, 306, 1);socket.emit("1",2.59, 306, 1);socket.emit("1",0.13, 306, 1);socket.emit("1",3.01, 306, 1);socket.emit("1",-3.07, 306, 1);socket.emit("1",-2.87, 306, 1);socket.emit("1",-2.67, 306, 1);socket.emit("1",-2.27, 306, 1);socket.emit("1",-2.07, 306, 1);socket.emit("1",-2.47, 306, 1);socket.emit("1",-0.07, 306, 1);socket.emit("1",-0.27, 306, 1);socket.emit("1",-0.47, 306, 1);socket.emit("1",-1.87, 306, 1);socket.emit("1",-1.67, 306, 1);socket.emit("1",-1.47, 306, 1);socket.emit("1",-1.27, 306, 1);socket.emit("1",-1.07, 306, 1);socket.emit("1",-0.87, 306, 1);socket.emit("1",-0.67, 306, 1);socket.emit("1",-1.55, 140, 7);socket.emit("1",-2.19, 132, 3);socket.emit("1",-0.95, 132, 3);socket.emit("1",-2.08, 193.61, 3);socket.emit("1",-1.05, 195.4, 3);socket.emit("1",-1.56, 243.85, 3);socket.emit("1",-1.27, 243.85, 3);socket.emit("1",-1.85, 243.85, 3);
  182. }
  183. })
  184.  
  185. addEventListener('keydown', a => {
  186. a = a.keyCode;
  187. if (a == 90) {//Commander
  188. const myUnits = units.filter(unit => unit.owner == player.sid && unit.type == 0 && unit.uPath == 3);
  189. myUnits.forEach(unit => {
  190. socket.emit("4", unit.id, 0)
  191. });
  192. }
  193. })
  194.  
  195.  
  196. addEventListener('keydown', a => {
  197. a = a.keyCode;
  198. if (a == 121) {//Sell gens
  199. const my = {};
  200. let Sell = [];
  201. my.SellWalls = window.units.filter(unit => unit.owner == window.player.sid && unit.type == 0 && unit.uPath == 3 || unit.uPath == '3,0')
  202. my.SellWalls.forEach(gensID => {Sell.push(gensID.id);window.socket.emit("3",Sell)})
  203. }
  204. })
  205.  
  206. addEventListener('keydown', a => {
  207. a = a.keyCode;
  208. if (a == 189) {//Sell house
  209. const my = {};
  210. let Sell = [];
  211. my.SellHouse = window.units.filter(unit => unit.owner == window.player.sid && unit.type == 0 && unit.uPath == 4)
  212. my.SellHouse.forEach(houseID => {Sell.push(houseID.id);window.socket.emit("3",Sell)})
  213. }
  214. })
  215.  
  216. addEventListener('keydown', a => {
  217. a = a.keyCode;
  218. if (a == 103) {//Up Barrack
  219. const my = {};
  220. my.UPbarracks = window.units.filter(unit => unit.owner == window.player.sid && unit.type == 2 && unit.uPath == 8)
  221. my.UPbarracks.forEach(barracksID => {window.socket.emit("4",barracksID.id,0)})
  222. }
  223. })
  224.  
  225. addEventListener('keydown', a => {
  226. a = a.keyCode;
  227. if (a == 190){
  228. for (var 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)
  229. }
  230. })
  231. addEventListener('keydown', a => {
  232. a = a.keyCode;
  233. if (a == 90) {//Commander
  234. window.socket.emit("4",0,0,1)
  235. window.selUnits = [];
  236. window.units.every((unit) => {
  237. if (unit.owner === window.player.sid && unit.type === 1) {
  238. if (!unit.info) unit.info = window.getUnitFromPath(unit.uPath);
  239. if (unit.info.name === 'Commander') {
  240. window.selUnits.push(unit);
  241. return false;
  242. }}
  243. return true;
  244. });
  245. window.selUnitType = "Unit";
  246. }
  247. })
  248.  
  249. addEventListener('keydown', a => {
  250. a = a.keyCode;
  251. if (a == 81) {//Soldiers
  252. window.selUnits = [];
  253. window.units.forEach((unit) => {
  254. if (unit.owner === window.player.sid && unit.type === 1) {
  255. if (!unit.info) unit.info = window.getUnitFromPath(unit.uPath);
  256. if (unit.info.name === 'Soldier') {
  257. window.selUnits.push(unit);
  258. return false;
  259. }}
  260. return true;
  261. });
  262. window.selUnitType = "Unit";
  263. }
  264. })
  265.  
  266. addEventListener('keydown', a => {
  267. a = a.keyCode;
  268. if(a == 226) {//Sell Walls
  269. const my = {};
  270. let Sell = [];
  271. my.SellWalls = window.units.filter(unit => unit.owner == window.player.sid && unit.type == 3 && unit.uPath == 1)
  272. my.SellWalls.forEach(wallsID => {Sell.push(wallsID.id);window.socket.emit("3",Sell)})
  273. }
  274. })
  275.  
  276. addEventListener('keydown', a => {
  277. a = a.keyCode;
  278. if (a == 110) {//Centralizador
  279. for (var e = [], b = 0; b < Math.floor(window.selUnits.length-0); ++b) e.push(window.selUnits[b].id);window.socket.emit("5", (window.player.x)-1, (window.player.y)+1, e, 0, -1);
  280. for (e = [], b = 0; b < Math.floor(window.selUnits.length-0); ++b) e.push(window.selUnits[b].id);window.socket.emit("5", (window.player.x)+1, (window.player.y)-1, e, 0, -1);
  281. for (e = [], b = 0; b < Math.floor(window.selUnits.length-0); ++b) e.push(window.selUnits[b].id);window.socket.emit("5", (window.player.x)*1, (window.player.y)*1, e, 0, -1);
  282. for (e = [], b = 0; b < Math.floor(window.selUnits.length-0); ++b) e.push(window.selUnits[b].id);window.socket.emit("5", (window.player.x), (window.player.y), e, 0, -1);
  283. }
  284. })
  285.  
  286.  
  287. window.share.getUnitList = function() {
  288. return [{
  289. name: "Soldier",
  290. shape: "circle",
  291. desc: "Expendable and perfect for rushing the enemy",
  292. typeName: "Unit",
  293. limit: 4,
  294. reward: 3,
  295. notUser: true,
  296. uPath: [0],
  297. space: 2,
  298. type: 1,
  299. size: 17,
  300. speed: 0.18,
  301. health: 30,
  302. dmg: 10
  303. }, {
  304. name: "Wall",
  305. shape: "circle",
  306. desc: "Blocks incoming units and projectiles",
  307. typeName: "Tower",
  308. uPath: [1],
  309. type: 3,
  310. size: 30,
  311. cost: 20,
  312. health: 100,
  313. dmg: 50,
  314. upgrades: [{
  315. name: "Boulder",
  316. shape: "hexagon",
  317. desc: "Strong barrier that blocks incoming units",
  318. typeName: "Tower",
  319. uPath: [1, 0],
  320. type: 3,
  321. size: 30,
  322. cost: 60,
  323. health: 150,
  324. dmg: 50,
  325. upgrades: [{
  326. name: "Spikes",
  327. shape: "spike",
  328. desc: "Strong spike that blocks incoming units",
  329. typeName: "Tower",
  330. uPath: [1, 0, 0],
  331. type: 3,
  332. size: 30,
  333. cost: 200,
  334. health: 200,
  335. dmg: 100
  336. }]
  337. }, {
  338. name: "Micro Generator",
  339. shape: "circle",
  340. desc: "Generates power over time",
  341. typeName: "Tower",
  342. uPath: [1, 1],
  343. type: 3,
  344. size: 30,
  345. iSize: 0.55,
  346. cost: 30,
  347. health: 50,
  348. dmg: 10,
  349. pts: 0.5
  350. }]
  351. }, {
  352. name: "Simple Turret",
  353. shape: "circle",
  354. desc: "Shoots incoming enemy units",
  355. typeName: "Tower",
  356. uPath: [2],
  357. type: 0,
  358. size: 29,
  359. cost: 25,
  360. turretIndex: 1,
  361. range: 180,
  362. reload: 800,
  363. health: 20,
  364. dmg: 20,
  365. upgrades: [{
  366. name: "Rapid Turret",
  367. shape: "circle",
  368. desc: "Shoots incoming units at faster rate",
  369. typeName: "Tower",
  370. uPath: [2, 0],
  371. type: 0,
  372. size: 30,
  373. cost: 60,
  374. turretIndex: 2,
  375. range: 180,
  376. reload: 400,
  377. health: 20,
  378. dmg: 20,
  379. upgrades: [{
  380. name: "Gatlin Turret",
  381. shape: "circle",
  382. desc: "Rapidly shoots incoming units at close range",
  383. typeName: "Tower",
  384. uPath: [2, 0, 0],
  385. type: 0,
  386. size: 30,
  387. cost: 100,
  388. turretIndex: 7,
  389. range: 180,
  390. reload: 140,
  391. health: 20,
  392. dmg: 15
  393. }]
  394. }, {
  395. name: "Ranged Turret",
  396. shape: "circle",
  397. desc: "Turret with higher range and damage",
  398. typeName: "Tower",
  399. uPath: [2, 1],
  400. type: 0,
  401. size: 30,
  402. cost: 60,
  403. turretIndex: 3,
  404. range: 240,
  405. reload: 800,
  406. health: 30,
  407. dmg: 30,
  408. upgrades: [{
  409. name: "Spotter Turret",
  410. shape: "circle",
  411. desc: "Shoots at very high range and reveals cloaked units",
  412. typeName: "Tower",
  413. seeCloak: true,
  414. uPath: [2, 1, 0],
  415. type: 0,
  416. size: 30,
  417. cost: 100,
  418. turretIndex: 10,
  419. range: 290,
  420. reload: 800,
  421. health: 30,
  422. dmg: 30
  423. }]
  424. }]
  425. }, {
  426. name: "Generator",
  427. shape: "hexagon",
  428. desc: "Generates power over time",
  429. typeName: "Tower",
  430. uPath: [3],
  431. type: 0,
  432. size: 32,
  433. iSize: 0.55,
  434. cost: 50,
  435. health: 50,
  436. dmg: 10,
  437. pts: 1,
  438. upgrades: [{
  439. name: "Power Plant",
  440. shape: "octagon",
  441. desc: "Generates power at a faster rate",
  442. typeName: "Tower",
  443. uPath: [3, 0],
  444. type: 0,
  445. size: 32,
  446. iSize: 0.6,
  447. cost: 100,
  448. health: 80,
  449. dmg: 10,
  450. pts: 1.5
  451. }]
  452. }, {
  453. name: "House",
  454. shape: "pentagon",
  455. desc: "Increases unit limit",
  456. typeName: "Tower",
  457. uPath: [4],
  458. type: 0,
  459. size: 30,
  460. iSize: 0.3,
  461. cost: 60,
  462. health: 40,
  463. dmg: 10,
  464. lmt: [0, 3]
  465. }, {
  466. name: "Sniper Turret",
  467. shape: "circle",
  468. desc: "Slower firerate but larger range and damage",
  469. typeName: "Tower",
  470. uPath: [5],
  471. type: 0,
  472. size: 32,
  473. cost: 80,
  474. turretIndex: 4,
  475. range: 240,
  476. reload: 2000,
  477. health: 30,
  478. tDmg: 50,
  479. dmg: 30,
  480. upgrades: [{
  481. name: "Semi-Auto Sniper",
  482. shape: "circle",
  483. desc: "Fast firerate sniper turret",
  484. typeName: "Tower",
  485. uPath: [5, 0],
  486. type: 0,
  487. size: 32,
  488. cost: 180,
  489. turretIndex: 5,
  490. range: 240,
  491. reload: 1000,
  492. health: 60,
  493. tDmg: 50,
  494. dmg: 30
  495. }, {
  496. name: "Anti Tank Gun",
  497. shape: "circle",
  498. desc: "High damage turret with very slow firerate",
  499. typeName: "Tower",
  500. target: 1,
  501. uPath: [5, 1],
  502. type: 0,
  503. size: 32,
  504. cost: 300,
  505. turretIndex: 6,
  506. range: 280,
  507. reload: 4500,
  508. health: 60,
  509. tDmg: 250,
  510. dmg: 30
  511. }]
  512. }, {
  513. name: "Tank",
  514. shape: "square",
  515. desc: "More powerful unit but moves slower",
  516. typeName: "Unit",
  517. group: 0,
  518. reward: 100,
  519. notUser: true,
  520. uPath: [6],
  521. space: 15,
  522. type: 1,
  523. size: 31,
  524. speed: 0.05,
  525. health: 250,
  526. dmg: 50
  527. }, {
  528. name: "Armory",
  529. shape: "circle",
  530. desc: "Provides improvements for your army",
  531. typeName: "Tower",
  532. uPath: [7],
  533. limit: 1,
  534. type: 0,
  535. size: 40,
  536. renderIndex: 3,
  537. cost: 100,
  538. health: 90,
  539. dmg: 30,
  540. upgrades: [{
  541. name: "Power Armor",
  542. desc: "Increases soldier armor",
  543. powerup: true,
  544. uPath: [7, 0],
  545. cost: 500,
  546. uVals: [0, 'health', 20, 'renderIndex', 4]
  547. }, {
  548. name: "Booster Engines",
  549. desc: "Increases tank movement speed",
  550. powerup: true,
  551. uPath: [7, 1],
  552. cost: 600,
  553. uVals: [6, 'speed', 0.04, 'renderIndex', 5]
  554. }, {
  555. name: "Panzer Cannons",
  556. desc: "Adds cannons to tank units",
  557. powerup: true,
  558. uPath: [7, 2],
  559. cost: 1000,
  560. uVals: [6, 'turretIndex', 8, 'tDmg', 10, 'reload', 900, 'range', 200, 'shoot', true, 'target', 1]
  561. }, {
  562. name: "Cloaking Device",
  563. desc: "Hides tanks from enemy towers",
  564. powerup: true,
  565. uPath: [7, 3],
  566. cost: 2000,
  567. uVals: [6, 'cloak', 1, 'canCloak', 1]
  568. }]
  569. }, {
  570. name: "Barracks",
  571. shape: "square",
  572. desc: "Produces soldiers over time",
  573. typeName: "Tower",
  574. uPath: [8],
  575. limit: 4,
  576. type: 2,
  577. size: 34,
  578. iSize: 0.55,
  579. cost: 150,
  580. reload: 3500,
  581. unitSpawn: 0,
  582. health: 60,
  583. dmg: 30,
  584. upgrades: [{
  585. name: "Greater Barracks",
  586. shape: "square",
  587. desc: "Produces soldiers more rapidly",
  588. typeName: "Tower",
  589. uPath: [8, 0],
  590. type: 2,
  591. size: 34,
  592. renderIndex: 1,
  593. cost: 500,
  594. reload: 2500,
  595. unitSpawn: 0,
  596. health: 80,
  597. dmg: 40
  598. }, {
  599. name: "Tank Factory",
  600. shape: "square",
  601. desc: "Slowly produces tanks over time",
  602. typeName: "Tower",
  603. uPath: [8, 1],
  604. type: 2,
  605. size: 35,
  606. range: 70,
  607. renderIndex: 2,
  608. cost: 2000,
  609. reload: 10000,
  610. unitSpawn: 6,
  611. health: 140,
  612. dmg: 50,
  613. upgrades: [{
  614. name: "Blitz Factory",
  615. shape: "square",
  616. desc: "Produces Tanks at a Faster rate",
  617. typeName: "Tower",
  618. uPath: [8, 1, 0],
  619. type: 2,
  620. size: 35,
  621. range: 70,
  622. renderIndex: 2,
  623. cost: 5000,
  624. reload: 6000,
  625. unitSpawn: 6,
  626. health: 180,
  627. dmg: 50
  628. }]
  629. }, {
  630. name: "Siege Factory",
  631. shape: "square",
  632. desc: "Produces siege tanks over time",
  633. typeName: "Tower",
  634. uPath: [8, 2],
  635. type: 2,
  636. size: 35,
  637. range: 70,
  638. renderIndex: 8,
  639. cost: 3000,
  640. reload: 20000,
  641. unitSpawn: 11,
  642. health: 200,
  643. dmg: 100
  644. }]
  645. }, {
  646. name: "Commander",
  647. shape: "star",
  648. hero: true,
  649. desc: "Powerful commander unit",
  650. typeName: "Unit",
  651. reward: 200,
  652. notUser: true,
  653. uPath: [9],
  654. limit: 1,
  655. type: 1,
  656. size: 32,
  657. speed: 0.16,
  658. health: 700,
  659. dmg: 100,
  660. tDmg: 30,
  661. turretIndex: 9,
  662. reload: 600,
  663. range: 160,
  664. target: 1,
  665. upgrades: [{
  666. name: "Great Leadership",
  667. desc: "Increases population cap",
  668. powerup: true,
  669. removeOthers: true,
  670. uPath: [9, 0],
  671. cost: 500,
  672. lmt: [0, 10]
  673. }]
  674. }, {
  675. name: "Tree",
  676. desc: "Can be used for cover",
  677. typeName: "Nature",
  678. layer: 1,
  679. uPath: [10],
  680. type: 4,
  681. notUser: true,
  682. dontUpdate: true,
  683. size: 90,
  684. renderIndex: 7
  685. }, {
  686. name: "Siege Ram",
  687. shape: "circle",
  688. desc: "Very powerful and slow siege tank",
  689. typeName: "Unit",
  690. group: 0,
  691. reward: 300,
  692. notUser: true,
  693. uPath: [11],
  694. space: 40,
  695. type: 1,
  696. size: 30,
  697. iSize: 0.5,
  698. speed: 0.015,
  699. health: 1500,
  700. dmg: 100
  701. }];
  702. }
  703.  
  704. updatePath = function(a, d) {
  705. if (a.paths[1]) {
  706. mainContext.save();
  707. a.dir = a.paths[0];
  708. var c = a.paths[1],
  709. user = users.find(u => u.sid === a.owner);
  710. c -= d;
  711. 0 < c ? (a.x += d * MathCOS(a.dir), a.y += d * MathSIN(a.dir)) : (c *= -1, a.x += a.paths[1] * MathCOS(a.dir), a.y += a.paths[1] * MathSIN(a.dir), a.startTime += a.paths[1] / a.speed, a.paths.splice(0, 2), updatePath(a, c));
  712. mainContext.lineWidth = 2;
  713. mainContext.globalAlpha = 5;
  714. var x = a.x - ((player.x || 0) - maxScreenWidth / 2 + camX),
  715. y = a.y - ((player.y || 0) - maxScreenHeight / 2 + camY);
  716. renderLine(x, y, x + c * MathCOS(a.dir), y + c * MathSIN(a.dir), mainContext, user && playerColors[user.color]);
  717. a.lastX = a.x;
  718. a.lastY = a.y;
  719. mainContext.restore();
  720. }
  721. }
  722. renderLine = function(sX, sY, fX, fY, c, clr, sW) {
  723. c.beginPath();
  724. c.moveTo(sX, sY);
  725. c.lineTo(fX, fY);
  726. c.strokeStyle = clr || '#eee8';
  727. c.stroke();
  728. c.closePath();
  729. }
  730. addEventListener("keydown",function(a){if(document.activeElement == mainCanvas && selUnits.length){if(a.key=="/"){effect700();}}});
  731. var rot = 0.1;
  732. function effect700(){var radiuslenght = 700;var radius = radiuslenght;var x = player.x+targetDst*
  733. MathCOS(targetDir)+camX;var y = player.y+targetDst*MathSIN(targetDir)+camY;var interval = (Math.PI*2)/selUnits.length;rot+=0.1;
  734. for(let i=0;i<selUnits.length;i++){socket.emit("5",x+(Math.cos(interval*i+rot)*radius),y+(Math.sin(interval*i+rot)*radius),[selUnits[i].id],0,0);
  735. }};
  736. var chatkaka = document.createElement("style")
  737.  
  738. addEventListener('keydown', a => {
  739. a = a.keyCode;
  740. if (a === 69) {/*Commander e soldiers*/
  741. selUnits = []; units.forEach((unit) => { if (unit.owner === player.sid && unit.type === 1) { if (!unit.info) unit.info = getUnitFromPath(unit.uPath); unit.info.name !== 'Siege Ram' && selUnits.push(unit) } }); selUnitType = "Unit";
  742. }
  743. })
  744.  
  745.  
  746. window.ntx = function(dir, dst, uPath) {window.socket.emit("1", dir, dst, uPath)}
  747. window.resolution = 1;
  748. window.upgrInputsToIndex = {};
  749. window.cameraSpd = 2.0;
  750. window.joinEnabled = true;
  751. window.cid = window.UTILS.getUniqueID();localStorage.setItem("cid",window.cid);
  752. window.outlineWidth = 6;
  753.  
  754. // Bot //
  755. window.Bot=function(){
  756. var bots = prompt("quantidade de bot")
  757. for (let i = 0; i < bots; i++) {
  758. window.open("http://bloble.io/?l="+partyKey)
  759. }}
  760. // Hotbar //
  761. window.UIList = window.UIList || [];
  762. window.initFuncs = window.initFuncs || [];
  763. window.statusItems = window.statusItems || [];
  764. window.UIList.push({
  765.  
  766. level:0,x:3,html:'<div onclick=Bot()>BotGuia</div>'},{
  767.  
  768. })
  769. window.makeUI = function () {
  770. if (window.hasMadeUI) return;
  771. window.hasMadeUI = true;
  772. window.statusItems.sort(function (a, b) {return a.order - b.order;})
  773. var levels = [];
  774. window.UIList.forEach((item) => {
  775. if (!levels[item.level]) levels[item.level] = [];
  776. levels[item.level].push(item)})
  777. levels = levels.filter((a) => {if (a) {a.sort(function (a, b) {return a.x - b.x;})
  778. return true;} else {return false;}})
  779. var headAppend = document.getElementsByTagName("head")[0],style = document.createElement("div");
  780. var toast = document.createElement('div');toast.id = "snackbar";
  781. var css = document.createElement('div');
  782. var height = levels.length * (14 + 19) + (levels.length - 1) * 7 + 23;
  783. style.innerHTML = "<style>\n\
  784. #noobscriptUI, #noobscriptUI > div > div {\n\
  785. background-color: rgba(139,0,139, 0.2);\n\
  786. margin-left: 1px;\n\
  787. border-radius:10px;\n\
  788. pointer-events:all\n\
  789. }\n\
  790. #noobscriptUI {\n\
  791. top: -" + (height + 12) + "px;\n\
  792. transition: 1s;\n\
  793. margin-left:10px;\n\
  794. position:absolute;\n\
  795. padding-left:25px;\n\
  796. margin-top:9px;\n\
  797. padding-top:15px;\n\
  798. width:500px;\n\
  799. height: " + height + "px;\n\
  800. font-family:arial;\n\
  801. left:24%\n\
  802. }\n\
  803. #noobscriptUI:hover{\n\
  804. top:0px\n\
  805. }\n\
  806. #noobscriptUI > div > div {\n\
  807. color:#fff;\n\
  808. padding:7px;\n\
  809. height:19px;\n\
  810. display:inline-block;\n\
  811. background-color: rgba(139,0,139, 0.2)\n\
  812. cursor:pointer;\n\
  813. font-size:20px\n\
  814. }\n\
  815. </style>"
  816. headAppend.appendChild(style);headAppend.appendChild(css);
  817. var contAppend = document.getElementById("gameUiContainer"),menuA = document.createElement("div");
  818. var code = ['<div id="noobscriptUI">\n'];
  819. levels.forEach((items, i) => {
  820. code.push(i === 0 ? ' <div>\n' : ' <div style="margin-top:7px;">\n');
  821. items.forEach((el) => {
  822. code.push(' ' + el.html + '\n');})
  823. code.push(' </div>\n');})
  824. code.push(' <div id="confinfo" style="margin-top:4px; color: white; text-align: center; font-size: 10px; white-space:pre"></div>')
  825. code.push('</div>');
  826. menuA.innerHTML = code.join("");
  827. contAppend.insertBefore(menuA, contAppend.firstChild)
  828. contAppend.appendChild(toast)}
  829. setTimeout(() => {window.makeUI();}, 1000);
  830.  
  831. playerSkins = 0;cid = UTILS.getUniqueID();localStorage.setItem("cid",cid);upgrInputsToInde
  832.  
  833.  
  834.  
  835. function Troops1() {selUnits = []; units.forEach((unit) => {if (unit.owner === player.sid && unit.type === 1 && unit.id%2 === 0) {if (!unit.info) unit.info = getUnitFromPath(unit.uPath);if (unit.info.name === 'Soldier') { selUnits.push(unit);return false; } } return true; });selUnitType = "Unit"; }
  836. function Troops2() {selUnits = []; units.forEach((unit) => {if (unit.owner === player.sid && unit.type === 1 && unit.id%2 !== 0) {if (!unit.info) unit.info = getUnitFromPath(unit.uPath);if (unit.info.name === 'Soldier') { selUnits.push(unit);return false; } } return true; });selUnitType = "Unit"; }
  837. addEventListener("keydown", function(a){
  838. a = a.keyCode ? a.keyCode : a.which;
  839. if(a === 49){Troops1()}
  840. if(a === 50){Troops2()}
  841. })
  842.  
  843.  
  844.  
  845.