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

Cum creezi un cufăr nou de la zero în Metin2 (server și client)

2 noiembrie 2026 6 min de citit

Până acum am modificat cufere care existau deja. Dar pentru un eveniment, un boss nou sau o recompensă de vot ai nevoie de un cufăr al tău, cu nume și premii proprii. Un cufăr nou nu e doar o grupă de premii: trebuie să existe ca item pe server, să știe că se deschide și să fie cunoscut de client. Lecția îți arată toate piesele, în ordinea corectă.

Pe scurt: alegi un VNUM liber, copiezi în item_proto rândul unui cufăr care merge (tip ITEM_GIFTBOX), îi faci grupa în special_item_group.txt cu același VNUM și adaugi itemul în client (nume, iconiță, proto). Apoi testezi pe serverul de test.

Cuvinte pe care le vei întâlni

CuvântCe înseamnă
item_proto„Fișa tehnică” a fiecărui item: tip, mărime, flag-uri, valori.
ITEM_GIFTBOXTipul de item „cutie cadou”. Când îl deschizi, serverul caută grupa cu același VNUM.
FlagO bifă pe item: se poate vinde, arunca, stivui etc.
IconițăImaginea mică din inventar, un fișier .tga din client.

Cele patru piese ale unui cufăr

PiesăUndeDe ce
1. Rândul din item_proto (server)share/conf/item_proto.txt în pachetul verificatServerul trebuie să știe că itemul există și că e cufăr
2. Grupa de premiispecial_item_group.txtCe dă cufărul
3. Datele din clientitem_proto din client, item_list.txt, itemdesc.txtCa jucătorul să vadă nume, iconiță, descriere
4. Sursa cufăruluimob_drop_item.txt, magazin sau questCum ajunge cufărul la jucători

Dacă lipsește oricare dintre primele trei, cufărul nu merge sau apare greșit.

Pasul 1: Alege un VNUM liber

Un VNUM folosit deja ar suprascrie alt item. Caută în lista ta înainte. Exemplu: verifici dacă 60100 e liber:

sh
grep -w "^60100" /usr/home/game/share/conf/item_proto.txt
grep -w "^60100" /usr/home/game/share/conf/item_names.txt

Dacă nu apare nimic, numărul e liber. În pachetul verificat, 60100 e liber; la tine poate fi ocupat de un sistem adăugat de altcineva. Notează-ți VNUM-ul ales: îl vei folosi în toate cele patru piese. Detalii despre VNUM în lecția Ce este VNUM.

Pasul 2: Creează itemul pe server

În pachetul verificat, item_proto e un fișier text în share/conf. În alte pachete, itemele stau într-un tabel item_proto din baza de date. Lecția Cum creezi un item nou (server și client) explică pe larg ambele variante.

Cel mai sigur: copiezi rândul unui cufăr care deja funcționează și schimbi doar VNUM-ul și numele. În pachetul verificat există zeci de iteme de tip ITEM_GIFTBOX, de exemplu 30093 („Tolbă norocoasă”). Primele coloane ale rândului arată așa (restul sunt zerouri și valori NONE):

text
30093	NumeOriginal	ITEM_GIFTBOX	0	1	ANTI_DROP | ANTI_SELL | ANTI_STACK	ITEM_STACKABLE	NONE
ColoanăCe înseamnă
30093VNUM. Îl schimbi în 60100.
NumeOriginalNumele intern (în original e scris cu litere coreene). Pune un nume unic, de exemplu CufarEveniment.
ITEM_GIFTBOXTipul: cutie care se deschide. Nu-l schimba.
0Subtipul.
1Mărimea în inventar (1 căsuță).
ANTI_DROP …Ce nu se poate face cu itemul: aruncat, vândut, stivuit. Alegi ce vrei.
ITEM_STACKABLESe poate stivui.

Nu șterge și nu muta coloane: rândul trebuie să aibă exact același număr de coloane ca restul fișierului. Adaugă și numele în item_names.txt (și în varianta pe limbă, de exemplu item_names_ro.txt):

text
60100	Cufar de Eveniment

De ce ITEM_GIFTBOX? Am verificat în sursa jocului: la deschiderea unui item de acest tip, serverul caută automat grupa din special_item_group.txt cu același VNUM și scade un cufăr din stivă. Alte tipuri de cufăr (de exemplu 50011 din pachetul verificat) sunt deschise de cod scris special pentru ele și nu merg dacă doar le copiezi.

