Показать сообщение отдельно
Старый 31.03.2005, 11:23   #132
Vam

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

По умолчанию 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;
};


Ответить с цитированием