VB/VB.Net Mes questions

ToOnS

Membre Actif
Inscrit
8 Avril 2009
Messages
974
Reactions
0
#21
c'est normal , c'est parceque le flood c'est le mal
 
Inscrit
16 Aout 2011
Messages
184
Reactions
0
#22
Je suis tout à fait d'accord avec toi mais seulement dans un certains contexte. Il est vrai qu'en ce moment, on rencontre au zaap d'Astroub beaucoup de floodeurs avec des sites de phishing ou encore des faux sites de vente de kamas. Cependant, ce n'est pas mon but, et mon bot sera uniquement pour moi et mon coéquipier pour diverses usages, autres que hack/arnaques :)

PS : je n'ai toujours pas résolu mon problème, c'est vraiment bizarre comme truc.
 

ToOnS

Membre Actif
Inscrit
8 Avril 2009
Messages
974
Reactions
0
#23
tu as un decalage tout simplement (je vois pas l'interet de ID_Flood si c'est pas pour faire du flood et pour le zaap d'astrub c'est pas en ce moment , ca fait 5 ans que c'est comme ca, tu me dira on est plus a un flooder pres)
regardes le deserialize de GameRolePlayNamedActorInformations , c'est ca qui va pas
 
Inscrit
7 Avril 2010
Messages
151
Reactions
2
#24
Pour récupérer le nom des personnes qui sont sur la map il faut le packet :MapComplementaryInformationsDataMessage et MapComplementaryInformationsDataMessage
Pour avoir le pseudo tu fera ceci
Code:
 For i As Integer = 0 To Mcidm.actors.count - 1
                    If Mcidm.actors(i).protocolID = 36 Then
                        AddPerso(Mcidm.actors(i).contextualid.ToString, Mcidm.actors(i).name, Mcidm.actors(i).disposition.cellid.ToString, "", Mcidm.actors(i).alignmentinfos.alignmentvalue.ToString)
                    End If
                Next
 
Inscrit
16 Aout 2011
Messages
184
Reactions
0
#25
Je ne comprends vraiment pas ce qui cloche dans ma class ... J'ai retraduit 3 fois, peut être le readUTF ? Ou bien encore les Shadows mais je vois pas pourquoi ça gênerait.

Code:
Imports client.Types.Game.Look

Namespace Types.Game.Context.Roleplay

    Public Class GameRolePlayNamedActorInformations
        Inherits GameRolePlayActorInformations

        Public name As String = ""
        Public Shadows protocolId As UInteger = 154

        Public Function GameRolePlayNamedActorInformations()

            Return Me
        End Function

        Public Shadows Function getTypeId() As UInteger

            Return protocolId
        End Function

        Public Function initGameRolePlayNamedActorInformations(ByVal param1 As Integer, ByVal param2 As EntityLook, ByVal param3 As EntityDispositionInformations, ByVal param4 As String) As GameRolePlayNamedActorInformations

            MyBase.initGameRolePlayActorInformations(param1, param2, param3)
            Me.name = param4
            Return Me
        End Function

        Public Shadows Function reset()

            MyBase.reset()
            Me.name = ""
            Return Me
        End Function

        Public Shadows Function deserialize(ByVal param1 As Dofus.DofusReader)

            Me.deserializeAs_GameRolePlayNamedActorInformations(param1)
            Return Me
        End Function

        Public Function deserializeAs_GameRolePlayNamedActorInformations(ByVal param1 As Dofus.DofusReader)

            MyBase.deserialize(param1)
            Me.name = param1.ReadUTF()
            Return Me
        End Function
    End Class
End Namespace
ToOnS, je n'ai pas dit que je n'allais pas flood, j'ai dit que je n'allais pas flood de l'arnaque/hack
 

ToOnS

Membre Actif
Inscrit
8 Avril 2009
Messages
974
Reactions
0
#26
hum alors ca vient de GameRolePlayActorInformations , mets un point d'arret devant MyBase.deserialize(param1) et devant Me.name = param1.ReadUTF() , tu verras si l'erreur est avant ou apres
 
Inscrit
16 Aout 2011
Messages
184
Reactions
0
#27
L'erreur vient avant Me.name = param1.ReadUTF(), j'ai retraduit GameRolePlayActorInformations et EntityLook, je vois vraiment pas ce qui cloche ... voici mes class :

GameRolePlayActorInformations :
Imports client.Types.Game.Context
Imports client.Types.Game.Look

Namespace Types.Game.Context.Roleplay

Public Class GameRolePlayActorInformations
Inherits GameContextActorInformations

Public Shadows protocolId As UInteger = 141

Public Function GameRolePlayActorInformations()

Return Me
End Function

Public Shadows Function getTypeId() As UInteger

Return protocolId
End Function

Public Function initGameRolePlayActorInformations(ByVal param1 As Integer, ByVal param2 As EntityLook, ByVal param3 As EntityDispositionInformations) As GameRolePlayActorInformations

MyBase.initGameContextActorInformations(param1, param2, param3)
Return Me
End Function

Public Shadows Function reset()

MyBase.reset()
Return Me
End Function

Public Shadows Function deserialize(ByVal param1 As Dofus.DofusReader)

Me.deserializeAs_GameRolePlayActorInformations(param1)
Return Me
End Function

Public Function deserializeAs_GameRolePlayActorInformations(ByVal param1 As Dofus.DofusReader)

MyBase.deserialize(param1)
Return Me
End Function



End Class
End Namespace

EntityLook :
Namespace Types.Game.Look


Public Class EntityLook

Public bonesId As UInteger = 0
Public skins As New List(Of UInteger)
Public indexedColors As New List(Of Integer)
Public scales As New List(Of Integer)
Public subentities As New List(Of SubEntity)
Public protocolId As UInteger = 55

Public Function EntityLook()

Me.skins = New List(Of UInteger)
Me.indexedColors = New List(Of Integer)
Me.scales = New List(Of Integer)
Me.subentities = New List(Of SubEntity)
Return Me
End Function

Public Function getTypeId() As UInteger

Return protocolId
End Function

Public Function initEntityLook(ByVal param1 As UInteger, ByVal param2 As List(Of UInteger), ByVal param3 As List(Of Integer), ByVal param4 As List(Of Integer), ByVal param5 As List(Of SubEntity)) As EntityLook

Me.bonesId = param1
Me.skins = param2
Me.indexedColors = param3
Me.scales = param4
Me.subentities = param5
Return Me
End Function

Public Function reset()

Me.bonesId = 0
Me.skins = New List(Of UInteger)
Me.indexedColors = New List(Of Integer)
Me.scales = New List(Of Integer)
Me.subentities = New List(Of SubEntity)
Return Me
End Function

Public Function deserialize(ByVal param1 As Dofus.DofusReader)

Me.deserializeAs_EntityLook(param1)
Return Me
End Function

Public Function deserializeAs_EntityLook(ByVal param1 As Dofus.DofusReader)
Dim _loc_10 As UInteger = 0
Dim _loc_11 As Integer = 0
Dim _loc_12 As Integer = 0
Dim _loc_13 As SubEntity
Me.bonesId = param1.readShort()
If (Me.bonesId < 0) Then

Console.WriteLine("Forbidden value (" + Me.bonesId + ") on element of EntityLook.bonesId.")
End If
Dim _loc_2 As UShort = param1.ReadUnSignedshort()
Dim _loc_3 As UInteger = 0
While (_loc_3 < _loc_2)


_loc_10 = param1.ReadShort()
If (_loc_10 < 0) Then

Console.WriteLine("Forbidden value (" + _loc_10 + ") on elements of skins.")
End If
Me.skins.Add(_loc_10)
_loc_3 = _loc_3 + 1
End While
Dim _loc_4 As UShort = param1.ReadUnSignedshort()
Dim _loc_5 As UInteger = 0
While (_loc_5 < _loc_4)


_loc_11 = param1.ReadInt()
Me.indexedColors.Add(_loc_11)
_loc_5 = _loc_5 + 1
End While
Dim _loc_6 As UShort = param1.ReadUnSignedshort()
Dim _loc_7 As UInteger = 0
While (_loc_7 < _loc_6)


_loc_12 = param1.ReadShort()
Me.scales.Add(_loc_12)
_loc_7 = _loc_7 + 1
End While
Dim _loc_8 As UShort = param1.ReadUnSignedshort()
Dim _loc_9 As UInteger = 0
While (_loc_9 < _loc_8)


_loc_13 = New SubEntity()
_loc_13.deserialize(param1)
Me.subentities.Add(_loc_13)
_loc_9 = _loc_9 + 1
End While
Return Me
End Function


End Class
End Namespace

GameContextActorInformations :
Imports client.Types.Game.Look

Namespace Types.Game.Context


Public Class GameContextActorInformations

Public contextualId As Integer = 0
Public look As EntityLook
Public disposition As EntityDispositionInformations
Public protocolId As UInteger = 150

Public Function GameContextActorInformations()

Me.look = New EntityLook()
Me.disposition = New EntityDispositionInformations()
Return Me
End Function

Public Function getTypeId() As UInteger

Return protocolId
End Function

Public Function initGameContextActorInformations(ByVal param1 As Integer, ByVal param2 As EntityLook, ByVal param3 As EntityDispositionInformations) As GameContextActorInformations

Me.contextualId = param1
Me.look = param2
Me.disposition = param3
Return Me
End Function

Public Function reset()
Me.contextualId = 0
Me.look = New EntityLook()
Return Me
End Function

'Public Function serialize(ByVal param1 As Dofus.DofusWriter)

'Me.serializeAs_GameContextActorInformations(param1)
'Return Me
' End Function

'Public Function serializeAs_GameContextActorInformations(ByVal param1 As Dofus.DofusWriter)

'param1.WriteInt32(Me.contextualId)
'Me.look.serializeAs_EntityLook(param1)
'param1.WriteShort(Me.disposition.getTypeId())
'Me.disposition.serialize(param1)
' Return Me
'End Function

Public Function deserialize(ByVal param1 As Dofus.DofusReader)

Me.deserializeAs_GameContextActorInformations(param1)
Return Me
End Function

Public Function deserializeAs_GameContextActorInformations(ByVal param1 As Dofus.DofusReader)

Me.contextualId = param1.ReadInt()
Me.look = New EntityLook()
Me.look.deserialize(param1)
Dim _loc_2 As UShort = param1.ReadUnSignedshort()
'Me.disposition = ProtocolTypeManager.GetInstance(EntityDispositionInformations, _loc_2)
Me.disposition = New EntityDispositionInformations
Me.disposition.deserialize(param1)
Return Me
End Function

End Class
End Namespace

Edit : Apparemment l'erreur viendrait d'EntityLook, j'ai obtenu cette erreur lors d'un test : "L'exception OverflowException n'a pas été gérée par le code utilisateur", "L'opération arithmétique a provoqué un dépassement de capacité." l'erreur survient ici :

Public Function deserializeAs_EntityLook(ByVal param1 As Dofus.DofusReader)
Dim _loc_10 As UInteger = 0
Dim _loc_11 As Integer = 0
Dim _loc_12 As Integer = 0
Dim _loc_13 As SubEntity
Me.bonesId = param1.readShort()
If (Me.bonesId < 0) Then
 
A

Anonymous

Invité
#28
Tu remplace cette ligne:
Me.bonesId = param1.readShort()

par sa:
Me.bonesId = param1.readInt16()

ou bien:
Me.bonesId = param1.readUShort()

mais le mieux est de le faire en Int16 je pense
 
Inscrit
16 Aout 2011
Messages
184
Reactions
0
#29
L'erreur dans EntityLook est corrigée mais le problème n'est toujours pas résolu, la première erreur refait surface ... Je ne sais pas du tout ce qui tourne pas rond :(

Edit : Je viens de retraduire toutes les classes en rapport avec GameRoleplayNamedActorInformations, je ne sais plus quoi faire . . .
 

ToOnS

Membre Actif
Inscrit
8 Avril 2009
Messages
974
Reactions
0
#30
readShort() si il vient de la base overedge (donc de la base de maxou de y'a ... 20 ans) il est buggué , faut mettre le code de readInt16() dedant mais ca explique pas le decalage de stream , tu as forcement une variable quelque part qui a pas la bonne taille en octets
 
Inscrit
16 Aout 2011
Messages
184
Reactions
0
#31
Euh c'est à dire ? Parce que y'a un ordre ? J'ai pas compris cette histoire de stream o_O
Si quelqu'un pouvait m'expliquer parce que franchement je stress xD
 
A

Anonymous

Invité
#32
Je récapitule tu met un point d’arrêt, tu suis ton code, et tu vois quel variable pose problème. Tu nous la donne et je t'aide.
 
Inscrit
16 Aout 2011
Messages
184
Reactions
0
#33
Alors quand je fais pas à pas, je reste bloqué dans cette boucle :

Code:
            While (_loc_5 < _loc_4)


                _loc_11 = param1.ReadInt()
                Me.indexedColors.Add(_loc_11)
                _loc_5 = _loc_5 + 1
            End While
 
Inscrit
21 Janvier 2012
Messages
39
Reactions
0
#34
Code:
For i as integer = 1 to _loc_4

_loc_11 = Param1.readint
Me.indexedColors.Add(_loc_11)

next
;)
 
A

Anonymous

Invité
#35
anodu94 a dit:
Euh c'est à dire ? Parce que y'a un ordre ? J'ai pas compris cette histoire de stream o_O
Si quelqu'un pouvait m'expliquer parce que franchement je stress xD
Si tu ne sais pas ça, je pense quand même que tu doit réviser les classiques.
 
A

Anonymous

Invité
#36
On te la déjà dit de faire un tour sur le sdz, même si tu es déjà passé, des révisions ne font pas de mal.
 
Inscrit
16 Aout 2011
Messages
184
Reactions
0
#37
En fait j'ai compris cette histoire de stream ( en regardant les sources et mes traductions, serialize et deserialize et avec quelques vieux topics ).

En revanche, j'ai encore quelques questions qui ne se trouvent pas sur le SDZ hein ;) :

- Comment savoir si ma variable est corrompue ( je sais comment connaître la valeur, en pas à pas, mais comment savoir si elle est fausse ? ).
- Pourquoi, lorsque je fais en pas à pas, je reste bloqué dans cette boucle ?
 
Inscrit
16 Aout 2011
Messages
184
Reactions
0
#38
J'ai du nouveau :)
Je pense que mon problème provient de là :

Public Function deserializeAs_GameContextActorInformations(ByVal param1 As Dofus.DofusReader)

Me.contextualId = param1.ReadInt()
Me.look = New EntityLook()
Me.look.deserialize(param1)
Dim _loc_2 As UShort = param1.ReadUnSignedshort()
Me.disposition = ProtocolTypeManager.GetInstance(EntityDispositionInformations, _loc_2)
Me.disposition.deserialize(param1)
Return Me
End Function

Au lieu de mettre la ligne en gras, je mettais :

Code:
Me.disposition = New EntityDispositionInformations
Sauf que maintenant, en laissant la ligne en gras, j'ai une erreur sur EntityDispositionInformations me disant qu'il ne pouvait pas être utilisé en tant qu'expression.
Je vais continuer à revoir mes class puisque maintenant j'ai compris le système du stream :)
Merci beaucoup à vous !
 
A

Anonymous

Invité
#39
Montre nous ton ProtocolTypeManager
 

ToOnS

Membre Actif
Inscrit
8 Avril 2009
Messages
974
Reactions
0
#40
apprement si y'a une erreur disant qu'il ne pouvait pas être utilisé en tant qu'expression y'a pas de protocoletypemanager
 
Haut Bas