|
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; };
|