Faux Rhum Le Faux Rhum Faux Rhum  

Le forum > Conseils > Enodia (script de déplacement)
Enodia (script de déplacement) 1 -2-  
Auteur Message
Alanis
Alanis
Déconnecté
Inscrit depuis le :
15/11/2005
Posté le 06/02/2024 à 16:23:51. Dernière édition le 06/02/2024 à 16:24:08 

Si je peux me permettre :

Je trouve dommage que les cases non accessibles affichent un cadre vert (au lieu de rouge sans Enodia). Et lorsqu'on qu'on clic dessus on a une page blanche :
Not Found
The requested URL was not found on this server. Apache/2.4.38 (Debian) Server at www.pirates-caraibes.com Port 443

(Navigateur Firefox)
Umji
Umji
Déconnecté
Inscrit depuis le :
07/01/2024
Posté le 06/02/2024 à 18:49:06. Dernière édition le 07/02/2024 à 04:23:12 

Salut,

est-ce que tu tentes de traverser une case cadavre de boss ?
est-ce que tu as bien la dernière version du script ?

Si le problème persiste malgré la màj, je veux bien savoir où tu as le pb sur la map pour comprendre ou aller voir sur place.

J'ai déjà prévenu qu'il y a un soucis avec les cadavres de boss. En fait, le pb existe de manière générale avec les cases qu'on peut traverser sans s'arrêter dessus. Si il existe d'autres cases de ce genre, ça peut p-e provoquer ce bug car le script n'intègre que les cases cadavre boss actuellement.

En attendant, essaie de traverser ce genre de case en "ligne droite" comme pour les cadavres de boss.

Sinon si tu parles de zone inaccessible, c'est étrange, j'ai pas du tout ça moi... Ici par exemple, moi j'ai bien toute la zone inaccessible derrière les murs en rouge avec la légende "Inaccessible" :
Spoiler
Normalement, le script fait l'inverse, il met en rouge des cases vertes inaccessibles justement.

Quand je clique, mon perso se déplace et s'arrête au mur...
Alanis
Alanis
Déconnecté
Inscrit depuis le :
15/11/2005
Posté le 08/02/2024 à 10:03:40. Dernière édition le 08/02/2024 à 10:05:15 

Salut,

Je me suis mal exprimé. J'entends par non-accesible" les cases qui ne sont pas dans l'alignement et la diagonale du perso.

Sans Enolia :

La case est rouge: Si je clique, il ne se passe rien.

Avec Enolia:

