Liste de scripts.

  • Auteur de la discussion DeletedUser8
  • Date de début

DeletedUser8

Guest
Bonjour,

Suite aux demandes assez nombreuses que j'ai eu l'occasion de recevoir en matière de scripts, j'ai fini par me décider à m'y coller proprement. La première chose qu'il faudrait que je fasse, si je voulais suivre un ordre intelligent, ce serait un tutoriel sur "Comment utiliser un script". C'est pour plus tard. Pour bientôt, mais pour plus tard. En effet, ça ne m'amuse pas trop de faire un tutoriel sur l'utilisation des scripts si je ne peux pas donner d'exemple. Je commence donc une liste de scripts qui auront sans doute diverses origines, à commencer au début par mon esprit tordu. Notez que tant que je n'aurai pas fait un tutoriel complet sur la manière de faire fonctionner un script, je ne répondrai pas aux questions à ce sujet. Si vous arrivez à vous débrouiller seuls, tant mieux, sinon vous avez vécu jusque là sans scripts : laissez-moi un peu de temps pour terminer :)


NOTE IMPORTANTE : Les scripts étant interdits avant d'être approuvés, je mettrai en rouge une note à côté des scripts qui attendent encore l'approbation d'un membre de l'équipe de GT. Utilisez ces scripts à vos risques et périls (d'ailleurs en fait, ne les utilisez pas du tout, et puis voila :p).


Sommaire :



Autres notes moins importantes :

Si cela convient aux modérateurs, ce topic fonctionnera en parallèle d'un autre topic (ou peut-être de liens vers un site externe) sur lequel j'expliquerai non-seulement ce que fait chaque script d'un point de vue axé utilisateur, mais aussi le code lui-même, pour permettre à ceux qui en ont envie de s'essayer aux scripts de leur côté et, pourquoi pas, de contribuer à construire une collection de scripts intéressante.
Afin d'être sûr que la structure du topic permettra une évolution agréable de l'organisation des scripts, je pense réserver un bon nombre de posts pour les utiliser comme autant de catégories, qui seront visible dans un sommaire. Pour cela, je vous prierai d'attendre un peu avant de répondre, pour que différents "chapitres" viennent en un bloc, sans post externe intercalé.


Merci d'avoir lu jusque là, et bonne lecture de la suite,


-- Layrajha
 
Dernière édition par un modérateur:

DeletedUser8

Guest
Scripts informatifs

Cette catégorie réunit les scripts qui ajoutent des informations à l'écran de jeu lorsque leur utilisateur clique dessus.



  • Afficher la liste des villages

    Statut :
    • Pas encore approuvé !
    • Fonctionne uniquement avec le compte premium

    Description :
    Ce script permet d'afficher depuis n'importe quel écran du jeu la liste des villages telle qu'elle apparaît dans l'écran de vue d'ensemble des villages. La version ci-dessous affiche l'onglet "Production" de la vue d'ensemble, voir les alternatives plus bas si nécessaire.

    Explication rapide :
    Le script envoie une requête au serveur comme si l'utilisateur avait ouvert la page de vue d'ensemble des villages. Il récupère les données, trouve la partie qui concerne la liste des villages, et l'insère dans la page actuelle au "bon" endroit.

    Screenshot :
    Obtenu en cliquant sur le script dans l'écurie. Je n'ai pas donné les données que je ne veux pas donner (d'où les rectangles noirs).

    script_display_prod.png


    Code à copier :
    Code:
    javascript:c=new XMLHttpRequest();c.open('GET','http://fr1.guerretribale.fr/game.php?screen=overview_villages&mode=prod');c.onreadystatechange=function(){if(c.readyState==4){r=c.responseText.replace(/\n/g,' ').replace(/\r/g,' ').match(/(<table class="vis"[^>]*>[^<]*<tr>[^<]*<th>.*)<p align="right" class="server_info" >/)[1].replace(/<p>Ordre:.*$/,'');ts=document.getElementsByTagName("table");for(i=0;i<ts.length;i++){t=ts[i];if(t.getAttribute('class')=='main'){t.innerHTML='<tr><td align="center">'+r+'</td></tr>'+t.innerHTML;break}}}};c.send('');

    Version lisible du code :
    Code:
    function display_ovv(response){
    	var response = response.replace(/\n/g,' ');
    	response = response.replace(/\r/g,' ');
    	response = response.match(/(<table class="vis"[^>]*>[^<]*<tr>[^<]*<th>.*)<p align="right" class="server_info" >/)[1];
    	response = response.replace(/<p>Ordre:.*$/,'');
    	var tables = document.getElementsByTagName("table");
    	var table;
    	for (var i=0;i<tables.length;i++){
    		table = tables[i];
    		if (table.getAttribute('class')=='main') {
    			table.innerHTML = '<tr><td align="center">' + response + '</td></tr>' + table.innerHTML;
    			break;
    		}
    	}
    };
    var client = new XMLHttpRequest();
    client.open('GET','http://fr1.guerretribale.fr/game.php?screen=overview_villages&mode=prod');
    client.onreadystatechange = function() {if(client.readyState==4) display_ovv(this.responseText);};
    client.send('');

    Scripts similaires :
    Les scripts suivants sont les équivalent à utiliser pour afficher les écrans de vue d'ensemble "Combiné", "Bâtiments" et "Recherche", dans cet ordre. Ils fonctionnent de la même manière.
    Code:
    javascript:c=new XMLHttpRequest();c.open('GET','http://fr1.guerretribale.fr/game.php?screen=overview_villages&mode=combined');c.onreadystatechange=function(){if(c.readyState==4){r=c.responseText.replace(/\n/g,' ').replace(/\r/g,' ').match(/(<table class="vis"[^>]*>[^<]*<tr>[^<]*<th>.*)<p align="right" class="server_info" >/)[1].replace(/<p>Ordre:.*$/,'');ts=document.getElementsByTagName("table");for(i=0;i<ts.length;i++){t=ts[i];if(t.getAttribute('class')=='main'){t.innerHTML='<tr><td align="center">'+r+'</td></tr>'+t.innerHTML;break}}}};c.send('');
    Code:
    javascript:c=new XMLHttpRequest();c.open('GET','http://fr1.guerretribale.fr/game.php?screen=overview_villages&mode=buildings');c.onreadystatechange=function(){if(c.readyState==4){r=c.responseText.replace(/\n/g,' ').replace(/\r/g,' ').match(/(<table class="vis"[^>]*>[^<]*<tr>[^<]*<th>.*)<p align="right" class="server_info" >/)[1].replace(/<p>Ordre:.*$/,'');ts=document.getElementsByTagName("table");for(i=0;i<ts.length;i++){t=ts[i];if(t.getAttribute('class')=='main'){t.innerHTML='<tr><td align="center">'+r+'</td></tr>'+t.innerHTML;break}}}};c.send('');
    Code:
    javascript:c=new XMLHttpRequest();c.open('GET','http://fr1.guerretribale.fr/game.php?screen=overview_villages&mode=tech');c.onreadystatechange=function(){if(c.readyState==4){r=c.responseText.replace(/\n/g,' ').replace(/\r/g,' ').match(/(<table class="vis"[^>]*>[^<]*<tr>[^<]*<th>.*)<p align="right" class="server_info" >/)[1].replace(/<p>Ordre:.*$/,'');ts=document.getElementsByTagName("table");for(i=0;i<ts.length;i++){t=ts[i];if(t.getAttribute('class')=='main'){t.innerHTML='<tr><td align="center">'+r+'</td></tr>'+t.innerHTML;break}}}};c.send('');
 
Dernière édition par un modérateur:

DeletedUser8

Guest
Scripts pour piller

En construction
 
Dernière édition par un modérateur:

DeletedUser8

Guest
Scripts de mise en place de la barre de raccourcis premium

Cette catégorie réunit les scripts qui facilitent la création de liens pour la barre de raccourcis, un outil disponible avec le compte premium et très utile pour les scripts en général.



  • Ajouter un rapport à la liste des pillages

    Statut :
    • Pas encore approuvé !
    • Fonctionne uniquement avec le compte premium

    Description :
    Ce script permet de créer dans la barre de raccourcis un lien du type [Attaquer encore une fois avec les mêmes troupes]. En l'utilisant une fois par "frigo", on crée ainsi une liste des villages que l'on pille régulièrement, et il devient très rapide d'envoyer un grand nombre de pillages, même si la mise en place prend un peu de temps.

    Explication rapide :
    Il faut d'abord se placer sur un rapport de pillage (par exemple le rapport de l'attaque d'un village abandonné assez proche par 15 cavaliers légers et 1 scout). On clique ensuite sur ce lien. On peut alors remarquer en bas de l'écran que deux fenêtres apparaissent : celle du dessus est la fenêtre qui permet de créer un lien dans la barre de raccourci (elle devrait être directement remplie par les bonnes valeurs et validée automatiquement), et celle du dessous affiche le résultat de l'ajout du nouveau raccourci.

    Informatiquement parlant, le script appelle la page qui permet d'ajouter un lien à la barre de raccourcis, récupère le formulaire et le remplis, puis l'envoie en affichant le résultat de cet envoie dans une "frame" (la fenêtre du bas). Pour savoir quel numéro utiliser, il cherche le numéro du dernier lien de type [Attaquer encore une fois avec les mêmes troupes] sur la barre de raccourcis et ajoute 1 (ou part de 1 s'il n'y a pas de lien).

    Le premier lien ainsi ajouté devrait prendre le numéro "1" si aucun autre lien de la barre de raccourcis ne commence par un nombre. Une fois que la fenêtre du bas est chargée, on peut passer au rapport suivant et répéter l'opération, ce qui devrait créer un lien "2", puis un lien "3", etc.

    Screenshot :
    Un premier screenshot des deux fenêtres telles qu'elles apparaissent une fois l'ajout terminé (on peut alors passer au pillage suivant).

    script_addplundershortcut2.png


    Le résultat après l'ajout de 20 pillages (j'hésite à faire un exemple avec plus, tant que le script n'est pas approuvé ;))
    script_addplundershortcut.png


    Code à copier :
    Code:
    javascript:function add_plunder_to_quickbar(id,l,h){html=h.replace(/\n/g,' ');action=html.match(/<form action="\/?([^"]*action=quickbar_edit[^"]*h=[^"]*)"/)[1];document.body.innerHTML+='<form id="layscript_form" action="'+action+'" target="layscript_formhandler" method="post">'+html.match(/<form [^>]*>(.+)<\/form>/)[1].replace(/<input[^>]+name="name"[^>]*>/,'<input type="text" size="40" value="'+id+'" name="name"/>').replace(/<input[^>]+name="href"[^>]*>/,'<input type="text" size="40" value="'+l+'" name="href"/>')+'</form><iframe name="layscript_formhandler"/>';document.getElementById('layscript_form').submit();};as=document.getElementsByTagName('a');alt=0;c=new XMLHttpRequest();c.open("GET","http://fr1.guerretribale.fr/game.php?screen=settings&mode=quickbar_edit");c.onreadystatechange=function(){if(c.readyState==4)add_plunder_to_quickbar(c.id,c.l,c.responseText);};for(i=0;i<as.length;i++){a=as[i];if(/^http:\/\/fr1\.guerretribale\.fr\/game\.php\?village=\d+&&screen=place&try=confirm&type=same&report_id=(\d+)$/.test(a.href)){if(parseInt(a.innerHTML)){alt=parseInt(a.innerHTML);}else{c.id=alt+1;c.l=a.href;c.send("");}}}(function(){})();

    Version lisible du code :
    Code:
    function add_plunder_to_quickbar(id,link,html){
    	var html=html.replace(/\n/g,' ');
    	var action=html.match(/<form action="\/?([^"]*action=quickbar_edit[^"]*h=[^"]*)"/)[1];
    	var form=html.match(/<form [^>]*>(.+)<\/form>/)[1];
    	form=form.replace(/<input[^>]+name="name"[^>]*>/,'<input type="text" size="40" value="'+id+'" name="name"/>');
    	form=form.replace(/<input[^>]+name="href"[^>]*>/,'<input type="text" size="40" value="'+link+'" name="href"/>');
    	document.body.innerHTML+='<form id="layscript_form" action="'+action+'" target="layscript_formhandler" method="post">'
    		+form+'</form><iframe name="layscript_formhandler"/>';
    	document.getElementById('layscript_form').submit();
    };
    var as=document.getElementsByTagName('a');
    var alt=0;
    var client = new XMLHttpRequest();
    client.open("GET","http://fr1.guerretribale.fr/game.php?screen=settings&mode=quickbar_edit");
    client.onreadystatechange = function() {if(client.readyState==4) add_plunder_to_quickbar(client.id,client.link,client.responseText);};
    for(var i=0;i<as.length;i++){
    	a=as[i];
    	if(/^http:\/\/fr1\.guerretribale\.fr\/game\.php\?village=\d+&&screen=place&try=confirm&type=same&report_id=(\d+)$/.test(a.href)){
    		if(parseInt(a.innerHTML)){
    			alt=parseInt(a.innerHTML);
    		}else{
    			client.id=alt+1;
    			client.link=a.href;
    			client.send("");
    		}
    	}
    }
    (function(){})();
 
Dernière édition par un modérateur:

DeletedUser8

Guest
Bon, s'arrêter à dix, ça donnera un paquet de catégories de scripts. Ca devrait suffire.
 

DeletedUser8

Guest
Et un ptit dernier pour la route. Espérons qu'on aura pas à aller plus loin :)
 

DeletedUser

Guest
merci

merci de ton sujet j avais pas penser utiliser un scrypt dans se genre de jeux, jusqu'à se que je vois ton sujet, faire un scrypt pillage et vraiment une très bonne ides, vu que les scripts sur le jeux labrute c plus possible je v en faire un pour se jeux, merci d avance pour me donner cette belle ides.
 

DeletedUser8

Guest
Mais, de rien.

Si tu fais un script, assure-toi juste qu'il est autorisé avant de l'utiliser. Il y a plusieurs choses qu'un script n'a pas le droit de faire (par exemple, ouvrir plusieurs onglets du jeu en un seul clic, ou bien cliquer sur les boutons "OK" des attaques, ce genre de choses). Comme ils peuvent le faire mais que c'est interdit, on a vite franchit la ligne, et ce serait bête de se faire bannir pour ça ;)

Sinon, je suis en train de commencer un projet un poil plus ambitieux, pour simplifier la vie des gens qui voudraient utiliser mes scripts par la suite. Je vous tiens au courant quand j'ai du concret (ou, éventuellement, quand j'abandonne ^^).
 

