*Descriere:
Metin2 Drop Level Restriction - Limitare Drop dupa Diferenta de Nivel
Acest sistem limiteaza drop-ul in functie de diferenta de nivel dintre player si mob direct din CreateDropItem. Daca diferenta depaseste limita setata, itemele nu mai intra in calculul de drop.
- limita configurabila de nivel;
- functioneaza pentru mobi si metine;
- boss-ii pot ramane exceptati;
- nu afecteaza quest drop-urile din when kill.
*Link download / Code:
Deschide game/src/item_manager.cpp, in functia ITEM_MANAGER::CreateDropItem, si cauta:
Adauga dedesubt:
Valoarea MOB_DROP_LEVEL_RANGE reprezinta diferenta maxima de nivel acceptata.
Pentru o limita de 9 nivele:
Cu aceasta varianta, daca diferenta dintre nivelul mobului si nivelul playerului este mai mare de 9, drop-ul este blocat.
Boss-ii sunt exceptati prin:
Daca vrei ca metinele sa nu fie afectate de aceasta restrictie, cauta:
Inlocuieste cu:
Daca vrei ca doar playerii de nivel mare sa nu poata farma mobi mult mai mici, dar un player de nivel mic sa poata primi drop de la un mob mai mare, cauta:
Inlocuieste cu:
Yang nu este procesat prin CreateDropItem, ci separat prin CHARACTER::RewardGold.
Daca vrei sa aplici aceeasi restrictie si pentru Yang, trebuie sa adaptezi verificarea la inceputul functiei CHARACTER::RewardGold, unde personajele sunt reprezentate prin this si pkAttacker.
In party, drop-ul este calculat dupa playerul care a produs cel mai mult damage. Daca acel player depaseste diferenta de nivel configurata, drop-ul poate fi blocat pentru acel mob.
Drop-urile generate din quest-uri prin:
nu sunt afectate de aceasta modificare.
Nu modifica tabelele de diferenta de nivel din constants doar pentru acest sistem, deoarece acele valori pot fi folosite si pentru EXP sau Yang.
Nota: item_manager.cpp poate folosi o codare veche in unele surse. Editeaza fisierul cu un editor care pastreaza encoding-ul existent pentru a evita stricarea comentariilor.
Metin2 Drop Level Restriction - Limitare Drop dupa Diferenta de Nivel
Acest sistem limiteaza drop-ul in functie de diferenta de nivel dintre player si mob direct din CreateDropItem. Daca diferenta depaseste limita setata, itemele nu mai intra in calculul de drop.
- limita configurabila de nivel;
- functioneaza pentru mobi si metine;
- boss-ii pot ramane exceptati;
- nu afecteaza quest drop-urile din when kill.
*Link download / Code:
Deschide game/src/item_manager.cpp, in functia ITEM_MANAGER::CreateDropItem, si cauta:
Cod: Selectaţi tot
if (!GetDropPct(pkChr, pkKiller, iDeltaPercent, iRandRange))
return false;Adauga dedesubt:
Conținut: Ascuns
Reacționează
la acest mesaj și conținutul se va afișa automat.
la acest mesaj și conținutul se va afișa automat.Valoarea MOB_DROP_LEVEL_RANGE reprezinta diferenta maxima de nivel acceptata.
Pentru o limita de 9 nivele:
Cod: Selectaţi tot
static const int MOB_DROP_LEVEL_RANGE = 9;Cu aceasta varianta, daca diferenta dintre nivelul mobului si nivelul playerului este mai mare de 9, drop-ul este blocat.
Boss-ii sunt exceptati prin:
Cod: Selectaţi tot
pkChr->GetMobRank() < MOB_RANK_BOSSDaca vrei ca metinele sa nu fie afectate de aceasta restrictie, cauta:
Cod: Selectaţi tot
(pkChr->IsMonster() || pkChr->IsStone())Inlocuieste cu:
Conținut: Ascuns
Reacționează
la acest mesaj și conținutul se va afișa automat.
la acest mesaj și conținutul se va afișa automat.Daca vrei ca doar playerii de nivel mare sa nu poata farma mobi mult mai mici, dar un player de nivel mic sa poata primi drop de la un mob mai mare, cauta:
Cod: Selectaţi tot
if (abs(pkChr->GetLevel() - pkKiller->GetLevel()) > MOB_DROP_LEVEL_RANGE)
return false;Inlocuieste cu:
Conținut: Ascuns
Reacționează
la acest mesaj și conținutul se va afișa automat.
la acest mesaj și conținutul se va afișa automat.Yang nu este procesat prin CreateDropItem, ci separat prin CHARACTER::RewardGold.
Daca vrei sa aplici aceeasi restrictie si pentru Yang, trebuie sa adaptezi verificarea la inceputul functiei CHARACTER::RewardGold, unde personajele sunt reprezentate prin this si pkAttacker.
In party, drop-ul este calculat dupa playerul care a produs cel mai mult damage. Daca acel player depaseste diferenta de nivel configurata, drop-ul poate fi blocat pentru acel mob.
Drop-urile generate din quest-uri prin:
Cod: Selectaţi tot
when killnu sunt afectate de aceasta modificare.
Nu modifica tabelele de diferenta de nivel din constants doar pentru acest sistem, deoarece acele valori pot fi folosite si pentru EXP sau Yang.
Nota: item_manager.cpp poate folosi o codare veche in unele surse. Editeaza fisierul cu un editor care pastreaza encoding-ul existent pentru a evita stricarea comentariilor.



