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

env_entity_maker

From Valve Developer Community
< Zh
Jump to: navigation, search
English (en)Русский (ru)中文 (zh)Translate (Translate)
Env entity maker.png

env_entity_maker是一个点实体(en),可在所有的 起源 起源 游戏中使用。 它可以在env_entity_maker坐标(en)上,生成一个指定的point_template实体。 允许自动生成或者通过输入生成。

env_entity_maker
Env entity maker.png
类型点实体
引擎起源 起源
可用性存在于所有的游戏中
 
在源代码中,它由 class CEnvEntityMaker 代表,定义于 env_entity_maker.cpp

标志(Flags)

  • 1: Enable AutoSpawn - 当有足够的空间且玩家没看见时,产生模板(Template)。
  • 2: AutoSpawn: 等待实体被销毁。
  • 4: AutoSpawn: 哪怕玩家看得见,也会生成。
  • 8: ForceSpawn: 只有在足够的空间时,生成。
  • 16: ForceSpawn: 只有玩家没看见时,生成。

键值

Point_template To Spawn (EntityTemplate) <targetname(en)>
此处生成point_template的名字
PostSpawn Movement Speed (PostSpawnSpeed) <float(en)>
所有实体生成后,每秒会往PostSpawn Movement Direction的方向上运动多少hammer units(en)
PostSpawn Movement Direction (PostSpawnDirection) <angle(en)>
所有从模板中生成的实体都会往这个方向上移动。
PostSpawn Direction Variance (PostSpawnDirectionVariance) <float(en)>
The PostSpawn Movement Direction may vary by this many degrees. 这是半径。
PostSpawn Inherit Angles (PostSpawnInheritAngles) <boolean(en)>
如果是Yes,,则按parent(父实体)的角度给予角度的偏移。

Base:

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

输入

ForceSpawn
从模板中生成实例,位置是本实体坐标和方向。
ForceSpawnAtEntityOrigin <实体目标名/target_destination(en)>
在指定实体上从模板中生成实例。
CBaseEntity:
AddContext <string(en)>
将此实体添加到响应上下文列表中。参见 上下文
AddOutput(en) <string(en)>
为此实体分配一个新的键值/输出。对于键值,有些依赖于额外的代码,不能仅通过此输入进行更改。必须遵循严格的格式:
// 更改键值的格式 "AddOutput [键] [值]"
//// 原始文本
"OnUser1" "!self,AddOutput,targetname new_name"

// 添加输出的格式 "AddOutput {目标名称}:{输入名称}:{参数}:{延迟}:{最大触发次数,-1 代表无限}"
//// 原始文本
"OnUser1" "!self,AddOutput,OnUser1:SetParent:!activator:0.0:-1"
// 参数可以留空但仍应包含空的空白
//// 原始文本
"OnUser1" "!self,AddOutput,OnUser1:ClearParent::0.0:-1"
ClearContext
从此实体的列表中移除所有上下文。
ClearParent
从运动层次结构中移除此实体,使其可以独立移动。
FireUser1 to FireUser4
触发相应的OnUser输出;参见 User Inputs and Outputs
Kill
从世界中移除此实体及任何附属于它的实体。
KillHierarchy
功能与Kill相同,但此实体和任何附属于它的实体在同一帧内被击杀,比Kill输入稍快。
RemoveContext <string(en)>
从此实体的列表中移除一个上下文。名称应与现有上下文的键匹配。
SetParent <string(en)>
与此实体一起移动。参见 Entity Hierarchy (parenting)
SetParentAttachment <string(en)>
将此实体更改为附加到其父级上的特定attachment点。实体将被传送,以便其根bone的位置与附件的位置匹配。实体必须在发送此输入之前被附加。
SetParentAttachmentMaintainOffset <string(en)>
如上所述,但不进行传送。实体保留相对于附件的当前位置。
Use  不存在于FGD!
与玩家调用+use相同;在大多数情况下没有效果。
SetTeam <integer(en)> 不存在于FGD!
更改此实体的团队。
TeamNum <integer(en)> 不存在于FGD!
此输入更改TeamNum属性的值。
DispatchResponse <string(en)> 不存在于FGD!
向实体分发响应。参见 ResponseConcept
DispatchEffect <string(en)> (被移除求生之路 以来) 不存在于FGD!
从实体的原点分发特殊效果;另见 List of Client Effects。自求生之路以来被particle系统取代。
RunScriptFile <script(en)> (存在于自 求生之路2 以来) (也存在于 军团要塞2 之中)
从磁盘执行VScript文件,无需文件扩展名。脚本内容与接收实体的脚本作用域合并。
RunScriptCode <string(en)> (存在于自 求生之路2 以来) (也存在于 军团要塞2 之中)
在接收输入的实体的作用域中执行一串VScript源代码。通过控制台触发时可能需要字符串引号。
CallScriptFunction <string(en)> (存在于自 求生之路2 以来) (也存在于 军团要塞2 之中) 不存在于FGD!
调用在接收实体的作用域中定义的VScript函数。
TerminateScriptScope  (存在于 军团要塞2 之中) 不存在于FGD!
销毁接收实体的脚本作用域。
SetLocalOrigin <coordinates(en)> (存在于自 异形丛生 以来) 不存在于FGD!
将此实体发送到地图中的某个位置。如果实体附属于某个东西,它将相对于父级偏移此量。
SetLocalAngles <angles(en)> (存在于自 异形丛生 以来) 不存在于FGD!
设置此实体的角度。

输出

OnEntitySpawned
当实例成功生成时触发。
OnEntityFailedSpawn
ForceSpawn输入失败时触发,取决于是否在flags,例如是否在玩家视线或者空间是否足够。

基础:

OnUser1 to OnUser4
这些输出分别在相应编号的 FireUser1 到 FireUser4 输入触发时触发;参见 用户输入和输出(en)
OnKilled  (存在于 求生之路 之中)
当实体被击杀并从游戏中移除时触发此输出。