Команды триггеров

```
***Основная статья***

```

## ***Actor - юнит***

* **Ables** - способности:
	1. **crew** - быть экипажем техники;
	2. **ally\_crew** - быть экипажем «дружественной» техникой (в том случае если есть союзники, принадлежащие другому player’у);
	3. **any\_crew** - быть экипажем любой техникой;
	4. **repair** - может ремонтировать;
	5. **talk** - может говорить;
	6. **select** - может быть выбран;
	7. **fight** - может сражаться;
	8. **personage** - добавляется при кооперативе;
	9. **recruit** - может быть призван (добавлен) в отряд;
	10. **unmask** - может быть замаскирован (если mask\_player совпадает с player’om противника тогда враги будут воспринимать его как своего);
	11. **emit\_on\_attack** - высаживается (из техники) при атаке;
	12. **emit\_passenger\_on\_enemy** - высаживаются пассажиры при обнаружении врага;
	13. **emit\_crew\_on\_injure** - высаживаются все сидящие в транспорте при ранении, повреждении;
	14. **emit\_on\_mandie** - высаживаются при условии что кто-то убит;
	15. **burning** - юнит думает что горит;
	16. **sinking** - паникует;
	17. **exploded** - юнит взорван, уничтожен.

* **Action** - действия:
	1. **none** - нет действия;
	2. **select** - выбор, выделение юнита;
	3. **disable** - отключение компонента;
	4. **move** - двигаться куда-либо;
	5. **rotate** - поворот в каком-либо направлении. дополнительно надо указать либо вейпоинт либо цель;
	6. cover - укрыться в любом подходящем месте;
	7. **accelerate** - ускорение;
	8. **cancel** - отмена;
	9. **drop** - выбросить;
	10. **pour\_in** - слить горючее из канистры или бочки в технику;
	11. **pour\_out** - слить горючее из техники в канистру или бочку;
	12. **board** - погрузиться в технику;
	13. **emit** - выгрузиться из техники;
	14. **enter** - войти;
	15. **repair** - чинить что-то;
	16. **collect** - подобрать что-то лежащее на земле;
	17. **examine** - осмотреть инвентарь чего-либо;
	18. **care** - оказать помощь - воспользоваться медпакетом;
	19. **injection** - инъекция морфия;
	20. **attach** - поставить;
	21. **detach** - снять (например, с танка пулемёт);
	22. **reinforce** - вызвать подкрепление;
	23. **throw\_ap\_grenade** - бросить противопехотную гранату;
	24. **throw\_at\_grenade** - бросить противотанковую гранату;
	25. **throw\_sk\_grenade** - бросить дымовую гранату;
	26. **aimed\_shot** - выстрел из снайперской винтовки;
	27. **bazooka\_shot** - выстрел из базуки;
	28. **suppression\_fire** - заградительный огонь;
	29. **advance** - выдвигаться куда-либо;
	30. **attack** - атаковать;
	31. **attack\_ground** - стрельба по позиции;
	32. **attack\_melee** - атаковать врукопашную;
	33. **heal** - лечение;
	34. **call\_ally** - вызов союзников;
	35. **mine** - минировать;
	36. **burn** - жечь спичками;
	37. **climb** - подняться по лестнице;
	38. **dynamite\_activation** - активировать динамит;
	39. **follow** - следовать;
	40. **hagehog** - установить "противотанковый ёж";
	41. **hidden\_door** - ;
	42. **hide** - скрыть юнита на карте до выполнения триггера, связанного с этим юнитом. Т.е. организация всяких засад, которые мы видим в домах. Дом пустой (на самом деле там стоят юниты под hide), а когда подходишь - они оттуда выбегают;
	43. **mine\_detection** - поиск мин;
	44. **open\_door** - открыть дверь;
	45. **open\_gate** - открыть ворота;
	46. **open\_tent** - открыть тент;
	47. **plant** - посадить куст;
	48. **pour\_over** - ;
	49. **put\_dynamite** - положить динамит;
	50. **ring\_post** - подать сигнал ударом в рельсу;
	51. **spread** - ;
	52. **switch** - переключить что-либо (детонатор, стрелку на ж/д);
	53. **turn\_railway\_switch\_left** - переключить стрелку ж/д налево;
	54. **turn\_railway\_switch\_right** - переключить стрелку ж/д направо;
	55. **use** - использовать.

* **actor\_fire** - открыть огонь;
* **actor\_component** - состояние компонента техники – рабочая, сломанная, уничтоженная;
* **actor\_to\_cover** - юнит занимает укрытие;
* **air\_attack** - воздушная атака;
* **air\_state** - настройки параметров полета самолетов;
* **animation** - вызов анимации (список можно посмотреть при выделении юнита и нажатии W-5. **AniPlay** - name. Нужную анимацию прописываем во вкладке collage, если нужно чтобы она повторялась во вкладке **flags** ставим **loop**. Также можно задать параметры **speed** (< 1 медленнее, >1 быстрее), **cicledelay** - количество циклов повторений данной анимации, **delay** - время задержки между циклами);
* **board** - команда юнитам залезть в технику;
* **emit** - команда юнитам вылезти из техники;
* **mine** - эта команда отдается машинке с саперами. После её отдачи саперы вылезают из машинки, берут из машины мины и начинают минировать указанную в команде зону. Для людей эта команда не работает. Для людей можно использовать **action mine** - работает так же как и команда пользователя, т.е. от текущего положения до указанного;
* **player** - передать юнита от одного игрока к другому;
* **talk** - говорить, реплики. Если в графе text прописать текст.То при срабатывании триггера будет не только звук но и текстовый вывод (портрет солдата со сказанной фразой). Так реализуются диалоги скриптовые в игре. Для портрета надо ещё указать в селекте персонажа;
* **wait** - ждать.

