Показать сообщение отдельно
Старый 24.11.2004, 15:08   #58
Vam

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Уроки скриптологии

int Npc_GetTarget(c_npc self); - возвращает True, если npc self имеет цель для поражения (в качестве цели выступает npc other), иначе – False.
int Npc_GetNextTarget(c_npc self); - выполняется активный поиск цели для npc self. Если цель находится, то она становится внутренней целью и записывается в переменную
other, если цель не найдена, то внутренняя цель удаляется и other становится недействительным. Критерий поиска цели - в качестве цели возмется враждебный противник, который не мертв или находится не в бессознательном состоянии. Возвращает True, если цель найдена, иначе – False. Внимание: Поиск основывается на активном восприятии npc self, поэтому, если активное восприятие не установлено, то сначала следует применять функцию Npc_PerceiveAll().
int Npc_IsNextTargetAvailable(c_npc self); - работает аналогично предыдущей функции, только ни внутренняя цель, ни переменная other не инициализируются.
void Npc_SetTarget(c_npc self,c_npc other); - устанавливает для npc self в качестве внутренней цели для поражения npc other.
int Npc_AreWeStronger(c_npc self,c_npc other); - выявляет более сильного npc среди self и other по следующему алгоритму: если сумма уровней всех npc (людей и монстров), которые враждебны к self и дружелюбны к other, более чем в два раза превышает сумму уровней всех npc (людей и монстров), которые дружелюбны к self и враждебны к other, то other сльнее и возвращается False, иначе сильнее self и возвращается True. Замечания: 1. npc, которые враждебны к обоим, не учитываются. 2. npc, который враждебен к одному и дружелюбен к другому, будет участвовать в подсчете два раза.
int Npc_IsAiming(c_npc self,c_npc other); - возвращает 1, если npc other целится в npc self из оружия дальнего радиуса поражения или магией, иначе – 0.

Продолжение следует.
Ответить с цитированием