Metin2 Hungarian Forum

Metin2 => Szerver készítés => Privát szerverek => Segítség => A témát indította: TheSLESH Dátum 2017-01-29, 13:36:41

Cím: Exp tiltás
Írta: TheSLESH Dátum 2017-01-29, 13:36:41
char_battle.cpp-ben, van egy függvény ahol lekérdezi az exp-t.
LPCHARACTER CHARACTER::DistributeExp()

Bővítettem így.
LPCHARACTER CHARACTER::DistributeExp()
{
int iExpToDistribute = GetExp();

if (iExpToDistribute <= 0)
return NULL;
//exp teszt
if (GetLevel() < 15) //kisebb mint 15 nem kap exp
return false;

if (GetLevel() > 105)//nagyobb mint 105 nem kap exp
return false;
//vége

int iTotalDam = 0;
LPCHARACTER pkChrMostAttacked = NULL;
int iMostDam = 0;



viszont ugyanúgy kap exp-t 15 alatt is, és 105 felett is. Hogy lehetne máshogy megoldani?
Cím: Re:Exp tiltás
Írta: 5310pati Dátum 2017-01-29, 13:38:45
Mivel GetExp-ről van szó gondolom az megvan, h mobról van szó, na már most ha GetLevel-t használsz simán, akkor az véletlen nem a mob szintjét fogja lekérni? :o ???
Cím: Re:Exp tiltás
Írta: TheSLESH Dátum 2017-01-29, 13:41:51
ch-GetLevel() kell akkor? csak mert próbáltam úgyis, úgy pedig azt írja, hogy nincs deklarálva a ch.
Cím: Re:Exp tiltás
Írta: 5310pati Dátum 2017-01-29, 13:45:48
Kicsit lejjebb tekersz a kódban és megtalálod a választ, ha az orrod alá vágom abból nem fogsz tanulni.
Cím: Re:Exp tiltás
Írta: TheSLESH Dátum 2017-01-29, 13:51:34
if (pAttacker->GetLevel() < 15)

így sem jó sajnos, ugyan az, hiába irom be fölé, hogy LPCHARACTER pAttacker = CHARACTER_MANAGER::instance().Find(c_VID);
Cím: Re:Exp tiltás
Írta: 5310pati Dátum 2017-01-29, 13:52:56
Mert a "c_VID" csak a while ciklusban van deklarálva...
Cím: Re:Exp tiltás
Írta: TheSLESH Dátum 2017-01-29, 13:55:14
Átrakom akkor az egészet a while ciklusba, lefordul így, de kiváncsi vagyok jó lesz-e.

Üzenet összefésülés: 2017-01-29, 13:56:59

Jó lett, köszönöm szépen! +!
EhPortal 1.39 © 2025, WebDev