[Pasek] Wyciąganie koordynatów danego gracza

jarq

Killer
Wynik reakcji
36
Skrypt ten pozwala na "wyciągnięcie" koordynatorów wiosek danego gracza.


----------------------------------------------------------------------------------------------
Kod skryptu:
Kod:
javascript:$('#villages_list').html().match(/(\d+)\|(\d+)/g).join(' ');

Kod skryptu do pobrania na stronie Skryptoteki.



JAK TO WYGLĄDA W PRAKTYCE?

1) Instalujemy skrypt w pasku skrótów (instrukcja)


2) Wchodzimy w profil gracza. Jeśli gracz ma więcej jak 100 wiosek i chcecie kordy ich wszystkich, wówczas musicie zaznaczyć na dole opcję "Pokaż wszystkie pozostałe X wiosek". Klikamy skrypt.
OGiDOvp.jpg

3) Pokazuje się lista z koordynatami, które potem możemy wkleić np. do skryptu do farmienia.
2wE22Hm.jpg
 
Ostatnio edytowane przez moderatora:

DeletedUser

Guest
Daję poprawioną wersję skryptu ponieważ stara wersja (moja ale z nicku martuss2121) lubi łapać błędy gdy ktoś nazwie wioskę 111|111, więc daję wersję ulepszoną

Kod:
javascript:var villages=[];$('#villages_list td').each(function(idx,el){var match;if(match=$(el).html().match(/(\d+)\|(\d+)/g))
villages.push(match[0]);});villages.join(' ')
 
Ostatnio edytowane przez moderatora:

DeletedUser155220

Guest
Hm, skrypt dość nagle przestał działać, ma ktoś może działający poprawnie?
 

DeletedUser137384

Guest
Wieczorem sprawdzę u siebie i dam Wam znać. Jeśli faktycznie nie działa, zgłoszę ten fakt odpowiedniej osobie :)
 

DeletedUser155220

Guest
I jak wiadomo coś, gdyż skrypt nadal nie działa.
 

DeletedUser

Guest
Na s86 nie działa chyba że to wina przeglądarki. Używam firefoxa. Ze skryptem Wyciągania koordynatów wiosek barbarzyńskich z mapy to samo. Pomoże ktoś ?
 

DeletedUser152734

Guest
Wyciąganie barb z mapy:
Kod:
javascript: (function() { var e = [], b, c, a, d, f = [0, 12600]; for (b = 0; b < TWMap.size[1]; b++) for (c = 0; c < TWMap.size[1]; c++)(d = TWMap.map.coordByPixel(TWMap.map.pos[0] + TWMap.tileSize[0] * c, TWMap.map.pos[1] + TWMap.tileSize[1] * b)) && (a = TWMap.villages[d.join("")]) && "0" === a.owner && (a = Number(a.points.replace(".", "")), (a >= f[0] || a <= f[1]) && e.push(d.join("|"))); alert(e.join(" ")); })();
Wyciąganie wiosek z profilu:
Kod:
javascript:var villages=[];$('#villages_list td').each(function(idx,el){var match;if(match=$(el).html().match(/(\d+)\|(\d+)/g)) villages.push(match[0]);});alert(villages.join(' '));
 

DeletedUser186338

Guest
A co z wyciąganiem koordynatów wiosek gracza z mapy?
 

DeletedUser152734

