Exp tiltás

Indította TheSLESH, 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?
Az ember csak fiatalon találhat ki igazán új dolgokat. Utána már túl tapasztalt, túl híres (...) és túl ostoba.

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 ???

ch-GetLevel() kell akkor? csak mert próbáltam úgyis, úgy pedig azt írja, hogy nincs deklarálva a ch.
Az ember csak fiatalon találhat ki igazán új dolgokat. Utána már túl tapasztalt, túl híres (...) és túl ostoba.

Kicsit lejjebb tekersz a kódban és megtalálod a választ, ha az orrod alá vágom abból nem fogsz tanulni.

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);
Az ember csak fiatalon találhat ki igazán új dolgokat. Utána már túl tapasztalt, túl híres (...) és túl ostoba.

Mert a "c_VID" csak a while ciklusban van deklarálva...

2017-01-29, 13:55:14 #6 Utolsó szerkesztés: 2017-01-29, 13:56:59 Szerző: TheSLESH
Á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! +!
Az ember csak fiatalon találhat ki igazán új dolgokat. Utána már túl tapasztalt, túl híres (...) és túl ostoba.