Ben oui c'est le bon level donc le problème vient pas de mon reader unsignedbytes.
Voici mes codes : (Attention la vue ça peut piquer ;) )
Case 151 ' Quand je reçoit la liste des joueurs
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) 'J'ai verifier le level et le nom ici et ils sont bien trasmis
Message.pack()
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
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)
CharacterMinimalInfo.deserialize(param1)
Me.Breed = param1.ReadByte()
Me.Sex = param1.ReadBoolean()
Return Me
End Function
End Class
End Namespace
Namespace Types.Game.Character
Public Class CharacterMinimalInformations
Public Id As Integer = 0
Public Level As Byte = 0
Public Name As String = ""
Public ProtocolId As UInteger = 110
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_CharacterMinimalInformations(param1)
Return Me
End Function
Function deserializeAs_CharacterMinimalInformations(ByVal param1 As DataReader)
Me.Id = param1.ReadInt()
Me.Level = param1.ReadUnsignedByte()
Me.Name = param1.ReadUTF()
MsgBox(Id & " " & Level & " " & Name) ' Verification : j'otiends les bon level et nom qui sont bien transmis au treatpacket
Return Me
End Function
End Class
End Namespace
Namespace Messages.Game.Character.Choice
Public Class CharacterSelectionMessage
Private _isInitialized As Boolean = False
Public id As Integer = 0
Public protocolId As UInteger = 152
Public Function CharacterSelectionMessage()
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 initCharacterSelectionMessage(ByVal param1 As Integer) As CharacterSelectionMessage
Me.id = param1
Me._isInitialized = True
Return Me
End Function
Public Function pack()
Dim _loc_2 As New DataWriter
Me.serializeAs_CharacterSelectionMessage(_loc_2)
DataWriter.Send(protocolId)
Return Me
End Function
Public Function serializeAs_CharacterSelectionMessage(ByVal param1 As DataWriter)
param1.WriteInt(id)
Return Me
End Function
End Class
End Namespace
Erreur : Je reçoit le paquet 5836 qui s'appelle : CharacterSelectedErrorMessage et qui ne donne pas plus d'infos.
Bonne chance car la je sèche total ... ;)
PS: Je sens que ça va être le truc le plus bête qui existe ... Essayez de pas trop vous foutre de moi :)