La case est verte. Si je clique, j'ai la page blanche avec le message d'erreur cité plus haut.
(J'ai bien la dernière version)
Umji
Umji
Déconnecté
Inscrit depuis le :
07/01/2024
Posté le 08/02/2024 à 11:17:20 

Essaie déjà de vider le cache de ton navigateur et de recharger la page en faisant  ctrl+F5. (procédure standard en qq sorte)

La case devenue verte est censée être accessible en 1clic grâce au script, c'est le but même d'Enodia. Chez moi, ça marche... et je suis sur firefox aussi. Donc jsp. Je vais te demander un peu plus d'info par mp tout à l'heure.
Duodenum
Duodenum
Déconnecté
Inscrit depuis le :
19/01/2024
Posté le 09/02/2024 à 17:21:58 

J'ai le même souci qu'Alanis, sous FF. ça fonctionnait bien avec Enodia 1.0 mais depuis que j'ai mis à jour, seule la ligne droite ne m'indique pas le message d'erreur après tentative de déplacement.
Umji
Umji
Déconnecté
Inscrit depuis le :
07/01/2024
Posté le 09/02/2024 à 18:16:00 

Dsl, vous êtes 4 maintenant. Mais c'est dur d'enquêter car j'ai encore aucun bug, j'arrive pas à le reproduire chez moi. Jsp pk.

Si tu veux m'aider à enquêter, je te passe la version beta qui est la même mais avec des détecteurs de bugs que j'ai ajoutés. Il faudra m'envoyer des captures écrans de la console. Plus de détails dans un post à venir,
Dame Bisou LenteAgonie
Dame Bisou LenteAgonie
Déconnecté
Inscrit depuis le :
28/09/2020
Posté le 09/02/2024 à 18:20:34 

J'ai tenté de l'installer. J'ai donc mis GreaseMonkey sur Firefox, installé le script. Premier clic, j'ai la même erreur qu'eux.
Dame Bisou LenteAgonie
Dame Bisou LenteAgonie
Déconnecté
Inscrit depuis le :
28/09/2020
Posté le 09/02/2024 à 18:22:41. Dernière édition le 09/02/2024 à 18:24:52 

Par contre, avec TamperMonkey, aucun souci.
Et ViolentMonkey ne pose aucun souci non plus.
Mais j'ai remis Greasemonkey par acquis de conscience, et ouais, direct j'ai le bug qui revient quand je clique pour me déplacer autrement qu'en ligne droite.
Umji
Umji
Déconnecté
Inscrit depuis le :
07/01/2024
Posté le 09/02/2024 à 18:29:37. Dernière édition le 10/02/2024 à 02:56:26 

Je vais tester greaseMonkey tout à l'heure, merci.

edit: dès que j'ai du ct
Ji Eun La Cutiie
Ji Eun La Cutiie
Déconnecté
Inscrit depuis le :
16/05/2020
Posté le 09/02/2024 à 18:31:05 

J'ai le bug aussi mais à l'auberge ça fonctionne, heureusement pour moi je passe 99% de mon temps là bas!
Ruben de las Tallarines
Ruben de las Tallarines
Connecté
 
Inscrit depuis le :
20/07/2007
Posté le 09/02/2024 à 19:32:17 

Ah oui, je précise également que j'ai dl le module sur "greaseMonkey" si ça peut donner un hint !
Umji
Umji
Déconnecté
Inscrit depuis le :
07/01/2024
Posté le 11/02/2024 à 03:14:04. Dernière édition le 11/02/2024 à 03:25:06 

J'ai testé les trois extensions dispo sur Firefox :
  •         greaseMonkey bug
  •         tamperMonkey et violentMonkey font tourner le script sans pb

Solution immédiate :

--------

Problème identifié.

C'est greaseMonkey qui ne sait pas lire une ligne précise du code alors qu'il devrait car ce que j'ai mis est standard. C'est pas du tout une erreur de programmation de ma part mais bien de greaseMonkey. C'est pourquoi je ne recommande pas trop cette extension.

Le problème est simple à résoudre sur le papier. Mais la solution que j'ai peut causer d'autres pb, plus rares mais sur toutes les extensions cette fois alors que j'avais tout résolu à priori...

Donc je sais pas si je vais adapter le script pour greaseMonkey qui me fait un bug sans erreur de programmation de ma part.

--------

Mes excuses à Alanis et Ruben

J'ai été très biaisée dans l'approche de résolution du bug. J'ai pas un seul instant pensé que ça pouvait venir d'une extension différente. Je vais améliorer ma checklist et l'écrire noir sur blanc, et étendre mes tests à l'avenir. Merci d'avoir pris le temps d'examiner le pb et travailler à sa résolution avec moi.

Bravo Dame Bisou, et merci aussi ^^

--------

ps: j'ai eu un pb dans mon navigateur quand j'ai installé greaseMonkey. Il marchait pas du tout bien qu'installé et actif parmi les extensions.

Par la suite, c'est toutes mes extensions qui ont planté. Elles fonctionnaient plus du tout. Ça n'a pas l'air lié à greaseMonkey bien que je l'ai cru au début.

Mais j'ai dû remettre tout Firefox à zéro en mode réparation (heureusement j'ai une sauvegarde cloud pour mes marque-pages, mdp et extension). Donc j'ai pris un jour de retard en plus le temps de résoudre ça aussi, d'autant que je voulais éviter un reset (j'ai un firefox assez personnalisé dans son apparence et je pensais devoir réinstaller aussi toutes mes extensions manuellement...)

C'était un peu la loi des séries là. ^^'
Dame Bisou LenteAgonie
Dame Bisou LenteAgonie
Déconnecté
Inscrit depuis le :
28/09/2020
Posté le 11/02/2024 à 11:44:09 

C'est cool si ça a pu servir.
Umji
Umji
Déconnecté
Inscrit depuis le :
07/01/2024
Posté le 17/02/2024 à 12:03:26 

Mise à jour 2.1

- Le menu "Gestion" accueille maintenant "Param. zone" et le "Journal de bord" qui étaient dans le menu "Information". Cela me semble plus logique : le menu Information ne conserve ainsi que les menus en "lecture seule" en plus d'être désengorgé à son tour après le menu Actions.

- Broutilles techniques du code pour le rendre un peu meilleur.

- C'est la mise à jour finale pour cette version 2 d'Enodia.
(version 3 en cours de développement
)

Lien habituel : https://update.greasyfork.org/scripts/485093/Enodia.user.js
Dream des Bois
Dream des Bois
Déconnecté
Inscrit depuis le :
09/12/2006
Posté le 17/03/2024 à 07:35:50 

Merci
Dream des Bois
Dream des Bois
Déconnecté
Inscrit depuis le :
09/12/2006
Posté le 05/07/2024 à 21:55:41 

J'aime beaucoup cette outil, merci beaucoup.
Calica
Calica
Déconnecté
Inscrit depuis le :
02/12/2011
Posté le 06/07/2024 à 13:07:41. Dernière édition le 06/07/2024 à 13:08:17 

Bonjour !

On vient de se rendre compte avec Edwin et Svet que les mises à jour des vues envoyées par l'extension Liberty Island pètent énormément de décors sur le Site du Borgne quand l'extension Enodia est installée et activée en parallèle.

On a testé avec / sans Enodia activée, et ça change les mises à jour sur le site du borgne, concernant de nombreux décors.
Et ça doit faire un moment, car on a un grand nombre de maps pétées du coup sur le site du borgne.
Gaston
Gaston
Déconnecté
 
Inscrit depuis le :
18/10/2007
Posté le 06/07/2024 à 13:47:03 

Et oui ça doit changer la structure du HTML de la map, sur laquelle l'extension du Borgne se base 
Umji
Umji
Déconnecté
Inscrit depuis le :
07/01/2024
Posté le 07/07/2024 à 03:27:53. Dernière édition le 07/07/2024 à 03:30:07 

Bonjour,

oui, c'est tout à fait possible que le script ne soit pas compatible avec d'autres scripts ou extensions utilisant la page de jeu. Comme souvent avec les scripts, Enodia change le code de la page.

La structure HTML de la map est légèrement modifiée, vraiment très peu. Si je me trompe pas, Enodia ajoute seulement deux div à la fin dans chaque td (soit "case" de la map). C'est possiblement ce qui pose problème.

Une correction possible serait de créer un 2nd tableau ou de cloner la map (méthode  bourrin mais très efficace à priori) à superposer par dessus celui de la map.

Hélas, je ne vais pas faire de gros travail sur ce script avant très longtemps. Mais le script est en licence libre si des volontaires ou les codeurs officiels veulent reprendre ce travail avant mon retour.
Umji
Umji
Déconnecté
Inscrit depuis le :
07/01/2024
Posté le 09/07/2024 à 12:20:19. Dernière édition le 09/07/2024 à 12:50:49 

J'ai regardé le code source de l'extension Liberty Island. Il me semble bien que les deux div ajoutées par Enodia posent problèmes en théorie.

fichier 'LibertyIsland_BrowserOverlay.js'
Lignes 4476 et 4477 :
  • const positionDecor = nodeTableCellMap.getElementsByTagName('div').length - (caseDivAr ? 2 : 1);
  • const divImgDecor = nodeTableCellMap.getElementsByTagName('div').item(positionDecor);
Ici, l'extension Liberty sélectionne toutes les div aveuglément dont les deux ajoutés par Enodia. On peut imaginer que ça se règle rapidement. Le plus simple me paraît de faire une toute petite mise à jour d'Enodia et de l'extension Liberty afin d'exclure les deux div d'Enodia. Par exemple, créer une .class commune aux 2 div d'Enodia, du nom "Enodiv" par exemple :
Spoiler
    function makeDiv(tdsq,color){
        let ndiv = pdocument.createElement('div');
        ndiv.className='wLayer';
        ndiv.style.backgroundColor= color;
        tdsq.appendChild(ndiv);
        if(tdsq.getAttribute('infocase')=="changementZone" && ysq==true){
            let ydiv = pdocument.createElement('div');
            ydiv.className='cdzLayer enodiv';
            tdsq.appendChild(ydiv);
        }

        let infod = pdocument.createElement('div');
        infod.className='infotip enodiv';
        tdsq.appendChild(infod);
    }

Puis dans l'extension Liberty, remplacer .getElementsByTagName('div') par .querySelectorAll('div:not(.enodiv)') dans les deux lignes susmentionnées et p-e qq autres. Ainsi ce serait juste quelques lignes de code à changer légèrement au lieu d'un plus gros travail sur Enodia. Par contre, ça demanderait à être testé.

C'est pas grave si le ou les codeurs de l'extension Liberty veut pas faire la modif, après tout je pourrais la faire moi-même. La version modifiée serait à télécharger à part par contre mais j'essayerais à terme de vous épargner l'installation manuelle en la proposant sur les stores d'extensions Firefox et Chrome moi aussi.

Edit: je me rends compte que je pourrais même éventuellement intégrer Enodia dans ma version modifiée de l'extension Liberty. Comme ça, vous auriez juste l'extension à dl, 2 en 1... enfin, c'est encore qu'une vague idée mais c'est techniquement possible sur le papier.

Le problème, c'est que là je théorise beaucoup. J'ai pas fini d'explorer le code de l'extension Liberty (que je dois étudier de toute façon pour comprendre quelles modif de la page de jeu peuvent poser pb) ; ça demande à être testé, ça prend encore du temps et on risque encore de bousiller des maps envoyées au site de Liberty...

Alors c'est une solution miracle mais pas trop, que je peux proposer dans l'immédiat, à tester "ça passe ou ça casse". Sinon je tenterai la solution du "2nd tableau" dont j'ai parlé, si je peux faire ça rapidement.

Mais dans tous les cas, je vous laisserai tester ça et si ça marche pas, il faudra s'en contenter pour un moment dsl. Je n'ai pas tellement le temps et l'envie de m'attarder dessus actuellement.
Calica
Calica
Déconnecté
Inscrit depuis le :
02/12/2011
Posté le 09/07/2024 à 15:39:31 

Merci d'avoir pris le temps de regarder et de nous avoir apporté une réponse, c'est cool !
Althea de Rioghan
Althea de Rioghan
Déconnecté
Inscrit depuis le :
07/07/2015
Posté le 09/07/2024 à 18:56:37 

Quel boulot Umji ! C'est top !
Umji
Umji
Déconnecté
Inscrit depuis le :
07/01/2024
Posté le 10/07/2024 à 14:38:27. Dernière édition le 10/07/2024 à 14:38:37 

Je voulais quand même vérifier si il y avait pas des solutions simples que je pourrais faire rapidement. Je pensais pas si bien dire en parlant d'intégrer Enodia dans l'extension Liberty. En fait, je viens de découvrir que ça pourrait être encore plus simple que je l'imaginais.

On peut ajouter des scripts et gérer leur ordre d'exécution dans le fichier manifest.json -> content scripts ; "manifest" est le fichier central de l'extension navigateur. Donc il suffit d'y ajouter Enodia après les scripts de Liberty Island, tout simplement. Liberty Island modifie quasiment pas la map et gênera pas du tout Enodia. J'ai vraiment confiance en cette solution.

Maintenant, il faut que je vois comment je compile ça. C'est très simple d'accéder au code et de le modifier. Mais pour tout remettre en ordre dans un fichier valide pour créer une extension, il faut des procédures informatiques que je connais pas encore. C'est la première fois que j'ouvre et bricole une extension.

Alors je ferai ça mais pas avant longtemps, quelques semaines ou mois.
1 -2-  

Le forum > Conseils > Enodia (script de déplacement)


Si vous souhaitez répondre à ce sujet, merci de vous connecter.
Marquer tout le forum comme lu
© 2004 - 2024 pirates-caraibes.com - Tous droits réservés