A
Bonjour,
Je suis toujours en train de coder mon bot et je viens de remarquer que la manière de se déplacer (avec GameMapMovementRequestMessage et GameMapMovementConfirmMessage) a changé...
En effet, les cellId qu'envoie le client officiel ne sont plus toujours les mêmes pour une même case. Cela varie en fonction de l'orientation que doit prendre le personnage pour se déplacer :
D'après mes observations qui, je pense, ne sont pas erronées.
Bien sûr il n'y a pas toutes les possibilités (il y a 8 orientations possibles).
Si on n'adapte pas les cellId, on reçoit un beau ConsoleMessage (ProtocolId = 75) :
Bien sûr le message change en fonction d'où on veut se déplacer...
Avez-vous constaté la même chose ?
Quelle méthode vous semble la meilleure pour se déplacer (en gros comment détecter dans quel sens va devoir aller le personnage) ? J'ai bien pensé à essayer toutes les solutions possibles mais ça fait un peu bourrin (mais bon ça fonctionne quand même).
Je suis toujours en train de coder mon bot et je viens de remarquer que la manière de se déplacer (avec GameMapMovementRequestMessage et GameMapMovementConfirmMessage) a changé...
En effet, les cellId qu'envoie le client officiel ne sont plus toujours les mêmes pour une même case. Cela varie en fonction de l'orientation que doit prendre le personnage pour se déplacer :
- Si le personnage doit s'orienter vers la droite pour bouger, alors l'ID de la case est normal (par exemple avec la case 0, l'ID reste 0)
- Si le personnage doit s'orienter vers le bas pour bouger, alors l'ID de la case vaut ID_de_base + 8192 (par exemple l'ID de la case 0 devient 8192, l'ID de la case 28 vaut 8220)
- Si le personnage doit s'orienter dans le sens droite-bas (en biais quoi), alors l'ID de la case vaut ID_de_base + 4096 (par exemple l'ID de la case 0 devient 4096, l'ID de la case 14 vaut 4110)
D'après mes observations qui, je pense, ne sont pas erronées.
Bien sûr il n'y a pas toutes les possibilités (il y a 8 orientations possibles).
Si on n'adapte pas les cellId, on reçoit un beau ConsoleMessage (ProtocolId = 75) :
(content = Chemin [499, 500] : Impossible de passer par la cellule 500 ; type = 2)
Avez-vous constaté la même chose ?
Quelle méthode vous semble la meilleure pour se déplacer (en gros comment détecter dans quel sens va devoir aller le personnage) ? J'ai bien pensé à essayer toutes les solutions possibles mais ça fait un peu bourrin (mais bon ça fonctionne quand même).