Daca ai un mob cu EXP 0 in mob_proto, functia when kill din quest-uri nu va functiona corect cu acel mob.
Mai jos rezolvam acest lucru.
FIX by @Ikarus
*Link download / Code:
Adaugam in service.h / CommonDefines.h
Code:
#define __ENABLE_KILL_EVENT_FIX__ //if you want to fix the 0 exp problem about the when kill lua event (recommended)Deschidem char.h si cautam:
Code:
void DistributeHP(LPCHARACTER pkKiller);
void DistributeSP(LPCHARACTER pkKiller, int iMethod=0);Deschidem acum char_battle.cpp si cautam:
Code:
void CHARACTER::Reward(bool bItemDrop)
{
if (GetRaceNum() == 5001)
{
PIXEL_POSITION pos;
if (!SECTREE_MANAGER::instance().GetMovablePosition(GetMapIndex(), GetX(), GetY(), pos))
return;
LPITEM item;
int iGold = number(GetMobTable().dwGoldMin, GetMobTable().dwGoldMax);
iGold = iGold * CHARACTER_MANAGER::instance().GetMobGoldAmountRate(NULL) / 100;
iGold *= GetGoldMultipler();
int iSplitCount = number(25, 35);
sys_log(0, "WAEGU Dead gold %d split %d", iGold, iSplitCount);
for (int i = 1; i <= iSplitCount; ++i)
{
if ((item = ITEM_MANAGER::instance().CreateItem(1, iGold / iSplitCount)))
{
if (i != 0)
{
pos.x = number(-7, 7) * 20;
pos.y = number(-7, 7) * 20;
pos.x += GetX();
pos.y += GetY();
}
item->AddToGround(GetMapIndex(), pos);
item->StartDestroyEvent();
}
}
return;
}
//PROF_UNIT puReward("Reward");
LPCHARACTER pkAttacker = DistributeExp();Code:
if (!pkAttacker)
return;Cautam acum:
Code:
LPCHARACTER CHARACTER::DistributeExp()Adaugam inainte:


la acest mesaj și conținutul se va afișa automat.

