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

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

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

C_ функции монстров расположены в директории ..\AI\Monsrer\C_Monster

// ************************************************** ******************
// Является ли монстр магом
// ************************************************** ******************

// ================================================== ==================
// Аргументы:
// --------------------------------------------------------------------
// slf - проверяемый монстр
// --------------------------------------------------------------------
// Возвращаемое значение:
// TRUE - да, FALSE - нет.
// ================================================== ==================

func int C_NpcIsMonsterMage(var C_NPC slf)
{
* *// если монстр Маг скелетов или
* *if (slf.guild == GIL_SKELETON_MAGE)
* *¦¦ (slf.guild == GIL_FIREGOLEM) * * // Огненный голем
* *¦¦ (slf.guild == GIL_ICEGOLEM) * * *// или Ледяной голем
* *¦¦ (slf.guild == GIL_DRAGON) * * * *// или Дракон
* *{
* * * *return TRUE;
* *};
* *return FALSE;
};

... ещё файл

// ************************************************** ******************************
*****
// Устраивает ли монстра добыча в виде жертвы (на кого охотяться монстры)
// ************************************************** ******************************
*****

// ================================================== ==================
// Аргументы:
// --------------------------------------------------------------------
// slf - проверяемый монстр (охотник)
// oth - НПС добыча
// --------------------------------------------------------------------
// Возвращаемое значение:
// TRUE - да, FALSE - нет.
// ================================================== ==================

func int C_PredatorFoundPrey(var C_NPC slf,var C_NPC oth)
{
* *// если охотник волк, но не кабан
* *if(slf.guild == GIL_WOLF) && (slf.aivar[AIV_MM_REAL_ID] != ID_Keiler)
* *{
* * * *// если добыча овца
* * * *if(oth.guild == GIL_SHEEP) * * *{ return TRUE; };
* * * *// если добыча крыса
* * * *if(oth.guild == GIL_GIANT_RAT) *{ return TRUE; };
* * * *// если добыча кротокрыс
* * * *if(oth.guild == GIL_MOLERAT) * *{ return TRUE; };
* * * *// если добыча падальщик, но не зубастик
* * * *if(oth.guild == GIL_SCAVENGER) && (oth.aivar[AIV_MM_REAL_ID] != ID_ORCBITER) * *{ return TRUE; };
* *};
* *// если охотник шныг
* *if(slf.guild == GIL_LURKER) * * * *
* *{
* * * *// если добыча гоблин
* * * *if (oth.guild == GIL_GOBBO) * * { return TRUE; };
* *};
* *// если охотник глорх
* *if(slf.guild == GIL_SNAPPER)
* *{
* * * *// если добыча человек
* * * *if(oth.guild < GIL_SEPERATOR_HUM) * { return TRUE; };
* * * *// если добыча гоблин
* * * *if(oth.guild == GIL_GOBBO) * * * * *{ return TRUE; };
* * * *// если добыча овца
* * * *if(oth.guild == GIL_SHEEP) * * * * *{ return TRUE; };
* * * *// если добыча крыса
* * * *if(oth.guild == GIL_GIANT_RAT) * * *{ return TRUE; };
* * * *// если добыча кротокрыс
* * * *if(oth.guild == GIL_MOLERAT) * * * *{ return TRUE; };
* * * *// если добыча падальщик, но не зубастик
* * * *if(oth.guild == GIL_SCAVENGER) && (oth.aivar[AIV_MM_REAL_ID] != ID_ORCBITER) * *{ return TRUE; };
* *};
* *// если охотник мракорис
* *if(slf.guild == GIL_SHADOWBEAST) * * * * * *
* *{
* * * *// если добыча человек
* * * *if(oth.guild < GIL_SEPERATOR_HUM) * { return TRUE; };
* * * *// если добыча орк
* * * *if(oth.guild > GIL_SEPERATOR_ORC) * { return TRUE; };
* * * *// если добыча овца
* * * *if(oth.guild == GIL_SHEEP) * * * * *{ return TRUE; };
* * * *// если добыча крыса
* * * *if(oth.guild == GIL_GIANT_RAT) * * *{ return TRUE; };
* * * *// если добыча кротокрыс
* * * *if(oth.guild == GIL_MOLERAT) * * * *{ return TRUE; };
* * * *// если добыча падальщик, но не зубастик
* * * *if(oth.guild == GIL_SCAVENGER) && (oth.aivar[AIV_MM_REAL_ID] != ID_ORCBITER) * *{ return TRUE; };
* *};
* *return FALSE;
};