Guest
O ten chodzi ?
Kod:
javascript: var config = { "radius":30.30, "barb":{ "min":1, "max":3000 }, "player":{ "min":5000, "max":9020 } };  fnFindFarms(config);  void(0);  function fnFindFarms(config){ var radius=0.0; var barb_size={min:0,max:0}; var village_size={min:0,max:500};  if(typeof(config)!="undefined"){ if(typeof(config.radius)!="undefined"){ radius=config.radius; }  if(typeof(config.barb)!="undefined"){ barb_size=config.barb; }  if(typeof(config.player)!="undefined"){ village_size=config.player; } }  var author="dalesmckay@gmail.com"; var scriptVer=2.03; var minTWVer=7.0; var win=(window.frames.length>0)?window.main:window;   if(win.game_data.world=='zz2'){ if([16467].indexOf(parseInt(win.game_data.player.id,10))<0){ alert('Hi '+win.game_data.player.name+'!\n\nYour scripts have been disabled by dalesmckay\nSend him a mail if you wish to help with testing'); return false; } }    var ver=win.game_data.version.match(/[\d|\.]+/g); if(!ver||(parseFloat(ver[1])<minTWVer)){ alert("This script requires v"+minTWVer+" or higher.\nYou are running: v"+ver[1]); } else if(win.game_data.screen=="map"){ function zeroPad(number,length){var n=number.toString();while(n.length<length){n="0"+n;}return n;}  var coords=[]; var col,row,coord,village,player,tribe,points; var home=win.game_data.village.coord.split("|").map(function(x){return parseInt(x,10);});  for(row=0;row<TWMap.size[1];row++){ for(col=0;col<TWMap.size[0];col++){ coord=TWMap.map.coordByPixel( TWMap.map.pos[0]+(TWMap.tileSize[0]*col), TWMap.map.pos[1]+(TWMap.tileSize[1]*row) );  if(coord){ coord=coord.map(function(e){return zeroPad(e,3);});  village=TWMap.villages[coord.join("")]; if(village){ player=null; if(parseInt(village.owner||"0",10)){ player=TWMap.players[village.owner]; }  points=parseInt(village.points.replace(".",""),10); if(player){ if(player.id!=win.game_data.player.id){ if((player.ally>0)&&(player.ally!=win.game_data.ally_id)){ if((!village_size.min||(points>=village_size.min))&&(!village_size.max||(points<=village_size.max))){ coords.push(coord.join("|")); } } } } else{ if((!barb_size.min||(points>=barb_size.min))&&(!barb_size.max||(points<=barb_size.max))){ coords.push(coord.join("|")); } } } } } }  if(radius>0.0){ coords=coords.filter(function(item,index,arr){ var aa=item.split("|").map(function(x){return parseInt(x,10);}); return(Math.sqrt(Math.pow(home[0]-aa[0],2)+Math.pow(home[1]-aa[1],2))<=radius); }); }  coords=coords.sort(function(a,b){ var aa=a.split("|").map(function(x){return parseInt(x,10);}); bb=b.split("|").map(function(x){return parseInt(x,10);}); return(Math.sqrt(Math.pow(home[0]-aa[0],2)+Math.pow(home[1]-aa[1],2))-Math.sqrt(Math.pow(home[0]-bb[0],2)+Math.pow(home[1]-bb[1],2))); });  alert((coords.length>0)?coords.join(" "):"No villages match the Criteria"); } else{ alert("Run this script from the Map.\nRedirecting now..."); self.location=win.game_data.link_base_pure.replace(/screen\=/i,"screen=map"); } }
 

DeletedUser181431

Guest
Dzięki.

Wstawcie ten powyższy do skryptoteki, bo ten ze skryptoteki nie działa.
 

DeletedUser

