В тылу врага: Триггеры

В данной статье я опишу работу с триггерами и, конечно же, выложу несколько примеров. Например, как сделать простейшую миссию, что либо триггерно взорвать, как разрушить/поломать любую уничтожимую часть техники и прочее. Итак, приступим.
Первое, что я хотел бы показать, - это как сделать простенькую миссию.
В миссии нужно будет подойти к солдату, он выдаст квест, после чего вы должны будете уничтожить корпус танку, именно корпус.
Для начала зайдите в режим F3. Если вы только что создали карту и в F3 не заходили, то сначала нужно её сохранить в F3. Нажимаем ESC/Save/0.mi - такое название должна иметь миссия. Далее здесь же в F3 выберите раздел Triggers (Циферка 6).
В верхнем окошке ПКМ/Add, даем имя триггеру (Кстати, чтоб экономить место в триггерах, можно объединять их в группы, например: test/trololo. То есть этот триггер будет в папке test). Пока что отложим наш триггер, т.к для начала нужно сделать task.
Дальше мы должны создать сам task. Нажимаем F9/helpers/tasks.
В окошке ПКМ/Add, даем имя нашему квесту. Далее будет составляющее этого task:
  • desc - текст квеста
  • primary - является квест основным или дополнительным
  • state - состояние task. У него может быть несколько состояний:
    • hidden - скрыт
    • completed - выполнен
    • failed - провален
  • point - место квеста. Объясняю как сделать:
В режиме F3 заходим в раздел entity (циферка 2), service/pointer, там выбираем какой нам именно нужен - маленький или же большой. Далее ставим на карту, в то место в которое нам нужно, и даем ему тег (на свой выбор). Потом этот тег вписываем в раздел point. Pointer изначально при нажатии START невидим, он будет видим только тогда, когда у этого квеста будет состояние show.
Далее идем в раздел Zone (Циферка 5)
Создаем новую область, помещаем на карту. Область желательно сделать округлую. Изменяем как вам нужно её размер.
Потом идем в раздел entity (Циферка 2)
Ставим на карту танк либо другую технику. Выделяем его, и в панельке справа будет вся информация об объекте. Ищем ячейку tags. Приписываем нашему танку любой тег, какой вам удобен, я написал tank. Дальше ставим пару солдат: первого, которым будет управлять комп, в центре созданной области, второго где-то поодаль. Танк тоже где нибудь подальше поставьте.
Примечание:
Зайдите в F9/player/ и выберите, каким цветом будете вы. Дальше в player/diplomacy сделайте, чтобы игрок 2 (зелёный) был вашим союзником. Потом выберите первого юнита, тот который выдает квест и на панельке справа сделайте владельца игрок 2, первому юниту игрок 0, танку игрок 1.
Вернемся к триггерам.
Всего будет два триггера:
  1. Выдача квеста
  2. Выполнение
Итак, выберите созданный ранее триггер либо создайте новый, в окошке conditions ПКМ/entities
Далее делаем все, как на скриншоте:
Дальше в окошке actions создаем действие delay [1] - это значит что будет задержка в одну секунду. Потом опять ПКМ/add/scene/task. Открываем это действие и заполняем:
  1. name - выбераем наш task
  2. state - show - показать
Создаем второй триггер, с условием, что компонент танка, а именно корпус, будет уничтожен.
В conditions создаем новое событие entity, далее все как на скрине:
И финал: делаем действие на выполнение квеста.
В окошке actions создаем действие task:
  1. name - выбераем наш task
  2. state - complete/fail - выполнено/провалено
Все, далее нажимаем кнопочку START и выполняем созданную миссию =)
Еще что я хотел бы добавить, это как уничтожить любой компонент техники:
  • Создаем триггер
  • Ваше событие
  • Действие actor/actor_component:
selector - нужный вам объект
component - часть техники (Все компоненты перечислены ниже)
state - состояние:
  • work - работающее состояние
  • broken - поломанное (можно починить)
  • destroyed - разрушенное (нельзя починить)
У танков:
Track left - левая гусеница,
Track right - правая гусеница,
Engine - двигатель,
Body - корпус,
Turret - башня,
Gun - пушка,
mgun - пулемет

Просмотров: 5 320

VetsaN #1 - 8 лет назад 0
Я предполагал, что триги тут будут примерно такими, а вот раздельность окон огорчает. Прям как в ск2...
SpiritWolf #2 - 8 лет назад 0
Да все ок, меня это вовсе не раздражает