User:Nescius/sandbox/test20: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
== Keyvalues == | == Keyvalues == | ||
{{KV|Collisions|intn=solid|choices| | {{KV|Collisions|intn=solid|choices|该实体的碰撞方式。 | ||
:*0: 无 | :*0: 无 | ||
:*1: BSP ([[QPhysics]]) {{Not in FGD:zh-cn}} {{bug|在 {{portal2}} 中,如果使用 QPhysics 碰撞的实体被 [[Gel]] 击中,游戏将崩溃!}} | :*1: BSP ([[QPhysics]]) {{Not in FGD:zh-cn}} {{bug|在 {{portal2}} 中,如果使用 QPhysics 碰撞的实体被 [[Gel]] 击中,游戏将崩溃!}} | ||
Line 1,566: | Line 7: | ||
:*4: [[Bounding box|Oriented Bounding Box|定向边界框]],仅限于 [[QAngle|Yaw]] {{Not in FGD:zh-cn}} | :*4: [[Bounding box|Oriented Bounding Box|定向边界框]],仅限于 [[QAngle|Yaw]] {{Not in FGD:zh-cn}} | ||
:*5: Custom/Test<nowiki>|</nowiki>自定义/测试(通常不会与任何东西发生碰撞) {{Not in FGD:zh-cn}} | :*5: Custom/Test<nowiki>|</nowiki>自定义/测试(通常不会与任何东西发生碰撞) {{Not in FGD:zh-cn}} | ||
:*6: [[VPhysics]] | :*6: [[VPhysics]]}} | ||
{{KV|[[targetname|Name]]|intn=targetname|string|其他实体用来指代该实体的名称。}} | |||
{{KV|[[Parent]]|intn=parentname|targetname|实体的父级实体,该实体可以与父实体保持移动偏移。名称后面可以添加一个附属点,以逗号隔开。 (<code>parentname [targetname],[attachment]</code>){{tip|转换至下一张地图的实体关系会依然存在。}}{{tip|一些不适合做父实体的实体可能难以运行,利用{{ent|phys_constraint}}可以解决。}}}} | |||
| | {{KV|[[Origin]] (X Y Z)|intn=origin|coordinates|实体处于世界中的位置,旋转实体会以实体坐标原点旋转。{{note|Hammer 不会仅在编辑器中相应地移动实体。}}}} | ||
{{KV|[[Pitch Yaw Roll]] (Y Z X)|intn=angles|angle|实体在世界中的方位,Pitch围绕X轴旋转,可以称为俯仰角。Yaw围绕Z轴旋转,可以称为偏航角,roll围绕Y轴旋转。{{note|尽管 Hammer 不显示新角度,但其仍然适用于固实体。}}}} | |||
{{KV|[[Classname]]|intn=classname|string|nofgd=1|确定实体''之前''它生成的特征。{{tip|使用{{ent|AddOutput}}输入更改 Classname 仍然会影响游戏的代码,例如使类名与 [[S_PreserveEnts]] 列表中的一个元素匹配将使实体在新一轮中持续存在!}}}} | |||
{{KV|[[Spawnflags]]|intn=spawnflags|flags|实体所具有的标志/标签,依实体所具有而定。|nofgd=1}} | |||
{{KV|[[Effect flags|Effects]]|intn=effects|flags|要使用的效果标志的组合。|nofgd=1}} | |||
| | {{KV|Entity Scripts|intn=vscripts|scriptlist|在所有实体生成后执行的 [[VScript:zh-cn|VScript]]{{zh-cn}} 文件(无文件扩展名)的空格分隔列表。这些脚本都在同一个脚本范围内执行,以后的脚本会覆盖任何相同的变量和函数。在 [[worldspawn]] 实体上执行的脚本将放置在根作用域中。|since=L4D2|also={{tf2}}}} | ||
{{KV|[[Entity_Scripts#Thinker_Functions|Think function]]|intn=thinkfunction|string|此实体脚本中的函数名称,该函数将在脚本持续时间内每 100 毫秒(每秒 10 次)自动调用一次。它可用于创建计时器或模拟自主行为。返回值(如果存在)将设置下一次调用之前的时间。尽量避免在此函数中进行[[expensive|昂贵]]的操作,因为它可能会导致性能问题。|since=L4D2|also={{tf2}}}} | |||
{{KV|[[Lag Compensation]]|intn=LagCompensate|boolean|设置为'''是'''以延迟补偿此实体。应该非常谨慎地使用!|nofgd=1|since=L4D2}} | |||
{{KV|Is Automatic-Aim Target|intn=is_autoaim_target|bool|如果设置为 1,当实体位于十字准线下方时,该实体将减慢控制台和操纵杆控制器的瞄准移动速度。|nofgd=1|since=CSGO}} | |||
| | |||
| | |||
== Inputs == | == Inputs == | ||
{{I|AddContext| | {{I|AddContext|将此实体添加到[[Response System|响应上下文]]列表中。参见 [[Context|上下文]]。|param=string}} | ||
{{I|{{Lx|AddOutput}}|为此实体分配一个新的键值/输出。对于键值,有些依赖于额外的代码,不能仅通过此输入进行更改。必须遵循严格的格式:{{Expand|<syntaxhighlight lang="PowerShell"> | |||
{{I|{{Lx|AddOutput}}| | |||
// 更改键值的格式: "AddOutput [键] [值]" | // 更改键值的格式: "AddOutput [键] [值]" | ||
//// 原始文本: | //// 原始文本: | ||
Line 4,076: | Line 34: | ||
//// 原始文本: | //// 原始文本: | ||
"OnUser1" "!self,AddOutput,OnUser1:ClearParent::0.0:-1" | "OnUser1" "!self,AddOutput,OnUser1:ClearParent::0.0:-1" | ||
</syntaxhighlight>| 语法<nowiki>:</nowiki>}} | </syntaxhighlight>| 语法<nowiki>:</nowiki>}}|param=string}} | ||
{{I|ClearContext|从此实体的列表中移除所有上下文。}} | |||
{{I|ClearParent|从运动层次结构中移除此实体,使其可以独立移动。}} | |||
{{I|FireUser1|to=FireUser4|触发相应的<code>OnUser</code>输出;参见 [[User Inputs and Outputs]]。}} | |||
{{I|[[Kill]]|从世界中移除此实体及任何附属于它的实体。}} | |||
{{I|KillHierarchy|功能与<code>Kill</code>相同,但此实体和任何附属于它的实体在同一帧内被击杀,比<code>Kill</code>输入稍快。}} | |||
{{I|RemoveContext|从此实体的列表中移除一个上下文。名称应与现有上下文的键匹配。|param=string}} | |||
{{I|SetParent|与此实体一起移动。参见 [[Entity Hierarchy (parenting)]]。|param=string}} | |||
{{I|SetParentAttachment|将此实体更改为附加到其父级上的特定[[attachment]]点。实体将被传送,以便其根[[bone]]的位置与附件的位置匹配。实体必须在发送此输入之前被附加。|param=string}} | |||
{{I|SetParentAttachmentMaintainOffset|如上所述,但不进行传送。实体保留相对于附件的当前位置。|param=string}} | |||
{{I|Use|与玩家调用[[+use]]相同;在大多数情况下没有效果。|nofgd=1}} | |||
{{I|SetTeam|更改此实体的团队。|nofgd=1|param=integer}} | |||
{{I|TeamNum|此输入更改<code>TeamNum</code>属性的值。|nofgd=1|param=integer}} | |||
{{I|DispatchResponse|向实体分发响应。参见 [[Response]] 和 [[Concept]]。|param=string|nofgd=1}} | |||
{{I|DispatchEffect|从实体的原点分发特殊效果;另见 [[List of Client Effects]]。自{{l4d}}以来被[[particle]]系统取代。|param=string|removed={{l4d}}|nofgd=1}} | |||
{{I|RunScriptFile|从磁盘执行[[VScript]]文件,无需文件扩展名。脚本内容与接收实体的脚本作用域合并。|param=script|since={{l4d2}}|also={{tf2}}}} | |||
{{I|RunScriptCode|在接收输入的实体的作用域中执行一串VScript源代码。通过控制台触发时可能需要字符串引号。|param=string|since={{l4d2}}|also={{tf2}}}} | |||
{{I|CallScriptFunction|调用在接收实体的作用域中定义的VScript函数。|param=string|since={{l4d2}}|also={{tf2}}|nofgd=1}} | |||
{{I|TerminateScriptScope|销毁接收实体的脚本作用域。|only={{tf2}}|nofgd=1}} | |||
{{I|SetLocalOrigin|将此实体发送到地图中的某个位置。如果实体附属于某个东西,它将相对于父级偏移此量。|param=coordinates|since={{as}}|nofgd=1}} | |||
{{I|SetLocalAngles|设置此实体的角度。|param=angles|since={{as}}|nofgd=1}} | |||
|RemoveContext | |||
|SetParentAttachmentMaintainOffset | |||
|SetTeam | |||
| | |||
| | |||
| | |||
| | |||
| | |||
|TerminateScriptScope={{ | |||
|SetLocalOrigin={{ | |||
== Outputs == | == Outputs == | ||
{{O|OnUser1|to=OnUser4| | {{O|OnUser1|to=OnUser4|这些输出分别在相应编号的 FireUser1 到 FireUser4 输入触发时触发;参见 {{L|User Inputs and Outputs|用户输入和输出}}。}} | ||
OnKilled|only={{l4d}}|当实体被击杀并从游戏中移除时触发此输出。}} | |||
Revision as of 11:41, 26 September 2024
Keyvalues
- Collisions (solid) <choices>
- 该实体的碰撞方式。
- 0: 无
- 1: BSP (QPhysics) 不存在于FGD!
- 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 (Y Z X) (angles) <angle>
- 实体在世界中的方位,Pitch围绕X轴旋转,可以称为俯仰角。Yaw围绕Z轴旋转,可以称为偏航角,roll围绕Y轴旋转。
Note:尽管 Hammer 不显示新角度,但其仍然适用于固实体。
- Classname (classname) <string> !FGD
- 确定实体之前它生成的特征。
Tip:使用AddOutput输入更改 Classname 仍然会影响游戏的代码,例如使类名与 S_PreserveEnts 列表中的一个元素匹配将使实体在新一轮中持续存在!
- Spawnflags (spawnflags) <flags> !FGD
- 实体所具有的标志/标签,依实体所具有而定。
- Entity Scripts (vscripts) <scriptlist> (in all games since
) (also in
)
- 在所有实体生成后执行的 VScript
文件(无文件扩展名)的空格分隔列表。这些脚本都在同一个脚本范围内执行,以后的脚本会覆盖任何相同的变量和函数。在 worldspawn 实体上执行的脚本将放置在根作用域中。
- Think function (thinkfunction) <string> (in all games since
) (also in
)
- 此实体脚本中的函数名称,该函数将在脚本持续时间内每 100 毫秒(每秒 10 次)自动调用一次。它可用于创建计时器或模拟自主行为。返回值(如果存在)将设置下一次调用之前的时间。尽量避免在此函数中进行昂贵的操作,因为它可能会导致性能问题。
- Lag Compensation (LagCompensate) <boolean> (in all games since
) !FGD
- 设置为是以延迟补偿此实体。应该非常谨慎地使用!
- Is Automatic-Aim Target (is_autoaim_target) <boolean> (in all games since
) !FGD
- 如果设置为 1,当实体位于十字准线下方时,该实体将减慢控制台和操纵杆控制器的瞄准移动速度。
Inputs
- AddOutput <string>
- 为此实体分配一个新的键值/输出。对于键值,有些依赖于额外的代码,不能仅通过此输入进行更改。必须遵循严格的格式: {| class="mw-collapsible mw-collapsed" style="background:rgba(0,0,0,0.05) ;float:no;margin-bottom:1em;margin-left:0;padding-right:0.5em;border:1px solid rgba(255,255,255,0.1); border-left:solid 1px #8bb9e0; padding-left:1em;"
|+ style="text-align:left; white-space:nowrap; font-weight:bold; color:#ddd; " |
|
// 更改键值的格式: "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>
- 从此实体的列表中移除一个上下文。名称应与现有上下文的键匹配。
- SetParent <string>
- 与此实体一起移动。参见 Entity Hierarchy (parenting)。
- SetParentAttachment <string>
- 将此实体更改为附加到其父级上的特定attachment点。实体将被传送,以便其根bone的位置与附件的位置匹配。实体必须在发送此输入之前被附加。
- SetParentAttachmentMaintainOffset <string>
- 如上所述,但不进行传送。实体保留相对于附件的当前位置。
- DispatchEffect <string> (removed since
) !FGD
- 从实体的原点分发特殊效果;另见 List of Client Effects。自
以来被particle系统取代。
- RunScriptCode <string> (in all games since
) (also in
)
- 在接收输入的实体的作用域中执行一串VScript源代码。通过控制台触发时可能需要字符串引号。
- TerminateScriptScope (only in
) !FGD
- 销毁接收实体的脚本作用域。
- SetLocalOrigin <coordinates> (in all games since
) !FGD
- 将此实体发送到地图中的某个位置。如果实体附属于某个东西,它将相对于父级偏移此量。
Outputs
- OnUser1 to OnUser4
- 这些输出分别在相应编号的 FireUser1 到 FireUser4 输入触发时触发;参见 用户输入和输出 。