De la récupération de MapID & CellID au pathfinding

A

Anonymous

Invité
#22
Vous êtes décidement géniaux dans cette communauté ! :D
Merci infiniment !
 
A

Anonymous

Invité
#23
Encore une petite question, j'ai compris le calcul du WorldID mais je ne comprends pas à quoi il fait référence dans le jeu ?
A des zones précises ? si oui lesquels ? comment les déterminés étant donné que je ne connais que les coordonnées X / Y et que le mapID dépends du WorldID

Cordialement.
 

BlueDream

Administrateur
Membre du personnel
Inscrit
8 Decembre 2012
Messages
2 010
Reactions
149
#24
Bonsoir

En fait world id correspond a la zone dans la quelle tu es (ex Zone d'amakna) tu recuperes le nom de la zone grace aux d2o. La zone te permet aussi de recupere la bonne mapid car dzs fois plusieurs map ont les meme coordonees. Donc il faut checker la zone avant de recuperer les coordonnes a partir de la mapid.
 
Inscrit
14 Septembre 2013
Messages
12
Reactions
0
#25
Salut à tous, je travaille également sur un projet nécessitant la récupération des coordonnées et du worldId à partir de la mapId mais je bloque pour la récupération de la valeur Y, voici mon code:
Code:
int worldId = (Id & 1073479680) >> 18;
int m_y = Id & 511;
if ((m_y & 256) == 256)
{
    m_y = -(m_y & 255);
}
return m_y;
Quand je l'utilise pour la map 84804104 par exemple, il me renvoie y = 8, ce qui semblerait tout à fait normal si les coordonnées réelles de la map n’étaient pas -1, -14
Si quelqu'un pouvait me dire comment faire en sorte que ma fonction retourne la bonne valeur de Y, je lui en serais très reconnaissant.

Merci d'avance :)
 
A

Anonymous

Invité
#26
En vb j'utilise ce code là pour déterminé a partir de la mapid les coordonées :
Code:
       worldId = (MapId And 1073479680) >> 18
        Console.WriteLine(worldId)
        X = CInt(MapId >> 9 And 511)
        Y = CInt(MapId And 511)

        If (X And 256) = 256 Then
            X = -(X And 255)
        End If

        If (Y And 256) = 256 Then
            Y = -(Y And 255)
        End If
Et... j'obtiens le même "bug" que toi. Es-tu sur de tes coordonées ?
 
Inscrit
14 Septembre 2013
Messages
12
Reactions
0
#27
Oui, j'ai bien vérifié sur plusieures maps, l'obtention du X fonctionne parfaitement mais la coordonnée Y pose problème, pourtant j'ai vérifié WorldPoint.as dans le dossier du jeu et il me semble que le calcul des mapId n'a pas changé... Si quelqu'un a une piste, je suis preneur
 
Haut Bas