Disciples I [2] | Disciples II [6] |
Disciples III [20] | Вопросы по вселенной (Сеттингу) [0] |
Вопросы по сайту [16] | Редакторы карт [0] |
Список скриптовых команд в Д3 [87] |
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.
Напасть можно даже на дружественный отряд, битва будет автоматически выиграна, оба отряда останутся на своих местах.
- <enemy unit id> - ID юнита, на которого будет совершено нападение.
- <arena file> - путь к файлу арены (с разрешением .scene).
Аналог ActiveStartBattle, с указанием арены на которой должен произойти бой.
- <container pid> - ID профиля контейнера, например Chest_01.
- <hex> - номер гекса.
- <item id> - ID предмета, например potion_agility-huge.
Ставит в указанный гекс контейнер с указанным предметом.
Если указанный гекс уже занят объектом (не юнитом), не очищает гекс, и не ставит контейнер.
Если занят юнитом - не кладет в инвентарь юнита, а просто ставит контейнер в этот же гекс.
Для добавления в инвентарь используйте AddItemToUnitAt.
- <unit id> - ID юнита, которому будет добавлен предмет в инвентарь.
- <item id> - ID предмета, например potion_agility-huge.
Добавляет указанному юниту указанный предмет.
Показывает уведомление ("Вы нашли такой-то предмет..."), даже если предмет дать вражескому юниту.
- <hex> - номер гекса.
- <item id> - ID предмета, например potion_agility-huge.
Добавляет юниту, стоящему в указанном гексе, указанный предмет.
Показывает уведомление ("Вы нашли такой-то предмет..."), даже если предмет дать вражескому юниту.
Если в гексе нет юнита - не создает контейнер. Для создания контейнеров используйте AddContainer.
- <unit id> - ID юнита, которому будет добавлен эффект.
- <buff id> - ID эффекта, которой должен быть повешен, например AllstatsMax.
Даёт лидеру указанного отряда, указанный баф.
Все эффекты находятся в папке \Resources\Profiles\effects.
Проверка скрипта: Resurrection v1.03 - ошибка, скрипт не работает.
- <unit id> - ID юнита.
- <state> - тэг характеристики.
- vit - выносливость;
str - сила;
int - интеллект;
agi - ловкость;
dex - сноровка (N/A);
exp - опыт (N/A).
- <statNumber> - добавляемое значение (допустимы отрицательные числа).
Добавляет к характеристике лидера указанного отряда указанное значение.
Знак "минус" в поле <statNumber> ставится после добавления скрипта в окно редактирования.
(Начисление сноровки и опыта почему-то не происходит...)
- <object name> - ID мапобъекта, например Orc_tower.
- <hex> - номер гекса.
- <rotate num> - угол разворота объекта, от 0 до 5 (необязательный параметр).
Добавляет в указанный гекс мапобъект.
Если указанный гекс занят юнитом, ставит объект в гекс с юнитом.
Если указанный гекс занят объектом, очищает гекс, и ставит объект. Если гекс занят, но не является центральным, не будет удалять занимающий его объект, но поставит новый.
Если угол не указан, объект будет развернут в соответствии с предписанным углом разворота указанного гекса. Узнать его можно зажав Ctrl, и направив курсор на гекс. Синяя цифра рядом с курсором и есть угол по умолчанию.
Замечен баг: после загрузки карты, настройки поворота объекта сбиваются. Используйте зацикленные квесты, стирающие и ставящие объект заново с нужным поворотом в конце каждого хода. Пока это единственное известное решение.
- <hex> - номер гекса с контейнером.
- <item id> - ID предмета, например potion_agility-huge.
Добавляет предмет в контейнер на указанном гексе.
Если указанный гекс занят юнитом - не кладет в инвентарь юнита.
Для добавления в инвентарь используйте AddItemToUnitAt.
- <num> - уникальный, для данной миссии, номер задания.
- <text id> - ID строки локализации, содержащей текст задания, например S1m0obj_1.
- <flag> - уровень приоритетности задания, где 0 – основное задание, 1 – второстепенное задание.
Добавляет новым пунктом задание в журнал игрока, в раздел «задания».
Все ID строки локализации прописаны в файле \Resources\Languages\Russian\Texts\rus_objectives.txt
- <playside> - сторона, которой будет начислен ресурс.
- empire – Империя;
Legions – Легионы Проклятых;
Elves – Эльфийский Альянс;
Undead - Орды Нежити.
- <resource name> - ресурс:
- gold – золото;
Stone – камень;
Life mana – мана жизни;
Infernal mana – мана огня;
Grove mana – мана земли;
Death mana - мана смерти.
- <amount> - количество добавляемых ресурсов (допустимы отрицательные числа).
Добавляет указанной стороне, указанный ресурс, в указанном количестве. Один скрипт добавляет только один вид ресурса.
Знак "минус" в поле <amount> ставится после добавления скрипта в окно редактирования.
Если хочется отнять у игрока 200 золота (условно), а на момент срабатывания скрипта игрок имеет всего 100 - скрипт не будет производить вычитания.
Поэтому если хочется отобрать у кого-либо все кровные, придется извращаться, например так:
AddResource("empire", "gold", -1000);
AddResource("empire", "gold", -1000);
AddResource("empire", "gold", -1000);
AddResource("empire", "gold", -1000);
AddResource("empire", "gold", -1000);
AddResource("empire", "gold", -1000);
AddResource("empire", "gold", -1000);
AddResource("empire", "gold", -1000);
AddResource("empire", "gold", -1000);
AddResource("empire", "gold", -100);
AddResource("empire", "gold", -100);
AddResource("empire", "gold", -100);
AddResource("empire", "gold", -100);
AddResource("empire", "gold", -100);
AddResource("empire", "gold", -100);
AddResource("empire", "gold", -100);
AddResource("empire", "gold", -100);
AddResource("empire", "gold", -100);
AddResource("empire", "gold", -10);
AddResource("empire", "gold", -10);
AddResource("empire", "gold", -10);
AddResource("empire", "gold", -10);
AddResource("empire", "gold", -10);
AddResource("empire", "gold", -10);
AddResource("empire", "gold", -10);
AddResource("empire", "gold", -10);
AddResource("empire", "gold", -10);
AddResource("empire", "gold", -1);
AddResource("empire", "gold", -1);
AddResource("empire", "gold", -1);
AddResource("empire", "gold", -1);
AddResource("empire", "gold", -1);
AddResource("empire", "gold", -1);
AddResource("empire", "gold", -1);
AddResource("empire", "gold", -1);
AddResource("empire", "gold", -1);
- <hex> - номер центрального гекса обекта-магазина.
- <item id> - ID предмета, например potion_agility-huge.
Добавляет в указанный магазин указанный предмет.
Предмет предоставляется на продажу в неограниченном количестве.
Не добавляет предметы в магазины городов.
- <hex> - номер центрального гекса обекта-магазина.
- <item level> - уровень предмета.
- <item type> - тип предмета:
- arm – наплечники;
body – нагрудник;
feet – обувь;
gems – товары для продажи;
hands - перчатки;
head – головной убор;
leg - штаны;
potion - зелья;
rings - кольца;
runes - руны;
sphere - сферы;
talisman - талисманы;
weapon - оружие.
Добавляет в указанный магазин случайный предмет, указанного типа и уровня.
Предмет предоставляется на продажу в неограниченном количестве.
Не добавляет предметы в магазины городов.
Уровень предмета можно посмотреть открыв профиль предмета (из папки \Resources\Profiles\items), в строке level.
Выборка предметов производится из всех рас, могут выпасть предметы даже для сюжетных персонажей.
- <leader id> - ID юнита на карте.
- <unit pid> - ID профиля добавляемого в отряд юнита, например demons_beast.
- <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 или нет.
- <trigger name> - название траггера.
- <flag> - уровень проходимости, где 0 - зона проходима, 1 - непроходима.
Указанный триггер становиться для отрядов, находящихся под управлением AI, непроходимой зоной.
Также AI не кастует заклинания в указанный триггер.
Название триггера можно узнать в окне Triggers (Триггеры) в графе Имя.
Если просто заблокировать отряд AI (как на примере) - это скорее всего приведет к тому, что при ходе противника игра повиснет.
Скрипт вызывает видео эффект сотрясание камерой, продолжительность эффекта не редактируется.
Длительность эффекта примерно равна 1с (с затуханием).
Для создания продолжительного сотрясения чередуйте CameraShake с коммандой Wait, где период < 500мс.
- <hex> - номер центрального гекса удаляемого объекта.
Очищает указанный гекс от любых установленных на нём объектов, исключая юнитов.
Для удаления многогексовых объектов необходимо указать центральный гекс объекта (центральный гекс объекта указан в поле hex (Гекс), интерфейса Object Properties).
- <float radius> - радиус.
- <hex> - номер гекса.
Скрывает карту стратегическим туманом войны (чёрный туман, сквозь который не видно террейн), в указанном радиусе, вокруг указанного гекса.
Проверка скрипта: Resurrection v1.03 - скрипт не работает.
- <num> - уникальный, для данной миссии, номер задания.
- <flag> - флаг завершения, где 0 – «задание провалено», 1 – «задание выполнено».
"Завершает" задание в журнале заданий.
- <unit id> - ID удаляемого юнита.
Удаляет указанный юнит, с войском, предметами и т.п.
- <num> - уникальный, для данной миссии, номер задания.
Удаляет указанное задание без пометок. При удалении проигрывается звук.
Удаление задания фактически удаляет его номер (<num>), и если остались скрипты, активируемые для задания с этим номером, они не будут выполнены.
В списке заданий задание останется.
- <unit id> - ID юнита.
- <time> - время отрисовки, указывается в миллисекундах.
- <bool 0/1> - флаг, 0 – появление, 1 – исчезновение.
Вызывает графический эффект «плавной» отрисовки указанного юнита, за указанное время.
Нулевое значение атрибута <time> сделает исчезновение/появление мгновенным, без эффекта.
Если юнит уже виден (не виден), и указано его появление (исчезновение) скрипт ничего делать не будет.
После исчезновения, юнит остаётся невидимым в гексе, в котором он пропал.
Не мешая передвижению других юнитов, и не генерируя агро радиус.
Не следует путать с коммандой UnitOff. Комманда FadeUnit может быть использована как альтернатива UnitOff, но они не взаимозаменяемы.
Более подробное описание будет чуть позже.
- <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".
Уничтожает всех призванных существ на карте, независимо от их принадлежности. Проигрывает анимацию смерти.
После завершения скрипта, призванное существо остается невидимым на карте, с 0хп. После завершения хода, на месте призванного существа повторно проигрывается эффект defeat, и существо окончательно исчезает из игры. (Resurrection v1.03)
- <victory flag> - victory – победа, любое другое значение, или его отсутствие – поражение.
Завершает карту с указанным результатом.