Pasul 3: Fă grupa de premii

În special_item_group.txt adaugi la final o grupă cu Vnum 60100:

text
Group	CufarEveniment
{
	Vnum	60100
	1	27003	20	50
	2	25040	2	30
	3	70024	1	15
	4	1	100000	5
}

Ponderile 50 + 30 + 15 + 5 = 100, deci șansele sunt 50%, 30%, 15% și 5%. Rândul 4 cu itemul 1 dă yang (100.000), așa cum funcționează în pachetul verificat. Pentru mai multe premii deodată folosești Type Pct, explicat în lecția Drop din cufere.

Pasul 4: Adaugă cufărul în client

Fără client, jucătorul vede un item fără nume și fără iconiță, sau nu îl vede deloc. În clientul pachetului verificat, în arhiva de limbă (de exemplu locale/ro), sunt:

  • item_proto: o variantă compilată a fișei itemului, generată cu unealta pachetului (în pachetul verificat, dump_proto) din aceleași date ca pe server;
  • item_list.txt: legătura dintre VNUM și iconiță;
  • itemdesc.txt: numele și descrierea afișate.

Rânduri reale pentru cufărul 50011, adaptate pentru cufărul nou:

text
60100	ETC	icon/item/50011.tga
text
60100	Cufar de Eveniment	Un cufar primit la evenimentele serverului.

Am scris fără diacritice, ca în fișierele pachetului verificat: dacă vrei diacritice, păstrează codificarea originală a fișierului (vezi Fișiere TXT: taburi și encoding). Primul rând merge în item_list.txt și refolosește iconița cufărului 50011 (nu ai nevoie de grafică nouă). Al doilea merge în itemdesc.txt. Ambele au TAB între coloane. După modificare, arhiva clientului trebuie reîmpachetată și trimisă jucătorilor (de obicei prin autopatcher). Pașii exacți depind de clientul tău.

Pasul 5: Testează, în ordine

  1. Repornește serverul de test (Oprire și restart) și verifică syserr.
  2. Pornește clientul modificat și intră cu un cont GM pe serverul de test.
  3. Creează cufărul: /item 60100 5. Verifică numele și iconița.
  4. Deschide-le pe rând. Primești premiile din grupă și cufărul scade din stivă.
  5. Test cu inventarul plin: umple inventarul și deschide un cufăr. În sursa verificată, premiul cade pe jos lângă tine, rezervat ție un timp scurt, apoi dispare. Spune-le jucătorilor să-și facă loc înainte.

Ce ar trebui să vezi: nume corect, iconiță, premii doar din listă și niciun mesaj nou în syserr.

Pasul 6: Pune cufărul în joc

Abia acum decizi cum ajunge la jucători: drop din monștri (lecția Monstru care lasă cufăr), magazin sau quest.

Greșeli des întâlnite

Ce veziCauza probabilăCe faci
Dublu-click nu face nimicTipul nu e ITEM_GIFTBOX sau lipsește grupaVerifică tipul și caută cannot find special item group în syserr
Item fără nume sau iconițăClientul nu are datele itemuluiAdaugă-l în item_proto, item_list.txt, itemdesc.txt din client
Alt item s-a stricatVNUM-ul ales era ocupatPune backupul, alege alt VNUM
Serverul nu porneșteRând item_proto cu coloane lipsă sau premiu inexistentCompară cu rândul copiat, citește syserr

Întrebări frecvente

Pot folosi o iconiță proprie?

Da, dar trebuie adăugată în client, în folderul de iconițe, și scrisă calea ei în item_list.txt. Pentru început, refolosește o iconiță existentă.

Pot să-i schimb premiile mai târziu?

Da, doar din special_item_group.txt și cu restart. Clientul nu trebuie actualizat pentru asta.

Pot crea cufărul doar pe server?

Tehnic se deschide, dar jucătorii îl vor vedea greșit. Serverul și clientul trebuie să aibă aceleași date.

Ce urmează

Ai văzut deja Type drop și Type Pct. E momentul să le înțelegi pe toate: Tipurile de drop: drop, limit, kill. 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