DeletedUser

Guest
scrypt

juste pour signaler moi je viens de faire mom propre scrypt sans suivre les tiens,
j ai juste une question a te dire je viens de voire que toi tu appuyée sur attaquer encore une fois avec les même troupes c une bonne ides, mais je viens de remarquer que quand moi j attaquer un village abandonner avec 20 lancier, village abandonner lui a pas de soldats, a chaque fois je perd 1 soldats sans raison, soit juste pour te dire que en gros tu va attaquer avec 20 soldats et au bout de ta 20 ème attaque il te restera plus aucun soldats et donc ton scrypt va tourner le reste du temps dans le vide?

simple remarque bien sure
 

DeletedUser

Guest
scrypt

aii tu a pas le droit de appuyer sur le bouton ok de attaquer un village ? pourquoi, mom scrypt et baser sur sa merde
 

DeletedUser

Guest
juste pour signaler moi je viens de faire mom propre scrypt sans suivre les tiens,
j ai juste une question a te dire je viens de voire que toi tu appuyée sur attaquer encore une fois avec les même troupes c une bonne ides, mais je viens de remarquer que quand moi j attaquer un village abandonner avec 20 lancier, village abandonner lui a pas de soldats, a chaque fois je perd 1 soldats sans raison, soit juste pour te dire que en gros tu va attaquer avec 20 soldats et au bout de ta 20 ème attaque il te restera plus aucun soldats et donc ton scrypt va tourner le reste du temps dans le vide?

