trigger_teleport
Todo: 已弃用模板
{{Base brush}}
、{{Brush ent}}
或 {{Tf2 brush}}
(以及相似的) 正在使用。请更新并使用模板 {{Entity}}
替代。
trigger_teleport
是一个存在于所有的 Source 游戏的固实体。
实体描述
它是一个可以传送接触它体积的实体的触发器。实体被传送到远程目的地,并将其角度设置为远程目的地的角度。如果指定了本地目标地标,则传送实体与目标之间的偏移量为它们与地标之间的初始偏移量,且它们的角度不受影响。
Todo: This template is currently using deprecated
suf
or {{Lang}}-based translations. Please use the main {{Code class}} instead, which uses {{Autolang}}.
在源代码中,它由 class CTriggerTeleport
代表,定义于 triggers.cpp
。
键值
- Remote Destination
(???)
<targetname> - 指定实体应该被传送到哪个点的实体。通常为info_teleport_destination或info_target。
Note:任何实体都可以作为传送目的地,包括玩家。
Tip:你可以用!self作为地标来使用这个实体的源。
TriggerOnce:
- Filter Name
(filtername)
<filter>
- 要针对激活者进行测试的过滤器实体的名称。
Base/基础:
- Collisions
(solid)
<choices>
- 该实体的碰撞方式。
- 0: 无
- 1: BSP (QPhysics) 不存在于FGD! Bug:在 中,如果使用 QPhysics 碰撞的实体被 Gel 击中,游戏将崩溃!
- 2: Bounding Box|边界框
- 3: Oriented Bounding Box|定向边界框 (用于运行时生成的要旋转的笔刷实体) 不存在于FGD!
- 4: Oriented Bounding Box|定向边界框,仅限于 Yaw 不存在于FGD!
- 5: Custom/Test|自定义/测试(通常不会与任何东西发生碰撞) 不存在于FGD!
- 6: VPhysics
- Parent
(parentname)
<targetname>
| 目标名 - 实体的父级实体,该实体可以与父实体保持移动偏移。名称后面可以添加一个附属点,以逗号隔开。 (
parentname [targetname],[attachment]
)Tip:转换至下一张地图的实体关系会依然存在。Tip:一些不适合做父实体的实体可能难以运行,利用phys_constraint
可以解决。
- Origin (X Y Z)
(origin)
<coordinates>
- 实体处于世界中的位置,旋转实体会以实体坐标原点旋转。Note:Hammer 不会仅在编辑器中相应地移动实体。
- Pitch Yaw Roll (X Y Z)
(angles)
<angle>
- 实体在世界中的方位,Pitch围绕X轴旋转,可以称为俯仰角。Yaw围绕Z轴旋转,可以称为偏航角,roll围绕Y轴旋转。Note:尽管 Hammer 不显示新角度,但其仍然适用于固实体。
- Classname
(classname)
<string
> | 字符串 不存在于FGD! - 确定实体之前它生成的特征。Tip:使用
AddOutput
输入更改 Classname 仍然会影响游戏的代码,例如使类名与 S_PreserveEnts 列表中的一个元素匹配将使实体在新一轮中持续存在!
- Entity Scripts
(vscripts)
<scriptlist>
| 脚本列表 (存在于自 以来) - 在所有实体生成后执行的 VScript 文件(无文件扩展名)的空格分隔列表。这些脚本都在同一个脚本范围内执行,以后的脚本会覆盖任何相同的变量和函数。
- Thinker Function
(thinkfunction)
<string
> | 字符串 (存在于自 以来) - 此实体脚本中的函数名称,该函数将在脚本持续时间内每 100 毫秒(每秒 10 次)自动调用一次。它可用于创建计时器或模拟自主行为。返回值(如果存在)将设置下一次调用之前的时间。尽量避免在此函数中进行昂贵的操作,因为它可能会导致性能问题。
- Lag Compensation
(LagCompensate)
<boolean>
| 布尔值 (存在于自 以来) 不存在于FGD! - 设置为是以延迟补偿此实体。应该非常谨慎地使用!
EnableDisable/启动禁用:
- Start Disabled
(StartDisabled)
<boolean>
| 布尔值 - 保持休眠状态,直到被唤醒。(利用
Enable
输入)。
标志
TriggerOnce:
- [
1
] : Clients
- [
2
] : NPCs
- [
4
] : Pushables
- [
8
] : Physics Objects
- [
16
] : Only player ally NPCs
- [
32
] : Only clients in vehicles
- [
64
] : Everything (not including physics debris)
- [
512
] : Only clients *not* in vehicles
- [
1024
] : Physics debris
- [
2048
] : Only NPCs in vehicles (respects player ally flag)
- [
4096
] : Disallow Bots
Note:一些SDK版本将trigger_teleport标志32列为“即使本地地标没有指定,也要保持角度(Preserve angles even when a local landmark is not specified)”,但实际上可能会根据上面的新标志进行操作。要实现角度保持行为,你可以为landmark属性指定!activator。
输入
TriggerOnce:
Toggle
- 在启用和禁用状态之间切换此触发器。
Base:
AddContext
<string
> | 字符串- 添加到实体的 Response Contexts/响应上下文列表。格式是
<key>:<value>
。
语法:
ClearContext
- 从此实体的列表中删除所有上下文。
ClearParent
- 从移动层次结构中删除该实体,使其可以自由移动。
FireUser1
到FireUser4
- 触发相应的
OnUser
输出;详见 User Inputs and Outputs。
Kill
- 从这个世界中删除此实体。
KillHierarchy
- 功能类似
Kill
,尽管此实体与其父实体都被删除了,但比Kill
快一点。
RemoveContext
- 从实体列表删除一个上下文。名字应与现有上下文进行匹配。
SetParent
<string
> | 字符串- 跟随此实体移动,详见 实体层级(依赖关系)。
SetParentAttachmentMaintainOffset
<string
> | 字符串- 同上,但没有传送。在接收到输入时,实体保持其相对于附件的位置。
DispatchResponse
<string
> | 字符串 不存在于FGD!- 向实体发送一个上下文。 详见 Response 和 Concept.
DispatchEffect
<string
> | 字符串 (自从 被移除) 不存在于FGD!- 在实体的原点坐标设置一个特定效果;参见 List of Client Effects。自从 Left 4 Dead后由粒子系统取代。
RunScriptCode
<string
> | 字符串 (存在于自 以来)- 在接收输入的实体范围内执行一串 VScript 源代码。通过控制台触发时可能需要字符串引用。Bug:在 Hammer 中,使用带有字符串的参数会破坏 VMF 文件的结构,使下一个 Hammer 会话无法查看该文件。
- Fix: 使用文本编辑器手动删除带有字符串的参数。
SetLocalOrigin
<coordinates>
(存在于自 以来) 不存在于FGD!- 将此实体设置到地图中的某个位置。如果此实体是某实体父级,那么它的子级也会随着移动。
EnableDisable/启动禁用:
Enable
Disable
- 启动/禁用此实体所具备的效果。同样会使实体消失。
输出
TriggerOnce:
OnStartTouch
- 当实体开始接触此触发器时触发。触碰的实体必须通过此触发器的过滤器才能触发此输出。(
!activator
是toucher)
OnTrigger
- 当实体在此触发器的体积中时,会延迟重复触发。延迟由 Delay Before Reset 键值定义。