Advertisement
Guest User

Untitled

a guest
Jan 19th, 2020
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.71 KB | None | 0 0
  1. // ==UserScript==
  2. // @name Coleta Com Leves
  3. // @version 0.4
  4. // @description JeffTurbinator!! Turbinando TW
  5. // @author Jeff
  6. // @include https://pt*.tribalwars.com.pt/*mode=scavenge*
  7. // @grant GM_setValue
  8. // @grant GM_getValue
  9. // @grant GM_listValues
  10. // @grant GM_deleteValue
  11. // @grant GM_addStyle
  12. // @grant GM_xmlhttpRequest
  13. // ==/UserScript==
  14. var tempo = 25000;
  15.  
  16. (function() {
  17. 'use strict';
  18. var turbinatorTW = TribalWars.getGameData();
  19. var tag = turbinatorTW.world + '' + turbinatorTW.player.name + ''+turbinatorTW.screen+ '_'+turbinatorTW.mode;
  20. var tIni = Date.now();
  21. var nLoop = 5;
  22. unsafeWindow.window.name = tag;
  23.  
  24. if (unsafeWindow.window.name === tag) {
  25. iniciar();
  26. loop(nLoop);
  27. recarregar(60);
  28. }
  29. function iniciar(){
  30. logica();
  31. }
  32. function aleatorio(menor, maior){ var intervalo = Math.round(maior - menor); return Math.floor(Math.random() * intervalo) + menor + Timing.offset_to_server; }
  33. //Loop no inicar a cada X segundos. nLoop = 0 para o loop
  34. function loop(segundos){ var timer = setInterval(function () { if (nLoop === 0){clearInterval(timer);} else {setTimeout(function () { iniciar(); }, aleatorio(segundos*1000*0.01, segundos*1000*0.10));} }, segundos*1000); }
  35. //Recarrega a pagina a cada X minutos
  36. function recarregar(minutos){ setInterval(function () { setTimeout(function () { window.location.reload(); }, aleatorio(minutos*60000*0.01, minutos*60000*0.10)); }, minutos*60000); }
  37. //Buscar e Validar Objeto
  38. function buscarObjeto(sObj){var objeto = document.querySelectorAll(sObj); if (objeto!==undefined && objeto[0]!==undefined){return objeto;} else {return undefined;}}
  39.  
  40. function retornarInteiro(txt,divisor){ var retInt = 0; var valor = parseInt(txt.replace('(','').replace(')','')); if (valor > 0 && divisor > 0){ retInt = Math.trunc(valor/divisor); } return retInt; }
  41.  
  42. function selecionarTropas(divisor){
  43. if (divisor > 0){
  44. var nrLanca = $("a.units-entry-all[data-unit='spear']")[0];
  45. var nrEspada = $("a.units-entry-all[data-unit='sword']")[0];
  46. var nrMachado = $("a.units-entry-all[data-unit='axe']")[0];
  47. var nrArco = $("a.units-entry-all[data-unit='archer']")[0];
  48. var nrPesada = $("a.units-entry-all[data-unit='heavy']")[0];
  49. var nrLeve = $("a.units-entry-all[data-unit='light']")[0];
  50.  
  51.  
  52. if (divisor == 1){
  53. nrLanca.click();
  54. nrPesada.click();
  55. nrEspada.click();
  56. nrMachado.click();
  57. nrLeve.click();
  58. if (nrArco != undefined) {
  59. nrArco.click();
  60. }
  61. }
  62. else{
  63. var pesada = document.getElementsByName("heavy")[0];
  64. pesada.value = retornarInteiro($("a.units-entry-all[data-unit='heavy']")[0].innerText,divisor);
  65. pesada.dispatchEvent(new KeyboardEvent('keyup',{'key':'0'}));
  66. var lanca = document.getElementsByName("spear")[0];
  67. lanca.value = retornarInteiro($("a.units-entry-all[data-unit='spear']")[0].innerText,divisor);
  68. lanca.dispatchEvent(new KeyboardEvent('keyup',{'key':'0'}));
  69. var espada = document.getElementsByName("sword")[0];
  70. espada.value = retornarInteiro($("a.units-entry-all[data-unit='sword']")[0].innerText,divisor);
  71. espada.dispatchEvent(new KeyboardEvent('keyup',{'key':'0'}));
  72. var machado = document.getElementsByName("axe")[0];
  73. machado.value = retornarInteiro($("a.units-entry-all[data-unit='axe']")[0].innerText,divisor);
  74. machado.dispatchEvent(new KeyboardEvent('keyup',{'key':'0'}));
  75. var leve = document.getElementsByName("light")[0];
  76. leve.value = retornarInteiro($("a.units-entry-all[data-unit='light']")[0].innerText,divisor);
  77. leve.dispatchEvent(new KeyboardEvent('keyup',{'key':'0'}));
  78. if (nrArco != undefined) {
  79. var arco = document.getElementsByName("archer")[0];
  80. arco.value = retornarInteiro($("a.units-entry-all[data-unit='archer']")[0].innerText,divisor);
  81. arco.dispatchEvent(new KeyboardEvent('keyup',{'key':'0'}));
  82. }
  83. }
  84. }
  85. }
  86. function timeOver(){
  87. var tempo = document.getElementsByClassName('return-countdown');
  88. var lRecarregar = false;
  89. for (var i = 0; i < 4; i++) { if (tempo[i]!==undefined && parseInt(tempo[i].innerText.split(":")[1])<1){lRecarregar = true;} }
  90. if (lRecarregar){
  91. recarregar(2);
  92. }
  93. }
  94.  
  95. function btnsDisponiveis(objeto){
  96. var objRet = {}; var cont = 0;
  97. for (var i = 0; i < 4; i++) { if (objeto[i]!==undefined){cont = cont + 1; objRet.btn = objeto[i];} }
  98. objRet.cont = cont;
  99. return objRet;
  100. }
  101.  
  102. function logica(){
  103. var btns = buscarObjeto("a.btn.btn-default.free_send_button:not(.btn-disabled)");
  104. if (btns!==undefined){
  105. var disp = btnsDisponiveis(btns);
  106. if (disp.cont > 0 ){
  107. selecionarTropas(disp.cont);
  108. setTimeout(function () { disp.btn.click(); }, aleatorio(700, 1500));
  109. }
  110. }
  111. timeOver();
  112. }
  113. var altAldTempo = aleatorio(tempo - tempo/2,tempo+tempo/2);
  114. function Aleatorio(superior,inferior) {
  115. numPosibilidades = superior - inferior;
  116. aleat = Math.random() * numPosibilidades;
  117. return Math.round(parseInt(inferior) + aleat);
  118. }
  119.  
  120.  
  121. function altAldeia()
  122. {
  123. $('.arrowRight').click();
  124. $('.groupRight').click();
  125.  
  126. }
  127. setInterval(altAldeia, altAldTempo);
  128.  
  129. })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement