Эта статья документации для всего, что использует платформу Source. Нажмите для получения дополнительной информации.

trigger_multiple

From Valve Developer Community
< Ru
Jump to navigation Jump to search
English (en)Русский (ru)中文 (zh)Translate (Translate)
Edit Tabs
C++ Классовая структура
CTriggerMultiple
↳CBaseTrigger
↳CBaseToggle
↳CBaseEntity
C++ triggers.cpp

trigger_multiple - это объект переключатель(en), доступно для всех игр на движке Source Source. Это объем, который срабатывает выходы(en), когда объект(en) определенного типа входит в него или покидает его.

Ключ-параметры

Name (targetname) <объект источник(en)>
Имя объекта, по которому другие объекты могут ссылаться на этот объект, через Входы/Выходы(en) или другие ключ-параметры(en) (например parentname(en) или target).
Оно отображается на 2D-видах в Hammer и Отчёте об объектах (Entity Report)(en).
См. также: Основные ключ-параметры, входы и выходы(en) доступные для всех объектов
Delay Before Reset (wait) <число с плавающей запятой(en)>
Значение по умолчанию: 0.2
Задержка в секундах, прежде чем событие OnTrigger сможет сработать снова, нулевое значение по умолчанию заменяется на 0,2 секунды. Если установить значение -1, переключатель самоуничтожится при срабатывании (аналогично trigger_once(en)), и такие выходы, как OnEntireTeamStartTouch, никогда не сработают.
Серия игр Left 4 DeadСерия игр Left 4 Dead Серия игр Left 4 Dead
Entire Team Number (entireteam) <варианты выбора> (только в Серия игр Left 4 DeadСерия игр Left 4 Dead)
Срабатывать выход OnEntireTeamStartTouch, если все участники указанной команды касаются переключателя.
  • 0 : None (Ничего)
  • 2 : Survivor (Выжившие)
  • 3 : Infected (Заражённые)
Incapacitated players can trigger (allowincap) <булева переменная(en)> (только в Серия игр Left 4 DeadСерия игр Left 4 Dead)
Учитывать ли персонаж игрока упавшего на землю для срабатывания.
Icon-Bug.pngБаг:Если одиночный персонаж игрока падает на землю в объёме переключателя, то штатно срабатывает выход OnEndTouch, однако при последующем восстановлении игрока выход OnStartTouch не срабатывает, и VScript функция trigger.IsTouching(player) также возвращает значение false для данного персонажа. Поведение изменится, если в настройках переключателя указан ключ-параметр Entire Team Number - при падении персонажа игрока выход OnEndTouch НЕ срабатывает, и система продолжает считать, что персонаж находится в объёме переключателя, и в данном случае эта ошибка не возникает.  (подтверждено в: l4d2)
Ghost players can trigger (allowghost) <булева переменная(en)> (только в Серия игр Left 4 DeadСерия игр Left 4 Dead)
Учитывать ли персонаж призрака выжившего для срабатывания.
BaseTrigger
Filter Name (filtername) <фильтр(en)>
A filter entity to test potential activators against.
Start Disabled (StartDisabled) <булева переменная(en)>
Stay dormant until activated (with theEnableinput).

Признаки

BaseTrigger
Everything (not including physics debris) : [64]
Clients (Survivors, Special Infected, Tanks Серия игр Left 4 DeadСерия игр Left 4 Dead) : [1]
Only clients in vehicles : [32]
Only clients *not* in vehicles : [512]
Disallow Bots (удалено начиная с Left 4 Dead) : [4096]
NPCs (Common Infected, Witches Серия игр Left 4 DeadСерия игр Left 4 Dead) : [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] Obsolete
Устарело.
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  (Во всех играх начиная с Source 2007)
Triggers either the OnTouching or OnNotTouching outputs for whether anything is touching this entity.
Icon-Bug.pngБаг:Sleeping prop_physics will never fire "OnTouching". Also applies to entities using prop_physics as base.  (подтверждено в: Half-Life 2)
StartTouch  (Во всех играх начиная с Source 2007) Отсутствует в FGD!
Behave as if the !caller entity had just entered the trigger volume. Accepts non-physical entities.
EndTouch  (Во всех играх начиная с Source 2007) Отсутствует в FGD!
Behave as if !caller had just exited the trigger volume.
DisableAndEndTouch  (только в Source 2013 MultiplayerВетвь Team Fortress 2)
Disables this trigger and calls EndTouch on all currently-touching entities.

Выходы

OnEntireTeamStartTouch  (только в Серия игр Left 4 DeadСерия игр Left 4 Dead)
!activator = персонаж игрока, который последний коснулся объёма переключателя
!caller = this entity
Срабатывает когда все участники команды касаются объёма переключателя. (i.e. the last player of the given team entered the trigger when everyone else is already inside)
OnEntireTeamEndTouch  (только в Серия игр Left 4 DeadСерия игр Left 4 Dead)
!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.
Note.pngПримечание: Will also fire for entities touching it when trigger is disabled via Disable input
Warning.pngПредупреждение: This includes entities which are deleted while inside the trigger. In this case !activator will be invalid.
Warning.pngПредупреждение: OnEndTouch can fire before OnStartTouch under certain circumstances[Как?] where both are fired on the same tick and each have the same delay.
Icon silk wrench green fix.pngРешение: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  (Во всех играх начиная с Source 2007)
!activator = !caller = this entity
Fired if something is currently touching this trigger when TouchTest is fired.
OnNotTouching  (Во всех играх начиная с Source 2007)
!activator = !caller = this entity
Fired if nothing is currently touching this trigger when TouchTest is fired.

Смотреть также