VB/VB.Net [résolue]Probléme avec le 8

asyade

Membre Actif
Inscrit
26 Avril 2013
Messages
368
Reactions
1
#1
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
Code:
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
Code:
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
Code:
  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
 

ToOnS

Membre Actif
Inscrit
8 Avril 2009
Messages
974
Reactions
0
#2

asyade

Membre Actif
Inscrit
26 Avril 2013
Messages
368
Reactions
1
#3
Re: Help me ProtocolTypeManager.getInstance

merci :DD
 
Haut Bas