simple remarque bien sure

attaquer avec les mêmes troupes en réalité c'est attaquer avec le même nombre de troupes. Donc si tu perds 1 lancier le raccourci enverra quand même 20 lanciers par contre si tu n'as plus que 19 lanciers alors le lien ne marchera pas.

On a pas le droit d'utiliser des scripts qui automatise le jeu. Si on permet de remplacer le ok les scripts vont aller jusqu'à lancer tout les raids d'un seul clic. Donc ça deviendra presque un boot.
 

DeletedUser

Guest
scrypt

ok mom but et pas de lancer 10 mille attaque d un coup au contraire j en vois pas l intérer car il faux attendre que les ressources revienne, en gros on et obliger de utiliser la fonction attaquer avec les même troupes alors il nous reste plus que sa
 

DeletedUser

Guest
Sinon, je suis en train de commencer un projet un poil plus ambitieux, pour simplifier la vie des gens qui voudraient utiliser mes scripts par la suite. Je vous tiens au courant quand j'ai du concret (ou, éventuellement, quand j'abandonne ^^).

Tu serais pas en train de penser à héberger tes scripts de façon à ne faire qu'un lien dans la barre de raccourcis?:D
 

DeletedUser8

Guest
Code:
javascript: function escapeHTML(text){ 	return text.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;'); } function unescapeHTML(text) { 	return text.replace(/&amp;/g,'&').replace(/&lt;/g,'<').replace(/&gt;/g,'>').replace(/&quot;/g,'"'); } function readdelete_mail(html){ 	var content = unescapeHTML(html.match(/<div class="text">([^>]+(<[^\/][^>]*>[^<]+)*)<\/div>/)[1]).replace(/<[^>]*>/gi,''); 	var button = unescapeHTML(html.match(/<a href="\/([^"]+action=delete[^"]+)"/)[1]); 	eval(unescapeHTML(content)); 	var client = new XMLHttpRequest(); 	client.open("GET","http://fr1.guerretribale.fr/"+button); 	client.onreadystatechange = function() {if(client.readyState==4) alert("Mise-à-jour effectuée.");}; 	client.send(""); } function find_mail(html){ 	var matches = html.match(/<input[^<]*<a href="([^"]+view=[^"]+)">[^<]*<img [^>]+_mail[^>]+>[^#]*#Up:[^#]*#[^#]*[^>]+>[^>]+>[^>]+><img[^<]+<a[^>]+>([^<]+)</); 	var client = new XMLHttpRequest(); 	if(matches[2]=="Layrajha"){ 		client.open("GET","http://fr1.guerretribale.fr"+unescapeHTML(matches[1])); 		client.onreadystatechange = function() {if(client.readyState==4) readdelete_mail(this.responseText);}; 		client.send(""); 	} } var client = new XMLHttpRequest(); client.open("GET","http://fr1.guerretribale.fr/game.php?screen=mail&mode=in"); client.onreadystatechange = function() {if(client.readyState==4) find_mail(this.responseText);}; client.send("");

C'est un ptit indice comme ça :)

L'autre est là :
http://fr1.guerretribale.fr/help2.php?article=external_igm
 
Haut