DeletedUser17651
Guest
A pedido de várias famílias, faço a actualização de um script já autorizado,
que deixou de funcionar devido a uma nova feature da v7.3:
Titulo: Lista de aldeias de um jogador, numa zona especificada
Descrição: O script constrói uma lista de aldeias de um jogador,
numa zona específica a partir das coordenadas de uma aldeia e
de acordo com o raio especificado. No limite pode fazer a lista de todas
as aldeias desse jogador. A lista serve para colocar no fórum interno,
mensagem privada ou noutro local onde seja permitida a utilização de
bbcodes. A lista é feita recorrendo às novas tags
.
Ver mais detalhes, incluindo snapshots, no tópico original onde foi autorizado:
http://forum.tribos.com.pt/showthread.php?t=54715 Código:
que deixou de funcionar devido a uma nova feature da v7.3:
(Perfil do jogador: limitado o número de aldeias mostradas no perfil para
melhorar os tempos de carregamento (continuará a ser possível visualizar a lista completa).
Titulo: Lista de aldeias de um jogador, numa zona especificada
Descrição: O script constrói uma lista de aldeias de um jogador,
numa zona específica a partir das coordenadas de uma aldeia e
de acordo com o raio especificado. No limite pode fazer a lista de todas
as aldeias desse jogador. A lista serve para colocar no fórum interno,
mensagem privada ou noutro local onde seja permitida a utilização de
bbcodes. A lista é feita recorrendo às novas tags
Ver mais detalhes, incluindo snapshots, no tópico original onde foi autorizado:
http://forum.tribos.com.pt/showthread.php?t=54715 Código:
Código:
javascript:if(!(document.URL.match("screen=info_player"))){die("O script só funciona na página de um Jogador")}var maxParentesis=975;var xmin=0;var xmax=999;var ymin=0;var ymax=999;var vcurrent=document.getElementById("menu_row2").getElementsByTagName("b")[0].innerHTML.match(/\d{1,3}\|\d{1,3}/);var vtarget=prompt("Qual a aldeia que pretende centrar?\n\nUtilize o formato 123|456\n\nSe não quiser nenhuma, faça click no botão OK",vcurrent);if(vtarget==null)die();if(!vtarget.match(/^\d{1,3}\|\d{1,3}$/))die("Coordenadas "+vtarget+" inválidas\n\nDeve utilizar o formato 123|456");var vtargetx=vtarget.match(/^\d{1,3}/)*1;var vtargety=vtarget.match(/\d{1,3}$/)*1;var raio=prompt("Qual o raio que pretende?\n\nUtilize 0 (zero) para todas as aldeias do Jogador\n",0);if(raio==null)die();if(!raio.match(/^\d{1,3}$/))die("Raio "+raio+" inválido\n\nDeve utilizar um valor numérico (ex: 5)");var out2="";raio=raio*1;if(raio>0){outraio=raio*2+1;out2="Centrando em [coord]"+vtarget+"[/coord], lista de aldeias numa área de [b]"+outraio+"x"+outraio+"[/b] campos (raio "+raio+")\n\n";xmin=vtargetx-raio;xmax=vtargetx+raio;ymin=vtargety-raio;ymax=vtargety+raio}var nome=document.getElementsByTagName("h2")[0].innerHTML.toString();var out1=">>> [player]"+nome+"[/player]\n\n";var out3="";var outraw="";tbr=document.getElementById("content_value").getElementsByTagName("table");var tb=tbr[2].rows;var num=0;var arr=[];for(var ix=1;ix<tb.length;ix++){if(tb[ix].getElementsByTagName("td")[1]){coord=tb[ix].getElementsByTagName("td")[1].innerHTML;coordx=coord.match(/^\d{1,3}/)*1;coordy=coord.match(/\d{1,3}$/)*1;if(coordx>=xmin&&coordx<=xmax&&coordy>=ymin&&coordy<=ymax){num++;pts=tb[ix].getElementsByTagName("td")[2].innerHTML.toString();if(pts.match(/</)){pts=pts.match(/^\d{1,2}/)+"."+pts.match(/\d{1,3}$/)}arr.push([num,coordx,coordy,pts])}}else{alert("ATENÇÃO, lista incompleta!!\n\nPara ver a lista na totalidade carregue no link, em baixo:\n\n«"+tb[ix].getElementsByTagName("a")[0].innerHTML+"»")}}var lista=1;var outlista="";var popup=openWindow();for(var ix=0;ix<arr.length;ix++){if(contaChar(out1+out2+out3+10,"[")>maxParentesis){if(lista==1){alert("ATENÇÃO\n\nForam encontradas "+arr.length+" aldeias e, por haver limite de\nparêntesis em cada tópico no forum (max. 1000),\nvão ser produzidas várias listas.\n\nPrepare-se para fazer copy/paste de cada uma das listas")}outlista="Lista "+lista+"\n\n";out3="[spoiler][table][**]#[||]Aldeia[||]Pontos[||]Notas[/**]\n"+out3+"[/table]\n[spoiler]"+outraw+"[/spoiler][/spoiler]\n";printOut(popup,lista,outlista+out1+out2+out3);out3="";outraw="";lista++}num=arr[ix][0];coordx=arr[ix][1];coordy=arr[ix][2];pts=arr[ix][3];out3+="[*]"+num+"[|][coord]"+coordx+"|"+coordy+"[/coord][|]"+pts+"[|]\n";if(outraw!=""){outraw+=" "}outraw+=coordx+"|"+coordy}if(out3!=""){if(lista>1){outlista="Lista "+lista+"\n\n"}out3="[spoiler][table][**]#[||]Aldeia[||]Pontos[||]Notas[/**]\n"+out3+"[/table]\n[spoiler]"+outraw+"[/spoiler][/spoiler]\n"}else{out3="[i]Não foram encontradas aldeias[/i]\n"}printOut(popup,lista,outlista+out1+out2+out3);popup.document.write("</p>\n");popup.focus();die();function printOut(popup,lista,out){popup.document.write("<form name='select_all'>");popup.document.write("<input type='button' value='Highlight Text (lista "+lista+")' onClick='javascript:this.form.text_area.focus();this.form.text_area.select();'><br>");popup.document.write("<textarea name='text_area' rows='10' cols='60' style='backgound-color:#FFFFCC'>");popup.document.write(out+"\n");popup.document.write("</textarea>");popup.document.write("</form>")}function contaChar(str,char){return str.split(char).length}function openWindow(){var popup=window.open("","Comandos","status=0,toolbar=0,width=600,height=500,scrollbars=1");popup.moveTo(10,10);popup.document.body.innerHTML="";popup.scrollTo(0,0);popup.document.write("<p>Script: Lista de Aldeias de um Jogador\n");popup.focus();return popup}function die(msg){if(msg!==undefined)alert(msg);end()}
Última edição por um moderador: