Înapoi la blogToate tutorialele Metin2
Tutoriale Metin2 · Lecția 30 din 99

Coordonatele și hărțile în Metin2: cum le verifici înainte de un spawn

2 noiembrie 2026 6 min de citit

Cele mai multe probleme de spawn nu vin din VNUM-uri greșite, ci din **coordonate** greșite. Monstrul apare în zid, pe altă hartă sau deloc. Cauza e aproape mereu aceeași: Metin2 folosește **două feluri de coordonate**, iar fișierele și comenzile nu le folosesc pe aceleași. În lecția asta înveți să le deosebești și să verifici orice poziție înainte s-o scrii într-un fișier.

Pe scurt: fișierele de spawn folosesc coordonate locale, în metri, socotite de la colțul hărții. Le afli în joc cu /state („Local Position”). Coordonatele globale sunt locale + poziția hărții din Setting.txt. Nu copia niciodată coordonate de pe o hartă pe alta.

Cuvinte pe care le vei întâlni

CuvântCe înseamnă
Index de hartăNumărul unei hărți (de exemplu 1). Îl folosesc configurările și questurile.
Coordonate localePoziția pe o hartă, în metri, de la colțul ei.
Coordonate globalePoziția în „lumea” întreagă, unde toate hărțile stau una lângă alta.
BasePositionLocul colțului hărții în lumea întreagă.
AtributO informație despre un punct de pe hartă: blocat, apă, zonă fără PvP.

O comparație simplă

Gândește-te la un oraș cu mai multe blocuri. „Apartamentul 12” e o adresă locală: are sens doar dacă știi în ce bloc ești. „Strada Florilor 7, apartamentul 12” e o adresă globală. În Metin2, blocul e harta, iar „Strada Florilor 7” e BasePosition.

Pasul 1: află numele și numărul hărții

În folderul de hărți al pachetului există un fișier index care leagă numărul hărții de folderul ei. În pachetul verificat (share/locale/english/map/index):

text
1 metin2_map_a1
3 metin2_map_a3
21 metin2_map_b1
41 metin2_map_c1

Deci harta 1 e folderul metin2_map_a1. Pe acest număr îl vezi în MAP_ALLOW (vezi CONFIG și canale) și în questuri.

Pasul 2: citește Setting.txt

În folderul hărții, Setting.txt descrie mărimea și poziția ei. Din pachetul verificat, pentru metin2_map_a1:

text
CellScale	200
MapSize	4	5
BasePosition	409600	896000

Ce înseamnă:

  • MapSize 4 5: harta are 4 bucăți pe orizontală și 5 pe verticală. În sursa verificată, o bucată are 128 × CellScale unități, iar 100 de unități = 1 metru. Deci: 4 × 128 × 200 / 100 = 1024 metri lățime și 5 × 128 × 200 / 100 = 1280 metri înălțime.
  • BasePosition 409600 896000: colțul hărții, în unități. Împărțit la 100: 4096 × 8960 metri în lumea întreagă.

Concluzie practică: pe această hartă, coordonatele locale bune sunt X între 0 și 1024 și Y între 0 și 1280. Un rând de spawn cu X = 1500 e sigur greșit.

Pasul 3: ce fel de coordonate folosește fiecare loc

UndeCe coordonate (în sursa verificată)
regen.txt, npc.txt, boss.txt, stone.txtLocale, în metri
Town.txt (punctele de reînviere din sat)Locale, în metri
Comanda GM /goto x yLocale, pe harta pe care ești
Comanda GM /warp x yGlobale, în metri
Funcția de quest mob.spawnLocale, în metri
Ce scrie /state la „Coordinate”Globale (în unități, apoi în metri)
Ce scrie /state la „Local Position”Locale, în metri

Serverul transformă singur coordonatele locale în globale: le înmulțește cu 100 și adaugă BasePosition.

Pasul 4: află poziția exactă cu /state

Intră cu GM-ul, mergi în locul dorit și scrie:

text
/state

În sursa verificată, printre altele, primești un rând de forma:

text
Coordinate 469300x964200 (4693x9642) MapIndex 1 Attribute 00000004 Local Position (597 x 682)

Pe bucăți:

  • 469300x964200 sunt coordonatele globale în unități, iar (4693x9642) aceleași, în metri;
  • MapIndex 1 e harta (aici metin2_map_a1);
  • Local Position (597 x 682) sunt numerele pe care le scrii în fișierele de spawn.

