trigger_teleport

From Valve Developer Community
Jump to: navigation, search
English (en)中文 (zh)
... Icon-Important.png
Blank image.pngTodo: 已弃用模板 {{Base brush}}{{Brush ent}}{{Tf2 brush}} (以及相似的) 正在使用。请更新并使用模板 {{Entity}} 替代。

trigger_teleport是一个存在于所有的 Source Source 游戏的固实体

实体描述

它是一个可以传送接触它体积的实体触发器。实体被传送到远程目的地,并将其角度设置为远程目的地的角度。如果指定了本地目标地标,则传送实体与目标之间的偏移量为它们与地标之间的初始偏移量,且它们的角度不受影响。


Blank image.pngTodo: 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_destinationinfo_target
Note.pngNote:任何实体都可以作为传送目的地,包括玩家。
Warning.pngWarning:Counter-Strike: Global Offensive 传送到一个被杀死的传送目的地实体会使你的客户端/服务器崩溃。
Tip.pngTip:你可以用!self作为地标来使用这个实体的源。
本地目的地地标使用-玩家相对于绿色圆圈的位置(传送时)被转移到目的地。绿色的X表示偏移位置。

TriggerOnce:
Filter Name (filtername) <filter>
要针对激活者进行测试的过滤器实体的名称。

Base/基础:
Collisions (solid) <choices>
该实体的碰撞方式。


