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.
Cuvinte pe care le vei întâlni
| Cuvânt | Ce înseamnă |
|---|---|
| Consumator de yang (sink) | Orice loc în care yang-ul plătit dispare din joc. |
| Sursă de yang | Orice loc din care apare yang nou: monștri, vânzări la NPC, questuri. |
| Inflație | Prea mult yang în joc: prețurile cresc, yang-ul valorează tot mai puțin. |
| money_log | Tabel 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:
| Consumator | Unde se configurează | Lecția |
|---|---|---|
| Cumpărături la NPC | Prețurile din item_proto | Prețuri la magazine |
| Costul upgrade-ului | Coloana cost din refine_proto | refine_proto |
| Taxa la cube | Rândul gold din cube.txt | cube.txt |
| Servicii prin quest | De 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ă
- 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.
- Prețul e vizibil înainte. Jucătorul vede costul înainte să apese. Nicio surpriză după.
- 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ă.
- 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.
- 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ător | Efect |
|---|---|---|
| 10.000 | 1,5 minute de joc | Toți plătesc, dar scoate prea puțin yang. |
| 200.000 | 30 de minute | Prețul „corect” pentru un confort util. |
| 5.000.000 | 12 ore | Doar 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:
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
endCe trebuie să reții:
- Prețul e spus înainte de butoane. Regula 2.
pc.get_gold() < pretdupă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_goldcu o sumă mai mare decât are jucătorul nu ia nimic și doar scrie o eroare însyserr. Questul ar merge mai departe și ar da recompensa gratis. Verificarea de după plată prinde exact acest caz. pc.change_goldșipc.change_moneyfac același lucru în pachetul verificat. Questurile pachetului folosescpc.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:
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_logsau 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ă.