## ***Entity - объект***

* **animate** - анимация объектов;

* **effect** - запуск команды из внутриигрового кода для данного объекта. Простыми словами - этой командой можно запустить любой {on} и interaction\_entity этого объекта.

* **entity\_state** - работа с тагами (добавление/удаление);
* **inventory** - работа с инвентарем;
* **linker** - позволяет привязывать/отцеплять пушки к технике, солдат к машине и т.д;
* **rt\_function** - вызывается функция из списка доступных (анимации);

## ***Generic - команды управления самими командами и их последовательностью***

* **call** - вызвать функцию;
* **con** - выводит текст в консоль;
* **if** - условие "Если" (является папкой);
* **loop** - цикл (является папкой), повторяющийся нужное количество раз;
* **select** - отдельный выбор объектов (что б впоследствии в других командах не вводить одни и те же значения по многу раз, а использовать тип выбора **current**);
* **set\_i** - изменения значения переменной (**variable**) (умножение, сложение, просто приравнивание к чему-то и т.д.). Переменные задаются в **F3** - **F9** и там есть строчка **vars**;
* **switch** - выбор из списка условий (можно сказать расширенное "if")
* **thread** - создание в триггере параллельного потока обработки (без этой функции команды в пределах одного триггера выполняются последовательно);
* **while** - что-то вроде цикла (является папкой). Внутренние команды будут выполнятся по кругу до тех пор, пока условие выполняется.

## ***Other - прочее***

* **actor\_recon** - юнит переходит в состояние "напряжения";
* **actor\_to\_waypoint** - юнит бежит к вайпойнту;
* **autoassign** - команда для создания кооператива в игре - распределяет выбранных юнитов между несколькими игроками;
* **autosave** - автоматическое сохранение;
* **extraspawn** - ???
* **fade** - затемнение экрана (ON – экран темнеет, OFF сначала черный – затем светлеет, в зависимости от заданного числа time плавно или резко);
* **mp\_event** - ???
* **objective\_progress** - используется для отображения текущего состояния задания;
* **placement** - расположение, удобная функция для телепортации нужных объектов в нужное место;
* **reinforcement** - отображение подкреплений (они настраиваются в **F9**);
* **squad\_to\_waypoint** - отряд бежит к вайпоинту;
* **throw\_off** - отбросить/бросить (анимация отбрасывания юнитов при взрыве), можно настроить длину, высоту, количество переворачиваний, умрет ли после падения юнит или нет, работает только для людей);
* **unlink** - разъединить объекты(например, когда танк стоит на платформе и его надо снять используется эта команда).

## ***Scene - сцены***

* **environment** - переключение погоды (начальное состояние на карте настраивается и выбирается в **F3** - **F6**);
* **fog\_in\_zone** - включение тумана в определенной зоне;
* **fog\_mode** - включить/выключить туман войны;
* **game\_speed** - скорость игры;
* **gameover** - завершение игры;
* **gamestatus** - состояние игры;
* **music** - музыка;
* **scenario** - команда для текста сопровождающего игру, запуск видео роликов и камеры для проигрывания собственных заставок;
* **set\_clip** - смена зон для камеры, юнитов, физики и т.д. (задается в **F2** - **3**);
* **sound** - проигрывание звука;
* **spawn** - спаун юнитов / объектов, создание на вайпоинтах чего угодно;
* **task** - смена состояние задания;
* **timer** - таймер.

## ***Squad - отряды***

* **squad** - команда с рядом вкладок:
	1. **assign** - автоназначение отряда, когда юниты в нем находятся под управлением AI;
	2. **add** - добавить юнита в отряд;
	3. **dismiss** - распустить отряд;
	4. **commander\_set** - присвоить командира отряду;
	5. **commander\_drop** - убрать командира;
	6. **drop\_task** - снять задание у отряда;
	7. **drop\_name** - сбросить название отряда;
	8. **return\_to\_user** - отряд передается игроку;
	9. **exclude** - исключить кого то из отряда;
* **squad\_create** - создать отряд, важный момент, это команда используется когда юниты, которых надо объединить в отряд находятся под управлением user'a;
* **sguad\_dismiss** - расформировать отряд;
* **sguad\_spread** - расположение отряда;
* **sguad\_state** - состояние отряда.

## ***Команды вне папок - часто используемые команды***

* **actor\_state** - настройки юнитов:
	1. **fire\_mode: hold** – не стрелять, **return** – ответный огонь, **open** – огонь по своему усмотрению;
	2. **move\_mode**: **hold** – не двигаться, **zone** – двигаться в переделах зоны, **free** – свободное перемещение;
	3. **move\_radius** - число, в пределах которого будет двигаться юнит (если выбрано **move\_mode** – **zone**);
	4. **weapon\_prepare** - **ON** оружие в руках, **OFF** – оружие убрать;
* **delay** - задержка перед выполнением следующей команды в секундах;
* **delete** - удаление юнита;
* **event** - изменение статуса события;
* **trigger** - изменения статуса триггера;
* **waypoint** - заставляет юнита или отряд бежать по вайпоинту (остановиться и не бежать - **suspend**, продолжить движение - **resume**).