Editor - F3 - Triggers
Эта вкладка используется для создания скриптов миссии (триггеров).
Именно для этой вкладки существует весь остальной редактор.
Триггеры - это то, что делает миссию миссией.
Именно они обеспечивают логику происходящего на поле боя;
А т.ж. обеспечивают развитие происходящего в процессе игры.
Триггер - это группа (одна или несколько) команд, выполняемых в определенной ситуации.
Триггер состоит из группы условий, логических связей между условиями и группы команд.
(Группа команд выполняется в момент срабатывания триггера).
Прежде, чем начинать создавать триггеры - сначала нужно подумать над сценарием миссии.
Затем - сценарий нужно разделить на конкретные эпизоды/подэпизоды и преобразовать их в логические блоки;
Допустим, так:
старт/инициализация
старт/брифингэпизод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) Задача команд триггера.
Читай статью о составлении команд триггеров.
Дополнительно, читай тему с примерами скриптов. (ССЫЛКА)