... ещё файл

// ***********************************
// Пожирает ли монстр труп добычи
// ***********************************

// ================================================== ==================
// Аргументы:
// --------------------------------------------------------------------
// slf - проверяемый монстр (охотник)
// oth - НПС добыча (труп)
// --------------------------------------------------------------------
// Возвращаемое значение:
// TRUE - да, FALSE - нет.
// ================================================== ==================

func int C_WantToEat(var C_NPC slf,var C_NPC oth)
{
* *// если монстр член партии ГГ
* *if(slf.aivar[AIV_PARTYMEMBER] == TRUE)
* *{
* * * *return FALSE;
* *};
* *// если охотник падальщик
* *if(slf.guild == GIL_SCAVENGER)
* *{
* * * *// если труп человек или орк
* * * *if(oth.guild < GIL_SEPERATOR_HUM) * * * { * return TRUE; * *};
* * * *if(oth.guild > GIL_SEPERATOR_ORC) * * * { * return TRUE; * *};
* * * *// если труп овца или полевые хищники
* * * *if(oth.guild == GIL_SHEEP) * * * * * * *{ * return TRUE; * *};
* * * *if(oth.guild == GIL_GIANT_RAT) * * * * *{ * return TRUE; * *};
* * * *if(oth.guild == GIL_MOLERAT) * * * * * *{ * return TRUE; * *};
* * * *// если труп гарпия
* * * *if(oth.guild == GIL_HARPY) * * * * * * *{ * return TRUE; * *};
* * * *// если труп волки
* * * *if(oth.guild == GIL_WOLF) * * * * * * * { * return TRUE; * *};
* * * *if(oth.guild == GIL_SUMMONED_WOLF) * * *{ * return TRUE; * *};
* * * *// если труп мракорис
* * * *if(oth.guild == GIL_SHADOWBEAST) * * * *{ * return TRUE; * *};
* * * *// если труп рептилий
* * * *if(oth.guild == GIL_GOBBO) * * * * * * *{ * return TRUE; * *};
* * * *if(oth.guild == GIL_WARAN) * * * * * * *{ * return TRUE; * *};
* * * *if(oth.guild == GIL_LURKER) * * * * * * { * return TRUE; * *};
* * * *if(oth.guild == GIL_SNAPPER) * * * * * *{ * return TRUE; * *};
* * * *// в принципе здесь все понятно и без комментариев
* * * *if(oth.guild == GIL_MEATBUG) * * * * * *{ * return TRUE; * *};
* * * *if(oth.guild == GIL_GIANT_BUG) * * * * *{ * return TRUE; * *};
* * * *if(oth.guild == GIL_BLOODFLY) * * * * * { * return TRUE; * *};
* * * *if(oth.guild == GIL_MINECRAWLER) * * * *{ * return TRUE; * *};
* *};
* *// если охотник крыса
* *if(slf.guild == GIL_GIANT_RAT)
* *{
* * * *if(oth.guild < GIL_SEPERATOR_HUM) * * * { * return TRUE; * *};
* * * *if(oth.guild > GIL_SEPERATOR_ORC) * * * { * return TRUE; * *};
* * * *if(oth.guild == GIL_SHEEP) * * * * * * *{ * return TRUE; * *};
* * * *if(oth.guild == GIL_GIANT_RAT) * * * * *{ * return TRUE; * *};
* * * *if(oth.guild == GIL_MOLERAT) * * * * * *{ * return TRUE; * *};
* * * *if(oth.guild == GIL_SCAVENGER) * * * * *{ * return TRUE; * *};
* * * *if(oth.guild == GIL_HARPY) * * * * * * *{ * return TRUE; * *};
* * * *if(oth.guild == GIL_WOLF) * * * * * * * { * return TRUE; * *};
* * * *if(oth.guild == GIL_SUMMONED_WOLF) * * *{ * return TRUE; * *};
* * * *if(oth.guild == GIL_SHADOWBEAST) * * * *{ * return TRUE; * *};
* * * *if(oth.guild == GIL_GOBBO) * * * * * * *{ * return TRUE; * *};
* * * *if(oth.guild == GIL_WARAN) * * * * * * *{ * return TRUE; * *};
* * * *if(oth.guild == GIL_LURKER) * * * * * * { * return TRUE; * *};
* * * *if(oth.guild == GIL_SNAPPER) * * * * * *{ * return TRUE; * *};
* * * *if(oth.guild == GIL_MEATBUG) * * * * * *{ * return TRUE; * *};
* * * *if(oth.guild == GIL_GIANT_BUG) * * * * *{ * return TRUE; * *};
* * * *if(oth.guild == GIL_BLOODFLY) * * * * * { * return TRUE; * *};
* * * *if(oth.guild == GIL_MINECRAWLER) * * * *{ * return TRUE; * *};
* *};
* *// если охотник полевой жук
* *if(slf.guild == GIL_GIANT_BUG)
* *{
* * * *if(oth.guild == GIL_MEATBUG) * * * * * *{ * return TRUE; * *};
* * * *if(oth.guild == GIL_BLOODFLY) * * * * * { * return TRUE; * *};
* * * *if(oth.guild == GIL_MINECRAWLER) * * * *{ * return TRUE; * *};
* *};
* *// если охотник ящерица
* *if(slf.guild == GIL_WARAN)
* *{
* * * *if(oth.guild == GIL_SCAVENGER) * * * * *{ * return TRUE; * *};
* * * *if(oth.guild == GIL_HARPY) * * * * * * *{ * return TRUE; * *};
* * * *if(oth.guild == GIL_GOBBO) * * * * * * *{ * return TRUE; * *};
* *};
* *// если охотник волк, но не кабан
* *if(slf.guild == GIL_WOLF) && (slf.aivar[AIV_MM_REAL_ID] != ID_Keiler)
* *{
* * * *if(oth.guild < GIL_SEPERATOR_HUM) * * * { * return TRUE; * *};
* * * *if(oth.guild == GIL_SHEEP) * * * * * * *{ * return TRUE; * *};
* * * *if(oth.guild == GIL_GIANT_RAT) * * * * *{ * return TRUE; * *};
* * * *if(oth.guild == GIL_MOLERAT) * * * * * *{ * return TRUE; * *};
* *};
* *// если охотник вызванный волк
* *if(slf.guild == GIL_SUMMONED_WOLF)
* *{
* * * *if(oth.guild == GIL_SHEEP) * * * * * * *{ * return TRUE; * *};
* * * *if(oth.guild == GIL_GIANT_RAT) * * * * *{ * return TRUE; * *};
* * * *if(oth.guild == GIL_MOLERAT) * * * * * *{ * return TRUE; * *};
* *};
* *// если охотник ползун
* *if(slf.guild == GIL_MINECRAWLER)
* *{
* * * *if(oth.guild < GIL_SEPERATOR_HUM) * * * { * return TRUE; * *};
* * * *if(oth.guild > GIL_SEPERATOR_ORC) * * * { * return TRUE; * *};
* * * *if(oth.guild == GIL_MEATBUG) * * * * * *{ * return TRUE; * *};
* * * *if(oth.guild == GIL_GIANT_BUG) * * * * *{ * return TRUE; * *};
* * * *if(oth.guild == GIL_BLOODFLY) * * * * * { * return TRUE; * *};
* *};
* *// если охотник шныг
* *if(slf.guild == GIL_LURKER)
* *{
* * * *if (oth.guild < GIL_SEPERATOR_HUM) * * *{ * return TRUE; * *};
* * * *if (oth.guild > GIL_SEPERATOR_ORC) * * *{ * return TRUE; * *};
* * * *if (oth.guild == GIL_GOBBO) * * * * * * { * return TRUE; * *};
* *};
* *// если охотник зомби
* *if (slf.guild == GIL_ZOMBIE)
* *{
* * * *if (oth.guild < GIL_SEPERATOR_HUM) * * *{ * return TRUE; * *};
* * * *if (oth.guild > GIL_SEPERATOR_ORC) * * *{ * return TRUE; * *};
* *};
* *// если охотник глорх
* *if (slf.guild == GIL_SNAPPER)
* *{
* * * *if (oth.guild < GIL_SEPERATOR_HUM) * * *{ * return TRUE; * *};
* * * *if (oth.guild > GIL_SEPERATOR_ORC) * * *{ * return TRUE; * *};
* * * *if (oth.guild == GIL_SHEEP) * * * * * * { * return TRUE; * *};
* * * *if (oth.guild == GIL_GIANT_RAT) * * * * { * return TRUE; * *};
* * * *if (oth.guild == GIL_MOLERAT) * * * * * { * return TRUE; * *};
* * * *if (oth.guild == GIL_SCAVENGER) * * * * { * return TRUE; * *};
* * * *if (oth.guild == GIL_HARPY) * * * * * * { * return TRUE; * *};
* * * *if (oth.guild == GIL_WOLF) * * * * * * *{ * return TRUE; * *};
* * * *if (oth.guild == GIL_SUMMONED_WOLF) * * { * return TRUE; * *};
* * * *if (oth.guild == GIL_SHADOWBEAST) * * * { * return TRUE; * *};
* * * *if (oth.guild == GIL_GOBBO) * * * * * * { * return TRUE; * *};
* * * *if (oth.guild == GIL_WARAN) * * * * * * { * return TRUE; * *};
* * * *if (oth.guild == GIL_LURKER) * * * * * *{ * return TRUE; * *};
* *};
* *// если охотник мракорис
* *if (slf.guild == GIL_SHADOWBEAST)
* *{
* * * *if (oth.guild < GIL_SEPERATOR_HUM) * * *{ * return TRUE; * *};
* * * *if (oth.guild > GIL_SEPERATOR_ORC) * * *{ * return TRUE; * *};
* * * *if (oth.guild == GIL_SHEEP) * * * * * * { * return TRUE; * *};
* * * *if (oth.guild == GIL_GIANT_RAT) * * * * { * return TRUE; * *};
* * * *if (oth.guild == GIL_MOLERAT) * * * * * { * return TRUE; * *};
* * * *if (oth.guild == GIL_SCAVENGER) * * * * { * return TRUE; * *};
* * * *if (oth.guild == GIL_HARPY) * * * * * * { * return TRUE; * *};
* * * *if (oth.guild == GIL_WOLF) * * * * * * *{ * return TRUE; * *};
* * * *if (oth.guild == GIL_SUMMONED_WOLF) * * { * return TRUE; * *};
* * * *if (oth.guild == GIL_GOBBO) * * * * * * { * return TRUE; * *};
* * * *if (oth.guild == GIL_WARAN) * * * * * * { * return TRUE; * *};
* * * *if (oth.guild == GIL_LURKER) * * * * * *{ * return TRUE; * *};
* * * *if (oth.guild == GIL_SNAPPER) * * * * * { * return TRUE; * *};
* *};
* *return FALSE;
};

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