Guest
O ten chodzi ?
Kod:
javascript: var config = { "radius":30.30, "barb":{ "min":1, "max":3000 }, "player":{ "min":5000, "max":9020 } };  fnFindFarms(config);  void(0);  function fnFindFarms(config){ var radius=0.0; var barb_size={min:0,max:0}; var village_size={min:0,max:500};  if(typeof(config)!="undefined"){ if(typeof(config.radius)!="undefined"){ radius=config.radius; }  if(typeof(config.barb)!="undefined"){ barb_size=config.barb; }  if(typeof(config.player)!="undefined"){ village_size=config.player; } }  var author="dalesmckay@gmail.com"; var scriptVer=2.03; var minTWVer=7.0; var win=(window.frames.length>0)?window.main:window;   if(win.game_data.world=='zz2'){ if([16467].indexOf(parseInt(win.game_data.player.id,10))<0){ alert('Hi '+win.game_data.player.name+'!\n\nYour scripts have been disabled by dalesmckay\nSend him a mail if you wish to help with testing'); return false; } }    var ver=win.game_data.version.match(/[\d|\.]+/g); if(!ver||(parseFloat(ver[1])<minTWVer)){ alert("This script requires v"+minTWVer+" or higher.\nYou are running: v"+ver[1]); } else if(win.game_data.screen=="map"){ function zeroPad(number,length){var n=number.toString();while(n.length<length){n="0"+n;}return n;}  var coords=[]; var col,row,coord,village,player,tribe,points; var home=win.game_data.village.coord.split("|").map(function(x){return parseInt(x,10);});  for(row=0;row<TWMap.size[1];row++){ for(col=0;col<TWMap.size[0];col++){ coord=TWMap.map.coordByPixel( TWMap.map.pos[0]+(TWMap.tileSize[0]*col), TWMap.map.pos[1]+(TWMap.tileSize[1]*row) );  if(coord){ coord=coord.map(function(e){return zeroPad(e,3);});  village=TWMap.villages[coord.join("")]; if(village){ player=null; if(parseInt(village.owner||"0",10)){ player=TWMap.players[village.owner]; }  points=parseInt(village.points.replace(".",""),10); if(player){ if(player.id!=win.game_data.player.id){ if((player.ally>0)&&(player.ally!=win.game_data.ally_id)){ if((!village_size.min||(points>=village_size.min))&&(!village_size.max||(points<=village_size.max))){ coords.push(coord.join("|")); } } } } else{ if((!barb_size.min||(points>=barb_size.min))&&(!barb_size.max||(points<=barb_size.max))){ coords.push(coord.join("|")); } } } } } }  if(radius>0.0){ coords=coords.filter(function(item,index,arr){ var aa=item.split("|").map(function(x){return parseInt(x,10);}); return(Math.sqrt(Math.pow(home[0]-aa[0],2)+Math.pow(home[1]-aa[1],2))<=radius); }); }  coords=coords.sort(function(a,b){ var aa=a.split("|").map(function(x){return parseInt(x,10);}); bb=b.split("|").map(function(x){return parseInt(x,10);}); return(Math.sqrt(Math.pow(home[0]-aa[0],2)+Math.pow(home[1]-aa[1],2))-Math.sqrt(Math.pow(home[0]-bb[0],2)+Math.pow(home[1]-bb[1],2))); });  alert((coords.length>0)?coords.join(" "):"No villages match the Criteria"); } else{ alert("Run this script from the Map.\nRedirecting now..."); self.location=win.game_data.link_base_pure.replace(/screen\=/i,"screen=map"); } }


Jak ustawić skrypt by wyciągał tylko kordy gracza lub graczy?
Dla barbarek działa a z playerami nie mogę sobie poradzić.
 

DeletedUser149672

Guest
jak wiekszosc ze skryptoteki ;p chyba zrobie swoja skryptoteke z botami i innymi ciekawymi rzeczami ;d
 

DeletedUser120399

Guest
Wyciąganie barb z mapy:
Kod:
javascript: (function() { var e = [], b, c, a, d, f = [0, 12600]; for (b = 0; b < TWMap.size[1]; b++) for (c = 0; c < TWMap.size[1]; c++)(d = TWMap.map.coordByPixel(TWMap.map.pos[0] + TWMap.tileSize[0] * c, TWMap.map.pos[1] + TWMap.tileSize[1] * b)) && (a = TWMap.villages[d.join("")]) && "0" === a.owner && (a = Number(a.points.replace(".", "")), (a >= f[0] || a <= f[1]) && e.push(d.join("|"))); alert(e.join(" ")); })();
Wyciąganie wiosek z profilu:
Kod:
javascript:var villages=[];$('#villages_list td').each(function(idx,el){var match;if(match=$(el).html().match(/(\d+)\|(\d+)/g)) villages.push(match[0]);});alert(villages.join(' '));

a jak kopiowac te kordy?
OPERA pozwala na to czy trzeba zaczac grac na innej przegladarce?
 

DeletedUser182378

Guest
Wiem że trochę minęło od zadania powyższego pytania, jednak dziś mi je ktoś powtórzył na pw, moja propozycja była następująca:
Kod:
javascript:var villas=$("table[class=content-border]").html().match(/\d+\|\d+/gi);
prompt(" ",(villas&&(villas.length>0)?villas.join(" "):"Nie znaleziono współrzędnych"));
void(0);
Zmiana jest minimalna, w zasadzie nic się nie zmienia, tylko w Operze można kopiować.
 
Do góry