VB/VB.Net [Résolue par TooNs]Cordoné

Inscrit
29 Septembre 2011
Messages
393
Reactions
3
#1
Bonjour j'aimerais s'avoir quel Packet a traduit pour je puis obtenir les cordonné de la map merci d'avance.
 

ToOnS

Membre Actif
Inscrit
8 Avril 2009
Messages
974
Reactions
0
#2
Re: Cordoné

220 ou 226
 
Inscrit
29 Septembre 2011
Messages
393
Reactions
3
#3
Re: Cordoné

220 = l'id de la map
 
Inscrit
29 Septembre 2011
Messages
393
Reactions
3
#4
Re: Cordoné

je supose je doit lire le d2o pour avoir le nom la cordonné ??
 

ToOnS

Membre Actif
Inscrit
8 Avril 2009
Messages
974
Reactions
0
#5
Re: Cordoné

Code:
Dim X As Integer
        Dim Y As Integer
        Dim Aux_MapID As Integer = CInt(MapID)

        ' Traitement de X
        X = CInt(Int(Aux_MapID / 512))
        If X > 256 Then
            X = CInt(256 - X)
        End If

        ' Traitement de Y            
        Y = CInt(Aux_MapID Mod 512)
        If Y > 256 Then
            Y = CInt(256 - Y)
        End If

        ' Traitement D'affichage
        LB_POS.Text = "Position : [ " & X.ToString & " , " & Y.ToString & " ]"
 
Inscrit
29 Septembre 2011
Messages
393
Reactions
3
#6
Re: Cordoné

sa c'est quoi??
 

ToOnS

Membre Actif
Inscrit
8 Avril 2009
Messages
974
Reactions
0
#7
Re: Cordoné

heu ... les coordonnées ... calculées avec l'id de la map du 220 ou du 226 ...
 
Inscrit
29 Septembre 2011
Messages
393
Reactions
3
#8
Re: Cordoné

je te dit chapeaux un truk tous simple qui te donne le cordonné merci beaucoup
 
A

Anonymous

Invité
#9
Euh ToOnS o_O !! Je veut une explication la ! :p Tu lui a donner ton code il doit rien comprendre le tifoux !

Code:
  X = CInt(Int(Aux_MapID / 512))
Ici si j'ai bien compris tu cast l'id de la map car c'est pas un integer tu le divise par 512 ? ( pourquoi 512 ) ensuite tu mais le résultat en entier car il doit être en double tu le cast en integer non ? Essaye de me la commenter a ta façon cette ligne

Code:
            If X > 256 Then
            X = CInt(256 - X)
            End If
Ici je comprend pas ?

Si tu pourrait me commenter le code ça serait parfait ou juste me donner la classe si ça vient pas de toi !

C'est la pos dans la carte ? Genre [-72/35]

Dans quelle classe a tu trouver toute ces valeurs ?

Merci ToOnS Super boulot la !
 
Inscrit
29 Septembre 2011
Messages
393
Reactions
3
#10
revenons a sa j'été partie oui j'ai pas tros bien compris
 
A

Anonymous

Invité
#11
Je pense que c'est une alternative, sinon il faut rechercher posX et posY dans "MapPosition" à condition de savoir lire les d2o.
 
A

Anonymous

Invité
#13
Tu as un peu d'information ici : viewtopic.php?f=53&t=579

Il faut traduire les sources, en commençant par "GameDataFileAccessor".
C'est quelque chose de pas naturel, n’hésite pas à demander de l'aide
 

ToOnS

Membre Actif
Inscrit
8 Avril 2009
Messages
974
Reactions
0
#14
ca vien de nocebo si mes souvenirs sont bons (sinon ca vien de 4R7Y)
 
A

Anonymous

Invité
#15
Si on peut calculer les coordonnées x et y en fonction du mapID, Est ce qu'on peut retrouver le mapID en fonction de x et de y?
 
A

Anonymous

Invité
#16
Oui, il faut aussi passer par les d2o.
Il faut compresser les coordonnée et ensuite lire cette valeur dans MapPosition.d2o
Pour compresser les coordonnée il faut regarder dans le .as correspondant a Mapposition
 
A

Anonymous

Invité
#17
Bouh, BeDifferent, pas très "Different" de ta question sur Shady tout ca :p
 
Inscrit
19 Octobre 2010
Messages
214
Reactions
0
#18
Re: Cordoné

ToOnS a dit:
Code:
Dim X As Integer
        Dim Y As Integer
        Dim Aux_MapID As Integer = CInt(MapID)

        ' Traitement de X
        X = CInt(Int(Aux_MapID / 512))
        If X > 256 Then
            X = CInt(256 - X)
        End If

        ' Traitement de Y            
        Y = CInt(Aux_MapID Mod 512)
        If Y > 256 Then
            Y = CInt(256 - Y)
        End If

        ' Traitement D'affichage
        LB_POS.Text = "Position : [ " & X.ToString & " , " & Y.ToString & " ]"
Attention, cette "recette" ne marche que dans les cas les plus simples (map de surface notamment). La solution propre et fiable consiste bien récupérer les coordonnées exactes dans un .d2o à partir de l'id.
 
Inscrit
29 Septembre 2011
Messages
393
Reactions
3
#19
je comprend rien sur la lecture des .d2o quelqu'un pourrait m'aider??
 

4R7Y

Contributeur
Inscrit
6 Mars 2011
Messages
213
Reactions
0
#20
Code:
Dim X As Integer
        Dim Y As Integer
        Dim Aux_MapID As Integer = CInt(MapID)

        ' Traitement de X
        X = CInt(Int(Aux_MapID / 512))
        If X > 256 Then
            X = CInt(256 - X)
        End If

        ' Traitement de Y            
        Y = CInt(Aux_MapID Mod 512)
        If Y > 256 Then
            Y = CInt(256 - Y)
        End If

        ' Traitement D'affichage
        LB_POS.Text = "Position : [ " & X.ToString & " , " & Y.ToString & " ]"
Dès l'instant où il y a plusieurs "couches" (même coordonnées pour des ID de map différentes) forcément ça ne marchera pas (c'est layers dans les d2o il me semble)
 
Haut Bas