这篇条目有关 Source引擎。如需详情,点击这里。

trigger_multiple

From Valve Developer Community
< Zh
Revision as of 23:58, 26 June 2025 by WoShiGeNiCheng (talk | contribs) (Created page with "{{LanguageBar|trigger_multiple|title=多重触发器}} {{Source topicon}} {{TabsBar|main=Trigger multiple}} {{CD|CTriggerMultiple|file1=triggers.cpp|CBaseTrigger}} {{this is a|固体实体|name=trigger_multiple}} 这是一个当指定类型的{{L|entity}}进入或离开时会触发{{L|output}}的触发区域。 {{Sensor brush}} ==键值== {{KV Targetname}} {{KV|Delay Before Reset|intn=wait|float|重复触发间隔(秒),0默认为0.2,-1时触发后自毁(同tri...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
English (en)中文 (zh)Translate (Translate)

edit
C++ 类层级
CTriggerMultiple
CBaseTrigger
CBaseToggle
CBaseEntity
C++ triggers.cpp

trigger_multiple是一个固体实体,可在所有的 起源 起源 游戏中使用。 这是一个当指定类型的entity(en)进入或离开时会触发output(en)的触发区域。

键值

Name (目标名称) <target_source>[ Edit ]
这个名称是其他实体通过 输入/输出(en) 或其他 关键值(en)(如 parentnametarget) 来引用该实体时使用的标识符。
该名称也会显示在 Hammer 编辑器的 2D 视图和 实体报告(en) 中。
参见:  所有实体均可使用的 通用键值、输入与输出(en)

Delay Before Reset (wait) <浮点型(en)>
重复触发间隔(秒),0默认为0.2,-1时触发后自毁(同trigger_once),此时OnEntireTeamStartTouch等输出将无法触发
Entire Team Number (entireteam) <choices> (存在于 求生之路系列求生之路系列 之中)
当整队玩家接触时触发OnEntireTeamStartTouch
  • 0 : 无
  • 2 : 幸存者
  • 3 : 感染者
Incapacitated players can trigger (allowincap) <布尔值(en)> (存在于 求生之路系列求生之路系列 之中)
倒地玩家是否可触发
Icon-Bug.png错误:当设为0时,玩家倒地会正确触发OnEndTouch,但复活后OnStartTouch不会触发且vscript函数trigger.IsTouching(player)会返回false。当设置Entire Team Number时行为不同,玩家倒地时不会触发OnEndTouch且仍被视为接触状态  (tested in: l4d2)
Ghost players can trigger (allowghost) <布尔值(en)> (存在于 求生之路系列求生之路系列 之中)
幽灵状态玩家是否可触发
BaseTrigger
Filter Name (filtername) <filter(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 求生之路系列求生之路系列 之中) : [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] 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  (存在于自 起源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.  (tested in: 半衰期2)
StartTouch  (存在于自 起源2007 以来) 不存在于FGD!
Behave as if the !caller entity had just entered the trigger volume. Accepts non-physical entities.
EndTouch  (存在于自 起源2007 以来) 不存在于FGD!
Behave as if !caller had just exited the trigger volume.
DisableAndEndTouch  (存在于 起源2013 多人分支军团要塞2分支 之中)
Disables this trigger and calls EndTouch on all currently-touching entities.

输出

OnEntireTeamStartTouch  (存在于 求生之路系列求生之路系列 之中)
!activator = 最后接触的玩家
!caller = this entity
当整队玩家开始接触时触发
OnEntireTeamEndTouch  (存在于 求生之路系列求生之路系列 之中)
!activator = 离开的玩家
!caller = this entity
当整队玩家停止接触时触发
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.
Note.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  (存在于自 起源2007 以来)
!activator = !caller = this entity
Fired if something is currently touching this trigger when TouchTest is fired.
OnNotTouching  (存在于自 起源2007 以来)
!activator = !caller = this entity
Fired if nothing is currently touching this trigger when TouchTest is fired.

参见