trigger_multiple - это объект переключатель(en), доступно для всех игр на движке
Source. Это объем, который срабатывает выходы(en), когда объект(en) определенного типа входит в него или покидает его.
Ключ-параметры
-
Name (targetname) <объект источник(en)>
-
Имя объекта, по которому другие объекты могут ссылаться на этот объект, через Входы/Выходы(en) или другие ключ-параметры(en) (например
parentname(en) или target).
Оно отображается на 2D-видах в Hammer и Отчёте об объектах (Entity Report)(en).
-
Delay Before Reset (wait) <число с плавающей запятой(en)>
-
Значение по умолчанию: 0.2
Задержка в секундах, прежде чем событие OnTrigger сможет сработать снова, нулевое значение по умолчанию заменяется на 0,2 секунды. Если установить значение -1, переключатель самоуничтожится при срабатывании (аналогично trigger_once(en)), и такие выходы, как OnEntireTeamStartTouch, никогда не сработают.

Серия игр Left 4 Dead
-
Entire Team Number (entireteam) <варианты выбора> (только в
 )
-
Срабатывать выход OnEntireTeamStartTouch, если все участники указанной команды касаются переключателя.
- 0 : None (Ничего)
- 2 : Survivor (Выжившие)
- 3 : Infected (Заражённые)
-
Incapacitated players can trigger (allowincap) <булева переменная(en)> (только в
 )
-
Учитывать ли персонаж игрока упавшего на землю для срабатывания.
Баг:Если одиночный персонаж игрока падает на землю в объёме переключателя, то штатно срабатывает выход OnEndTouch, однако при последующем восстановлении игрока выход OnStartTouch не срабатывает, и VScript функция trigger.IsTouching(player) также возвращает значение false для данного персонажа. Поведение изменится, если в настройках переключателя указан ключ-параметр Entire Team Number - при падении персонажа игрока выход OnEndTouch НЕ срабатывает, и система продолжает считать, что персонаж находится в объёме переключателя, и в данном случае эта ошибка не возникает. (подтверждено в: l4d2)
-
Ghost players can trigger (allowghost) <булева переменная(en)> (только в
 )
-
Учитывать ли персонаж призрака выжившего для срабатывания.
|
BaseTrigger
-
Filter Name (filtername) <фильтр(en)>
-
A filter entity to test potential activators against.
-
Start Disabled (StartDisabled) <булева переменная(en)>
-
Stay dormant until activated (with the
Enableinput).
|
Признаки
BaseTrigger
- Everything (not including physics debris) : [64]
- Clients (Survivors, Special Infected, Tanks
 ) : [1]
- Only clients in vehicles : [32]
- Only clients *not* in vehicles : [512]
- Disallow Bots (удалено начиная с
) : [4096]
- NPCs (Common Infected, Witches
 ) : [2]
- Only player ally NPCs : [16]
- Only NPCs in vehicles (respects player ally flag) : [2048]
- Physics Objects (not including physics debris) : [8]
- Physics debris (include also physics debris) : [1024]
Pushables (Passes entities with classname func_pushable) : [4] 
- Устарело.
Equivalent to using Everything + filter_activator_class that filters func_pushable.
|
Входы
BaseTrigger
- Toggle
- Toggles this trigger between enabled and disabled states.
- Enable
- Enable trigger
- Disable
- Disable trigger
- TouchTest (Во всех играх начиная с
)
- Triggers either the OnTouching or OnNotTouching outputs for whether anything is touching this entity.
Баг:Sleeping prop_physics will never fire "OnTouching". Also applies to entities using prop_physics as base. (подтверждено в: )
- StartTouch (Во всех играх начиная с
) Отсутствует в FGD!
- Behave as if the !caller entity had just entered the trigger volume. Accepts non-physical entities.
- EndTouch (Во всех играх начиная с
) Отсутствует в FGD!
- Behave as if !caller had just exited the trigger volume.
- DisableAndEndTouch (только в
 )
- Disables this trigger and calls EndTouch on all currently-touching entities.
|
Выходы
- OnEntireTeamStartTouch (только в

)
- !activator = персонаж игрока, который последний коснулся объёма переключателя
!caller = this entity
Срабатывает когда все участники команды касаются объёма переключателя. (i.e. the last player of the given team entered the trigger when everyone else is already inside)
- OnEntireTeamEndTouch (только в

)
- !activator = персонаж игрока, который последним покинул объём переключателя
!caller = this entity
Срабатывает когда все участники команды перестают касаться объёма переключателя. (i.e. when full team is touching the trigger and one survivor leaves the trigger)
- OnTrigger
- !activator = объект, который сработал этот выход
!caller = this entity
Срабатывает многократно с задержкой, пока объект находится в пределах объема этого переключателя. Задержка определяется ключ-параметром Delay Before Reset (Задержка до сброса).
BaseTrigger
- OnStartTouch
- !activator = entity that caused this output
!caller = this entity Fired when a valid entity starts touching this trigger.
- OnStartTouchAll
- !activator = entity that caused this output
!caller = this entity Fired when a valid entity starts touching this trigger, and no other entities are touching it. If there are any other entities touching the trigger when a new one begins to touch, only OnStartTouch will fire.
- OnEndTouch
- !activator = entity that caused this output
!caller = this entity Fired when a valid entity stops touching this trigger.
Примечание: Will also fire for entities touching it when trigger is disabled via Disable input
Предупреждение: This includes entities which are deleted while inside the trigger. In this case !activator will be invalid.
Предупреждение: OnEndTouch can fire before OnStartTouch under certain circumstances[Как?] where both are fired on the same tick and each have the same delay. Решение:Add a slight delay to OnEndTouch.
- OnEndTouchAll
- !activator = entity that caused this output
!caller = this entity Fired when all valid entities stop touching this trigger.
- OnTouching (Во всех играх начиная с
)
- !activator = !caller = this entity
Fired if something is currently touching this trigger when TouchTest is fired.
- OnNotTouching (Во всех играх начиная с
)
- !activator = !caller = this entity
Fired if nothing is currently touching this trigger when TouchTest is fired.
|
Смотреть также