ID юнита указан в поле Unit Name (Имя), интерфейса Unit Properties.
ID профиля юнита указан в поле ID профиля, интерфейса Unit Properties.
ID каждого бойца отряда можно узнать посмотрев в поле "Отряд" интерфейса "Unit Properties".
ID контейнера указан в поле Имя, интерфейса Container Properties.
ID профиля контейнера указан в поле ID профиля, интерфейса Container Properties.
ID предмета - это его имя в папке \Resources\Profiles\items (без разрешения). Также его можно узнать при выборе предмета в интерфейсе Container Properties.
ID мапобъекта - это его имя в окне Custom (Объекты).
Название триггера можно узнать в окне Triggers (Триггеры) в графе Имя.
Уровень предмета можно посмотреть открыв файл профиля предмета блокнотом (из папки \Resources\Profiles\items), в строке level.
Все ID строки локализации прописаны в файле \Resources\Languages\Russian\Texts\rus_objectives.txt
Все эффекты находятся в папке \Resources\Profiles\effects.
Номер гекса указан в поле hex (Гекс), интерфейса Object Properties, или в поле Гекс под курсором вкладки Quests.
Стандартный угол разворота для конкретного гекса можно узнать зажав Ctrl, и направив курсор на гекс. Синяя цифра рядом с курсором и есть угол по умолчанию.
Высоту положения камеры можно узнать в поле Game camera, интерфейсного окна Quest, только в режиме Game Camera.
Угол поворота камеры можно узнать в поле Game camera, интерфейсного окна Quest.
Файлы со скриптами диалогов располагаются в папке \Resources\Dialogs.
Путь к файлу прописывается от папки \Resources, разделитель - обратный слеш "\".
<enemy unit id> - ID юнита, на которого будет совершено нападение.
Активный на момент срабатывания скрипта юнит атакует указанный юнит. Активный юнит не будет автоматически подбегать к цели атаки! Битва произойдет даже если атакуемый юнит недосягаем, или скрыт с помощью UnitOff. Напасть можно даже на дружественный отряд, битва будет автоматически выиграна, оба отряда останутся на своих местах.
<item id> - ID предмета, например potion_agility-huge.
Ставит в указанный гекс контейнер с указанным предметом. Если указанный гекс уже занят объектом (не юнитом), не очищает гекс, и не ставит контейнер. Если занят юнитом - не кладет в инвентарь юнита, а просто ставит контейнер в этот же гекс. Для добавления в инвентарь используйте AddItemToUnitAt.
<item id> - ID предмета, например potion_agility-huge.
Добавляет юниту, стоящему в указанном гексе, указанный предмет. Показывает уведомление ("Вы нашли такой-то предмет..."), даже если предмет дать вражескому юниту. Если в гексе нет юнита - не создает контейнер. Для создания контейнеров используйте AddContainer.
<rotate num> - угол разворота объекта, от 0 до 5 (необязательный параметр).
Добавляет в указанный гекс мапобъект.
Если указанный гекс занят юнитом, ставит объект в гекс с юнитом.
Если указанный гекс занят объектом, очищает гекс, и ставит объект. Если гекс занят, но не является центральным, не будет удалять занимающий его объект, но поставит новый.
Если угол не указан, объект будет развернут в соответствии с предписанным углом разворота указанного гекса. Узнать его можно зажав Ctrl, и направив курсор на гекс. Синяя цифра рядом с курсором и есть угол по умолчанию.
Замечен баг: после загрузки карты, настройки поворота объекта сбиваются. Используйте зацикленные квесты, стирающие и ставящие объект заново с нужным поворотом в конце каждого хода. Пока это единственное известное решение.
Создаем квест "имя квеста" В условиях срабатывания выбираем End Turn. Параметров указывать не надо, иначе не сработает.
В самом скрипте пишем:
Code
//Стираем наш поставленный скриптом объект ClearNodeObject(центральный гекс нашего стираемого объекта) //Ставим его заново AddMapObject ("имя нашего объекта", его гекс, поворот); //Зацикливаем наш квест QuestCycle(999, "имя квеста", "имя квеста");
Будет выполняться 999 раз в конце каждого хода. Можно вместо QuestCycle пользоваться командой SetQuestStatus с параметром true. Тогда будет повторяться бесконечно.
<item id> - ID предмета, например potion_agility-huge.
Добавляет предмет в контейнер на указанном гексе. Если указанный гекс занят юнитом - не кладет в инвентарь юнита. Для добавления в инвентарь используйте AddItemToUnitAt.
gold – золото; Stone – камень; Life mana – мана жизни; Infernal mana – мана огня; Grove mana – мана земли; Death mana - мана смерти.
<amount> - количество добавляемых ресурсов (допустимы отрицательные числа).
Добавляет указанной стороне, указанный ресурс, в указанном количестве. Один скрипт добавляет только один вид ресурса.
Знак "минус" в поле <amount> ставится после добавления скрипта в окно редактирования.
Если хочется отнять у игрока 200 золота (условно), а на момент срабатывания скрипта игрок имеет всего 100 - скрипт не будет производить вычитания. Поэтому если хочется отобрать у кого-либо все кровные, придется извращаться, например так:
<item id> - ID предмета, например potion_agility-huge.
Добавляет в указанный магазин указанный предмет. Предмет предоставляется на продажу в неограниченном количестве. Не добавляет предметы в магазины городов.
arm – наплечники; body – нагрудник; feet – обувь; gems – товары для продажи; hands - перчатки; head – головной убор; leg - штаны; potion - зелья; rings - кольца; runes - руны; sphere - сферы; talisman - талисманы; weapon - оружие.
Добавляет в указанный магазин случайный предмет, указанного типа и уровня. Предмет предоставляется на продажу в неограниченном количестве. Не добавляет предметы в магазины городов.
Уровень предмета можно посмотреть открыв профиль предмета (из папки \Resources\Profiles\items), в строке level.
Выборка предметов производится из всех рас, могут выпасть предметы даже для сюжетных персонажей.
ID профиля юнита указан в поле ID профиля, интерфейса Unit Properties.
Если указанный уровень ниже базового уровня юнита, уровень юнита останется базовый.
Если указанный уровень выше уровня юнита, уровень будет поднят до указанного, с добавлением соответствующих бонусов.
В процессе работы, скрипт помещает модель добавленного юнита в нулевой гекс [0,0].
0-гекс является недосягаемым, но просматриваемым (входит в 2х гексовую окаймовку карты).
Пропадет модель оттуда только когда игре потребуется подзагрузка модели нанятого юнита. Это может произойти когда:
Открывается интерфейс лидера отряда, в котором содержится добавленный юнит (далее просто Лидер);
Лидер входит в город;
Лидер вступает в битву.
(Иными словами, он исчезнет только когда появится возможность увидеть его модель не на глобальной карте.)
<unit pid> - ID профиля добавляемого юнита, например demons_beast.
<hex> - номер центрального гекса лагеря наёмников.
<price> - цена найма в золоте (N/A).
<level> - уровень добавляемого юнита (N/A).
Добавляет указанный юнит, в список найма указанного лагеря наёмников, по указанной цене, указанного уровня.
Цена и уровень юнита, вне зависимости от указанных параметров, рассчитывается по-умолчанию.
В процессе работы, скрипт помещает модель добавленного на продажу юнита в нулевой гекс [0,0]. 0-гекс является недосягаемым, но просматриваемым (входит в 2х гексовую окаймовку карты).
При успешном найме в лагере, в 0-гекс помещается еще одна копия модели юнита. Пропадет она оттуда только когда игре потребуется подзагрузка модели нанятого юнита. Это может произойти когда:
Открывается интерфейс лидера отряда, в котором содержится нанятый юнит (далее просто Лидер); Лидер входит в город; Лидер вступает в битву.
(Иными словами, он исчезнет только когда появится возможность увидеть его модель не на глобальной карте.) К слову, этот процесс, с добавлениями нанятых в лагере наёмников юнитов в 0-гекс, наблюдается всегда, независимо, активировался ли AddUnitToMercenary или нет.
Скрипт вызывает видео эффект сотрясание камерой, продолжительность эффекта не редактируется. Длительность эффекта примерно равна 1с (с затуханием). Для создания продолжительного сотрясения чередуйте CameraShake с коммандой Wait, где период < 500мс.
<hex> - номер центрального гекса удаляемого объекта.
Очищает указанный гекс от любых установленных на нём объектов, исключая юнитов. Для удаления многогексовых объектов необходимо указать центральный гекс объекта (центральный гекс объекта указан в поле hex (Гекс), интерфейса Object Properties).
<leader unit id> - ID лидера в отряд к которому будет присоединен юнит.
<unit id> - ID присоединяемого юнита.
Добавляет указанному лидеру отряда, указанный, уже существующий на карте, юнит.
Присоединяемый юнит не будет автоматически подбегать к цели!
Присоединение произойдет даже если один из юнитов недосягаем, или скрыт с помощью UnitOff.
Если добавить дружественного юнита во вражеский отряд, он автоматически станет вражеским. И наоборот.
Комманда добавляет только лидера отряда<unit id>. Вся армия отряда <unit id> будет недоступна.
Однако, если позднее отсоединить юнита <unit id> от отряда <leader unit id> с помощью UnlinkUnit, армия отряда <unit id> будет восстановлена.
Если вы хотите сделать качественное объединение двух армий, придется отделить каждого бойца отряда <unit id> с помощью UnlinkUnit, и только затем последовательно присоединять каждого из них.
ID каждого бойца отряда можно узнать посмотрев в поле "Отряд" интерфейса "Unit Properties".
Предположим, на карте имеется лидер - Толстый бес (<leader unit id> = neutrals_fatimp_3), от которого убежало три подчиненных бесёнка.
Они стоят на другом гексе карты, лидер отряда (<unit id> = neutrals_imp_1), и в его армии еще два беса (neutrals_imp_10 и neutrals_imp_11).
При таком раскладе Толстому бесу, для присоединения всех трёх беглецов, потребуется скрипт такого вида:
Code
UnlinkUnit("neutrals_imp_10", "neutrals_imp_1", 0); // отсоединяем каждого беса UnlinkUnit("neutrals_imp_11", "neutrals_imp_1", 0); // и помещаем в 0-гекс (например)
JoinUnit("neutrals_fatimp_3", "neutrals_imp_10"); // после чего, каждый бес JoinUnit("neutrals_fatimp_3", "neutrals_imp_11"); // стал сам себе лидером JoinUnit("neutrals_fatimp_3", "neutrals_imp_1"); // которых мы и присоединяем
После его выполнения, все три беса окажутся в армии Толстого беса.
Уничтожает всех призванных существ на карте, независимо от их принадлежности. Проигрывает анимацию смерти.
После завершения скрипта, призванное существо остается невидимым на карте, с 0хп. После завершения хода, на месте призванного существа повторно проигрывается эффект defeat, и существо окончательно исчезает из игры. (Resurrection v1.03)