15.04.2020, 12:18:32
\Content\AI\AI_Intern\AI_Constants.d
const int AIV_INVINCIBLE = 4;
Константа которая работает в состоянии ZS_Talk
Если она TRUE игрок или НПС находятся в состоянии разговора, если FALSE то нет.
if(Hlp_IsValidNpc(other) && !C_NpcIsDown(other))
{
if(other.aivar[AIV_INVINCIBLE] == FALSE)
{
AI_Attack(self);
}
else
{
Npc_ClearAIQueue(self);
};
self.aivar[AIV_LASTTARGET] = Hlp_GetInstanceID(other);
return LOOP_CONTINUE;
}
Тут хорошо видно, если Игрок ни с кем не говорит, монстра атакует, если игрок говорит, монстр ждет окончания или нападает на следующую цель.
Так пишется при кривой декомпиляции, потому что Парсер при компиляции назначает всему уникальные идентификаторы
hero.aivar[4] = hero.aivar[AIV_INVINCIBLE]
const int AIV_INVINCIBLE = 4;
Константа которая работает в состоянии ZS_Talk
Если она TRUE игрок или НПС находятся в состоянии разговора, если FALSE то нет.
if(Hlp_IsValidNpc(other) && !C_NpcIsDown(other))
{
if(other.aivar[AIV_INVINCIBLE] == FALSE)
{
AI_Attack(self);
}
else
{
Npc_ClearAIQueue(self);
};
self.aivar[AIV_LASTTARGET] = Hlp_GetInstanceID(other);
return LOOP_CONTINUE;
}
Тут хорошо видно, если Игрок ни с кем не говорит, монстра атакует, если игрок говорит, монстр ждет окончания или нападает на следующую цель.
Так пишется при кривой декомпиляции, потому что Парсер при компиляции назначает всему уникальные идентификаторы
hero.aivar[4] = hero.aivar[AIV_INVINCIBLE]