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

Un consumator de yang care nu frustrează: cum scoți yang din economie cu folos

2 noiembrie 2026 6 min de citit

Pe orice server, yang-ul intră continuu: din monștri, din vânzări la NPC, din questuri. Dacă nu iese la fel de repede, se adună, prețurile dintre jucători cresc și un începător nu-și mai permite nimic. Soluția se numește **consumator de yang** (în engleză „yang sink”): un loc în care jucătorii cheltuiesc yang și yang-ul dispare din joc. Greu nu e să creezi unul, ci să-l faci util, ca jucătorii să plătească cu plăcere, nu cu năduf.

Pe scurt: un consumator bun oferă ceva ce jucătorul vrea (confort, cosmetice, progres opțional), are un preț vizibil și corect pentru nivelul lui și nu blochează jocul de bază. Îl implementezi prin magazin, upgrade, cube sau un quest care verifică yang-ul înainte să-l ia.

Cuvinte pe care le vei întâlni

CuvântCe înseamnă
Consumator de yang (sink)Orice loc în care yang-ul plătit dispare din joc.
Sursă de yangOrice loc din care apare yang nou: monștri, vânzări la NPC, questuri.
InflațiePrea mult yang în joc: prețurile cresc, yang-ul valorează tot mai puțin.
money_logTabel din baza de loguri în care, în multe pachete, se notează mișcările de yang.

Consumatorii pe care îi ai deja

Înainte să inventezi ceva, uită-te la ce există. În pachetul verificat:

ConsumatorUnde se configureazăLecția
Cumpărături la NPCPrețurile din item_protoPrețuri la magazine
Costul upgrade-uluiColoana cost din refine_protorefine_proto
Taxa la cubeRândul gold din cube.txtcube.txt
Servicii prin questDe exemplu schimbarea regatului (500.000 yang în questul pachetului) sau clădirile de breaslăLecția de față

Un server cu inflație are de obicei consumatori care au rămas în urmă: costurile de upgrade au fost gândite pentru alte rate de drop. Primul pas e să verifici aceste cifre, nu să adaugi taxe noi.

Cinci reguli pentru un consumator care nu enervează

  1. Oferă ceva dorit, nu o taxă. „Plătești ca să intri în sat” enervează. „Plătești pentru o mantie cu efect frumos” e o alegere.
  2. Prețul e vizibil înainte. Jucătorul vede costul înainte să apese. Nicio surpriză după.
  3. Nu blochezi jocul de bază. Un nou-venit trebuie să poată progresa fără serviciul plătit. Consumatorul accelerează sau înfrumusețează, nu condiționează.
  4. Prețul crește cu nivelul. Un serviciu pentru nivelul 90 costă mai mult decât unul pentru nivelul 20, pentru că și câștigurile sunt mai mari.
  5. Rezultatul e clar. Dacă e un joc de noroc (de exemplu un upgrade cu șansă), spui șansa. Pierderile ascunse distrug încrederea.

Cum alegi prețul: un exemplu cu cifre

Să zicem că ai măsurat (vezi economia de yang) că un jucător de nivel 50 câștigă în medie 400.000 yang pe oră de vânătoare.

PrețCe înseamnă pentru jucătorEfect
10.0001,5 minute de jocToți plătesc, dar scoate prea puțin yang.
200.00030 de minutePrețul „corect” pentru un confort util.
5.000.00012 oreDoar cei foarte bogați; bun pentru cosmetice rare.

O idee bună e să ai trepte: ceva mic pe care îl cumpără toți și ceva scump pentru cei care au strâns mult. Așa scoți yang și de la jucătorii obișnuiți, și de la cei bogați.

Pasul 1: Un serviciu plătit printr-un quest

Exemplu: un NPC care vinde 10 Bravery Cape (70038 în pachetul verificat) pe 200.000 yang. Codul urmează aceeași ordine sigură ca la schimbul de iteme:

