EpicSynchro
Encore un nouvel add-on pour EW, développé par mes soins cette fois (donc vérifiez que vous avez pas perdu le CD d'installation de windows
). Certains sont d'ailleurs peut être tombés sur mon rush test d'hier soir.
Elle permet dans un premier temps d'ajouter un chat à votre fenêtre EW, puis d'y poster ces log lors des attaques.
Il s'agit de scripts (oui il y en a deux pour le moment) greasemonkey, que certains ont déjà pour faire tourner EpicFriend. Pour les installer créez un nouveau script greasemonkey, avec n'importe quoi au début et copiez/collez le code du script donné à la place de la totalité du fichier texte qui va s'ouvrir. Je vais essayer de le mettre sous forme de fichier téléchargeable assez vite.
Ajout du chatEn fait c'est le wc escouade qui est utilisé. Il ne s'affiche par sur toutes les pages, seulement celles pouvant être utiles en synchro, ie les déplacements, les attaques, les soins et les enchantements.
Je voulais utiliser le chat du fofo (car mieux), mais l'affichage des logs est impossible par ce biais. Cependant, si vous en avez rien à foutre des logs, je peux facilement le mettre à la place (voir même mettre les 2, mais ça surchargerait vraiment la page :S)
Voici le bébé :
- Code:
-
// ==UserScript==
// @name EpicSynchro
// @namespace *
// @version 0.01.1
// @description Aide aux synchros pour les FdS
// @include http://xaeno.epic-war.net/choix_equip_arme.php*
// @include http://xaeno.epic-war.net/mouv.php?*
// @include http://xaeno.epic-war.net/mouv_fin.php*
// @include http://xaeno.epic-war.net/att_ench.php*
// @include http://xaeno.epic-war.net/att_ench_fin.php*
// @include http://xaeno.epic-war.net/att_p_cac.php*
// @include http://xaeno.epic-war.net/soigner.php*
// @include http://xaeno.epic-war.net/att_pet.php*
// ==/UserScript==
var grdeTable=document.getElementsByTagName('table')[0];
grdeTable.width='100%';
var placeChat=grdeTable.insertRow(3).insertCell(0);
placeChat.colSpan=2;
var adChat = 'http://xaeno.epic-war.net/frame_warchat.php?type=escouade';
placeChat.innerHTML='<div align="center" style="height: 564px;" id="chatbox_bottom"><iframe scrolling="no" height="100%" frameborder="0" width="100%" marginheight="0" marginwidth="0" id="frame_chatbox" src="' + adChat + '"></iframe></div>';
var ESbordure = grdeTable.rows[3].insertCell(1);
ESbordure.id ="frameFillerHR";
Postage des logsToute cette partie est gérée par le second script, toutefois il ne peut fonctionner que si il y a le premier. Ca veut dire qu'il ne pourra pas poster dans le wc escouade si il n'est pas ouvert dans la page avec le premier script.
Il ne postera pas tous les logs, seulement les attaques réussies et ratées, les enchantements offensifs réussis, les dez alliés réussis et les soins réussies. C'est effectivement au futur car il me manque des exemple de logs pour tout coder (cf plus bas).
Cela affiche et envoi à chacune des actions citées, une phrase du genre :
"LOG : Karkor a perdu 538 points de vie
LOG : Vous avez achevé Karkor"
Voici le second code :
- Code:
-
// ==UserScript==
// @name EpicSynchroLog
// @namespace *
// @version 0.01.1
// @description Extension de FdSynchro
// @include http://xaeno.epic-war.net/frame_warchat.php?type=escouade
// ==/UserScript==
//Traitement du Log si il y en a un
var logA = parent.document.getElementById('EW_Content_Action').innerHTML;
if (logA != null)
{
var logAffich = "";
var typeLog = logA.indexOf("Vous avez");
if (typeLog != -1)
{
var typeLogB = logA.indexOf("Veinard");
if (typeLogB != -1) //Si réussi grace à la chance
{
var logA = logA.substring((logA.indexOf("<br>"))+4,length(logA));
var typeLog = logA.indexOf("Vous avez");
}
var typeLogB = logA.indexOf("manqué");
if (typeLogB != -1)//Cas d'une attaque ratée (voir pour la chance)
var logAffich = "LOG : " + logA.substring(typeLog,typeLogB+9);
var typeLogB = logA.indexOf("touché");
if (typeLogB != -1) //Cas d'une attaque réussie
{
var typeLog = logA.indexOf("dégât");
var typeLogB = logA.indexOf("vie");
var logAffich = "LOG : " + logA.substring(typeLog+12,typeLogB+3);
}
var typeLogB = logA.indexOf("Vous avez achevé");
if (typeLogB != -1) //Cas d'un coup fatal
{
var typeLog = logA.indexOf("en lui infligeant");
var logAffich = "LOG : " + logA.substring(typeLogB,typeLog-1);
}
var typeLogB = logA.indexOf("Vous avez désenchanté") ;
if ( typeLogB != -1)//Cas d'un dez réussi
{
var typeLog = logA.indexOf("! Celui-ci n'a plus");
var logAffich = "LOG : " + logA.substring(typeLogB,typeLog+1);
}
if (logAffich != "") //Poste le log
{
document.getElementById('msg').value = logAffich ;
document.getElementsByTagName('input')[1].click();
}
}
}
Améliorations prévuesJe vais vous demander de m'aider maintenant pour me remonter les bugs et finir de coder le bestiau.
Tout d'abord si le chat apparait dans une fenêtre où ça ne devrait pas ou si ça vous poste un log sur une action qui ne devrait pas (une action pas prévue, une action prévue qui ne se poste pas ou un poste qui ressemble à rien), signalez le moi avec le plus de détails possibles (conditions, log original, log posté ...).
Ensuite il me manque pas mal de log pour que tout soit posté.
Pour le moment, est codé :
-attaque réussie
-attaque ratée
-coup critique
-kill
-désenchantement réussi
-chance qui marche du premier coup
-chance qui marche au second coup (mais pas vérifié)
Il reste donc :
-chance complétement foirée
-entrave réussie
-mala réussie
-réduction de fam réussie
-déplacement de fam réussi (mais je devrai finir par l'avoir moi même)
-dez allié réussi
et tout ce que j'ai oublié qui vous parez judicieux
-reste les soins mais c'est plus compliqué, car le nom de la cible n'apparait pas dans le log
Est aussi prévu pour des prochaines versions :
-une réduction du chat : pas des dimensions du chat réellement car ce n'est pas moi qui les choisi, mais enlever le blabla inutile en bas.
-le faire fonctionner sur tous les serveurs sans multiplier les scipts différents (cette version ne marche que pour xaeno, si vous voulez une adaptation pour les autres serveurs demandez moi en mp
). C'est surement lors de ce truc que je passerai à un seul script au total.
-permettre de paramétrer les actions que l'on veut poster ou non.
-un bouton pour n'afficher que le chat dans la partie droite.
-et idée de dernière minute, un bouton pour signaler la fin de son rush.
Pareil, si vous avez des idées, n'hésitez pas (même si là j'ai déjà de quoi m'occuper ^^) ou pour me signaler une idée qui vous semble prioritaire sur les autres.
Je finirai surement par la rendre public, quand elle sera complète et stable.
Si vous avez un nom un peu plus drôle que EpicCequejefais (quoi que EpicFriend ça fait plus appli facebook que aide tactique
) pour ne pas faire comme les autres, je prends aussi.
PS : C'est bien une blague au début. Rien de dangereux pour votre ordi la dedans