Тест подсветки дедалуса
Код:
func void ZS_MM_AllScheduler()
{
// установить приоритет на питание вместо атаки
self.aivar[AIV_MM_PRIORITY] = PRIO_EAT;
// если НПС Каменный страж и Равен убит
if(self.guild == GIL_STONEGUARDIAN) && (RavenIsDead == TRUE)
{
// убить Каменного стража
B_KillNpc(self);
};
// если наступило время сна монстра или время контролируется программой поведения монстра
if(Wld_IsTime(self.aivar[AIV_MM_SleepStart],00,self.aivar[AIV_MM_SleepEnd]
,00) || (self.aivar[AIV_MM_SleepStart] == OnlyRoutine))
{
// перейти в состояние сна (обратить внимание на параметр stateBehaviour = 1, переход в состояние сна возможен только после полного завершения текущего состояния)
AI_StartState(self,ZS_MM_Rtn_Sleep,1,"");
}
// иначе, если наступило время отдыха монстра или время контролируется программой поведения монстра
else if(Wld_IsTime(self.aivar[AIV_MM_RestStart],00,self.aivar[AIV_MM_RestEnd],00) || (self.aivar[AIV_MM_RestStart] == OnlyRoutine))
{
// перейти в состояние отдыха
AI_StartState(self,ZS_MM_Rtn_Rest,1,"");
}
// иначе, если наступило время брожения монстра или время контролируется программой поведения монстра
else if(Wld_IsTime(self.aivar[AIV_MM_RoamStart],00,self.aivar[AIV_MM_RoamEnd],00) || (self.aivar[AIV_MM_RoamStart] == OnlyRoutine))
{
// перейти в состояние брожения
AI_StartState(self,ZS_MM_Rtn_Roam,1,"");
}
// иначе, если наступило время кормежки монстра или время контролируется программой поведения монстра
else if(Wld_IsTime(self.aivar[AIV_MM_EatGroundStart],00,self.aivar[AIV_MM_EatGroundEnd],00) || (self.aivar[AIV_MM_EatGroundStart] == OnlyRoutine))
{
// перейти в состояние кормежки
AI_StartState(self,ZS_MM_Rtn_EatGround,1,"");
}
// иначе, если наступило время резвости монстра или время контролируется программой поведения монстра
else if(Wld_IsTime(self.aivar[AIV_MM_WuselStart],00,self.aivar[AIV_MM_WuselEnd],00) || (self.aivar[AIV_MM_WuselStart] == OnlyRoutine))
{
// перейти в состояние резвости
AI_StartState(self,ZS_MM_Rtn_Wusel,1,"");
}
// иначе, если наступило время посидеть орку или время контролируется программой поведения монстра
else if(Wld_IsTime(self.aivar[AIV_MM_OrcSitStart],00,self.aivar[AIV_MM_OrcSitEnd],00) || (self.aivar[AIV_MM_OrcSitStart] == OnlyRoutine))
{
// перейти орку в сидячее состояние
AI_StartState(self,ZS_MM_Rtn_OrcSit,1,"");
}
else // иначе (по умолчанию)
{
// перейти в состояние отдыха
AI_StartState(self,ZS_MM_Rtn_Rest,1,"");
};
};
Вложения
Последнее редактирование: