Ben je veux bien vous donner du code mais dites moi ce que vous voudriez parce que je vous ait tout donné au dessus.
Je vais récapituler ce que j'ai et le problème :
J'ai la fenêtre de mon compte qui s'ouvre bien en même temps qu'une fenêtre de debugguage qui m’affiche les paquets reçu et envoyé sous la forme : [recu] id : id_du_packet | taille : taile_du_packet
Je lance donc la connexion et je reçoit et envoie bien tout les packets. Arrivé au TreatPacket dont j'ai partagé la case 151 :
Case 151
Dim CharactersList As New Messages.Game.Character.Choice.CharactersListMessage
CharactersList.unpack(reader)
Dim Characters As List(Of Types.Game.Character.Choice.CharactersBaseInformation) = CharactersList.Characters
Dim Message As New Messages.Game.Character.Choice.CharacterSelectionMessage
Message.initCharacterSelectionMessage(Characters(0).CharacterMinimalInfo.Id_perso)
Message.pack()
Il crée et unpack bien mon packet :
Namespace Messages.Game.Character.Choice
Public Class CharactersListMessage
Private _isInitialized As Boolean = False
Public HasStartupActions As Boolean = False
Public Characters As New List(Of Types.Game.Character.Choice.CharactersBaseInformation)
Public ProtocolId As UInteger = 151
Public Function CharactersListMessage()
Return Me
End Function
Public Function get_isInitialized() As Boolean
Return Me._isInitialized
End Function
Public Function getMessageId() As UInteger
Return ProtocolId
End Function
Public Function unpack(ByVal param1 As DataReader)
Me.deserializeAs_CharactersListMessage(param1)
Return Me
End Function
Public Function deserializeAs_CharactersListMessage(ByVal param1 As DataReader)
Dim _loc_4 As Integer
Dim _loc_5 As Types.Game.Character.Choice.CharactersBaseInformation
Me.HasStartupActions = param1.ReadBoolean()
Dim _loc_2 = param1.ReadUnSignedshort()
Dim _loc_3 As Integer = 0
Do While (_loc_3 < _loc_2)
_loc_4 = param1.ReadUnSignedshort()
_loc_5 = New Types.Game.Character.Choice.CharactersBaseInformation
_loc_5.Deserialize(param1)
Me.Characters.Add(_loc_5)
_loc_3 = _loc_3 + 1
Loop
Return Me
End Function
End Class
End Namespace
On voit que dans ce packet il en crée un autre, CharactersBaseInformation qui contient les infos de chaque personnages :
Namespace Types.Game.Character.Choice
Public Class CharactersBaseInformation
Public Sex As Boolean = False
Public Breed As Integer = 0
Public ProtocolId As UInteger = 45
Public CharacterMinimalInfo As New Types.Game.Character.CharacterMinimalInformations
Public Function CharactersBaseInformation()
Return Me
End Function
Public Function getTypeId() As UInteger
Return ProtocolId
End Function
Public Function deserialize(ByVal param1 As DataReader)
Me.deserializeAs_CharactersBaseInformation(param1)
Return Me
End Function
Function deserializeAs_CharactersBaseInformation(ByVal param1 As DataReader)
Me.Id_perso = param1.ReadInt()
Me.Level = param1.ReadUnsignedByte()
Me.Name = param1.ReadUTF()
Me.Breed = param1.ReadByte()
Me.Sex = param1.ReadBoolean()
Return Me
End Function
End Class
End Namespace
J'ai un peu modifier ce code par rapport à la dernière fois mais ça ne règle pas le problème.
J'ai transférer la lecture des infos dans ce packet pour éviter de faire un autre sous packet.
Et donc quand j'initialise le packet à envoyer tout se passe bien mais dans ma fenêtre de debugguage j'ai ça :
[Reçu] ID = 151 | Taille du contenu = 59
[Envoie] ID = 152, Taille = 4
[Reçu] ID = 5836 | Taille du contenu = 0
[Reçu] ID = 176 | Taille du contenu = 0
Voila j’espère que j'ai mieux expliqué.
Merci de votre aide.