Crafting-ul („meșteșugul”) e locul în care materialele din drop capătă valoare: jucătorul pune câteva iteme într-o fereastră specială la un NPC și primește altceva. În Metin2 clasic, această fereastră se numește **cube**, iar rețetele stau într-un fișier text, `cube.txt`. Formatul e simplu, dar are câteva capcane care pot face jucătorii să-și piardă materialele. Lecția îți arată formatul real și cum testezi o rețetă nouă.
section și end: la ce NPC (npc), ce pui (item), ce primești (reward), cât yang costă (gold) și ce șansă are (percent). În sursa verificată, materialele și yang-ul se iau înainte de aruncarea zarului, deci la eșec se pierd.Cuvinte pe care le vei întâlni
| Cuvânt | Ce înseamnă |
|---|---|
| Cube | Fereastra de crafting deschisă la anumiți NPC. |
| Rețetă | Regula „pui X și Y, primești Z”. |
| Ingredient | Un item consumat de rețetă. |
| percent | Șansa de reușită, de la 1 la 100. |
/reload c | Comanda de GM care reîncarcă cube.txt fără restart. |
Unde e fișierul
În pachetul verificat, serverul citește cube.txt din folderul locale, adică share/locale/english/cube.txt. La tine, english poate fi alt nume (de exemplu romania). Găsește-l cu:
find /usr/home -name "cube.txt"Fă o copie înainte de orice schimbare: cp cube.txt cube.txt.bak_2026-11-02.
Cum arată o rețetă
Iată o rețetă reală din pachetul verificat (20017 este NPC-ul Yu-Hwan):
section
npc 20017
item 50625 10
item 27992 2
item 51001 50
reward 18010 1
gold 10000
percent 80
endRând cu rând:
| Rând | Ce înseamnă |
|---|---|
section | Începe o rețetă nouă. |
npc 20017 | Rețeta merge doar la NPC-ul 20017. Poți pune mai multe rânduri npc, pentru mai mulți NPC. |
item 50625 10 | Ingredient: 10 bucăți din itemul 50625. Poți avea mai multe rânduri item. |
reward 18010 1 | Ce primește jucătorul: 1 bucată din itemul 18010. |
gold 10000 | Cât yang costă încercarea. Dacă lipsește, e gratuită. |
percent 80 | 80% șanse de reușită. |
end | Închide rețeta. |
Între cuvânt și numere e TAB (sau spațiu; în sursa verificată, ambele merg). Liniile care încep cu # sunt comentarii, ignorate de server: le poți folosi ca să scrii ce face fiecare rețetă.
Trei reguli ascunse, verificate în sursă
- Fără
percent, șansa e 0. Dacă uiți rândul, rețeta pare corectă, dar eșuează mereu și mănâncă materialele. - Materialele și yang-ul se iau înainte de zar. La eșec, jucătorul pierde tot și nu primește nimic. Spune-le jucătorilor clar care e șansa.
- Mai multe rânduri
reward= una la întâmplare. Dacă scrii două recompense, serverul alege una dintre ele, nu le dă pe amândouă.
În plus, în sursa verificată, o rețetă cu un ingredient sau o recompensă cu numărul sau cantitatea 0 e ignorată fără niciun mesaj. Dacă rețeta ta „nu există” în joc, verifică întâi numerele.
Pasul 1: Scrie rețeta ta
Exemplu simplu, ușor de testat: la NPC-ul Baek-Go (20018), 10 Red Potion(S) (27001) plus 500 yang devin 3 Red Potion(M) (27002), cu reușită sigură. Adaugi la sfârșitul fișierului:
# Reteta de test: 10 potiuni mici -> 3 potiuni medii
section
npc 20018
item 27001 10
reward 27002 3
gold 500
percent 100
endDe ce la sfârșit? Ca să nu strici din greșeală o rețetă existentă și ca să găsești ușor ce ai adăugat.
Verifică întâi că VNUM-urile există în item_names.txt și că NPC-ul e cel corect în mob_names.txt (vezi lecția despre VNUM). Salvează în Notepad++ cu aceeași codificare și cu finaluri de rând Unix, ca în lecția despre fișierele TXT.
Pasul 2: NPC-ul trebuie să deschidă fereastra
cube.txt spune doar ce rețete există. Fereastra o deschide un quest. În pachetul verificat, cube.quest face asta pentru 20018, 20017 și alții, cu comanda command("cube open"). Dacă pui rețeta la un NPC care nu are un astfel de quest, jucătorul nu are de unde deschide cube-ul.
Pentru un NPC nou, un quest minimal ar fi:
quest cube_ghid begin
state start begin
when 20500.chat."Combina materiale" begin
say_title("Atelier")
say("Pune materialele in fereastra si apasa Combina.")
wait()
setskin(NOWINDOW)
command("cube open")
end
end
endE aceeași formă ca în cube.quest. wait() așteaptă ca jucătorul să apese pe „Următorul”, apoi fereastra de dialog se închide și se deschide cube-ul. Cum creezi NPC-ul 20500 afli în lecția despre NPC-ul nou cu dialog.
În sursa verificată, jucătorul trebuie să stea aproape de NPC. Dacă se îndepărtează, cube-ul nu se deschide.
Pasul 3: Reîncarcă și testează
Pe serverul de test, cu un cont de GM, scrie în chat /reload c. În sursa verificată, comanda reîncarcă rețetele din cube.txt. Atenție: lista de rețete afișată în fereastră (unde există) se construiește o singură dată, la prima deschidere. Pentru un test complet, repornește serverul de test.
Apoi testează cele patru cazuri:
| Test | Ce ar trebui să se întâmple |
|---|---|
| Pui exact 10 poțiuni și ai 500 yang | Primești 3 Red Potion(M), pierzi 10 poțiuni și 500 yang. |
| Pui doar 9 poțiuni | Mesaj că lipsesc materiale; nu pierzi nimic. |
| Ai sub 500 yang | Mesaj că nu ai destul yang; nu pierzi nimic. |
| Ai inventarul plin | Vezi mai jos. |
Pentru inventarul plin: în sursa verificată, recompensa se dă cu aceeași funcție ca la questuri. Dacă nu e loc, itemul cade pe jos lângă jucător și e al lui pentru scurt timp. Spune-le jucătorilor să aibă loc în inventar sau testează și verifică ce se întâmplă pe pachetul tău.
Ce ar trebui să vezi: materialele dispar o singură dată, recompensa apare o singură dată. Dacă pachetul tău scrie loguri, tabelul cube din baza de loguri arată fiecare încercare și dacă a reușit.
Gândește economia rețetei
O rețetă e un „schimb valutar”. Înainte de a o publica, calculează: cât valorează ingredientele (cumpărate sau strânse din drop) și cât valorează recompensa. În exemplul nostru, 10 × 32 + 500 = 820 yang pentru ceva ce la NPC costă 3 × 96 = 288 yang. Nimeni nu o va folosi, dar nici nu strică nimic. Invers, o rețetă care transformă un item ieftin într-unul scump devine o fabrică de yang. Mai multe în buclele PvM: drop, crafting, upgrade.
Greșeli des întâlnite
- Uiți rândul
percent. Rețeta eșuează mereu și jucătorii pierd materiale. - Lipsește
end. Rețeta nu se închide corect și se poate amesteca cu următoarea. - Pui rețeta la un NPC fără quest de cube. Nu există fereastră, deci nu există crafting.
- Șanse mici pe materiale rare, fără să spui. La eșec se pierde tot. Fii transparent cu șansa.
- Testezi direct pe serverul cu jucători. O rețetă greșită poate fi exploatată în câteva minute.
Întrebări frecvente
Pot avea aceeași rețetă la doi NPC?
Da: pui două rânduri npc în aceeași secțiune. Așa face și pachetul verificat pentru unele rețete.
Câte ingrediente poate avea o rețetă?
Fereastra cube are un număr limitat de căsuțe (24 în sursa verificată). Ține rețetele scurte: 2–4 ingrediente diferite sunt suficiente și ușor de înțeles.
Trebuie modificat clientul?
Pentru o rețetă cu iteme existente, de obicei nu. Dacă recompensa e un item nou, clientul trebuie să-l cunoască (vezi itemul nou pe server și client).
Ce urmează
Mai departe: șansele și taxele de upgrade din refine_proto. 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ă.