Advertisement
Guest User

Untitled

a guest
Apr 4th, 2020
249
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. javascript:
  2.  
  3. if(location.href.match('mode=members')&&location.href.match('screen=ally')) addCheckboxs();
  4. else UI.InfoMessage("Skrypt działa tylko w Plemię -> Członkowie", 2000, 'error');
  5.  
  6. var t, tlength;
  7. var my_tribal;
  8.  
  9. function main() {
  10.    
  11.     var btn = document.getElementById("clickMe").disabled = true;
  12.    
  13.     var url = [];
  14.     if(location.href.match('mode=members')&&location.href.match('screen=ally')) my_tribal=2;
  15.     else return;
  16.    
  17.     var agresor = Number(document.getElementById("agresor").checked);
  18.     var obronca = Number(document.getElementById("obronca").checked);
  19.     var wspierajacy = Number(document.getElementById("wspierajacy").checked);
  20.    
  21.     var agresorD = Number(document.getElementById("agresorD").checked);
  22.     var obroncaD = Number(document.getElementById("obroncaD").checked);
  23.     var wspierajacyD = Number(document.getElementById("wspierajacyD").checked);
  24.    
  25.     var rabusD = Number(document.getElementById("rabusD").checked);
  26.     var zbieraczD = Number(document.getElementById("zbieraczD").checked);
  27.     var wioskiD = Number(document.getElementById("wioskiD").checked);
  28.    
  29.     t = document.getElementsByClassName("vis")[my_tribal].getElementsByTagName("tbody")[0].getElementsByTagName("tr");
  30.     var table = $("table.vis")[my_tribal];
  31.     tlength = table.getElementsByClassName("row_a").length + table.getElementsByClassName("row_b").length  
  32.    
  33.     var pos = setLength();
  34.     if (agresor) {
  35.         pos += 1;
  36.         addColumn('<button class="btn " id="sortFarma' + (pos - 1) + '" onclick="sortFarma(' + (pos-1) + ')">Ranking<br>agresora</button>',tlength);
  37.         document.getElementById("sortFarma" + (pos - 1)).disabled = true;
  38.     }
  39.     if (obronca) {
  40.         pos += 1;
  41.         addColumn('<button class="btn " id="sortFarma' + (pos - 1) + '" onclick="sortFarma(' + (pos-1) + ')">Ranking<br>obroncy</button>',tlength);
  42.         document.getElementById("sortFarma" + (pos - 1)).disabled = true;
  43.     }
  44.     if (wspierajacy) {
  45.         pos += 1;
  46.         addColumn('<button class="btn " id="sortFarma' + (pos - 1) + '" onclick="sortFarma(' + (pos-1) + ')">Ranking<br>wspierającego</button>',tlength);
  47.         document.getElementById("sortFarma" + (pos - 1)).disabled = true;
  48.     }
  49.    
  50.     if (agresorD) {
  51.         pos += 1;
  52.         addColumn('<button class="btn " id="sortFarma' + (pos - 1) + '" onclick="sortFarma(' + (pos-1) + ')">Rekord<br>w ataku</button>',tlength);
  53.         document.getElementById("sortFarma" + (pos - 1)).disabled = true;
  54.     }
  55.     if (obroncaD) {
  56.         pos += 1;
  57.         addColumn('<button class="btn " id="sortFarma' + (pos - 1) + '" onclick="sortFarma(' + (pos-1) + ')">Rekord<br>w obronie</button>',tlength);
  58.         document.getElementById("sortFarma" + (pos - 1)).disabled = true;
  59.     }
  60.     if (wspierajacyD) {
  61.         pos += 1;
  62.         addColumn('<button class="btn " id="sortFarma' + (pos - 1) + '" onclick="sortFarma(' + (pos-1) + ')">Rekord jako<br>wspierający</button>',tlength);
  63.         document.getElementById("sortFarma" + (pos - 1)).disabled = true;
  64.     }
  65.    
  66.     if (rabusD) {
  67.         pos += 1;
  68.         addColumn('<button class="btn " id="sortFarma' + (pos - 1) + '" onclick="sortFarma(' + (pos-1) + ')">Zrabowane<br>surowce</button>',tlength);
  69.         document.getElementById("sortFarma" + (pos - 1)).disabled = true;
  70.     }
  71.     if (zbieraczD) {
  72.         pos += 1;
  73.         addColumn('<button class="btn " id="sortFarma' + (pos - 1) + '" onclick="sortFarma(' + (pos-1) + ')">Zebrane<br>surowce</button>',tlength);
  74.         document.getElementById("sortFarma" + (pos - 1)).disabled = true;
  75.     }
  76.     if (wioskiD) {
  77.         pos += 1;
  78.         addColumn('<button class="btn " id="sortFarma' + (pos - 1) + '" onclick="sortFarma(' + (pos-1) + ')">Splądrowane<br>wioski</button>',tlength);
  79.         document.getElementById("sortFarma" + (pos - 1)).disabled = true;
  80.     }
  81.  
  82.     url[0]='game.php?screen=ranking&mode=kill_player&type=att&name=';
  83.     url[1]='game.php?screen=ranking&mode=kill_player&type=def&name=';
  84.     url[2]='game.php?screen=ranking&mode=kill_player&type=support&name=';
  85.    
  86.     url[3]='game.php?screen=ranking&mode=in_a_day&type=kill_att&name=';
  87.     url[4]='game.php?screen=ranking&mode=in_a_day&type=kill_def&name=';
  88.     url[5]='game.php?screen=ranking&mode=in_a_day&type=kill_sup&name=';
  89.    
  90.     url[6]='game.php?screen=ranking&mode=in_a_day&type=loot_res&name=';
  91.     url[7]='game.php?screen=ranking&mode=in_a_day&type=scavenge&name=';
  92.     url[8]='game.php?screen=ranking&mode=in_a_day&type=loot_vil&name=';
  93.    
  94.     var l=1;
  95.     var j = agresor + obronca + wspierajacy + agresorD + obroncaD + wspierajacyD + rabusD + zbieraczD + wioskiD;
  96.  
  97.     if (agresor) setPoints(takeNick(1),1,tlength,url[0],l++,pos-j);
  98.     if (obronca) setPoints(takeNick(1),1,tlength,url[1],l++,pos-j);
  99.     if (wspierajacy) setPoints(takeNick(1),1,tlength,url[2],l++,pos-j);
  100.     if (agresorD) setPoints(takeNick(1),1,tlength,url[3],l++,pos-j);
  101.     if (obroncaD) setPoints(takeNick(1),1,tlength,url[4],l++,pos-j);
  102.     if (wspierajacyD) setPoints(takeNick(1),1,tlength,url[5],l++,pos-j);
  103.     if (rabusD) setPoints(takeNick(1),1,tlength,url[6],l++,pos-j);
  104.     if (zbieraczD) setPoints(takeNick(1),1,tlength,url[7],l++,pos-j);
  105.     if (wioskiD) setPoints(takeNick(1),1,tlength,url[8],l++,pos-j);
  106. }
  107.  
  108. function setLength(){
  109.     return $(".row_a")[0].getElementsByTagName("td").length;
  110. }
  111.  
  112. function addColumn(text,players){
  113.     var th = [];
  114.     th[0] = document.createElement('th');
  115.     th[0].innerHTML = text;
  116.     t[0].appendChild(th[0]);
  117.     for (var i = 1; i <= players; i++){
  118.         th[i] = document.createElement('td');
  119.         th[i].setAttribute('align', 'right');
  120.         th[i].innerHTML = '';
  121.         t[i].appendChild(th[i]);
  122.     }
  123. }
  124.  
  125. function setPoints(nick,k,players,url,possition,length){
  126.     var x=0;
  127.     $.ajax({
  128.         async: true,
  129.         url: url+nick,
  130.         type: 'GET',
  131.         success: function(test) {
  132.             var l = $(test).find('.lit-item');
  133.             if (l[3] != undefined){
  134.                 var t = l[3].innerHTML;
  135.                 var m = l[0].innerHTML;
  136.                 if (t.search('<span class="grey">.</span>') != -1) t = t.split(`<span class="grey">.</span>`);
  137.                 else t = t.split(`.`);
  138.                 x = t[0];
  139.                 for (var i = 1; i < t.length; i++) {x+=","; x+=t[i];}                
  140.                 if (x.search(' mln') != -1) x=x.split(",").join(".");
  141.                 else x=x.split(",").join("");
  142.             }
  143.             addValue(x,k,possition,length);
  144.             if (k < players) setPoints(takeNick(k+1),k+1,players,url,possition,length);
  145.             else {
  146.                 document.getElementById("sortFarma" + (possition+length-1)).disabled = false;              
  147.             }
  148.         },
  149.         error: function (error){
  150.             setTimeout(function() {
  151.                 setPoints(nick,k,players,url,possition,length);
  152.             }, 1000);
  153.         }
  154.     });
  155. }
  156.  
  157. function takeId(i){
  158.     return document.getElementsByClassName("vis")[my_tribal].getElementsByTagName("tbody")[0].getElementsByTagName("tr")[i].getElementsByTagName("td")[0].innerHTML.split("id=")[1].split("\"")[0];
  159. }
  160.  
  161. function takeNick(i){
  162.     return document.getElementsByClassName("vis")[my_tribal].getElementsByTagName("tbody")[0].getElementsByTagName("tr")[i].getElementsByTagName("td")[0].getElementsByTagName("a")[0].innerHTML;
  163. }
  164.  
  165. function addValue(loot,i,possition,length){
  166.     t[i].getElementsByTagName('td')[possition+length-1].innerHTML=loot;
  167. }
  168.  
  169. function addCheckboxs(){
  170.     var div = document.createElement('div');
  171.     div.className = " topbar";
  172.     div.innerHTML =
  173.    
  174.     '<strong>Rankingi główne:</strong> \
  175.     <label><input type="checkbox" id="agresor"/>Ranking agresora</label> \
  176.     <label><input type="checkbox" id="obronca"/>Ranking obrońcy</label> \
  177.     <label><input type="checkbox" id="wspierajacy"/>Ranking wspierajacego</label><br> \
  178.     <strong>Rankingi dzienne:</strong> \
  179.     <label><input type="checkbox" id="agresorD"/>Rekord w ataku</label> \
  180.     <label><input type="checkbox" id="obroncaD"/>Rekord w obronie</label> \
  181.     <label><input type="checkbox" id="wspierajacyD"/>Rekord jako wspierający</label><br> \
  182.     <strong>Rozwój:</strong> \
  183.     <label><input type="checkbox" id="rabusD"/>Zrabowane surowce</label> \
  184.     <label><input type="checkbox" id="zbieraczD"/>Zebrane surowce</label> \
  185.     <label><input type="checkbox" id="wioskiD"/>Splądrowane wioski</label>'
  186.    
  187.     div.innerHTML+='<br><input type="button" id="clickMe" value="Generuj wyniki" class="btn " onclick="main()">';
  188.     $("#content_value").find('h2')[0].innerHTML="<br>"+$("#content_value").find('h2')[0].innerHTML;
  189.     document.getElementById('content_value').prepend(div);
  190.     document.getElementById("clickMe").onclick = main;
  191. }
  192.  
  193. function sortFarma(position) {
  194.   var tableSort, rows, switching, i, x, y, shouldSwitch;
  195.   tableSort = document.getElementsByClassName("vis")[my_tribal]
  196.  
  197.   var mlnFlagX = false;
  198.   var mlnFlagY = false;
  199.   switching = true;
  200.  
  201.   while (switching) {
  202.     switching = false;
  203.     rows = tableSort.rows;
  204.     for (i = 1; i < tlength; i++) {
  205.       shouldSwitch = false;
  206.       x = rows[i].getElementsByTagName("TD")[position].innerText;
  207.       y = rows[i + 1].getElementsByTagName("TD")[position].innerText;
  208.       if (x.search(' mln') != -1) {x=x.slice(0, -4); x*=1000000; mlnFlagX=true;}
  209.       if (y.search(' mln') != -1) {y=y.slice(0, -4); y*=1000000; mlnFlagY=true;}
  210.       if (parseInt(x) < parseInt(y)) {
  211.         shouldSwitch = true;
  212.         break;
  213.       }
  214.     }
  215.     if (shouldSwitch) {
  216.       rows[i].parentNode.insertBefore(rows[i + 1], rows[i]);
  217.       switching = true;
  218.     }
  219.     if(mlnFlagX){x/=1000000; x+=" mln"; mlnFlagX=false;}
  220.     if(mlnFlagY){y/=1000000; y+=" mln"; mlnFlagY=false;}
  221.   }
  222. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement