Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 29.20 KB | None | 0 0
  1. // ==UserScript==
  2. // @name Ogame Spy Attacker v2
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.1
  5. // @description try to take over the world!
  6. // @author emptydev
  7. // @match https://s131-pt.ogame.gameforge.com/game/index.php?page=*
  8. // @grant none
  9. // ==/UserScript==
  10.  
  11. function addGlobalStyle(css) {
  12. var head, style;
  13. head = document.getElementsByTagName('head')[0];
  14. if (!head) { return; }
  15. style = document.createElement('style');
  16. style.type = 'text/css';
  17. style.innerHTML = css.replace(/;/g, ' !important;');
  18. head.appendChild(style);
  19. }
  20.  
  21. function formatDate(date) {
  22. var monthNames = [
  23. "01", "02", "03",
  24. "04", "05", "06", "07",
  25. "08", "09", "10",
  26. "11", "12"
  27. ];
  28.  
  29. var day = date.getDate();
  30. var monthIndex = date.getMonth();
  31. var year = date.getFullYear();
  32. var hour = date.getHours();
  33. var minutes = date.getMinutes();
  34. var seconds = date.getSeconds();
  35.  
  36. return day + '/' + monthNames[monthIndex] + '/' + year + ' ' + hour + ':' + (minutes < 10 ? "0" + minutes : minutes) + ':' + (seconds < 10 ? "0" + seconds : seconds);
  37. }
  38.  
  39. function getParameterByName(name, url) {
  40. if (!url) url = window.location.href;
  41. name = name.replace(/[\[\]]/g, "\\$&");
  42. var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
  43. results = regex.exec(url);
  44. if (!results) return null;
  45. if (!results[2]) return '';
  46. return decodeURIComponent(results[2].replace(/\+/g, " "));
  47. }
  48.  
  49. String.prototype.replaceAll = function(search, replacement) {
  50. var target = this;
  51. return target.split(search).join(replacement);
  52. };
  53.  
  54. Number.prototype.zero = function() {
  55. var target = this.valueOf();
  56. return target < 0 ? 0 : target;
  57. };
  58.  
  59. Number.prototype.format = function() {
  60. var target = this;
  61. return target.valueOf().toString().replace(/\B(?=(\d{3})+(?!\d))/g, ".");
  62. };
  63.  
  64. var stg = {
  65. bool: function(keyName) {
  66. return (localStorage.getItem(keyName) === "true" ? true : false);
  67. },
  68. int: function(keyName){
  69. return (isNaN(parseInt(localStorage.getItem(keyName))) ? 0 : parseInt(localStorage.getItem(keyName)));
  70. },
  71. get: function(keyName) {
  72. return localStorage.getItem(keyName);
  73. },
  74. set: function(keyName, value) {
  75. localStorage.setItem(keyName, value);
  76. },
  77. remove: function(keyName) {
  78. localStorage.removeItem(keyName);
  79. },
  80. setJson: function(keyName, obj) {
  81. localStorage.setItem(keyName, JSON.stringify(obj));
  82. },
  83. getJson: function(keyName) {
  84. return JSON.parse(localStorage.getItem(keyName));
  85. }
  86. };
  87.  
  88. function w(txt) {
  89. console.warn(txt);
  90. }
  91.  
  92. function e(txt) {
  93. console.error(txt);
  94. }
  95.  
  96. function l(txt) {
  97. console.log(txt);
  98. }
  99.  
  100. function compare(a,b) {
  101. if (a.classificacao < b.classificacao)
  102. return -1;
  103. if (a.classificacao > b.classificacao)
  104. return 1;
  105. return 0;
  106. }
  107.  
  108. var inactivesList = [];
  109. function lerInativos(min, max) {
  110. setTimeout(function() {
  111. var currentSystemScan = stg.int("currentSystemScan");
  112. if(!currentSystemScan || isNaN("currentSystemScan")) {
  113. stg.set("currentSystemScan",min);
  114. currentSystemScan = min;
  115. $("#system_input").val(currentSystemScan);
  116. submitForm();
  117. } else {
  118. $("#system_input").val(currentSystemScan);
  119. submitForm();
  120. }
  121.  
  122. setTimeout(function() {
  123. var numberInactives = parseInt($(".inactive_filter:not(.vacation_filter)").length);
  124. if(numberInactives > 0) {
  125. $(".inactive_filter:not(.vacation_filter)").each(function() {
  126. var coords = $(this).find("td").eq(0).attr("data-coords").split(":");
  127.  
  128. var agoData = JSON.parse($(this).find(".playername > a.tooltipRel").attr("ago-data"));
  129. var id = agoData.message.data.id;
  130. var playerName = agoData.message.data.name;
  131. var pontosMilitares = parseInt($("#player"+id).find(".uv-player-highscore").find("li").eq(0).text().replaceAll("Militar: ","").replaceAll(".",""));
  132. var classificacao = parseInt($(this).find(".playername a.ago_galaxy_rank > span.ago_galaxy_rank").text().replaceAll(".",""));
  133.  
  134. e("ID: " + id + " | Nome jogador: " + playerName + " | Sistema: " + coords[1] + " | Posição: " + coords[2] + " | Pontos Militares: " + pontosMilitares + " | Classificação: " + classificacao);
  135. var inList = inactivesList.filter(function(item) {
  136. return (item.sistema === currentSystemScan && item.posicao === sPosicao);
  137. }).length;
  138.  
  139. if(inList === 0) {
  140. inactivesList.push({id: id, nomeJogador: playerName, sistema: coords[1], posicao: coords[2], numeroAtaques: 0, pontosMilitares: pontosMilitares, classificacao: classificacao});
  141. }
  142. });
  143. }
  144.  
  145. currentSystemScan = currentSystemScan+1;
  146. if(currentSystemScan <= max) {
  147. stg.set("currentSystemScan",currentSystemScan);
  148. lerInativos(currentSystemScan, max);
  149. } else {
  150. inactivesList.sort(compare);
  151.  
  152. stg.set("startDateAtaques",formatDate(new Date()));
  153.  
  154. stg.setJson("inactivesList", inactivesList);
  155. stg.set("isGalaxyScanActive", false);
  156. stg.set("isAttackRunning", true);
  157. stg.remove("currentSystemScan");
  158. setTimeout(function() {
  159. window.location.href = "/game/index.php?page=overview";
  160. },1200);
  161. }
  162. },1500);
  163. },2000);
  164. }
  165.  
  166. function sum( obj ) {
  167. var sum = 0;
  168. for( var el in obj ) {
  169. if( obj.hasOwnProperty( el ) ) {
  170. sum += parseFloat( obj[el].numeroAtaques );
  171. }
  172. }
  173. return sum;
  174. }
  175.  
  176. $(document).ready(function() {
  177. var painel = $(document.createElement("div"));
  178. addGlobalStyle(".painelEmptydev { width:250px; top:10%; position:absolute; right:0; background-color:#000; border-left:1px solid #fff;border-top:1px solid #fff;border-bottom:1px solid #fff;z-index:1000;}");
  179. addGlobalStyle(".tableEmptydev { font-size:10px; width:100%; }");
  180. addGlobalStyle(".tableEmptydev td { padding: 2px; font-size:10px; height:24px; line-height:24px; }");
  181. addGlobalStyle(".tableEmptydev select {visibility:visible;}");
  182. addGlobalStyle(".emptydevTextStyle { width:115px; font-size:10px; height:15px; line-height: 15px; padding:2px 5px; background-color: #b3c3cb; border: 1px solid #668599; border-bottom-color: #d3d9de; border-radius: 3px; box-shadow: inset 0 1px 3px 0 #454f54; color: #000; }");
  183. addGlobalStyle(".emptydevDropStyle { visibility:visible; font-size:10px; width:127px; height:20px; line-height: 20px; background-color: #b3c3cb; border: 1px solid #668599; border-bottom-color: #d3d9de; border-radius: 3px; box-shadow: inset 0 1px 3px 0 #454f54;color: #000; padding: 2px 5px;");
  184. addGlobalStyle(".emptydevButtonStyle { cursor:pointer; float:left; width:100%; padding: 4px 2px; font-size:10px; border-top-left-radius:2px; border-top-right-radius:2px; border-top:none; border-right:none; border-left:none; border-bottom: 2px solid #1e824c; color:#FFF; background-color:#03a678; }");
  185. addGlobalStyle(".hidden { display:none; }");
  186. addGlobalStyle(".autoSistemasScan { display:none; }");
  187. painel.addClass("painelEmptydev");
  188.  
  189. painel.appendTo($("body"));
  190. var table = $(document.createElement("table")).attr("cellpadding","2").attr("cellspacing","0").attr("border","0").addClass("tableEmptydev");
  191. var tr = $(document.createElement("tr"));
  192. var td = $(document.createElement("td"));
  193.  
  194. //
  195. var trQntdAtaques = tr.clone();
  196. trQntdAtaques.append(td.clone().text("Quantidade Ataques:"));
  197. var tempmaxAttacksPerInactive = stg.int("maxAttacksPerInactive");
  198. var inputMaxAttacks = $(document.createElement("input")).attr("id","maxAttacksPerInactive").val((tempmaxAttacksPerInactive === 0 ? 1 : tempmaxAttacksPerInactive)).attr("min","1").attr("max","6").attr("type","number").addClass("emptydevTextStyle");
  199. inputMaxAttacks.on("change keyup blur", function() {
  200. var val = parseInt($(this).val());
  201. stg.set("maxAttacksPerInactive", val);
  202. });
  203. trQntdAtaques.append(td.clone().append(inputMaxAttacks));
  204. table.append(trQntdAtaques);
  205.  
  206. //
  207. var trGlxScnPos = tr.clone();
  208. trGlxScnPos.append(td.clone().text("Sistemas:"));
  209. var tempgalaxyScanPositions = stg.get("tempgalaxyScanPositions");
  210. var selectGalaxyScanPositions = $(document.createElement("select")).attr("id","galaxyScanPositions").addClass("emptydevDropStyle");
  211. var option1GalaxyScanPositions = $(document.createElement("option")).prop("selected",true).attr("data-range",JSON.stringify(null)).val(0).text("Manual").appendTo(selectGalaxyScanPositions);
  212. var option2GalaxyScanPositions = $(document.createElement("option")).attr("data-range",JSON.stringify({min:1, max: 49})).val(1).text("1 - 49").appendTo(selectGalaxyScanPositions);
  213. var option3GalaxyScanPositions = $(document.createElement("option")).attr("data-range",JSON.stringify({min:50, max: 99})).val(2).text("50 - 99").appendTo(selectGalaxyScanPositions);
  214. var option4GalaxyScanPositions = $(document.createElement("option")).attr("data-range",JSON.stringify({min:100, max: 149})).val(3).text("100 - 149").appendTo(selectGalaxyScanPositions);
  215. var option5GalaxyScanPositions = $(document.createElement("option")).attr("data-range",JSON.stringify({min:150, max: 199})).val(4).text("150 - 199").appendTo(selectGalaxyScanPositions);
  216. var option6GalaxyScanPositions = $(document.createElement("option")).attr("data-range",JSON.stringify({min:200, max: 249})).val(5).text("200 - 249").appendTo(selectGalaxyScanPositions);
  217. var option7GalaxyScanPositions = $(document.createElement("option")).attr("data-range",JSON.stringify({min:250, max: 299})).val(6).text("250 - 299").appendTo(selectGalaxyScanPositions);
  218. var option8GalaxyScanPositions = $(document.createElement("option")).attr("data-range",JSON.stringify({min:300, max: 349})).val(7).text("300 - 349").appendTo(selectGalaxyScanPositions);
  219. var option9GalaxyScanPositions = $(document.createElement("option")).attr("data-range",JSON.stringify({min:350, max: 399})).val(8).text("350 - 399").appendTo(selectGalaxyScanPositions);
  220. var option10GalaxyScanPositions = $(document.createElement("option")).attr("data-range",JSON.stringify({min:400, max: 449})).val(9).text("400 - 449").appendTo(selectGalaxyScanPositions);
  221. var option11GalaxyScanPositions = $(document.createElement("option")).attr("data-range",JSON.stringify({min:450, max: 499})).val(10).text("450 - 499").appendTo(selectGalaxyScanPositions);
  222. trGlxScnPos.append(td.clone().append(selectGalaxyScanPositions));
  223. table.append(trGlxScnPos);
  224.  
  225. // min
  226. var trGlxScnPosManualMin = tr.clone().addClass("autoSistemasScan minmax");
  227. trGlxScnPosManualMin.append(td.clone().text("Sistemas (min):"));
  228. var tempinpGalaxyScanPositionsMin = stg.int("minSystem");
  229. var inputGalaxyScanPositionsMin = $(document.createElement("input")).attr("id","inpGalaxyScanPositionsMin").val((tempinpGalaxyScanPositionsMin === 0 ? 1 : tempinpGalaxyScanPositionsMin)).attr("type","number").attr("min","1").attr("max","499").addClass("emptydevTextStyle");
  230. inputGalaxyScanPositionsMin.on("change keyup blur", function() {
  231. var val = parseInt($(this).val());
  232. stg.set("minSystem", val);
  233. });
  234. trGlxScnPosManualMin.append(td.clone().append(inputGalaxyScanPositionsMin));
  235. table.append(trGlxScnPosManualMin);
  236.  
  237. // max
  238. var trGlxScnPosManualMax = tr.clone().addClass("autoSistemasScan minmax");
  239. trGlxScnPosManualMax.append(td.clone().text("Sistemas (max):"));
  240. var tempinpGalaxyScanPositionsMax = stg.int("maxSystem");
  241. var inputGalaxyScanPositionsMax = $(document.createElement("input")).attr("id","inpGalaxyScanPositionsMax").val((tempinpGalaxyScanPositionsMax === 0 ? 49 : tempinpGalaxyScanPositionsMax)).attr("type","number").attr("min","1").attr("max","499").addClass("emptydevTextStyle");
  242. inputGalaxyScanPositionsMax.on("change keyup blur", function() {
  243. var val = parseInt($(this).val());
  244. stg.set("maxSystem", val);
  245. });
  246.  
  247. trGlxScnPosManualMax.append(td.clone().append(inputGalaxyScanPositionsMax));
  248. table.append(trGlxScnPosManualMax);
  249.  
  250. if(tempgalaxyScanPositions) {
  251. selectGalaxyScanPositions.val(tempgalaxyScanPositions);
  252. }
  253. selectGalaxyScanPositions.on("change", function() {
  254. var optSel = $(this).val();
  255. stg.set("tempgalaxyScanPositions",optSel);
  256. var val = JSON.parse($(this).find("option:selected").attr("data-range"));
  257. if(!val) {
  258. $(".minmax").removeClass("autoSistemasScan");
  259. } else {
  260. $(".minmax").addClass("autoSistemasScan");
  261. $("#inpGalaxyScanPositionsMin").val("1");
  262. $("#inpGalaxyScanPositionsMax").val("49");
  263. stg.set("minSystem", val.min);
  264. stg.set("maxSystem", val.max);
  265. }
  266. });
  267.  
  268. //
  269. var trNrProbs = tr.clone();
  270. trNrProbs.append(td.clone().text("Número Sondas:"));
  271. var tempnumberOfProbes = stg.get("tempnumberOfProbes");
  272. if(tempnumberOfProbes === null || !tempnumberOfProbes || tempnumberOfProbes === "null") {
  273. tempnumberOfProbes = 0;
  274. }
  275. var selectNumberProbes = $(document.createElement("select")).attr("id","numberOfProbes").addClass("emptydevDropStyle");
  276. var option1NumberProbes = $(document.createElement("option")).attr("data-probes","max").val(0).text("Máximo").appendTo(selectNumberProbes);
  277. var option2NumberProbes = $(document.createElement("option")).attr("data-probes","1000").val(1).text("1000").appendTo(selectNumberProbes);
  278. var option3NumberProbes = $(document.createElement("option")).attr("data-probes","2000").val(2).text("2000").appendTo(selectNumberProbes);
  279. var option4NumberProbes = $(document.createElement("option")).attr("data-probes","3000").val(3).text("3000").appendTo(selectNumberProbes);
  280. var option5NumberProbes = $(document.createElement("option")).attr("data-probes","4000").val(4).text("4000").appendTo(selectNumberProbes);
  281. var option6NumberProbes = $(document.createElement("option")).attr("data-probes","5000").val(5).text("5000").appendTo(selectNumberProbes);
  282. var option7NumberProbes = $(document.createElement("option")).attr("data-probes","6000").val(6).text("6000").appendTo(selectNumberProbes);
  283. var option8NumberProbes = $(document.createElement("option")).attr("data-probes","7000").val(7).text("7000").appendTo(selectNumberProbes);
  284. var option9NumberProbes = $(document.createElement("option")).attr("data-probes","8000").val(8).text("8000").appendTo(selectNumberProbes);
  285. var option10NumberProbes = $(document.createElement("option")).attr("data-probes","9000").val(9).text("9000").appendTo(selectNumberProbes);
  286. var option11NumberProbes = $(document.createElement("option")).attr("data-probes","10000").val(10).text("10000").appendTo(selectNumberProbes);
  287.  
  288. trNrProbs.append(td.clone().append(selectNumberProbes));
  289. table.append(trNrProbs);
  290.  
  291. if(tempnumberOfProbes) {
  292. selectNumberProbes.val(tempnumberOfProbes);
  293. }
  294. selectNumberProbes.on("change", function() {
  295. var optSel = $(this).val();
  296. stg.set("tempnumberOfProbes",optSel);
  297. var val = $(this).find("option:selected").attr("data-probes");
  298. stg.set("numberOfProbes", val);
  299. });
  300.  
  301. // número de inativos
  302. var inactivesList = 0;
  303. var inactivesListTotal = 0;
  304. if(!stg.getJson("inactivesList"))
  305. inactivesList = 0;
  306. else {
  307. inactivesListTotal = stg.getJson("inactivesList").filter(function(item) {
  308. return item.pontosMilitares === 0;
  309. }).length;
  310.  
  311.  
  312. inactivesList = stg.getJson("inactivesList").length;
  313. }
  314.  
  315. var trNrAlvos = tr.clone();
  316. trNrAlvos.append(td.clone().text("Número Alvos:"));
  317. trNrAlvos.append(td.clone().text((isNaN(parseInt(inactivesList)) ? 0 : parseInt(inactivesList).format()) + " ("+inactivesListTotal+")"));
  318. table.append(trNrAlvos);
  319.  
  320. // contador de ataques
  321. var countAtaques = stg.int("countAtaques");
  322. var ataquesARealizar = parseInt(inactivesListTotal*tempmaxAttacksPerInactive);
  323. var ataquesExecutados = sum(stg.getJson("inactivesList"));
  324. var trNrAtaques = tr.clone();
  325. trNrAtaques.append(td.clone().text("Número Ataques:"));
  326. trNrAtaques.append(td.clone().text(parseInt(countAtaques).format() + " (Total: "+ataquesARealizar+" ("+(ataquesARealizar-ataquesExecutados)+"))"));
  327. table.append(trNrAtaques);
  328.  
  329. // lucro metal
  330. var initMetal = stg.int("initMetal");
  331. var currMetal = parseInt($("#resources_metal").text().replaceAll(".",""));
  332. var lucroMetal = parseInt(currMetal-initMetal);
  333. var trLucroMetal = tr.clone();
  334. trLucroMetal.append(td.clone().text("Lucro Metal:"));
  335. trLucroMetal.append(td.clone().text(parseInt(lucroMetal).format()));
  336. table.append(trLucroMetal);
  337.  
  338. // lucro cristal
  339. var initCristal = stg.int("initCristal");
  340. var currCristal = parseInt($("#resources_crystal").text().replaceAll(".",""));
  341. var lucroCristal = parseInt(currCristal-initCristal);
  342. var trLucroCristal = tr.clone();
  343. trLucroCristal.append(td.clone().text("Lucro Cristal:"));
  344. trLucroCristal.append(td.clone().text(parseInt(lucroCristal).format()));
  345. table.append(trLucroCristal);
  346.  
  347. // lucro deuterio
  348. var initDeuterio = stg.int("initDeuterio");
  349. var currDeuterio = parseInt($("#resources_deuterium").text().replaceAll(".",""));
  350. var lucroDeuterio = parseInt(currDeuterio-initDeuterio);
  351. var trLucroDeuterio = tr.clone();
  352. trLucroDeuterio.append(td.clone().text("Lucro Deutério:"));
  353. trLucroDeuterio.append(td.clone().text(parseInt(lucroDeuterio).format()));
  354. table.append(trLucroDeuterio);
  355.  
  356. // lucro total
  357. var lucroTotal = lucroMetal+lucroCristal+lucroDeuterio;
  358. var trLucroTotal = tr.clone();
  359. trLucroTotal.append(td.clone().text("Lucro Total:"));
  360. trLucroTotal.append(td.clone().text(parseInt(lucroTotal).format()));
  361. table.append(trLucroTotal);
  362.  
  363. // inicio pesquisa
  364. var startDateScan = stg.get("startDateScan");
  365. if(!startDateScan)
  366. startDateScan = "";
  367. var trStartDateScan = tr.clone();
  368. trStartDateScan.append(td.clone().text("Início Pesquisa:"));
  369. trStartDateScan.append(td.clone().text(startDateScan));
  370. table.append(trStartDateScan);
  371.  
  372. // inicio ataques
  373. var startDateAtaques = stg.get("startDateAtaques");
  374. if(!startDateAtaques)
  375. startDateAtaques = "";
  376. var trStartDateAtaques = tr.clone();
  377. trStartDateAtaques.append(td.clone().text("Início Ataques:"));
  378. trStartDateAtaques.append(td.clone().text(startDateAtaques));
  379. table.append(trStartDateAtaques);
  380.  
  381. // fim ataques
  382. var endDateAtaques = stg.get("endDateAtaques");
  383. if(!endDateAtaques)
  384. endDateAtaques = "";
  385. var trEndDateAtaques = tr.clone();
  386. trEndDateAtaques.append(td.clone().text("Fim Ataques:"));
  387. trEndDateAtaques.append(td.clone().text(endDateAtaques));
  388. table.append(trEndDateAtaques);
  389.  
  390. // iniciar pesquisa
  391. var trInitScan = tr.clone();
  392. var inputStartScan = $(document.createElement("input")).attr("id","inpStartScan").attr("type","button").val("Iniciar Pesquisa de Alvos").addClass("emptydevButtonStyle");
  393. trInitScan.append(td.clone().attr("colspan","2").append(inputStartScan));
  394. table.append(trInitScan);
  395. inputStartScan.on("click", function() {
  396. stg.set("isAttackRunning",false);
  397. stg.set("isGalaxyScanActive",true);
  398. stg.set("isScanComplete",false);
  399.  
  400. stg.set("startDateScan",formatDate(new Date()));
  401.  
  402. var metal = parseInt($("#resources_metal").text().replaceAll(".",""));
  403. var tmpMetal = stg.get("initMetal");
  404. if(!tmpMetal) {
  405. stg.set("initMetal",metal);
  406. }
  407.  
  408. var cristal = parseInt($("#resources_crystal").text().replaceAll(".",""));
  409. var tmpCristal = stg.get("initCristal");
  410. if(!tmpCristal) {
  411. stg.set("initCristal",cristal);
  412. }
  413.  
  414. var deuterio = parseInt($("#resources_deuterium").text().replaceAll(".",""));
  415. var tmpDeuterio = stg.get("initDeuterio");
  416. if(!tmpDeuterio) {
  417. stg.set("initDeuterio",deuterio);
  418. }
  419.  
  420. setTimeout(function() {
  421. window.location.href = "/game/index.php?page=overview";
  422. },1000);
  423. });
  424.  
  425. // parar pesquisa
  426. var trStopScan = tr.clone();
  427. var inputStopScan = $(document.createElement("input")).attr("id","inpStopScan").attr("type","button").val("Parar Pesquisa de Alvos").addClass("emptydevButtonStyle");
  428. trStopScan.append(td.clone().attr("colspan","2").append(inputStopScan));
  429. table.append(trStopScan);
  430. inputStopScan.on("click", function() {
  431. stg.set("isAttackRunning",false);
  432. stg.set("isGalaxyScanActive",false);
  433. stg.set("isScanComplete",false);
  434.  
  435. setTimeout(function() {
  436. window.location.href = "/game/index.php?page=overview";
  437. },1000);
  438. });
  439.  
  440. //iniciar ataques
  441. var trInitAttack = tr.clone();
  442. var inputInitAttacks = $(document.createElement("input")).attr("id","inpInitAttacks").attr("type","button").val("Iniciar Ataques").addClass("emptydevButtonStyle");
  443. trInitAttack.append(td.clone().attr("colspan","2").append(inputInitAttacks));
  444. table.append(trInitAttack);
  445. inputInitAttacks.on("click", function() {
  446. stg.set("isAttackRunning",true);
  447. stg.set("isGalaxyScanActive",false);
  448. stg.set("isScanComplete",false);
  449.  
  450. stg.set("startDateAtaques",formatDate(new Date()));
  451.  
  452. setTimeout(function() {
  453. window.location.href = "/game/index.php?page=overview";
  454. },1000);
  455. });
  456.  
  457. // parar ataques
  458. var trPararAtaques = tr.clone();
  459. var inputStopAttacks = $(document.createElement("input")).attr("id","inpStopAttacks").attr("type","button").val("Parar Ataques").addClass("emptydevButtonStyle");
  460. trPararAtaques.append(td.clone().attr("colspan","2").append(inputStopAttacks));
  461. table.append(trPararAtaques);
  462. inputStopAttacks.on("click", function() {
  463. stg.set("isAttackRunning",false);
  464. stg.set("isGalaxyScanActive",false);
  465. stg.set("isScanComplete",false);
  466.  
  467. stg.set("endDateAtaques",formatDate(new Date()));
  468.  
  469. setTimeout(function() {
  470. window.location.href = "/game/index.php?page=overview";
  471. },1000);
  472. });
  473.  
  474. // limpar alvos
  475. var trClearTargets = tr.clone();
  476. var inputClearTargets = $(document.createElement("input")).attr("id","inpClearTargets").attr("type","button").val("Limpar Alvos").addClass("emptydevButtonStyle");
  477. trClearTargets.append(td.clone().attr("colspan","2").append(inputClearTargets));
  478. table.append(trClearTargets);
  479. inputClearTargets.on("click", function() {
  480. stg.set("isAttackRunning","false");
  481. stg.set("isGalaxyScanActive","false");
  482. stg.remove("isScanComplete","true");
  483. stg.setJson("inactivesList",[]);
  484.  
  485. setTimeout(function() {
  486. window.location.href = "/game/index.php?page=overview";
  487. },1000);
  488. });
  489.  
  490. // limpar tudo
  491. var trClear = tr.clone();
  492. var inputClear = $(document.createElement("input")).attr("id","inpClear").attr("type","button").val("Limpar Tudo").addClass("emptydevButtonStyle");
  493. trClear.append(td.clone().attr("colspan","2").append(inputClear));
  494. table.append(trClear);
  495. inputClear.on("click", function() {
  496. stg.remove("tempnumberOfProbes");
  497. stg.remove("tempgalaxyScanPositions");
  498. stg.remove("numberOfProbes");
  499. stg.remove("minSystem");
  500. stg.remove("maxSystem");
  501. stg.remove("maxAttacksPerInactive");
  502. stg.remove("isScanComplete");
  503. stg.remove("isGalaxyScanActive");
  504. stg.remove("isAttackRunning");
  505. stg.remove("inactivesList");
  506. stg.remove("currentSystemScan");
  507.  
  508. stg.remove("initMetal");
  509. stg.remove("initCristal");
  510. stg.remove("initDeuterio");
  511.  
  512. setTimeout(function() {
  513. window.location.href = "/game/index.php?page=overview";
  514. },1000);
  515. });
  516.  
  517. //
  518. painel.append(table);
  519.  
  520. // binds automaticos no load
  521. inputMaxAttacks.change();
  522. inputGalaxyScanPositionsMin.change();
  523. inputGalaxyScanPositionsMax.change();
  524. selectGalaxyScanPositions.change();
  525. selectNumberProbes.change();
  526.  
  527. //
  528. var maxAttacksPerInactive = stg.int("maxAttacksPerInactive");
  529. var isAttackRunning = stg.bool("isAttackRunning");
  530. var isGalaxyScanActive = stg.bool("isGalaxyScanActive");
  531. var startGalaxy = stg.int("minSystem");
  532. var endGalaxy = stg.int("maxSystem");
  533.  
  534. var page = getParameterByName("page");
  535.  
  536. var currentPage = getParameterByName("page");
  537. if(currentPage !== "galaxy" && isAttackRunning === false && isGalaxyScanActive === true) {
  538. setTimeout(function() {
  539. window.location.href = "/game/index.php?page=galaxy";
  540. },1200);
  541. } else if(currentPage === "galaxy" && isAttackRunning === false && isGalaxyScanActive === true) {
  542. // Encontrar inativos;
  543. lerInativos(startGalaxy, endGalaxy);
  544. } else if(isAttackRunning === true) {
  545. stg.set("isGalaxyScanActive", false);
  546. inactivesList = stg.getJson("inactivesList");
  547. var currentTarget = inactivesList.filter(function(item) {
  548. return (item.pontosMilitares == 0 && item.numeroAtaques < maxAttacksPerInactive);
  549. })[0];
  550.  
  551. if(!currentTarget) {
  552. stg.remove("isGalaxyScanActive");
  553. stg.remove("isAttackRunning");
  554. stg.remove("isScanComplete");
  555. stg.set("endDateAtaques",formatDate(new Date()));
  556. stg.remove("inactivesList");
  557.  
  558. setTimeout(function() {
  559. window.location.href="/game/index.php?page=overview";
  560. }, 1000);
  561. } else {
  562. if(page !== "fleet1" && page !== "fleet2" && page !== "fleet3") {
  563. window.location.href="/game/index.php?page=fleet1";
  564. } else {
  565. if(page === "fleet1") {
  566. if($("#warning").length === 0) {
  567. setTimeout(function() {
  568. var nrSondas = parseInt($("#button210").find(".ecke").text().replaceAll("Sonda de Espionagem","").replaceAll(".","").trim());
  569. $("#ago_system").val(currentTarget.sistema).change();
  570. $("#ago_position").val(currentTarget.posicao).change();
  571.  
  572. var numberOfProbes = stg.get("numberOfProbes");
  573.  
  574. if(nrSondas > 1000) {
  575. if(numberOfProbes === "max") {
  576. $("#ship_210").val(nrSondas).change();
  577. } else {
  578. numberOfProbes = parseInt(numberOfProbes);
  579. if(nrSondas < numberOfProbes) {
  580. $("#ship_210").val(nrSondas).change();
  581. } else {
  582. $("#ship_210").val(numberOfProbes).change();
  583. }
  584. }
  585. setTimeout(function() {
  586. $("#continue").click();
  587. }, 2000);
  588. } else {
  589. $("#js_eventDetailsOpen").click();
  590. setTimeout(function() {
  591. window.location.reload();
  592. }, 20000);
  593. }
  594. }, 2000);
  595. } else {
  596. $("#js_eventDetailsOpen").click();
  597. setTimeout(function() {
  598. window.location.reload();
  599. }, 20000);
  600. }
  601. } else if(page === "fleet2") {
  602. $("#system").val(currentTarget.sistema).change();
  603. $("#position").val(currentTarget.posicao).change();
  604. $("a.planet").click();
  605.  
  606. setTimeout(function() {
  607. $("#continue").click();
  608. }, 2000);
  609. } else if(page === "fleet3") {
  610. currentTarget.numeroAtaques = currentTarget.numeroAtaques+1;
  611. inactivesList = inactivesList.map(function(item) {
  612. return ((item.sistema == currentTarget.sistema && item.posicao == currentTarget.posicao) ? currentTarget : item);
  613. });
  614.  
  615. stg.setJson("inactivesList",inactivesList);
  616. $("#missionButton1").click();
  617.  
  618. countAtaques+=1;
  619. stg.set("countAtaques",countAtaques);
  620.  
  621. setTimeout(function() {
  622. $("#start").click();
  623. }, 2000);
  624. }
  625. }
  626. }
  627. }
  628. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement