Добрый вечер всем!Сегодня начнем же решать проблемы с ИИ в Эдаин моде версии 3.8.1.И начнем с книги спелл. Для работы необходим всего лишь программа FinalBig (на всякий случай выкладываю её :E2: . Теперь открываем редактор и ищем файл systemevil.inc (книга спелл для темных рас) и systemgood.inc (книга спелл для светлых рас). Полные их пути соответственно data\ini\object\system\includes\systemevil.inc и data\ini\object\system\includes\systemgood.inc. выделяем любой из файлов ( я выбрал systemgood.inc) далее Edit -> Edit with editor и файл откроется в обычном текстовом редакторе. Просматриваем до конца и видим кучу кода типа OCLSpecialPower ModuleTag_EnshroudingMistImladris и т.д но не видим совсем строк типа AISpecialPowerUpdate и других подобных , это означает что ИИ для спелл не прописан совсем

8: . Начнем с самого первого прописшем ИИ для способности эльфов "туман" его код выглядит так:
Behavior = OCLSpecialPower ModuleTag_EnshroudingMistImladris
SpecialPowerTemplate = SpellBookEnshroudingMistImladris
OCL = OCL_SpecialPowerEnshroudingMist
CreateLocation = CREATE_AT_LOCATION
AvailableAtStart = No
RequirementsFilterMPSkirmish = SPELL_BOOK_REQUIREMENTS_FILTER
RequirementsFilterStrategic = SPELL_BOOK_REQUIREMENTS_FILTER_STRATEGIC
End
Из этих всех строк нам нужно лишь выделить "SpellBookEnshroudingMistImladris" потому что по нему будем искать привязанную кнопку
Теперь о главном. Стандарт для написания ИИ для спелл выглядит вот так:
Behavior = AISpecialPowerUpdate "Любое свое название без ковычек"
CommandButtonName = Здесь название кнопки например Command_SpellBookElvenWood
SpecialPowerAIType = Тип ИИ например AI_SPELLBOOK_BUFFTERRAIN подробнее будет ниже
SpecialPowerRadius = Эта опция не обязательна и используется только для способностей где есть радиус-курсор например призыв кого-то или
способность эльфийские леса. В этой случае значение SpecialPowerRadius берется из SpecialPower.ini
End
Теперь коротко о всех возможных видов ИИ для книги спелл и способностей у существ и героев
SpecialPowerAIType = AI_SPECIAL_POWER_ENEMY_TYPE_KILLER - самый простой тип ИИ означает просто "убить врага" применяется на все виды
вражеских юнитов
AI_SPECIAL_POWER_TOGGLE_MELEE_AND_RANGE - означает что юниты могут переключаться между луком и мечом
AI_SPECIAL_POWER_HEAL_AOE - лечит абсолютно все виды юнитов когда их здоровье на волоске
AI_SPECIAL_POWER_SELFAOEHEALHEROS - исцеляет только лишь героев если их здоровье на волоске
AI_SPECIAL_POWER_GIVEXP_AOE позволяет давай опыт указанным юнитам
AI_SPECIAL_POWER_LEGOLAS_TRAINARCHERS - позволяет давать опыт только лучникам
AI_SPECIAL_POWER_BASIC_SELF_BUFF - один из простых , все способности типа Blade Master и Glorious Charge должны иметь именно этот тип ИИ
AI_SPECIAL_POWER_ELENDIL - когда у юнита кончается здоровье он использует эту способность пытаясь таким образом отогнать врагов.таким образом
он может обезопасить себя. Любые способности отправляющие врагов в бегство.
AI_SPECIAL_POWER_TARGETAOE_SUMMON - позволяет вызвать юнитов в указанную область
AI_SPECIAL_POWER_RANGED_AOE_ATTACK - данный тип использую герои которые могут прыгать на отряды врагов и сносить их ,например прыжок Рогаша
AI_SPECIAL_POWER_CHARGE - - Способность темных дунаданов "Начать атаку" и подобное будет примером использования данного типа ИИ.
AI_SPECIAL_POWER_LEGOLAS_ARROWWIND - используется чтобы закидать стрелами врагов в указанной области.Пример такого виден из названия :E9:
AI_SPECIAL_POWER_GANDALF_WIZARD_BLAST - использование какой-нибудь силы что отбросить рядом указанных врагов и нанести им урон пример тому способность магов "Отбрасывание врагов"
AI_SPECIAL_POWER_TOGGLE_MOUNTED - позволяет сесть на коня(или на что-то другое) или спешиваться
AI_SPECIAL_POWER_ENEMY_TYPE_KILLER_STRUCTURES - этот тип подобен AI_SPECIAL_POWER_ENEMY_TYPE_KILLER только атакует лишь строительные сооружения
AI_SPECIAL_POWER_ENEMY_TYPE_KILLER_RANGED - дополнительный и вовсе не обязательный,убивает юнитов которые имеют дальний тип атаки
Это для обычных способностей героев и юнитов. Теперь типы ИИ для книг спелл :
AI_SPELLBOOK_CITADEL - если вам вдруг нужно призвать строения типа "цитаделей
AI_SPELLBOOK_STRUCTURE_BASEKILL - призывают существ и других юнитов которые орентированы на уничтожении вражеских баз (например призыв балрога)
AI_SPELLBOOK_TREE_KILLER - уникальный тип ИИ ,позволяет обменять ресурсы деревьев в указанной области на монеты
AI_SPELLBOOK_SHROUD_REVEAL - позволяет сделать любую указанную невидимую область в видимую ()Например палантир.
AI_SPELLBOOK_CALLTHEHORDE - позволяет увеличить скорость найма юнитов в казармах
AI_SPELLBOOK_BUFFECONOMYBUILDING - бонусы для указанных построек дающих ресурсы
AI_SPELLBOOK_REBUILD - ремонт зданий
AI_SPELLBOOK_BUFFTERRAIN - создание областей на карте дающие войскам преимущества например "эльфийские леса"
AI_SPELLBOOK_ENSHROUDINGMIST - призывает туман в область где находятся враги для снижения их бонусов
AI_SPELLBOOK_STRUCTURE_BREAKER - любой спелл ориентированный на уничтожение построек например "наводнение"
AI_SPELLBOOK_STRUCTURE_BREAKER_PREF_WALLS - используется например в спелле "Энты" . Данная способность ориентирована на
уничтожение построек и стен.Всегда будет призываться у лагеря
AI_SPELLBOOK_HEAL - лечение указанных юнитов
AI_SPELLBOOK_CAPTURE_CREEP - способен захватывать нейтральные логова для их использования
AI_SPELLBOOK_ARMY_BREAKER - призывает отряды юнитов и др. существ в указанную область
AI_SPELLBOOK_ASSIST_BATTLE_DEBUFF - Неоднозначный тип ИИ. Его использует компьютер для (усиления) или поддержки своей атаки на врага,Это может быть и вызов Глубинного стража или Тома Бомбадила. Также его использует способность ArrowVolley
AI_SPELLBOOK_ASSIST_BATTLE_BUFF - способности типа War Chant использует его для усиления указанных войск
AI_SPELLBOOK_ALWAYS_FIRE - уникальная используются для воспламенения указанной области
На этом все типы закончены :E2: теперь приступим к написании ИИ для нашей способности "туман"
Это легко очень для начала копируем как было указанно выше строчку "SpellBookEnshroudingMistImladris"
и идем в data\ini\includes\commandbutton.inc где находятся все наши кнопки далее Edit-> Find вставляем строчку SpellBookEnshroudingMistImladris
и сразу натыкаемся на строчку Command_SpellBookEnshroudingMistImladris это нам и нужно.Теперь готовим полный код ИИ тип для тумана как вы поняли
будет AI_SPELLBOOK_ENSHROUDINGMIST.Радиус в specialpower.ini указан как 150
Behavior = AISpecialPowerUpdate SpellBookEnshroudingMistAI
CommandButtonName = Command_SpellBookEnshroudingMistImladris
SpecialPowerAIType = AI_SPELLBOOK_ENSHROUDINGMIST
SpecialPowerRadius = 150
End
Ну вот и все по такому же типу создается ИИ и для других спелл и при возможности вы уже сами можете это сделать :E2: Удачи!