VB/VB.Net Packet 225

Inscrit
16 Aout 2011
Messages
184
Reactions
0
#1
Bonjour, à tous et re à certains :)

Mon problème est bien entendu le packet 225 ( MapInformationsRequestMessage ). Je pense qu'il vient notamment de la traduction, la voici :

Code:
Namespace Message.Game.Context.Roleplay
    Public Class MapInformationsRequestMessage

        Private _isInitialized As Boolean = False
        Public mapId As UInteger = 0
        Public protocolId As UInteger = 225

        Public Function MapInformationsRequestMessage()

            Return Me
        End Function

        Public Function isInitialized()

            Me._isInitialized = True
            Return Me
        End Function

        Public Function getMessageId()

            Return protocolId
        End Function

        Public Function initMapInformationsRequestMessage(ByVal Param1 As String)

            Me.mapId = Param1
            Me._isInitialized = True
            Return Me
        End Function

        Public Function reset()

            Me.mapId = 0
            Me._isInitialized = False
            Return Me
        End Function

        Public Function pack(ByVal param1 As Dofus.DofusWriter)

            Dim _loc_2 As New Dofus.DofusWriter
            Me.serialize(_loc_2)
            Dofus.DofusWriter.Send(protocolId)
            Return Me
        End Function

        Public Function unpack(ByVal param1 As Dofus.DofusReader, ByVal param2 As Dofus.DofusReader)

            Me.deserialize(param1)
            Return Me
        End Function

        Public Function serialize(ByVal param1 As Dofus.DofusWriter)

            Me.serializeAs_MapInformationsRequestMessage(param1)
            Return Me
        End Function

        Public Function serializeAs_MapInformationsRequestMessage(ByVal param1 As Dofus.DofusWriter)

            If (Me.mapId < 0) Then

                Console.WriteLine("Forbidden value (" + Me.mapId + ") on element mapId.")
            End If
            param1.WriteByte(Me.mapId)
            Return Me
        End Function

        Public Function deserialize(ByVal param1 As Dofus.DofusReader)

            Me.deserializeAs_MapInformationsRequestMessage(param1)
            Return Me
        End Function

        Public Function deserializeAs_MapInformationsRequestMessage(ByVal param1 As Dofus.DofusReader)

            Me.mapId = param1.ReadInt()
            If (Me.mapId < 0) Then

                Console.WriteLine("Forbidden value (" + Me.mapId + ") on element of MapInformationsRequestMessage.mapId.")
            End If
            Return Me
        End Function



    End Class
End Namespace
L'autre possibilité est peut être l'envoie du packet, voici mon code :

Code:
            Case 4002
                Dofus.DofusWriter.Send(225)
J'ai retraduit 3 fois, mais pas de changement, je précise qu'en sortie, j'envoie le packet 225 avec comme taille 0, c'est ce qui m'a paru bizarre. Je m'en remet donc à vous.

*HS : Je suis en train de faire un petit tuto sur comment bien commencer son bot, avec les bases et tout.
 
Inscrit
21 Janvier 2012
Messages
39
Reactions
0
#2
Tu dois mettre l'id de la map dedans.
 
Inscrit
16 Aout 2011
Messages
184
Reactions
0
#3
Merci, juste, comment on peut savoir ce qu'il faut mettre lorsque l'on envoie un packet ?
 
Inscrit
15 Avril 2011
Messages
457
Reactions
1
#5
anodu94 a dit:
*HS : Je suis en train de faire un petit tuto sur comment bien commencer son bot, avec les bases et tout.
C'est pour quand ? Moi ça m'intéresse :)
 
Inscrit
16 Aout 2011
Messages
184
Reactions
0
#6
Je finis ma connexion et c'est bon.
 
Inscrit
16 Aout 2011
Messages
184
Reactions
0
#7
Re, bonsoir, après quelques modifications, traductions ... Mon packet 225 n'envoie toujours rien. Malgré que je lui dise d'envoyer la map récupérée avec le packet 220, sa taille ne change rien et je ne reçois plus rien après sauf le 175 et le 176. Rien d'intéressant. C'est peut être un problème de traduction mais je ne pense pas, j'ai retraduit quelques fois. Si vous pouviez m'éclaircir. Je vous en remercierais :)
 
A

Anonymous

Invité
#8
Si tu nous ne donne pas ton code on ne peut rien faire.

Pour envoyer la mapid tu dois faire comme sa:
Dim param1 as new dofus.dofuswriter
param1.writebyte(id_map)
Dofus.dofuswriter.send(255)

Pas besoin de traduire la class quand tu envoi un packet, que quand tu recoi.
 
Inscrit
16 Aout 2011
Messages
184
Reactions
0
#9
C'est bon j'avais trouvé tout seul :) Merci quand même lolo. Juste, vous savez ce que je pourrais mettre à la place de Byte ( dans writeByte ), peut être writeUint32 ?
 

ToOnS

Membre Actif
Inscrit
8 Avril 2009
Messages
974
Reactions
0
#10
non , writeUint32 c'est 4 bytes et writeByte c'est 1 byte
 
Inscrit
16 Aout 2011
Messages
184
Reactions
0
#11
Ah ok, je me demandais pourquoi Byte n'avait pas de valeurs xD alors que c'est juste qu'on ne l'écrit pas. Merci ToOnS
 

ToOnS

Membre Actif
Inscrit
8 Avril 2009
Messages
974
Reactions
0
#12
mais je crois que (j'ai plus vb dans l'ordi je peux pas verifier)
param1.writebyte(id_map) ' c'est pas byte
de toute facon c'est pas bon id_map doit etre autre chose qu'un byte sinon on aurait que 256 maps donc je comprend que maintenant ta question de vouloir changer writebyte , en fait oui il faut le changer par writexxxxx (xxxxx = le type de id_map)

et de toute facon il faut pas envoyer l'id_map , juste 225 tout seul il me semble

Code:
Case 220
                Dofus.DofusWriter.Send(225)  ' MapInformationsRequestMessage
 
A

Anonymous

Invité
#13
Depuis la MAJ, il faut l'envoyer...
 

ToOnS

Membre Actif
Inscrit
8 Avril 2009
Messages
974
Reactions
0
#14
ah mdr désolé je suis resté a la version 1.02 (enfin je sais meme plus quelle 2.xx) mais pas possible que ca soit un byte de toute maniere si ? (ca serait pas la 1ere fois qu'ank@ma fait n'importe quoi)
 
A

Anonymous

Invité
#15
Non non, ce n'est pas à ce point ! C'est du Int ^^
 
Inscrit
16 Aout 2011
Messages
184
Reactions
0
#16
xD on peut m'expliquer la différence entre Int/UInt svp
 
Inscrit
16 Aout 2011
Messages
184
Reactions
0
#18
Merci mais ça change quoi "signé" ?
 
A

Anonymous

Invité
#19
Ou as-tu vu signé ?
 
Inscrit
16 Aout 2011
Messages
184
Reactions
0
#20
Par exemple pour Int32 on a ( entier signé ) ça veut dire quoi ?
Et de plus comment choisir la taille appropriée à ce que l'on veut ?
 
Haut Bas