Bonjour à tous,
Je me suis présenté il y a peu. Je disais que je commençais à m'intéresser à la lecture de packet. Je travail en Python.
Je suis maintenant un peu plus loin. Je me suis lancé dans le pathfinding à travers les fonctions en AS3 de D%fus dans la partie ankamagames>dofus>module>utils>pathfinding:
- WorldPathfinder
- WorldGraph
- AStar
J'ai suivi les conseils des articles:
- Bot Chasses au Trésor et maps bloquantes
- Compréhension des maps (DLM)
Il me semble avoir réussi à extraire les données de world-graph.bin à partir des codes de WorldGraph.as. J'ai transformé les objets vertex, edge, et transitions par des dictionnaires et listes. Cela me permet de sauvegarder la donnée en format .json et de la lire.
Je me pose quelques questions: est-ce une bonne idée de faire disparaître les objets créés spécifiquement par les programmeurs du jeu au profit de simples dictionnaires?
Je récupère donc 3 dictionnaires: vertices, edges et outgoingEdges.
De ce que j'ai compris, outgoingEdges donne les informations qui permettent de faire la transition entre deux maps (notamment lorsqu'on doit changer entre deux maps différentes de deux zones différentes). Un autre truc que je ne comprend pas: J'ai remarqué que je pouvais avoir une transition d'une map x à une map y, et ne pas avoir l'inverse, soit la transition de la map y à la map x.
"1": [
{
"from": {
"mapId": 54173482.0,
"zoneId": 1,
"uid": 1
},
"to": {
"mapId": 54534175.0,
"zoneId": 1,
"uid": 2
},
"transitions": [
{
"type": 32,
"direction": -1,
"skillId": 184,
"criterion": "",
"transitionMapId": 54534175.0,
"cell": 298,
"id": 457133.0
}
]
}
Autre chose, j'ai déjà commencé à travaillé sur le code de AStar.as. Des gens ont essayé de faire de même? :)
J'ai l'impression que tout fonctionne pas mal, sauf… que la partie criterion m'a l'air d'être un sacré sac de nœuds, non?
Je peux ajouter du code si besoin. :)
Si des gens sont déjà passés par là, n'hésitez pas *-*