Создать аккаунт

Editor - F3 - Triggers

708
0
Загружено: 25 июн 2023, 16:50
Опубликовал: TonaTor

Эта вкладка используется для создания скриптов миссии (триггеров).
Именно для этой вкладки существует весь остальной редактор.

Триггеры - это то, что делает миссию миссией.
Именно они обеспечивают логику происходящего на поле боя;
А т.ж. обеспечивают развитие происходящего в процессе игры.

Триггер - это группа (одна или несколько) команд, выполняемых в определенной ситуации.
Триггер состоит из группы условий, логических связей между условиями и группы команд.
(Группа команд выполняется в момент срабатывания триггера).

Прежде, чем начинать создавать триггеры - сначала нужно подумать над сценарием миссии.
Затем - сценарий нужно разделить на конкретные эпизоды/подэпизоды и преобразовать их в логические блоки;
Допустим, так:

старт/инициализация
старт/брифинг

эпизод1/действия/старт сценария
эпизод1/действия/доп. обработчик сценария-1
эпизод1/действия/доп. обработчик сценария-2
эпизод1/действия/доп. обработчик сценария-3
эпизод1/статус/эпизод выигран
эпизод1/статус/эпизод провален

эпизод2/действия/старт сценария
эпизод2/действия/доп. обработчик сценария-1
эпизод2/действия/доп. обработчик сценария-2
эпизод2/действия/доп. обработчик сценария-3
эпизод2/статус/эпизод выигран
эпизод2/статус/эпизод провален

финал/победа
финал/проигрыш/причина1
финал/проигрыш/причина2

Разумеется. У вас будет свой сценарий и своя структура.

Свобода писателя скриптов - чем-то похожа на свободу писателя романов.
По сути - можно писать любой сценарий. Но чем больше новых идей будет вклиниваться в уже написанное  - тем больше вероятности порчи сценария; И соответственно - появления багов и непредсказуемого
поведения скриптов и объектов на карте.

В этом мануале - тема скрипторства полностью раскрыта не будет.
Т.к. скрипты - это комплексная тематика, включающая в себя:
описание всех команд, условий, хелперов и их взаимодействие;
разбивка сценария на логические эпизоды и выбор компоновки вспомогательных скриптов
(которые можете определить только вы, исходя из ваших задач); и разумеется - отладка, включающая в себя поиск и устранение багов.
Отладка - "любимая" тематика скриптеров и программистов.
(особенно - новичков)
Ведь любые скрипты работают не абстрактно, и не так, как хочется,
А так - как они написаны (с поправкой на то, что они работают не в вакууме;
А с событиями и объектами - с которыми абсолютно всегда что-то идёт не так.
В особенности - что-то идёт не так с тем, о чём вы даже не знаете).
Поэтому, после написания или правки скрипта - его нужно многократно и по разному тестировать.
Разумеется, тестировать нужно с расчётом на то, что игроков, "правильно" играющих по вашим скриптам - наберётся... один... может два...
Все остальные - будут играть как скотобазы и/или дeбилы с -IQ;
Даже не пытаясь понять логику происходящего, а скорее - пытаясь её сломать. Или пытаясь найти самый халявный вариант прохождения...
(Ах да. У каждого игрока - свой стиль игры. А мышление - в корне отличающееся от вашего)
 - Скрипты должны быть к этому готовы.
И разумеется, если что-то у кого-то сломается - вас могут полить дeрьмом за это.

Теперь, когда 99% чтецов (и бывших будущих мододелов) отсеялось - можно начать описание.

1) Блок триггеров.

Чтобы создать триггер, нужно:
Либо, нажать ПКМ на пустом пространстве окна и нажать на Add:
, либо нажать Inset.

Появится окно ввода имени для вашего триггера:

Присутствует возможность создания многоуровневой структуры расположения триггеров через символ "/".

Примечания (1):
П1.1) Нельзя создавать два триггера с одинаковым путём и именем;
П1.2) Нельзя создавать триггер, чей путь и имя совпадает с путём и именем какого-либо раздела.
Смотри примечание 2.

Таким образом можно организовать удобную для себя структуру:

Новые триггеры автоматически сортируются и располагаются в алфавитном порядке. Но с тем учётом, что многоуровневые триггеры будут идти выше одноуровневых.

При наличии триггерованных вейпоинтов - автоматически создаётся
блок триггеров для этих вейпоинтов (имена - это их UID):

 - Этот блок всегда будет идти самым первым в блоке триггеров.

Примечание (2):
При невозможности создания/перемещения/переименования/копирования триггера - редактор зачем-то создаёт новый вейпоинт на нулевых координатах. И создаёт в нём незаполненный триггер.
Если его заполнить хоть одной командой,
то в некоторых случаях - такой вейпоинт станет невозможно удалить.
Сложно сказать, баг ли это, или недоделанная фича...

При нажатии правой кнопкой по триггеру (не по разделу) - появится меню действий с триггером:

M.1) Add - Добавить новый триггер

M.2) Rename - Переименовать и/или изменить месторасположение триггера.

Примечания (3):
П3.1) С помощью переименования можно перемещать триггеры
из/в/между разделами.
Но переместить триггер в тот раздел, где уже есть триггер с таким же именем - не получится.
П3.2) Перемещая/переименовывая триггер - не забывайте его перевыбирать там, где он используется.
Смотри примечание 2..

M.3) Copy - Копировать триггер под новым именем и/или месторасположением.

Примечание (4):
Копировать на уже существующее имя - не получится.
(Смотри примечание 2).

M.4) Delete - Удалить триггер.
(При этом будет запрашиваться подтверждение).

M.5) Turn on - Включить возможность исполнения триггера.
(Запретительный значок при этом исчезнет)

M.6) Turn off - Выключить возможность исполнения триггера.
При этом - напротив триггера будет появляться запретительный значок:

2) Задача условий работы триггера.
Читай статью о настройке условий срабатывания триггеров.

3) Задача команд триггера.
Читай статью о составлении команд триггеров.


Дополнительно, читай тему с примерами скриптов. (ССЫЛКА)

Смотрите также:

Комментарии
Без политики и матов. Комментарии проходят модерацию.