Bonjour, bonnes fêtes à vous pour commencer.
J'ai actuellement un soucis !
En effet, je souhaite parler avec un PNJ à l'aide de mon programme mais un problème survient alors.
Quand je sniffe, voilà ce que j'envoie (à l'aide du client donc)
Client : Id=5898 Len=9
FF FF FF FF 03 03 F0 0A 02
Et voici avec quoi je l'écris :
param1.WriteInt32(Me.npcId)
param1.WriteByte(Me.npcActionId)
param1.WriteInt32(Me.npcMapId)
Si on analyse ce packet,
FF FF FF FF <=> param1.WriteInt32(Me.npcId)
03 <=> param1.WriteByte(Me.npcActionId)
03 F0 0A 02 <=> param1.WriteInt32(Me.npcMapId)
Et voilà ce que envoie mon programme :
Bot : Id=5898 Len=9
00 00 05 F7 03 03 F0 0A 02
De la même manière, si on analyse ce packet
00 00 05 F7 <=> param1.WriteInt32(Me.npcId)
03 <=> param1.WriteByte(Me.npcActionId)
03 F0 0A 02 <=> param1.WriteInt32(Me.npcMapId)
Je vous vois venir : "Bah tu sais qu'il faut envoyer FF FF FF FF, pourquoi tu le fait pas ?"
Le problème étant que lors de la deserialization du packet 226, je trouve que l'ID du PNJ auquel je souhaite interagir est 1527
Or, 1527 en Hexa donne bien 5F7(et non pas 4294967295, qui es l'écriture décimale de FF FF FF FF comme le dit le client)
De plus mon Writer est correct puisque l'écriture de la MapId est elle aussi en Int32 et est pourtant cohérente avec mon packet sniffer
Pour résumer, pourquoi le client envoie FF FF FF FF ? Je souhaite comprendre car l'erreur m'échappe, c'est surement quelque chose de tout simple pourtant ..
J'espère que mon problème a été expliqué clairement, si ce n'est pas le cas n'hésitez pas à me demander.