Цитата:
Сообщение от MaS0n
использование функций GetAura() и getLevel() напрямую можно только в Player.cpp, Unit.cpp. Это аналогично this->getLevel(), this->GetAura(). В остальных случаях требуется игрок(или юнит), с которого мы получаем левел или ауру
Т.е
Код:
plr->getLevel()
plr->GetAura(..)
PS : и как могут быть не определены эти ф-ци в .h файлах, если вы используете файлы исходников, а не свои добавленные
|
Спасибо на многие вопросы сразу получил вопрос
Цитата:
Сообщение от LordJZ
Код:
if(Aura * aur = GetAura(15007, EFFECT_INDEX_0))
GetGUID() тут ни к чему.
|
собственно EFFECT_INDEX_0 я вообще в коде не нашел существование ее
Вот реализовал что хотел, в игре вроде все отлично работает, ошибок в коде нет?
PHP код:
// if player is dead and stuck, send ghost to graveyard
chr->RepopAtGraveyard();
chr->ResurrectPlayer(0.0f, false);
int32 startLevel = sWorld.getConfig(CONFIG_DEATH_SICKNESS_LEVEL);
if(int32(chr->getLevel()) >= startLevel)
{
// set resurrection sickness
chr->CastSpell(chr,15007,false);
// not full duration
if(int32(chr->getLevel()) < startLevel+9)
{
int32 delta = (int32(chr->getLevel()) - startLevel + 1)*MINUTE;
if(Aura * aur = chr->GetAura(15007, chr->GetGUID()))
{
aur->SetDuration(delta*IN_MILISECONDS);
}
}
}
return true;
}
// cast spell Stuck
chr->RepopAtGraveyard();
return true;
и еще пару вопросов
1.unit64,unit32,unit8 и тд, что значит это? и какая разница между ими?
2.Можно ли гдето в коде посмотреть описание функций? к примеру
CastSpell(Обект на который будет задействовано,ИД спелла,Тригерность);