func_areaportal

From Valve Developer Community
Jump to: navigation, search
English Русский 简体中文

本简体中文页面由大康翻译。

不要混淆 linked_portal_door

(一个不相关的实体,有时被称为“world portal”)

Toolsareaportal.gif

func_areaportal 是一个固体实体,可用于所有起源游戏。 它创建了一个 areaportal,用于管理地图中的可见性。当 Areaportal 打开时,它会停止渲染通过它不可见的对象;当 Areaportal 关闭时,你将看不见里面的对象。

这些并不是真正的笔刷实体。从地图作者/Hammer 的角度来看,它们是笔刷实体;但是当它们在游戏时,笔刷消失了,这实际上是一个点实体。

实体的画笔必须使用tools\toolsareaportal(见左侧) 进行纹理处理,才能发挥作用。

在源代码中,它由classCAreaPortal代表,定义在func_areaportal.cpp

键值

Name of Linked Door (target) <targetname>
一个prop_door_rotatingfunc_door,其打开/关闭状态控制 Areaportal 的打开/关闭状态。这是可选的。
Initial State (StartOpen) <boolean>
Areaportal 的初始状态。


Base:

Name (targetname) <string>
其他实体用来指代该实体的名称。
Parent (parentname) <targetname>
实体的父级实体,该实体可以与父实体保持移动偏移。名称后面可以添加一个附属点,以逗号隔开。 (parentname [targetname],[attachment]
Tip.png 小技巧: 转换至下一张地图的实体关系会依然存在。
Tip.png 小技巧: 一些不适合做父实体的实体可能难以运行,利用phys_constraint可以解决。
Global Entity Name (globalname) <string>
实体链接到下一张图采用的名称,当玩家过度到下一张图的时候,会保持上一张图实体的状态。
Origin (X Y Z) (origin) <coordinates>
实体处于世界中的位置,旋转实体会以实体坐标原点旋转。
Note.png 注意: Hammer 不会仅在编辑器中相应地移动实体。
Pitch Yaw Roll (X Y Z) (angles) <angle>
实体在世界中的方位,Pitch围绕X轴旋转,可以称为俯仰角。Yaw围绕Z轴旋转,可以称为偏航角,roll围绕Y轴旋转。
Note.png 注意: 尽管Hammer不显示新角度,但其仍然适用于固实体。
Response Contexts (ResponseContext) <string>
实体预定义的响应上下文(链接上下文);格式:[key]:[value],[key]:[value],...,等等。
Tip.png 小技巧: 可以由filtered过滤器允许或禁止!
Classname (classname) <string> !FGD
确定实体之前它生成的特征。
Tip.png 小技巧: 使用AddOutput输入更改 Classname 仍然会影响游戏的代码,例如使类名与 S_PreserveEnts 列表中的一个元素匹配将使实体在新一轮中持续存在!
Flags (spawnflags) <integer> !FGD
实体所具有的标志/标签,依实体所具有而定。
Effects (effects) <integer> !FGD
要使用的效果标志的组合。
Hammer ID (hammerid) <integer> !FGD
在地图编译时自动生成的实体的唯一的 Hammer ID。主要用于插件或debug命令(如ent_keyvalue命令)。运行时生成的实体没有 Hammer ID。
Entity Scripts (vscripts) <scriptlist> (存在于自 Left 4 Dead 2 以来的所有游戏)
在所有实体生成后执行的 VScript 文件(无文件扩展名)的空格分隔列表。这些脚本都在同一个脚本范围内执行,以后的脚本会覆盖任何相同的变量和函数。
Script think function (thinkfunction) <string> (存在于自 Left 4 Dead 2 以来的所有游戏)
此实体脚本中的函数名称,该函数将在脚本持续时间内每 100 毫秒(每秒 10 次)自动调用一次。它可用于创建计时器或模拟自主行为。返回值(如果存在)将设置下一次调用之前的时间。尽量避免在此函数中进行昂贵的操作,因为它可能会导致性能问题。
Lag Compensation (LagCompensate) <boolean> (存在于自 Left 4 Dead 2 以来的所有游戏) !FGD
设置为“是”以延迟补偿此实体。应该非常谨慎地使用!
Disable for Xbox 360 (disableX360) <boolean> (存在于自 Left 4 Dead 2 以来的所有游戏) !FGD
如果在 Xbox 360 版本的起源引擎上,自动为该实体提供“禁用”输入。
Is Automatic-Aim Target (is_autoaim_target) <boolean> (存在于自 Counter-Strike: Global Offensive 以来的所有游戏) !FGD
如果设置为 1,当实体位于十字准线下方时,该实体将减慢控制台和操纵杆控制器的瞄准移动。


输入

Open
将 Areaportal 设置为打开状态。
Close
将 Areaportal 设置为关闭状态。
Toggle
如果关闭,则打开 Areaportal;如果打开,则关闭 Areaportal。


Base:

AddContext<string>
添加到实体的 Response Contexts/响应上下文列表。格式是<key>:<value>
AddOutput<string>
在此实体上分配新的键值/输出。对于键值,有些依赖于额外的必要代码来运行,如果它只是通过这个输入改变就行不通。必须遵循严格的格式:
语法: 


ClearContext
从此实体的列表中删除所有上下文。
ClearParent
从移动层次结构中删除该实体,使其可以自由移动。
FireUser1FireUser4
触发相应的OnUser输出;详见 User Inputs and Outputs
Kill
从这个世界中删除此实体。
KillHierarchy
功能类似Kill,尽管此实体与其父实体都被删除了,但比Kill快一点。
RemoveContext
从实体列表删除一个上下文。名字应与现有上下文进行匹配。
SetParent<string>
跟随此实体移动,详见 Entity Hierarchy (parenting)
SetParentAttachment<string>
更改此实体到其父级上的特定附属点。实体将传送,以至于其骨骼方位与附属匹配。在使用此输入前必须设置好实体的父实体。
SetParentAttachmentMaintainOffset<string>
同上,但没有传送。在接收到输入时,实体保持其相对于附件的位置。
Use !FGD
与调用 +use 的玩家相同[玩家按 +use(使用,默认E按钮)];大多数情况下没有影响。
DispatchResponse<string> !FGD
向实体发送一个上下文。 详见 ResponseConcept.
DispatchEffect<string> 

(自从 Left 4 Dead移除)  !FGD

在实体的原点坐标设置一个特定效果;参见 List of Client Effects。自从Left 4 Dead后由粒子系统取代。
RunScriptFile<script> (存在于自 Left 4 Dead 2 以来的所有游戏)
从硬盘执行一个 VScript 脚本文件,不带文件后缀名。会合并接收实体的脚本域。
RunScriptCode<string> (存在于自 Left 4 Dead 2 以来的所有游戏)
在接收输入的实体范围内执行一串 VScript 源代码。通过控制台触发时可能需要字符串引用。
Bug.png 错误: 在 Hammer 中,使用带有字符串的参数会破坏 VMF 文件的结构,使下一个 Hammer 会话无法查看该文件。
修复: 使用文本编辑器手动删除带有字符串的参数。
CallScriptFunction<string> (存在于自 Left 4 Dead 2 以来的所有游戏) !FGD
在接受实体脚本域上执行一段 VScript 函数。
SetLocalOrigin<coordinates> (存在于自 Alien Swarm 以来的所有游戏) !FGD
将此实体设置到地图中的某个位置。如果此实体是某实体父级,那么它的子级也会随着移动。
SetLocalAngles<angles> (存在于自 Alien Swarm 以来的所有游戏) !FGD
设置该实体的角度。


输出

基础:

OnUser1OnUser4
这些输出将分别响应于FireUser1 to FireUser4 输入。 详见 User Inputs and Outputs
OnKilled (存在于 Left 4 Dead Left 4 Dead 2)
当实体被Kill输入时响应此输出。

另请参阅