lua
quest serviciu_mantii begin
    state start begin
        when 20500.chat."Cumpara 10 mantii" begin
            local pret = 200000
            local recompensa = 70038
            local bucati = 10

            say_title("Mantii pentru vanatoare")
            say("10 mantii costa 200.000 yang.")
            local alegere = select("Cumpar", "Nu acum")
            if alegere ~= 1 then
                return
            end

            if pc.get_gold() < pret then
                say("Nu ai destul yang.")
                return
            end
            if not pc.enough_inventory(recompensa) then
                say("Fa loc in inventar si revino.")
                return
            end

            local inainte = pc.get_gold()
            pc.change_gold(-pret)
            if pc.get_gold() ~= inainte - pret then
                say("Plata nu a putut fi facuta.")
                return
            end

            pc.give_item2(recompensa, bucati)
            say("Spor la vanatoare!")
        end
    end
end

Ce trebuie să reții:

  • Prețul e spus înainte de butoane. Regula 2.
  • pc.get_gold() < pret după select. În timpul dialogului, jucătorul poate cheltui yang-ul în altă parte.
  • De ce verificăm din nou după plată? În sursa verificată, pc.change_gold cu o sumă mai mare decât are jucătorul nu ia nimic și doar scrie o eroare în syserr. Questul ar merge mai departe și ar da recompensa gratis. Verificarea de după plată prinde exact acest caz.
  • pc.change_gold și pc.change_money fac același lucru în pachetul verificat. Questurile pachetului folosesc pc.change_gold(-suma).

Compilezi și testezi pe serverul de test, ca în primul tău quest. Testează cu yang exact, cu un yang mai puțin și cu inventarul plin.

Ce ar trebui să vezi: yang-ul scade cu exact 200.000, primești 10 mantii, iar în celelalte cazuri primești mesajul potrivit și nu pierzi nimic.

Pasul 2: Măsoară dacă funcționează

Un consumator nu e „gata” când merge, ci când vezi efectul. În pachetul verificat există în baza de loguri tabelul money_log, cu coloanele time, type (de exemplu SHOP, REFINE, QUEST), vnum și gold. Dacă pachetul tău îl completează, poți vedea pe tipuri cât yang a intrat și a ieșit într-o zi:

sql
SELECT type, SUM(gold) AS total, COUNT(*) AS operatii
FROM log.money_log
WHERE time >= NOW() - INTERVAL 1 DAY
GROUP BY type;

Rulează doar SELECT și, dacă se poate, pe o copie a bazei de loguri. Ca să știi semnul (plus sau minus) pentru fiecare tip, fă o cumpărătură de test și uită-te ce rând apare. Numele bazei (log) poate fi altul la tine.

Compară săptămânal: yang creat (monștri, vânzări) față de yang retras (magazine, upgrade, servicii). Dacă diferența crește constant, ai nevoie de consumatori mai buni. Vezi și cum eviți inflația.

Greșeli des întâlnite

  • Taxe pe acțiuni de bază. Taxă la teleport între sate sau la intrarea în hărți de început: începătorii pleacă.
  • Prețuri copiate de pe alt server. Alt server are alte rate de drop. Pornește de la cifrele tale.
  • Nu verifici yang-ul înainte și după plată. Serviciul devine gratuit.
  • Schimbi des prețurile. Jucătorii au nevoie de stabilitate. Anunță schimbările din timp.
  • Nu măsori. Fără money_log sau altă măsurătoare, doar ghicești.

Întrebări frecvente

Cât yang ar trebui să scot din joc?

Nu există o cifră universală. Ținta e ca yang-ul total să crească încet, nu exploziv. Urmărește prețurile dintre jucători la câteva iteme-reper: dacă cresc constant, scoți prea puțin.

Loteriile sunt un consumator bun?

Pot fi, dacă premiile sunt cosmetice sau de confort și șansele sunt afișate. O loterie cu premii care dau putere transformă serverul în „cine plătește mai mult câștigă”.

Pot folosi taxe pe negoțul dintre jucători?

Unele surse au o astfel de taxă (în sursa verificată există un event flag pentru taxa la magazinele personale). E un instrument puternic, dar jucătorii o simt direct. Testeaz-o pe server de test și anunț-o clar.

Ce urmează

Ultima lecție a capitolului: cum testezi NPC-urile ca să nu dubleze recompense. 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