Jump to content
×
×
  • Create New...

Les différents types de coordonnées


Sparks

Recommended Posts

  • Retraité

Ce n'est pas un tutoriel que vous attendiez, ce n'est pas non plus un tutoriel qui va vous apprendre des choses MAIS

il est absolument indispensable pour pouvoir comprendre (et donc utiliser) tout ce qui touche de près ou de loin, à des coordonnées.

 

C'est nécessaire pour :

- Les codeurs LUA (pc.warp, d.spawn_group, mob.spawn, d.set_warp_elimination, pc.save_exit_location, pc.warp_local, d.new_jump et j'en passe)

- Les mappeurs (town.txt, BasePosition)

- Les GM (commande /warp, configuration de la commande /go)

- Et d'autres (implantation de portails, configuration des regen.txt)

 

0/ La base

 

Elles fonctionnent TOUJOURS en binôme. (c'est pour ça qu'elles sont toujours au pluriel)

(le principe est le même pour toutes les cartes du monde, quelque soit l'échelle utilisée)

 

Il y a l'axe des abscisses (X) et l'axe des ordonnées (Y). Car les cartes sont en deux dimensions. Avec une seule donnée, toutes les maps seraient des traits *_*

Le seul point qui change avec les graphiques que l'on peut voir à l'école c'est que l'axe des ordonnées part vers le bas. Comme ceci :

 

 

213504axe-xy.gif

 

Voyons maintenant les différents types de coordonnées

 

Il en existe 3 :

- les coordonnées locales

- les coordonnées globales

- les coordonnées universelles

 

 

Nous allons commencer par le type le plus intuitif :

 

1/ Les coordonnées locales

 

Pas de long discours, une image suffit, les coordonnées locales c'est ça :

 

213557coordo.png

 

 

Actuellement, je suis aux coordonnées locales (911, 248 )

Si je me déplace d'un mètre sur la droite en suivant l'axe horizontal, je me retrouverai aux coordonnées (911+1, 248 )

Elles sont pratiques pour faire apparaître un monstre mais pas pour se téléporter sur une autre map.

Dans ce cas on se rend compte qu'elles seront insuffisantes, le serveur ne saura pas quelle map choisir.

On en vient donc au second point :

 

2/ Les coordonnées globales

 

 

Les coordonnées globales comprennent à la fois des coordonnées locales ET les coordonnées de la map.

Pour les trouver il faut donc connaître les coordonnées locales ET les coordonnées de la map.

Pour les coordonnées locales, on sait faire.

 

Mais pour les coordonnées de la map ?

 

Il s'agit tout simplement de la BasePosition de la map, que l'on va diviser par 100.

 

La BasePosition, ce sont les coordonnées de votre map aux coordonnées locales (0, 0)

C'est-à-dire l'endroit où commence votre map (le coin supérieur gauche)

 

On peut trouver cette valeur, côté serveur dans le fichier Setting.txt

(usr/metin2/share/locale/france/map/nom_de_la_map/)

 

Par exemple, la map n°1 a :

BasePosition    409600    896000

 

Pour le calcul des coordonnées globales, on a besoin de diviser cette BasePosition par 100. (ou retirer les deux derniers chiffres...)

On obtient donc : 4096    8960

Ensuite,

il vous faut additionner les coordonnées locales de votre personnage (911, 248 ) (on reprend celles de la première partie)

      4096    8960

+    0911    0248

=    5007    9208

 

Et voilà. On a des coordonnées globales qui incluent à la fois les coordonnées locales et les coordonnées de la map (5007, 9208 )

Elles sont précises à un mètre près, c'est qui est largement suffisant dans 99% des cas.

 

Pour les 1% qui reste, on a :

 

3/ Les coordonnées universelles

 

C'est la même chose que les coordonnées globales, il n'y a rien de plus à comprendre.

Mais il y a une chose à savoir : elles sont précises au centimètre près ! (donc 100 fois plus que les globales...)

 

Pour les déterminer, il y a deux solutions :

Méthode 1/ Partir des coordonnées globales et les multiplier par 100.

On a donc :

    5007*100        9208*100

    500700             920800

    

Méthode 2/ Partir de la BasePosition de la map et y additionner les coordonnées locales (911, 248 ) multipliées par 100.

On a donc :

    409600+911*100        896000+248*100

    500700                           920800

 

On obtient bien la même chose.

 

La méthode 1 est privilégiée par les codeurs LUA, car ils n'ont pas connaissance de la BasePosition mais ont accès aux coordonnées globales.

La méthode 2 est privilégiée par les mappeurs, car ils n'ont pas accès aux coordonnées globales mais à la BasePosition.

 

Et voilà :zen:

 

Si vous n'avez toujours rien compris, merci de le signaler ;)

  • J'adore 3
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Flux d'Activité

    1. 2

      Site internet (CMS) compatible avec tous les emulateurs 1.29 (Azuriom)

    2. 2

      Site internet (CMS) compatible avec tous les emulateurs 1.29 (Azuriom)

    3. 84

      Granny

    4. 32

      Rodnia.net | PVM | International | The Great Conqueror |

    5. 16

      Map The OpenWorld Metin2

    6. 0
    7. 6

      [V2]Gurgarath Resurgence

  • Recently Browsing

    • No registered users viewing this page.

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.