Advertisement
voxpopuli27

Untitled

Jan 18th, 2017
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.24 KB | None | 0 0
  1. javascript:
  2. if(!licznik_wojska) var licznik_wojska={};
  3. var tabela;
  4. var sumaWojsk = [];
  5. var domyslnyWiersz = '0';
  6. licznik_wojska.link = "/game.php?&village="+game_data.village.id+"&type=complete&mode=units&group=0&page=-1&screen=overview_villages";
  7. if(game_data.player.sitter != 0)
  8. licznik_wojska.link="/game.php?t=" + game_data.player.id + "&village="+game_data.village.id+"&type=complete&mode=units&group=0&page=-1&screen=overview_villages";
  9. licznik_wojska.pobraneGrupy = false;
  10. licznik_wojska.obrazki = "spear,sword,axe,archer,spy,light,marcher,heavy,ram,catapult,knight,snob".split(",");
  11. licznik_wojska.nazwyJednostek = "Pikinier,Miecznik,Topornik,.C5.81ucznik,Zwiadowca,Lekki_Kawalerzysta,.C5.81ucznik_na_koniu,Ci.C4.99.C5.BCki_kawalerzysta,Taran,Katapulta,Rycerz,Szlachcic".split(",");
  12. var okienko = "<h2 align='center'>Stan wojska</h2><table width='100%'><tr><th>Grupa: <select id='listaGrup' onchange=\"licznik_wojska.link = this.value; pobierzDane();\"><option value='"+licznik_wojska.link+"'>Wszystkie</select>";
  13. okienko += "<tr><td><table width='100%'><tr><th colspan='4'>Rodzaj: <select onchange=\"zmiana(this.value);\"><option value='0'>Dostępne wojska<option value='0p2p3'>Wszystkie własne<option value='1'>W wioskach<option value='1m0'>Samo wsparcie<option value='2'>Wysłane wsparcie<option value='3'>W drodze</select><tbody id='dostepne_wojska'></table><tr><th><b id='ilosc_wiosek'></b><a href='#' style='float: right;' onclick=\"eksportuj();\">Eksportuj</a></table>";
  14. Dialog.show("okienko_komunikatu",okienko);
  15. pobierzDane();
  16. void 0;
  17. function pobierzDane(){
  18. $("#ilosc_wiosek").html(" Czekaj...");
  19. $(mobile?'#loading':'#loading_content').show();
  20. var r;
  21. r = new XMLHttpRequest();
  22. r.open('GET', licznik_wojska.link, true);
  23. function processResponse(){
  24. if (r.readyState == 4 && r.status == 200) {
  25. requestedBody = document.createElement("body");
  26. requestedBody.innerHTML = r.responseText;
  27. tabela = $(requestedBody).find('#units_table').get()[0];
  28. if(!tabela){ $("#dostepne_wojska").html("Wybrana grupa jest bez wiosek. <br>Wybierz inną"); $("#ilosc_wiosek").html(" błąd"); return false;}
  29. var grupy = $(requestedBody).find('.vis_item').get()[0].getElementsByTagName(mobile?'option':'a');
  30. if(tabela.rows.length>4000) alert("Uwaga\nSumuję tylko pierwsze 1000 wiosek");
  31. if(!licznik_wojska.pobraneGrupy){
  32. for(i=0;i<grupy.length;i++){
  33. nazwa = grupy[i].textContent;
  34. if(mobile && grupy[i].textContent=="wszystkie") continue;
  35. $("#listaGrup").append($('<option>', {
  36. value: grupy[i].getAttribute(mobile?"value":"href")+"&page=-1",
  37. text: mobile?nazwa:nazwa.slice(1,nazwa.length-1)
  38. }));
  39. }
  40. licznik_wojska.pobraneGrupy = true;
  41. if(!tabela.rows[0].innerHTML.match("archer")){
  42. licznik_wojska.obrazki.splice(licznik_wojska.obrazki.indexOf("archer"),1);
  43. licznik_wojska.obrazki.splice(licznik_wojska.obrazki.indexOf("marcher"),1);
  44. }
  45. if(!tabela.rows[0].innerHTML.match("knight"))
  46. licznik_wojska.obrazki.splice(licznik_wojska.obrazki.indexOf("knight"),1);
  47. }
  48. sumuj();
  49. zmiana(domyslnyWiersz);
  50. };
  51. }
  52. r.onreadystatechange = processResponse;
  53. r.send(null);
  54. }
  55. function zmiana(tekst){
  56. domyslnyWiersz = tekst;
  57. ktory = String(tekst).match(/\d+/g);
  58. coZrobic = String(tekst).match(/[a-z]/g);
  59. var nowaSuma = [];
  60. for(j=0;j<licznik_wojska.obrazki.length;j++)
  61. nowaSuma[j] = 0;
  62. for(i=0;i<ktory.length;i++)
  63. if(i==0 || coZrobic[i-1]=="p")
  64. nowaSuma = dodaj(nowaSuma,sumaWojsk[ktory[i]]);
  65. else
  66. nowaSuma = odejmij(nowaSuma,sumaWojsk[ktory[i]]);
  67. wypisz(nowaSuma);
  68. setTimeout(packs, 2000);
  69. }
  70. function sumuj(){
  71. for(i=0;i<4;i++){
  72. sumaWojsk[i] = [];
  73. for(j=0;j<licznik_wojska.obrazki.length;j++)
  74. sumaWojsk[i][j] = 0;
  75. }
  76. for(var i=1;i<tabela.rows.length;i++){
  77. m = (tabela.rows[1].cells.length == tabela.rows[i].cells.length)?2:1;
  78. for(var j=m;j<licznik_wojska.obrazki.length+m;j++){
  79. sumaWojsk[(i-1)%4][j-m] += parseInt(tabela.rows[i].cells[j].textContent);
  80. }
  81. }
  82. }
  83. function odejmij(sumaWojsk1,sumaWojsk2){
  84. var wynik = [];
  85. for(k=0;k<licznik_wojska.obrazki.length;k++)
  86. wynik[k] = sumaWojsk1[k] - sumaWojsk2[k];
  87. return wynik;
  88. }
  89. function dodaj(sumaWojsk1,sumaWojsk2){
  90. var wynik = [];
  91. for(k=0;k<licznik_wojska.obrazki.length;k++)
  92. wynik[k] = sumaWojsk1[k] + sumaWojsk2[k];
  93. return wynik;
  94. }
  95. function rysujSpacje(ile){
  96. var tekst = String(ile);
  97. var wynik = "";
  98. for(j=0;j<(10-tekst.length);j++)
  99. wynik += "\u2007";
  100. return wynik;
  101. }
  102. function wypisz(sumaWojskDoWypisania){
  103. elem = "<tr>";
  104. licznik_wojska.eksport = "<textarea rows='7' cols='25' onclick=\"this.select();\">";
  105. for(i=0;i<licznik_wojska.obrazki.length;i++){
  106. licznik_wojska.eksport +="[unit]"+licznik_wojska.obrazki[i]+"[/unit]"+sumaWojskDoWypisania[i]+(i%2==0?rysujSpacje(sumaWojskDoWypisania[i]):"\n");
  107. elem += (i%2==0?"<tr>":"")+"<th width='20'><a href='https://help.plemiona.pl/wiki/Jednostki#"+licznik_wojska.nazwyJednostek[i]+"' target='_blank'><img src='"+image_base + "unit/unit_"+licznik_wojska.obrazki[i]+".png'></a><td bgcolor='#fff5da'>"+sumaWojskDoWypisania[i];
  108. }
  109. licznik_wojska.eksport += "</textarea>";
  110. $("#dostepne_wojska").html(elem);
  111. $(mobile?'#loading':'#loading_content').hide();
  112. $("#ilosc_wiosek").html("\Suma "+((tabela.rows.length-1)/4)+" wiosek");
  113. }
  114. function packs(){
  115. var x= document.getElementById("dostepne_wojska").childNodes;
  116. var pik, miecz, luk, zwiad, ck;
  117. pik = x[1].childNodes[1].innerHTML;
  118. pik = parseInt(pik/1000);
  119. miecz = x[1].childNodes[3].innerHTML;
  120. miecz = parseInt(miecz/1000);
  121. luk = x[2].childNodes[3].innerHTML;
  122. luk = parseInt(luk/1000);
  123. ck = x[4].childNodes[3].innerHTML;
  124. ck = parseInt(ck/400);
  125. zwiad = x[3].childNodes[1].innerHTML;
  126. zwiad = parseInt(zwiad/50);
  127. x[1].childNodes[1].innerHTML = pik;
  128. x[1].childNodes[3].innerHTML = miecz;
  129. x[2].childNodes[1].innerHTML = "0";
  130. x[2].childNodes[3].innerHTML = luk;
  131. x[3].childNodes[1].innerHTML = zwiad;
  132. x[3].childNodes[3].innerHTML = "0";
  133. x[4].childNodes[1].innerHTML = "0";
  134. x[4].childNodes[3].innerHTML = ck;
  135. x[5].childNodes[1].innerHTML = "0";
  136. x[5].childNodes[3].innerHTML = "0";
  137. x[6].childNodes[1].innerHTML = "0";
  138. x[6].childNodes[3].innerHTML = "0";
  139. document.getElementById("ilosc_wiosek").innerHTML = "<textarea>"+"Ilość paczek to Pik: "+pik+" Miecz: "+miecz+" Łuk: "+luk+" Zwiad: "+zwiad+" CK: "+ck+"</textarea>";
  140. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement