Salut,

je me suis lancé dans la conception d'un bot Dofus 2 pour mieux comprendre le process, même s'il changera bientôt avec Unity. Je me suis basé sur les sources de labot pour partir de quelque chose de fonctionnel, jusqu'ici tout va bien.

mon point est que si j'arrive bien à injecter des requêtes (par exemple {"__type__": "ChatClientMultiMessage", "content": "a", "channel": 0}), lorsque je tente d'injecter une requête de déplacement ({"__type__": "GameMapMovementRequestMessage", "keyMovements": [12604,8535,8563], "mapId": 189793286.0} par exemple), il ne se passe absolument rien (pas de retour "game map movement"). J'ai pris cette requête au hasard en écoutant les requêtes qu'envoie le client quand je provoque un déplacement, pour le moment je n'ai pas implémenté de path finder ou autre.

Est ce que le problème est que la position de départ de mon personnage n'est pas la bonne pour le movement qui est envisagé ? Dans ce cas il faut que j'implémente le path finder. Ou est ce que c'est autre chose ?

Merci d'avance !

4 jours plus tard

J'ai finalement trouvé, je prenais mal en compte la case de départ

un mois plus tard

Je galère un peu aussi sur le deplacement, je sais que dans keyMovements il faut mettre un tableau des celluleIds par rapport a l'orientation du personnage, je sais qu'il faut un pathFinder pour trouver le chemin et ne garder que les lignes droites, mais je ne connais pas plus que ca... J'aimerais avoir de l'aide car je pense que la première etape est d'avoir pour chaque mapId, les cellId dsiponible de la map, pour ensuite faire un pathFinder et pour encoder les cellId par rapport a l'orientation, je n'en ai aucune idée non plus ... Merci de votre aide au cas ou

J'ai trouver ou récupérer les infos de chaque maps, j'ai utiliser le script decompile_items pour decompiler les maps, ensuite je ne comprend pas encore très bien comment utiliser les fichiers json generer, je vois qu'il y a les cellId dedans mais je suis un peu perdu

Je bosse plus sur retro, mais dans les donnees de la map tu dois avoir toutes les descriptions des cells (si la cell est marcheable, si il y a un obstacle, les resources sur la cells). Apres pour trouver le chemin, il faut implementer l'algo A*. Le mieux est de trouver une version decompiler du client et de regarder comment l'algo est implemente pour le copier exactement.