Dofus hébergerait ses fichiers map en ligne ?

BlueDream

Administrateur
Membre du personnel
Inscrit
8 Decembre 2012
Messages
2 010
Reactions
149
#1
Bonsoir cadernis,

je naviguais sur le web et voilà ce que j'ai trouvé:

Code:
Class SwfUnpacker

    Dim mapToDecompress As String = ""

    Public Sub SwfUnpack(ByVal FileName As String)

        mapToDecompress = FileName

        Dim Uncompresser As New Threading.Thread(AddressOf UncompressSwf)
        Uncompresser.IsBackground = True
        Uncompresser.Start()

        While Uncompresser.IsAlive

            Application.DoEvents()
            System.Threading.Thread.Sleep(1)

        End While

    End Sub

    Private Sub UncompressSwf()

        Try

            If Not IO.Directory.Exists("temp") Then IO.Directory.CreateDirectory("temp")

            My.Computer.Network.DownloadFile("http://staticns.ankama.com/dofus/gamedata/dofus/maps/" & mapToDecompress, "temp/" & mapToDecompress)

            Dim swfReader As New SwfReader("temp/" & mapToDecompress)

            Dim swf As Swf = swfReader.ReadSwf()

            Dim tagsEnu As IEnumerator = swf.Tags.GetEnumerator()

            While tagsEnu.MoveNext()

                Dim tag As BaseTag = DirectCast(tagsEnu.Current, BaseTag)

                If tag.ActionRecCount <> 0 Then

                    Dim sb As String = ""
                    Dim enum2 As IEnumerator = tag.GetEnumerator()

                    While enum2.MoveNext()

                        Dim dc As New Decompiler(swf.Version)
                        Dim actions As ArrayList = dc.Decompile(DirectCast(enum2.Current, Byte()))

                        For Each obj As BaseAction In actions
                            sb &= obj.ToString() & vbCrLf
                        Next

                    End While

                    Dim map_data As String = Gettok(sb.ToString, "'", 30)
                    Dim map_id As String = Gettok(Gettok(sb.ToString, "push", 14), " ", 2)
                    Dim map_x As String = Gettok(Gettok(sb.ToString, "push", 16), " ", 2)
                    Dim map_y As String = Gettok(Gettok(sb.ToString, "push", 18), " ", 2)

                    Dim efileName As String = "maps/" & Gettok(mapToDecompress, ".", 1) & ".txt"
                    Dim writer As New IO.StreamWriter(efileName)
                    writer.Write(map_id & "|" & map_data & "|" & map_x & "|" & map_y)
                    writer.Close()

                End If

            End While

            My.Computer.FileSystem.DeleteFile("temp/" & mapToDecompress)

        Catch
        End Try

    End Sub

End Class
D'après ce code ankama hébergerais ses fichiers en ligne. Peut être pour un utilitaire de leur site.
Vrai ? Faux ?
Je ne sais pas comment utiliser ce code, en tout cas ce serait très intéressant pour un bot autonome de télécharger ses fichiers map plutot que de les décomprésser.

Cordialement
 

BlueDream

Administrateur
Membre du personnel
Inscrit
8 Decembre 2012
Messages
2 010
Reactions
149
#2
Re: D. hébergerait ses fichiers map en ligne ?

Tifoux m'a dit que cela pourrait servir au laucheur à télécharger le jeu, ce qui pourrait être sa.
 
Inscrit
29 Septembre 2011
Messages
393
Reactions
3
#3
Re: D. hébergerait ses fichiers map en ligne ?

En regardant ton code je crois que sa viendrais d'un bot 1.29? wtf sa existe encore? :p car je sais que les maps de 1.29 son en .swf est que dedans on peut n'a mapData etc.. mais je pense que il doit y avoir un système pour les maps héberger vue que l'uplauncher télécharge les fichiers!
 

Kyu

Staff
Membre du personnel
Inscrit
4 Octobre 2009
Messages
327
Reactions
8
#4
Re: D. hébergerait ses fichiers map en ligne ?

Ce sont bien les maps de la 1.29.1.
Elles sont récupérées par le client à chaque changement de map.
 

BlueDream

Administrateur
Membre du personnel
Inscrit
8 Decembre 2012
Messages
2 010
Reactions
149
#5
Re: D. hébergerait ses fichiers map en ligne ?

Ah tant pis, bon a mon objectif c'est de trouver ou le lauche dl ses fichiers
 
Haut Bas