J'ai trouver , il falait faire readbyte() au lieux de readShort() :)
Salut, jai un probléme avec le paket CharacterCharacteristicsInformations (8) enfaite il me sort "Arithmetic operation resulted in an overflow." sur la ligne " Me.lifePoints = param1.ReadShort()" de CharacterCharacteristicsInformations
voici mes class
CharacterCharacteristicsInformations
Imports BBot.Utils
Imports BBot.Network.Types.Game.Charactere.Alignement
Namespace Network.Types.Game.Charactere.Characteristic
Public Class CharacterCharacteristicsInformations
Public experience As Long = 0
Public experienceLevelFloor As Long = 0
Public experienceNextLevelFloor As Long = 0
Public kamas As UInteger = 0
Public statsPoints As UInteger = 0
Public spellsPoints As UInteger = 0
Public alignmentInfos As ActorExtendedAlignmentInformations
Public lifePoints As UInteger = 0
Public maxLifePoints As UInteger = 0
Public energyPoints As UInteger = 0
Public maxEnergyPoints As UInteger = 0
Public actionPointsCurrent As Integer = 0
Public movementPointsCurrent As Integer = 0
Public initiative As CharacterBaseCharacteristic
Public prospecting As CharacterBaseCharacteristic
Public actionPoints As CharacterBaseCharacteristic
Public movementPoints As CharacterBaseCharacteristic
Public strength As CharacterBaseCharacteristic
Public vitality As CharacterBaseCharacteristic
Public wisdom As CharacterBaseCharacteristic
Public chance As CharacterBaseCharacteristic
Public agility As CharacterBaseCharacteristic
Public intelligence As CharacterBaseCharacteristic
Public range As CharacterBaseCharacteristic
Public summonableCreaturesBoost As CharacterBaseCharacteristic
Public reflect As CharacterBaseCharacteristic
Public criticalHit As CharacterBaseCharacteristic
Public criticalHitWeapon As UInteger = 0
Public criticalMiss As CharacterBaseCharacteristic
Public healBonus As CharacterBaseCharacteristic
Public allDamagesBonus As CharacterBaseCharacteristic
Public weaponDamagesBonusPercent As CharacterBaseCharacteristic
Public damagesBonusPercent As CharacterBaseCharacteristic
Public trapBonus As CharacterBaseCharacteristic
Public trapBonusPercent As CharacterBaseCharacteristic
Public permanentDamagePercent As CharacterBaseCharacteristic
Public tackleBlock As CharacterBaseCharacteristic
Public tackleEvade As CharacterBaseCharacteristic
Public PAAttack As CharacterBaseCharacteristic
Public PMAttack As CharacterBaseCharacteristic
Public pushDamageBonus As CharacterBaseCharacteristic
Public criticalDamageBonus As CharacterBaseCharacteristic
Public neutralDamageBonus As CharacterBaseCharacteristic
Public earthDamageBonus As CharacterBaseCharacteristic
Public waterDamageBonus As CharacterBaseCharacteristic
Public airDamageBonus As CharacterBaseCharacteristic
Public fireDamageBonus As CharacterBaseCharacteristic
Public dodgePALostProbability As CharacterBaseCharacteristic
Public dodgePMLostProbability As CharacterBaseCharacteristic
Public neutralElementResistPercent As CharacterBaseCharacteristic
Public earthElementResistPercent As CharacterBaseCharacteristic
Public waterElementResistPercent As CharacterBaseCharacteristic
Public airElementResistPercent As CharacterBaseCharacteristic
Public fireElementResistPercent As CharacterBaseCharacteristic
Public neutralElementReduction As CharacterBaseCharacteristic
Public earthElementReduction As CharacterBaseCharacteristic
Public waterElementReduction As CharacterBaseCharacteristic
Public airElementReduction As CharacterBaseCharacteristic
Public fireElementReduction As CharacterBaseCharacteristic
Public pushDamageReduction As CharacterBaseCharacteristic
Public criticalDamageReduction As CharacterBaseCharacteristic
Public pvpNeutralElementResistPercent As CharacterBaseCharacteristic
Public pvpEarthElementResistPercent As CharacterBaseCharacteristic
Public pvpWaterElementResistPercent As CharacterBaseCharacteristic
Public pvpAirElementResistPercent As CharacterBaseCharacteristic
Public pvpFireElementResistPercent As CharacterBaseCharacteristic
Public pvpNeutralElementReduction As CharacterBaseCharacteristic
Public pvpEarthElementReduction As CharacterBaseCharacteristic
Public pvpWaterElementReduction As CharacterBaseCharacteristic
Public pvpAirElementReduction As CharacterBaseCharacteristic
Public pvpFireElementReduction As CharacterBaseCharacteristic
Public spellModifications As List(Of CharacterSpellModification)
Public Const protocolId As UInteger = 8
Public Sub deserialize(ByVal param1 As DofusReader)
Dim _loc_4 As CharacterSpellModification = Nothing
Me.experience = param1.ReadDouble()
Me.experienceLevelFloor = param1.ReadDouble()
Me.experienceNextLevelFloor = param1.ReadDouble()
Me.kamas = param1.ReadInt()
Me.statsPoints = param1.ReadInt()
Me.spellsPoints = param1.ReadInt()
Me.alignmentInfos = New ActorExtendedAlignmentInformations()
Me.alignmentInfos.deserialize(param1)
Me.lifePoints = param1.ReadShort()
Me.maxLifePoints = param1.ReadInt()
Me.energyPoints = param1.ReadShort()
Me.maxEnergyPoints = param1.ReadShort()
Me.actionPointsCurrent = param1.ReadShort()
Me.movementPointsCurrent = param1.ReadShort()
Me.initiative = New CharacterBaseCharacteristic()
Me.initiative.deserialize(param1)
Me.prospecting = New CharacterBaseCharacteristic()
Me.prospecting.deserialize(param1)
Me.actionPoints = New CharacterBaseCharacteristic()
Me.actionPoints.deserialize(param1)
Me.movementPoints = New CharacterBaseCharacteristic()
Me.movementPoints.deserialize(param1)
Me.strength = New CharacterBaseCharacteristic()
Me.strength.deserialize(param1)
Me.vitality = New CharacterBaseCharacteristic()
Me.vitality.deserialize(param1)
Me.wisdom = New CharacterBaseCharacteristic()
Me.wisdom.deserialize(param1)
Me.chance = New CharacterBaseCharacteristic()
Me.chance.deserialize(param1)
Me.agility = New CharacterBaseCharacteristic()
Me.agility.deserialize(param1)
Me.intelligence = New CharacterBaseCharacteristic()
Me.intelligence.deserialize(param1)
Me.range = New CharacterBaseCharacteristic()
Me.range.deserialize(param1)
Me.summonableCreaturesBoost = New CharacterBaseCharacteristic()
Me.summonableCreaturesBoost.deserialize(param1)
Me.reflect = New CharacterBaseCharacteristic()
Me.reflect.deserialize(param1)
Me.criticalHit = New CharacterBaseCharacteristic()
Me.criticalHit.deserialize(param1)
Me.criticalHitWeapon = param1.ReadShort()
Me.criticalMiss = New CharacterBaseCharacteristic()
Me.criticalMiss.deserialize(param1)
Me.healBonus = New CharacterBaseCharacteristic()
Me.healBonus.deserialize(param1)
Me.allDamagesBonus = New CharacterBaseCharacteristic()
Me.allDamagesBonus.deserialize(param1)
Me.weaponDamagesBonusPercent = New CharacterBaseCharacteristic()
Me.weaponDamagesBonusPercent.deserialize(param1)
Me.damagesBonusPercent = New CharacterBaseCharacteristic()
Me.damagesBonusPercent.deserialize(param1)
Me.trapBonus = New CharacterBaseCharacteristic()
Me.trapBonus.deserialize(param1)
Me.trapBonusPercent = New CharacterBaseCharacteristic()
Me.trapBonusPercent.deserialize(param1)
Me.permanentDamagePercent = New CharacterBaseCharacteristic()
Me.permanentDamagePercent.deserialize(param1)
Me.tackleBlock = New CharacterBaseCharacteristic()
Me.tackleBlock.deserialize(param1)
Me.tackleEvade = New CharacterBaseCharacteristic()
Me.tackleEvade.deserialize(param1)
Me.PAAttack = New CharacterBaseCharacteristic()
Me.PAAttack.deserialize(param1)
Me.PMAttack = New CharacterBaseCharacteristic()
Me.PMAttack.deserialize(param1)
Me.pushDamageBonus = New CharacterBaseCharacteristic()
Me.pushDamageBonus.deserialize(param1)
Me.criticalDamageBonus = New CharacterBaseCharacteristic()
Me.criticalDamageBonus.deserialize(param1)
Me.neutralDamageBonus = New CharacterBaseCharacteristic()
Me.neutralDamageBonus.deserialize(param1)
Me.earthDamageBonus = New CharacterBaseCharacteristic()
Me.earthDamageBonus.deserialize(param1)
Me.waterDamageBonus = New CharacterBaseCharacteristic()
Me.waterDamageBonus.deserialize(param1)
Me.airDamageBonus = New CharacterBaseCharacteristic()
Me.airDamageBonus.deserialize(param1)
Me.fireDamageBonus = New CharacterBaseCharacteristic()
Me.fireDamageBonus.deserialize(param1)
Me.dodgePALostProbability = New CharacterBaseCharacteristic()
Me.dodgePALostProbability.deserialize(param1)
Me.dodgePMLostProbability = New CharacterBaseCharacteristic()
Me.dodgePMLostProbability.deserialize(param1)
Me.neutralElementResistPercent = New CharacterBaseCharacteristic()
Me.neutralElementResistPercent.deserialize(param1)
Me.earthElementResistPercent = New CharacterBaseCharacteristic()
Me.earthElementResistPercent.deserialize(param1)
Me.waterElementResistPercent = New CharacterBaseCharacteristic()
Me.waterElementResistPercent.deserialize(param1)
Me.airElementResistPercent = New CharacterBaseCharacteristic()
Me.airElementResistPercent.deserialize(param1)
Me.fireElementResistPercent = New CharacterBaseCharacteristic()
Me.fireElementResistPercent.deserialize(param1)
Me.neutralElementReduction = New CharacterBaseCharacteristic()
Me.neutralElementReduction.deserialize(param1)
Me.earthElementReduction = New CharacterBaseCharacteristic()
Me.earthElementReduction.deserialize(param1)
Me.waterElementReduction = New CharacterBaseCharacteristic()
Me.waterElementReduction.deserialize(param1)
Me.airElementReduction = New CharacterBaseCharacteristic()
Me.airElementReduction.deserialize(param1)
Me.fireElementReduction = New CharacterBaseCharacteristic()
Me.fireElementReduction.deserialize(param1)
Me.pushDamageReduction = New CharacterBaseCharacteristic()
Me.pushDamageReduction.deserialize(param1)
Me.criticalDamageReduction = New CharacterBaseCharacteristic()
Me.criticalDamageReduction.deserialize(param1)
Me.pvpNeutralElementResistPercent = New CharacterBaseCharacteristic()
Me.pvpNeutralElementResistPercent.deserialize(param1)
Me.pvpEarthElementResistPercent = New CharacterBaseCharacteristic()
Me.pvpEarthElementResistPercent.deserialize(param1)
Me.pvpWaterElementResistPercent = New CharacterBaseCharacteristic()
Me.pvpWaterElementResistPercent.deserialize(param1)
Me.pvpAirElementResistPercent = New CharacterBaseCharacteristic()
Me.pvpAirElementResistPercent.deserialize(param1)
Me.pvpFireElementResistPercent = New CharacterBaseCharacteristic()
Me.pvpFireElementResistPercent.deserialize(param1)
Me.pvpNeutralElementReduction = New CharacterBaseCharacteristic()
Me.pvpNeutralElementReduction.deserialize(param1)
Me.pvpEarthElementReduction = New CharacterBaseCharacteristic()
Me.pvpEarthElementReduction.deserialize(param1)
Me.pvpWaterElementReduction = New CharacterBaseCharacteristic()
Me.pvpWaterElementReduction.deserialize(param1)
Me.pvpAirElementReduction = New CharacterBaseCharacteristic()
Me.pvpAirElementReduction.deserialize(param1)
Me.pvpFireElementReduction = New CharacterBaseCharacteristic()
Me.pvpFireElementReduction.deserialize(param1)
Dim _loc_2 = param1.ReadUnSignedshort()
Dim _loc_3 As UInteger = 0
For _loc_3 = 0 To _loc_2
_loc_4 = New CharacterSpellModification()
_loc_4.deserialize(param1)
Me.spellModifications.Add(_loc_4)
_loc_3 = _loc_3 + 1
Next
End Sub
End Class
ActorExtendedAlignmentInformations
Imports BBot.Utils
Namespace Network.Types.Game.Charactere.Alignement
Public Class ActorExtendedAlignmentInformations
Public honor As UInteger = 0
Public honorGradeFloor As UInteger = 0
Public honorNextGradeFloor As UInteger = 0
Public pvpEnabled As Boolean = False
Public Const protocolId As UInteger = 202
Public Sub deserialize(ByVal param1 As DofusReader)
Me.honor = param1.ReadUnSignedshort()
Me.honorGradeFloor = param1.ReadUnSignedshort()
Me.honorNextGradeFloor = param1.ReadUnSignedshort()
Me.pvpEnabled = param1.ReadBoolean()
End Sub
End Class
End Namespace
et au cas ou mon datareader
Public Class DofusReader
Inherits IO.BinaryReader
Sub New(ByVal input As IO.Stream)
MyBase.New(input)
End Sub
Sub New(ByVal input As IO.Stream, ByVal encoding As System.Text.Encoding)
MyBase.New(input, encoding)
End Sub
Public Function readUnsignedByte()
Return ReadByte()
End Function
Public Overrides Function ReadByte() As Byte
Return MyBase.ReadByte()
End Function
Public Function ReadUnSignedshort()
Return ReadUInt16()
End Function
Public Overrides Function ReadUInt16() As UShort
Return (CUShort(ReadByte()) << 8) + ReadByte()
End Function
Public Overrides Function ReadBoolean() As Boolean
Return ReadByte() = 1
End Function
Public Function ReadShort()
Return ReadInt16()
End Function
Public Overrides Function ReadInt16() As Short
Dim Value As UShort = ReadUInt16()
If Value > Short.MaxValue Then
Dim Value2 As Short = -(UShort.MaxValue - Value) - 1
Return Value2
End If
Return Value
End Function
Public Function ReadInt()
Return ReadInt32()
End Function
Public Overrides Function ReadInt32() As Integer
Dim Value As UInteger = ReadUInt32()
If Value > Integer.MaxValue Then
Dim Value2 As Integer = -(UInteger.MaxValue - Value) - 1
Return Value2
End If
Return Value
End Function
Public Overrides Function ReadUInt32() As UInteger
Return (CUInt(ReadByte()) << 24) + (CUInt(ReadByte()) << 16) + (CUInt(ReadByte()) << 8) + ReadByte()
End Function
Public Overrides Function ReadDouble() As Double
Dim Bytes() As Byte = ReadBytes(8)
Array.Reverse(Bytes)
Return BitConverter.ToDouble(Bytes, 0)
End Function
Public Function ReadUTF()
Return ReadString()
End Function
Public Overrides Function ReadString() As String
Dim ByteArray() As Byte = MyBase.ReadBytes(ReadUInt16())
Return System.Text.Encoding.UTF8.GetString(ByteArray)
End Function
End Class
avez vous une ider d'ou sa peut venire?
ps. Jai edit mon ancien post