Verificare de control: 4096 + 597 = 4693 și 8960 + 682 = 9642. Globale = colțul hărții + locale. Dacă socoteala nu iese, ești pe altă hartă decât crezi.

Pasul 5: atributul punctului contează

Același rând îți arată și Attribute. În sursa verificată, atributele sunt „steaguri” adunate într-un număr:

Valoare (hex)Înseamnă
00000001Blocat (zid, stâncă)
00000002Apă
00000004Zonă fără PvP (de obicei satul)
00000080Obiect (clădire, copac mare)
00000000Teren liber

De ce contează: în sursa verificată, serverul nu pune monștri într-un punct blocat, cu obiect sau în zona fără PvP. La un rând cu rază, încearcă de câteva ori puncte la întâmplare din zonă. La un rând cu rază 0 0, dacă punctul e blocat, monstrul pur și simplu nu apare, fără vreo eroare clară în syserr. NPC-urile sunt excepție: ele sunt puse oriunde, chiar și în zid. De aceea un NPC „în perete” e mereu o problemă de coordonate.

Pasul 6: verifică punctul înainte să-l scrii

Pentru un loc ales din altă sursă (un forum, alt fișier, un coleg), testează-l înainte:

  1. Mergi pe harta corectă.
  2. Teleportează-te la coordonatele locale cu /goto 597 682.
  3. Scrie /state și uită-te la Attribute și la ce vezi pe ecran.
  4. Dacă personajul a ajuns pe teren liber, unde ar avea sens un monstru, punctul e bun.

Pentru o hartă pe care nu ești, /warp cu coordonate globale te duce direct: /warp 4693 9642 în exemplul nostru (sau calculezi: colțul hărții în metri + locale).

Comenzile GM pot avea alte nume sau alt comportament în alte pachete. Dacă /state nu arată „Local Position”, scade singur colțul hărții din coordonatele globale.

Bonus: cum verifici un fișier întreg

Poți căuta rânduri cu coordonate în afara hărții. Pentru metin2_map_a1 (1024 × 1280 metri):

sh
cd /usr/home/game/share/locale/english/map/metin2_map_a1
awk '$1 !~ /^\/\// && NF>=11 && ($2>1024 || $3>1280) {print FILENAME": "NR": "$0}' regen.txt npc.txt boss.txt stone.txt

(Calea e un exemplu; limitele le calculezi din Setting.txt-ul hărții tale.) Dacă nu afișează nimic, nicio coordonată nu iese din hartă. Nu garantează însă că punctul nu e în zid: asta verifici doar în joc.

Greșeli des întâlnite

Ce veziCauza probabilă
Monstrul nu apare delocPunct blocat, în sat sau în afara hărții
NPC-ul e în zidCoordonate de pe altă hartă sau citite greșit
Ai scris în fișier coordonatele „Coordinate” din /stateAcelea sunt globale; în fișiere intră „Local Position”
/goto te duce în alt loc decât te așteptaiErai pe altă hartă: /goto folosește harta curentă
Spawn-ul merge pe harta empire-ului roșu, dar nu pe celelalteHărțile au mărimi și forme diferite; coordonatele nu se copiază între ele

Întrebări frecvente

De ce sunt cifrele uneori de 100 de ori mai mari?

Pentru că serverul lucrează intern în unități de un centimetru (100 de unități = 1 metru). Fișierele de spawn și comenzile /goto, /warp folosesc metri.

Pot folosi aceleași coordonate pe hărțile celor trei imperii?

Nu. Hărțile seamănă, dar nu sunt identice. Ia coordonatele separat, cu /state, pe fiecare hartă.

Clientul are și el coordonate?

Clientul are propriile fișiere de hartă, iar pozițiile hărților trebuie să se potrivească cu serverul. Când doar pui monștri pe o hartă existentă, nu ai nimic de schimbat în client.

Ce urmează

Lecția următoare: cum testezi dropul unui boss. Toate lecțiile sunt în lista tutorialelor Metin2.

Server Metin2 gata de joc

Găzduire Metin2 în România, cu instalare de serverfiles, bază de date MySQL și protecție Anti-DDoS inclusă.

DiscordWhatsApp