|
Re: Уроки скриптологии
// ********************************************** // Находится ли НПС в бессознательном состоянии // **********************************************
// ================================================== ================== // Аргументы: // -------------------------------------------------------------------- // slf - проверяемый НПС // -------------------------------------------------------------------- // Возвращаемое значение: // TRUE - НПС в бессознательном состоянии (обездвижен), FALSE - нет. // ================================================== ==================
func int C_NpcIsDown(var C_NPC slf) { * *// если НПС безсознания или в магическом сне или убит * *if(Npc_IsInState(slf,ZS_Unconscious) ¦¦ Npc_IsInState(slf,ZS_MagicSleep) ¦¦ Npc_IsDead(slf)) * *{ * * * *return TRUE; * *}; * *return FALSE; };
... ещё файл
// *********************************** // Является ли НПС источником зла // ***********************************
// ================================================== ================== // Аргументы: // -------------------------------------------------------------------- // slf - проверяемый НПС // -------------------------------------------------------------------- // Возвращаемое значение: // TRUE - НПС - источник зла, FALSE - нет. // ================================================== ==================
func int C_NpcIsEvil(var C_NPC slf) { * *// если НПС * *if (slf.guild == GIL_DMT) * * * * * * * * * * * * * // Черный маг * *¦¦ (slf.guild == GIL_DRAGON) * * * * * * * * * * * *// или дракон * *¦¦ (slf.guild == GIL_ORC) * * * * * * * * * * * * * // или орк * *¦¦ (slf.guild == GIL_DRACONIAN) * * * * * * * * * * // или ящер * *¦¦ (slf.guild == GIL_DEMON) * * * * * * * * * * * * // или демон * *¦¦ (slf.guild == GIL_SUMMONED_DEMON) * * * * * * * *// или вызванный демон * *¦¦ (slf.aivar[AIV_MM_REAL_ID] == ID_TROLL_BLACK) * *// или Черный троль * *¦¦ (C_NpcIsUndead(slf)) * * * * * * * * * * * * * * // или НПС является нежитью * *{ * * * *return TRUE; * *}; * *return FALSE; };
... ещё файл
// ************************************* // Является ли НПС охранником ворот // *************************************
// ================================================== ================== // Аргументы: // -------------------------------------------------------------------- // slf - проверяемый НПС // -------------------------------------------------------------------- // Возвращаемое значение: // TRUE - да, FALSE - нет. // ================================================== ==================
func int C_NpcIsGateGuard(var C_NPC slf) { * *// если НПС находится в состоянии охраны ворот * *if(Npc_IsInState(slf,ZS_Guard_Passage)) * *{ * * * *return TRUE; * *}; * *return FALSE; };
... ещё файл
// ************************************* // Является ли НПС ГГ // *************************************
// ===================================== // Аргументы: // ------------------------------------- // slf - проверяемый НПС // ------------------------------------- // Возвращаемое значение: // TRUE - да, FALSE - нет. // =====================================
func int C_NpcIsHero(var C_NPC slf) { * *var C_NPC her; * *// получить ссылку на ГГ * *her = Hlp_GetNpc(PC_Hero); * *// если идентификаторы НПС и ГГ равны * *if(Hlp_GetInstanceID(slf) == Hlp_GetInstanceID(her)) * *{ * * * *return TRUE; * *}; * *return FALSE; };
... ещё файл
// *********************************************** // Является ли НПС "крутым парнем" // ***********************************************
// ================================================== ================== // Аргументы: // -------------------------------------------------------------------- // slf - проверяемый НПС // -------------------------------------------------------------------- // Возвращаемое значение: // TRUE - да, FALSE - нет. // ================================================== ==================
func int C_NpcIsToughGuy(var C_NPC slf) { * *// если установлен признак "крутого парня" * *if(slf.aivar[AIV_ToughGuy] == TRUE) * *{ * * * *return TRUE; * *}; * *// если НПС наемник или охотник на драконов или бандит или пират * *if(slf.guild == GIL_SLD) ¦¦ (slf.guild == GIL_DJG) ¦¦ (slf.guild == GIL_BDT) ¦¦ (slf.guild == GIL_PIR) * *{ * * * *return TRUE; * *}; * *return FALSE; };
... ещё файл
// *************************************** // Является ли НПС нежитью // ***************************************
// ================================================== ================== // Аргументы: // -------------------------------------------------------------------- // slf - проверяемый НПС // -------------------------------------------------------------------- // Возвращаемое значение: // TRUE - да, FALSE - нет. // ================================================== ==================
func int C_NpcIsUndead(var C_NPC slf) { * *// если НПС * * if (slf.guild == GIL_GOBBO_SKELETON) * * * * * * * // Скелет гоблина * * ¦¦ (slf.guild == GIL_SUMMONED_GOBBO_SKELETON) * * *// или Вызванный скелет гоблина * * ¦¦ (slf.guild == GIL_SKELETON) * * * * * * * * * * // или Скелет * * ¦¦ (slf.guild == GIL_SUMMONED_SKELETON) * * * * * *// или Вызванный скелет * * ¦¦ (slf.guild == GIL_SKELETON_MAGE) * * * * * * * *// или Скелет маг * * ¦¦ (slf.guild == GIL_ZOMBIE) * * * * * * * * * * * // или Зомби * * ¦¦ (slf.guild == GIL_SHADOWBEAST_SKELETON) * * * * // или Скелет мракориса * * ¦¦ (slf.guild == GIL_UNDEADORC) * * * * * * * * * *// или Орк нежить * * ¦¦ (slf.aivar[AIV_MM_REAL_ID] == ID_DRAGON_UNDEAD) // или Дракон нежить * * { * * * *return TRUE; * * }; * * return FALSE; };
|