Bonjour à tous, voilà quelques jours que je me suis donc lancé dans le parsing de paquets réseau de Dofus 2.0. Les messages n'ont pas été compliqués, mais je m'attaque aux paquets de forgemagie et c'est tout de suite une autre histoire.
Après quelques recherches par ci par là, je comprends qu'il est composé de différents paquets. Je m'y attaque doucement et comprends vite que ce sera bien plus compliqué que prévu vu la gu**le des paquets. Les paquets ne correspondent pas vraiment aux scripts décompilés. Quatres paquets donnent des résultats sur l'état de l'item et ses caractéristiques. "ObjectQuantityMessage", "ObjectModifiedMessage", "ExchangeCraftResultMagicWithObjectDescMessage", "ExchangeObjectAddedMessage".
Deux problèmes arrivent :
- Les paquets ne donnent des informations que sur les stats et jamais sur le relicat. Vous allez me dire, il faut seulement toujours calculer la différence. Petit problème : si l'item a déjà du relicat, c'est mort mais surtout on arrive au deuxième problème
- Parfois : il n'y a aucun message. Tout simplement. On peut juste se dire qu'il y aura occasionnellement un petit décalage et assez rare et c'est bon. Sauf que non, pourquoi ? S'il n'y a que des échec et succès critique, ou des succès neutre ça va, au pire il y aurait un décalage, sauf que non, comme ça peut être les deux, les calculs sont faussés
Auriez-vous des conseils ? De plus je ne comprends pas certains paquets, le paquet "ObjectQuantityMessage" contient 7 ou 8 bytes d'entrée que je ne parviens pas à décoder. Pour les autres paquets, ce sont des approximations de mon ressort. Je pourrai faire un post détaillé qui explique tout ça une fois que j'aurai réussi (vous ne devinerez jamais comment la quantité est implémentée).
Est que vous avez des réponses, des pistes de réponse ou des exemples open-source.
PS : je fais en C++ pour une meilleure gestion de la mémoire, mais à priori à moins que ce soit des librairies bien spécifiques, je devrais pouvoir comprendre.
Merci pour votre lecture