Name (targetname) <string简体中文> | 字符串
其他实体用来指代该实体的名称。
Parent简体中文 (parentname) <targetname> | 目标名
实体的父级实体,该实体可以与父实体保持移动偏移。名称后面可以添加一个附属点,以逗号隔开。 (parentname [targetname],[attachment]
Tip.pngTip:转换至下一张地图的实体关系会依然存在。
Tip.pngTip:一些不适合做父实体的实体可能难以运行,利用phys_constraint可以解决。
Origin (X Y Z) (origin) <coordinates>
实体处于世界中的位置,旋转实体会以实体坐标原点旋转。
Note.pngNote:Hammer 不会仅在编辑器中相应地移动实体。
Pitch Yaw Roll (X Y Z) (angles) <angle>
实体在世界中的方位,Pitch围绕X轴旋转,可以称为俯仰角。Yaw围绕Z轴旋转,可以称为偏航角,roll围绕Y轴旋转。
Note.pngNote:尽管 Hammer 不显示新角度,但其仍然适用于固实体。
Classname (classname) <string简体中文> | 字符串 不存在于FGD!
确定实体之前它生成的特征。
Tip.pngTip:使用AddOutput输入更改 Classname 仍然会影响游戏的代码,例如使类名与 S_PreserveEnts 列表中的一个元素匹配将使实体在新一轮中持续存在!
Flags (spawnflags) <integer> | 整数 不存在于FGD!
实体所具有的标志/标签,依实体所具有而定。
Effects (effects) <integer> | 整数 不存在于FGD!
要使用的效果标志的组合。
Entity Scripts简体中文 (vscripts) <scriptlist> | 脚本列表 (存在于自 Left 4 Dead 2 以来)
在所有实体生成后执行的 VScript简体中文 文件(无文件扩展名)的空格分隔列表。这些脚本都在同一个脚本范围内执行,以后的脚本会覆盖任何相同的变量和函数。
Thinker Function简体中文 (thinkfunction) <string简体中文> | 字符串 (存在于自 Left 4 Dead 2 以来)
此实体脚本中的函数名称,该函数将在脚本持续时间内每 100 毫秒(每秒 10 次)自动调用一次。它可用于创建计时器或模拟自主行为。返回值(如果存在)将设置下一次调用之前的时间。尽量避免在此函数中进行昂贵的操作,因为它可能会导致性能问题。
Lag Compensation (LagCompensate) <boolean> | 布尔值 (存在于自 Left 4 Dead 2 以来) 不存在于FGD!
设置为以延迟补偿此实体。应该非常谨慎地使用!
Is Automatic-Aim Target (is_autoaim_target) <boolean> | 布尔值 (in all games since Counter-Strike: Global Offensive) 不存在于FGD!
如果设置为 1,当实体位于十字准线下方时,该实体将减慢控制台和操纵杆控制器的瞄准移动速度。

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
  •  [4096] : Correctly account for object mass (trigger_push used to assume 100Kg) and multiple component physics objects (car, blob...) (存在于自 Alien Swarm 以来)
Note.pngNote:Garry's Mod 中,标志4096Correctly account for object mass”是trigger_push仅有。【证实】
Note.pngNote:一些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>
AddOutput<string简体中文> | 字符串
在此实体上分配新的键值/输出。对于键值,有些依赖于额外的必要代码来运行,如果它只是通过这个输入改变就行不通。必须遵循严格的格式:
语法:

ClearContext
从此实体的列表中删除所有上下文。
ClearParent
从移动层次结构中删除该实体,使其可以自由移动。
FireUser1FireUser4
触发相应的OnUser输出;详见 User Inputs and OutputsEnglish
Kill
从这个世界中删除此实体。
KillHierarchy
功能类似Kill,尽管此实体与其父实体都被删除了,但比Kill快一点。
RemoveContext
从实体列表删除一个上下文。名字应与现有上下文进行匹配。
SetParent<string简体中文> | 字符串
跟随此实体移动,详见 实体层级(依赖关系)
SetParentAttachment<string简体中文> | 字符串
更改此实体到其父级上的特定附属English点。实体将传送,以至于其骨骼方位English与附属匹配。在使用此输入前必须设置好实体的父实体。
SetParentAttachmentMaintainOffset<string简体中文> | 字符串
同上,但没有传送。在接收到输入时,实体保持其相对于附件的位置。
Use 不存在于FGD!
与调用 +use English 的玩家相同[玩家按 +use(使用,默认E按钮)];大多数情况下没有影响。
DispatchResponse<string简体中文> | 字符串 不存在于FGD!
向实体发送一个上下文。 详见 ResponseEnglishConceptEnglish.
DispatchEffect<string简体中文> | 字符串 (自从 Left 4 Dead移除) 不存在于FGD!
在实体的原点坐标设置一个特定效果;参见 List of Client EffectsEnglish。自从Left 4 Dead Left 4 Dead后由粒子系统取代。
RunScriptFile<script> | 脚本 (存在于自 Left 4 Dead 2 以来)
从硬盘执行一个 VScript 脚本文件,不带文件后缀名。会合并接收实体的脚本域。
RunScriptCode<string简体中文> | 字符串 (存在于自 Left 4 Dead 2 以来)
在接收输入的实体范围内执行一串 VScript 源代码。通过控制台触发时可能需要字符串引用。
Icon-Bug.pngBug:在 Hammer 中,使用带有字符串的参数会破坏 VMFEnglish 文件的结构,使下一个 Hammer 会话无法查看该文件。
Fix: 使用文本编辑器手动删除带有字符串的参数。
CallScriptFunction<string简体中文> | 字符串 (存在于自 Left 4 Dead 2 以来) 不存在于FGD!
在接受实体脚本域上执行一段 VScript 函数。
SetLocalOrigin<coordinates> (存在于自 Alien Swarm 以来) 不存在于FGD!
将此实体设置到地图中的某个位置。如果此实体是某实体父级,那么它的子级也会随着移动。
SetLocalAngles<angles> (存在于自 Alien Swarm 以来) 不存在于FGD!
设置该实体的角度。

EnableDisable/启动禁用:

Enable
Disable
启动/禁用此实体所具备的效果。同样会使实体消失。

输出


TriggerOnce:
OnStartTouch
当实体开始接触此触发器时触发。触碰的实体必须通过此触发器的过滤器才能触发此输出。(!activatorEnglish是toucher)
OnTrigger
当实体在此触发器的体积中时,会延迟重复触发。延迟由 Delay Before Reset 键值定义。

拓展阅读