Ai scris în fișier o șansă de 5%, dar jucătorii de nivel mare spun că nu cade nimic, iar în weekend, la eveniment, cade de peste tot. Nu e un bug: numărul din fișier e doar **rata de bază**. Pe drum, serverul o înmulțește cu mai mulți factori. În lecție îi luăm pe rând, cu tabele și exemple de calcul, ca să poți prezice ce primesc jucătorii.
mob_item poate înmulți dropul de până la 10 ori. Grupele limit și cuferele nu sunt afectate.Cuvinte pe care le vei întâlni
| Cuvânt | Ce înseamnă |
|---|---|
| Rată de bază | Șansa scrisă în fișier, transformată în procent. |
| Factor de nivel | Cât din rata de bază rămâne, după diferența de nivel jucător–monstru. |
| Event flag | Un „comutator” global al serverului, setat de GM. |
| Premium de drop | Bonusul cumpărat din magazinul de obiecte (item-shop) care dublează dropul. |
De unde vin informațiile
Am citit funcțiile GetDropPct și CreateDropItem din sursa pachetului de referință (item_manager.cpp) și tabelele de nivel din constants.cpp. Pe un server cu sursă modificată, factorii pot fi alții. Formula de mai jos e un punct de plecare, nu o garanție; confirmă mereu prin test.
Factorul 1: rata de bază
Depinde de tipul grupei (lecția Tipurile de drop):
| Unde | Rata de bază |
|---|---|
Type drop, common_drop_item.txt, etc_drop_item.txt | valoare / 400 |
Type kill | 1 / Kill_drop (activarea grupei), apoi ponderi |
Type limit | valoare %, fără factorii de mai jos |
Cufere (special_item_group.txt) | ponderi sau Pct, fără factorii de mai jos |
Factorul 2: diferența de nivel
Serverul compară nivelul jucătorului cu al monstrului. Pentru monștri obișnuiți și pietre Metin, tabelul din sursa verificată arată așa:
| Situație | Cât rămâne din rata de bază |
|---|---|
| Monstrul are cu 15+ niveluri mai mult | 180% |
| Monstrul are cu 10 niveluri mai mult | 150% |
| Monstrul are cu 5 niveluri mai mult | 125% |
| Același nivel (sau jucătorul cu 1 peste) | 100% |
| Jucătorul are cu 5 niveluri mai mult | 92% |
| Jucătorul are cu 8 niveluri mai mult | 80% |
| Jucătorul are cu 10 niveluri mai mult | 50% |
| Jucătorul are cu 12 niveluri mai mult | 20% |
| Jucătorul are cu 15+ niveluri mai mult | 1% |
Pentru boși există un tabel separat, mai aspru: cu 10 niveluri peste boss rămân 30%, cu 8 niveluri 90%, cu 15+ niveluri tot 1%.
Asta explică cea mai frecventă plângere: „dropul nu merge”. De fapt, jucătorii de nivel mare omoară monștri mici și primesc aproape nimic. Așa e gândit jocul, ca să nu poată un personaj mare să „curețe” zonele de început.
Factorul 3: evenimentul de drop
Un GM poate porni un eveniment de drop cu comanda (pe pachetul verificat):
/eventflag mob_item 200200 înseamnă 200%, adică dropul de două ori mai des. Valoarea normală e 100, iar serverul o limitează între 0 și 1000 (de 10 ori). Ca să oprești evenimentul, pui înapoi 100.
Capcană găsită în sursă: jucătorii care au premium de drop activ nu folosesc mob_item, ci un comutator separat, mob_item_buyer. Dacă vrei eveniment pentru toți, setează-le pe amândouă:
/eventflag mob_item 200
/eventflag mob_item_buyer 200Fă asta întâi pe serverul de test. Comanda e rezervată GM-ilor de rang mare, iar numele exact poate diferi în alte pachete.
Factorul 4: premium și mănușa hoțului
Dacă jucătorul are premium de drop activ sau poartă mănușa hoțului (un item unic din item-shop), șansa se dublează. În sursa verificată, cele două nu se cumulează între ele: oricare dintre ele dă x2.
Factorul 5: noroc rar
La fiecare monstru, serverul mai dă un mic „jackpot”: în 1 caz din 50.000 șansa crește cu mult (+1000 de puncte procentuale la factorul de nivel), iar în 1 caz din 10.000 cu +500. E prea rar ca să conteze în calcule, dar explică un drop „imposibil” văzut o dată.
Un detaliu pentru curioși: bonusul pe imperiu
Unele pachete au un bonus de drop pe imperiu (comanda priv_empire). În sursa verificată, o greșeală de paranteze din cod face ca acest bonus să nu schimbe șansa de drop. Dacă ai sursă reparată sau alt pachet, poate funcționa. Testează înainte să-l anunți jucătorilor.
Formula completă, cu exemple
Pentru Type drop:
sansa reala = (valoare / 400) x factor nivel x (mob_item / 100) x 2 daca are premium sau manusaExemplul 1. Valoare 20 (5%). Jucător nivel 30, monstru nivel 25 (jucătorul are cu 5 mai mult, factor 92%). Fără eveniment, fără premium:
5% x 0,92 = 4,6%Exemplul 2. Același caz, cu eveniment mob_item 200:
5% x 0,92 x 2 = 9,2%Exemplul 3. Același caz, cu eveniment și mănușa hoțului:
5% x 0,92 x 2 x 2 = 18,4%Exemplul 4. Jucător nivel 50 pe același monstru de nivel 25 (25 de niveluri peste), cu tot cu eveniment și mănușă:
5% x 0,01 x 2 x 2 = 0,2%Exemplul 5. O grupă limit cu 5: rămâne 5% în toate cele patru cazuri, dacă jucătorul are nivelul cerut.
Cum folosești asta în practică
- Când stabilești o șansă, gândește-te la jucătorul de nivel potrivit pentru zonă, fără bonusuri.
- Apoi calculează „cazul cel mai bun”: cu eveniment și mănușă. Dacă iese prea generos, scade rata de bază.
- Pentru iteme foarte valoroase, ia în calcul
Type limit: nu crește la evenimente. - Notează în jurnalul de modificări ce rată ai pus și de ce (lecția Modificări sigure).
Greșeli des întâlnite
- Testezi cu GM-ul de nivel maxim. Factorul de nivel te duce la 1%. Folosește un personaj de nivel apropiat.
- Uiți să oprești evenimentul.
mob_itemrămâne setat până îl schimbi înapoi la100. - Pornești evenimentul doar cu
mob_item. Jucătorii cu premium rămân fără el. - Promiți procente jucătorilor. Șansa reală depinde de nivel și bonusuri; spune „rată de bază”.
Întrebări frecvente
„Drop dublu” înseamnă două iteme?
Nu, în sursa verificată înseamnă șansă dublă. Cantitatea rămâne cea din fișier.
Contează nivelul celorlalți din grup?
Calculul folosește nivelul jucătorului căruia serverul îi atribuie dropul. Regulile exacte pentru grupuri pot diferi între pachete; testează dacă e important pentru tine.
Pot scoate penalizarea de nivel?
Doar modificând sursa (constants.cpp) și recompilând. Nu e o schimbare pentru începători.
Ce urmează
Ai calculat șansa. Acum trebuie să verifici că serverul chiar o respectă: Cum testezi un drop rar. 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ă.