Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2018
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.27 KB | None | 0 0
  1. //CommandPopup.openRallyPoint({target:15});
  2. //CommandPopup.SenderSelection.choose('10');
  3. var fileref=document.createElement("link");
  4. fileref.setAttribute("rel", "stylesheet");
  5. fileref.setAttribute("type", "text/css");
  6. fileref.setAttribute("href", '/css/game/village_target.css');
  7. document.getElementsByTagName("head")[0].appendChild(fileref);
  8. $.getScript('/js/game/CommandPopup.js');
  9. $.getScript('/js/game/TroopTemplates.js');
  10. $.getScript('/js/game/TargetSelection.js');
  11.  
  12. if(localStorage.indeks_ostatnio_atakowanej){
  13. localStorage.indeks_ostatnio_atakowanej = "";
  14. localStorage.fejkownik = "";
  15. }
  16. var fejkownik = {
  17.  
  18. link: (game_data.player.sitter != 0?("/game.php?t=" + game_data.player.id):"/game.php?")+"&village="+game_data.village.id+"&type=own_home&mode=units&group=0&page=-1&screen=overview_villages",
  19. min_indeks: 0,
  20. co_robic: 0,
  21.  
  22. dane:{
  23. min_godz: 7,
  24. max_godz: 23,
  25. maks_atakow: 15,
  26. odswiezanie: 200,
  27. atk_na_gracza: 3,
  28. konkretny_dzien: 0,
  29. ostatnio_atakowana: 0,
  30. wlasne: [],
  31. cele: [],
  32. predkosc: 30
  33. },
  34. pobierz_wlasne_wioski: function() {
  35. var r = new XMLHttpRequest();
  36. r.open('GET', this.link, true);
  37. r.onreadystatechange = function(){
  38. if (r.readyState == 4 && r.status == 200){
  39. requestedBody = document.createElement("body");
  40. requestedBody.innerHTML = r.responseText;
  41. tabela = $(requestedBody).find('#units_table').get()[0];
  42. var kopia = fejkownik.dane.wlasne;
  43. for(i=1,n=0;i<tabela.rows.length;i++){
  44. var tmp_wojska = [];
  45. var wspolrzedne = tabela.rows[i].cells[0].getElementsByTagName('span')[2].textContent.match(/\d+/g);
  46. for(j=2;j<tabela.rows[i].cells.length-2;j++){
  47. tmp_wojska.push(tabela.rows[i].cells[j].textContent);
  48. }
  49. if(tmp_wojska[8] === "0" && tmp_wojska[9] === "0") continue;
  50. id = tabela.rows[i].cells[0].getElementsByTagName('span')[0].getAttribute("data-id");
  51. fejkownik.dane.wlasne[n++] = {
  52. id:id,
  53. x:wspolrzedne[wspolrzedne.length-3],
  54. y:wspolrzedne[wspolrzedne.length-2],
  55. atakowane_wioski:[],
  56. atakowani_gracze:[],
  57. wojska:tmp_wojska,
  58. };
  59. }
  60. if(kopia.length)
  61. for(i=0;i<fejkownik.dane.wlasne.length;i++)
  62. for(j=0;j<kopia.length;j++)
  63. if(fejkownik.dane.wlasne[i].id == kopia[j].id){
  64. fejkownik.dane.wlasne[i].atakowani_gracze = kopia[j].atakowani_gracze;
  65. fejkownik.dane.wlasne[i].atakowane_wioski = kopia[j].atakowane_wioski;
  66. break;
  67. }
  68.  
  69.  
  70. }
  71. }
  72. r.send(null);
  73. },
  74. czas_drogi: function(zrodlo,cel){
  75. a = Math.abs(parseInt(zrodlo.x) - parseInt(cel.x));
  76. b = Math.abs(parseInt(zrodlo.y) - parseInt(cel.y));
  77. return Math.sqrt((a * a) + (b * b)) * fejkownik.dane.predkosc*60;
  78. },
  79. atakuj_wioske: function(){
  80.  
  81. var t = $('#serverTime').html().match(/\d+/g);
  82. var d = $('#serverDate').html().match(/\d+/g);
  83. var obecnyCzas = new Date(d[2],d[1]-1,d[0],t[0],t[1],t[2]);
  84. if(fejkownik.dane.ostatnio_atakowana >= fejkownik.dane.maks_atakow*fejkownik.dane.cele.length){alert("Wysłałem wszystkie rozkazy lub wykorzystałem możliwości. Zmień numer rokazu aby wznowić lub podaj nowe współrzędne żeby zacząć od nowa."); localStorage.setItem('fejkownik', JSON.stringify(fejkownik.dane)); return;} ///////////
  85. var indeks = fejkownik.dane.ostatnio_atakowana%fejkownik.dane.cele.length;
  86. if(fejkownik.dane.cele[indeks].ilosc_atakow >= fejkownik.dane.maks_atakow){
  87. fejkownik.dane.ostatnio_atakowana++;
  88. fejkownik.atakuj_wioske();
  89. return;
  90. }
  91. var min = fejkownik.dane.max_godz+1;
  92. fejkownik.min_indeks = -1;
  93. for(i=0, koniec=fejkownik.dane.wlasne.length; i<koniec; i++){
  94. if(fejkownik.dane.wlasne[i].id == fejkownik.dane.cele[indeks].id) continue;
  95. if(fejkownik.dane.wlasne[i].wojska[9] =="0" && fejkownik.dane.wlasne[i].wojska[8]=="0") continue;
  96. if(fejkownik.dane.wlasne[i].atakowane_wioski.indexOf(fejkownik.dane.cele[indeks].id) != -1) continue;
  97. if(fejkownik.ilosc_wystapen(fejkownik.dane.wlasne[i].atakowani_gracze,fejkownik.dane.cele[indeks].wlasciciel)>2) continue;
  98. var podroz_w_sek = fejkownik.czas_drogi(fejkownik.dane.wlasne[i],fejkownik.dane.cele[indeks]);
  99. var czas_wejscia = new Date(obecnyCzas.getTime() + (podroz_w_sek*1000));
  100. if((!fejkownik.dane.konkretny_dzien && czas_wejscia.getHours()<min && czas_wejscia.getHours()>=fejkownik.dane.min_godz) || (fejkownik.dane.konkretny_dzien == czas_wejscia.getDate() && czas_wejscia.getHours()<min && czas_wejscia.getHours()>=fejkownik.dane.min_godz )){
  101. min = czas_wejscia.getHours();
  102. fejkownik.min_indeks = i;
  103. if(min == fejkownik.dane.min_godz)
  104. break;
  105. }
  106. }
  107. fejkownik.dane.ostatnio_atakowana++;
  108. if(min>fejkownik.dane.max_godz)
  109. fejkownik.atakuj_wioske();
  110. else{
  111. fejkownik.dane.wlasne[fejkownik.min_indeks].atakowani_gracze.push(fejkownik.dane.cele[indeks].wlasciciel);
  112. fejkownik.dane.wlasne[fejkownik.min_indeks].atakowane_wioski.push(fejkownik.dane.cele[indeks].id);
  113. fejkownik.co_robic = 0;
  114. var cel = fejkownik.dane.cele[indeks].id;
  115. fejkownik.dane.cele[indeks].ilosc_atakow++;
  116. localStorage.setItem('fejkownik', JSON.stringify(fejkownik.dane));
  117.  
  118. CommandPopup.openRallyPoint({target:cel});
  119. fejkownik.poczekaj_i_odpal();
  120.  
  121. // location.href=(game_data.player.sitter != 0?("/game.php?t=" + game_data.player.id):"/game.php?")+"&village="+fejkownik.dane.wlasne[fejkownik.min_indeks].id+"&screen=place&"+cel+"&from=simulator"+wojsko;
  122. }
  123. },
  124. ilosc_wystapen: function(tab,wzor){
  125. var wynik = 0;
  126. for(w=0;w<tab.length;w++)
  127. if(tab[w] == wzor)
  128. wynik++;
  129. return wynik;
  130. },
  131. poczekaj_i_odpal: function(){
  132. if($(".autoHideBox").hasClass( "error" )){
  133. Dialog.close();
  134. setTimeout(function(){
  135. $(".autoHideBox").remove();
  136. fejkownik.atakuj_wioske();
  137. },fejkownik.dane.odswiezanie);
  138. }
  139. else if(fejkownik.co_robic==0 && $("#target_attack").length){
  140. $('#command-data-form').find("input[name='source_village']").val(fejkownik.dane.wlasne[fejkownik.min_indeks].id);
  141. if(fejkownik.dane.wlasne[fejkownik.min_indeks].wojska[9]=="0"){
  142. fejkownik.dane.wlasne[fejkownik.min_indeks].wojska[8]--;
  143. $("#unit_input_ram").val(1);
  144. }
  145. else{
  146. $("#unit_input_catapult").val(1);
  147. fejkownik.dane.wlasne[fejkownik.min_indeks].wojska[9]--;
  148. }
  149. if(fejkownik.dane.wlasne[fejkownik.min_indeks].wojska[4]!="0"){
  150. $("#unit_input_spy").val(1);
  151. fejkownik.dane.wlasne[fejkownik.min_indeks].wojska[4]--;
  152. }
  153. fejkownik.co_robic = 1;
  154. $("#target_attack").click();
  155. fejkownik.poczekaj_i_odpal();
  156. }
  157. else if(fejkownik.co_robic==1 && $("#troop_confirm_go").length){
  158. fejkownik.co_robic = 2;
  159. $("#troop_confirm_go").click();
  160. fejkownik.poczekaj_i_odpal();
  161.  
  162. }
  163. else if(fejkownik.co_robic==2 && !$("#command-data-form").length){
  164. document.getElementsByClassName("autoHideBox")[0].innerHTML += fejkownik.dane.ostatnio_atakowana +"/"+ fejkownik.dane.maks_atakow*fejkownik.dane.cele.length;
  165.  
  166. fejkownik.atakuj_wioske();
  167. }
  168. else
  169. setTimeout(fejkownik.poczekaj_i_odpal,fejkownik.dane.odswiezanie);
  170. },
  171. dzialaj: function(){
  172. fejkownik.atakuj_wioske();
  173. },
  174. wypisz_cele: function(){
  175. var cele = "";
  176. for(i=0;i<fejkownik.dane.cele.length;i++){
  177. cele += fejkownik.dane.cele[i].x+"|"+fejkownik.dane.cele[i].y+" ";
  178. }
  179. return cele;
  180. },
  181. pobierz_dane_wiosek: function(){
  182. UI.InfoMessage('Poczekaj kilka sekund...', 1000, 'success');
  183. cele = document.getElementById('wpisane_wioski').value.match(/\d+\|\d+/g);
  184. fejkownik.dane.cele = [];
  185. fejkownik.dane.wlasne = [];
  186. fejkownik.dane.ostatnio_atakowana = 0;
  187. var r = new XMLHttpRequest();
  188. r.open('GET', "/map/village.txt", true);
  189. r.onreadystatechange = function(){
  190. if (r.readyState == 4 && r.status == 200){
  191. wiersze = r.responseText.split("\n");
  192. for(i=0;i<wiersze.length;i++){
  193. kolumna = wiersze[i].split(",");
  194. for(j=0;j<cele.length;j++){
  195. if((kolumna[2] + "|" + kolumna[3]) === cele[j]){
  196. fejkownik.dane.cele.push({
  197. x: kolumna[2],
  198. y: kolumna[3],
  199. id: kolumna[0],
  200. wlasciciel: kolumna[4],
  201. ilosc_atakow: 0
  202. });
  203. cele.splice(j,1);
  204. break;
  205. }
  206. }
  207. }
  208. fejkownik.pobierz_wlasne_wioski();
  209. localStorage.setItem('fejkownik', JSON.stringify(fejkownik.dane));
  210. document.getElementById('maks_rozkazow').innerHTML = fejkownik.dane.maks_atakow*fejkownik.dane.cele.length;
  211. document.getElementById('numer_kolejnego_rozkazu').value = 0;
  212. UI.InfoMessage('Dodałem :) teraz kliknij "Nakurwiaj fejki"', 2000, 'success');
  213. }
  214. }
  215. r.send(null);
  216. },
  217. konkretny_dzien: function(){
  218. var d = $('#serverDate').html().match(/\d+/g);
  219. fejkownik.dane.konkretny_dzien = d[0];
  220. document.getElementById("konkretny_dzien").innerHTML = "<input size='3' type='text' value='"+d[0]+"' onchange=\"fejkownik.dane.konkretny_dzien = this.value;\">";
  221. document.getElementById("napis_konkretny_dzien").innerHTML = "Podaj dzień miesiąca";
  222. }
  223. }
  224. if(localStorage.fejkownik)
  225. fejkownik.dane = JSON.parse(localStorage.getItem('fejkownik'));
  226. fejkownik.pobierz_wlasne_wioski();
  227. fejkownik.dane.konkretny_dzien = 0;
  228. okienko = "<h2>Fejkowanie</h2><table><tr><td align='center'><h4>Cele</h4><textarea cols=20 rows=10 id='wpisane_wioski'>"+(fejkownik.dane.cele.length?fejkownik.wypisz_cele():"Wklej wioski, kliknij zapisz i poczekaj kilka sekund :)")+"</textarea><br><input type='button' value='Zapisz' onclick='fejkownik.pobierz_dane_wiosek();' class='btn btn-confirm-yes'></td>";
  229. okienko += "<td align='center' valign='top'><h4>Ustawienia</h4><table><tr><th>Co ile ms wykonywać akcję: <th><input size='3' type='text' value='"+fejkownik.dane.odswiezanie+"' onchange=\"fejkownik.dane.odswiezanie = parseInt(this.value);\">";
  230. okienko += "<tr><th>Maks ataków na wioskę: <th><input size='3' type='text' value='"+fejkownik.dane.maks_atakow+"' onchange=\"fejkownik.dane.maks_atakow = parseInt(this.value); document.getElementById('maks_rozkazow').innerHTML = fejkownik.dane.maks_atakow*fejkownik.dane.cele.length;\">";
  231. okienko += "<tr><th>Maks atakĂłw z 1 wioski na gracza: <th><input size='3' type='text' value='"+fejkownik.dane.atk_na_gracza+"' onchange=\"fejkownik.dane.atk_na_gracza = parseInt(this.value);\">";
  232. okienko += "<tr><th id='napis_konkretny_dzien'>Wysyłać w konkretny dzień ? <th id='konkretny_dzien'><input type='checkbox' onclick='fejkownik.konkretny_dzien();'>";
  233. okienko += "<tr><th colspan='2'>Godziny wejścia ataków od <input size='3' type='text' value='"+fejkownik.dane.min_godz+"' onchange='fejkownik.dane.min_godz = parseInt(this.value);'> do <input size='3' value='"+fejkownik.dane.max_godz+"' type='text' onchange='fejkownik.dane.max_godz = parseInt(this.value);'>";
  234. okienko += "<tr><th colspan='2'>Numer rozkazu: <input size='3' id='numer_kolejnego_rozkazu' type='text' value='"+fejkownik.dane.ostatnio_atakowana+"' onchange=\"fejkownik.dane.ostatnio_atakowana = parseInt(this.value);\">/<b id='maks_rozkazow'>"+fejkownik.dane.maks_atakow*fejkownik.dane.cele.length+"</b>";
  235.  
  236. okienko += "</table><br><br><input type='button' class='btn' value='Nakurwiaj fejki' onclick=\"fejkownik.dzialaj();\"></table>";
  237.  
  238. Dialog.show("okienko",okienko);
  239.  
  240. //$("#linkContainer").prepend("<a href='#' onclick=\"fejkownik.wczytaj_cele();\">Cele</a> - <a href='#' onclick=\"fejkownik.dzialaj();\">nakurwiaj fejki</a> -");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement