logic_director_query
本简体中文页面由大康翻译。
logic_director_query
是一个点实体存在于 Left 4 Dead 2。用于输出人工智能导演系统的“愤怒”值,其中导演被表现好的玩家激怒。这为调整地图元素以试图安抚 AI 导演提供了机会。一些示例包括调整目标距离和增加/减少模糊天气效果。
任意数量的 logic_director_query 实体可以存在于同一个地图中,每个实体都有自己的值范围和噪声设置。
键值
- Min Anger Range
<integer | 整数
>
- Max Anger Range
<integer | 整数
>
- 用于表示导演愤怒的整数范围。该值将被映射到其中。选择更广泛的数字可以实现更好的“愤怒管理”。
- Noise
<choices>
- 稍微随机化实体的输出。 “No noise”将导致输出为导演愤怒的精确重映射值,而“complete noise”将输出为愤怒范围内的随机数。中间还有其他各种级别。
Targetname:
- Name
(targetname)
<string | 字符串>
- 其他实体引用该实体的目标名称。
- Entity Scripts
(vscripts)
<scriptlist | 脚本列表
(存在于自>
)
- 在所有实体生成后执行的 VScript 文件(无文件扩展名)的空格分隔列表。这些脚本都在同一个脚本范围内执行,以后的脚本会覆盖任何相同的变量和函数。
- Script think function
(thinkfunction)
<string | 字符串>
(存在于自)
- 此实体脚本中的函数名称,该函数将在脚本持续时间内每 100 毫秒(每秒 10 次)自动调用一次。它可用于创建计时器或模拟自主行为。返回值(如果存在)将设置下一次调用之前的时间。
注意: 尽量避免在这个函数中进行昂贵的操作,因为它可能会导致性能问题。
输入
HowAngry
- 问导演:“在
Min Anger Range
到Max Anger Range
的范围内,你有多愤怒?”
实体目标名:
Kill
- 从这个世界中删除此实体。
KillHierarchy
- 功能类似于
Kill
,尽管此实体与其父实体都被删除了,但比Kill
快一点。
AddOutput
<string | 字符串>
- 在此实体上分配新的键值/输出。对于键值,有些依赖于额外的必要代码来运行,如果它只是通过这个输入改变就行不通。必须遵循严格的格式:
语法:
// 更改键值的格式: "AddOutput [键] [值]"
//// 原始文本:
"OnUser1" "!self,AddOutput,targetname new_name"
// 添加输出的格式: "AddOutput {目标名称}:{输入名称}:{参数}:{延迟}:{最大触发次数,-1 代表无限}"
//// 原始文本:
"OnUser1" "!self:SetParent:!activator:0.0:-1"
// 参数可以留空,但仍应包含空的空白。
//// 原始文本:
"OnUser1" "!self:ClearParent::0.0:-1"
FireUser1
到FireUser4
- 触发
OnUser
输出; 详见 User Inputs and Outputs。
RunScriptFile
<script | 脚本
(存在于自>
)
- 从硬盘执行一个VScript脚本文件,不带文件后缀名。 会合并接收实体的脚本域。
RunScriptCode
<string | 字符串>
(存在于自)
- (执行脚本代码。)执行一段接收实体域的脚本源代码。通过控制台触发,可能需要英文双引号。
警告: 切勿在此输入的元素内使用字符串!它将破坏VMF ,由嵌套引号引起!你必须用文本编辑器手动删除来修复!
CallScriptFunction
<string | 字符串>
(存在于自) 不存在于FGD!
- 在接受实体脚本域上执行一段vscript函数。
SetLocalOrigin
<coordinates>
(存在于自) 不存在于FGD!
- 将此实体设置到地图上某点。如果此实体是某实体父级,那么它的子级也会随着偏移。
输出
OutAnger
<integer>
- 导演的愤怒值(用整数表示),反馈到
HowAngry
并触发OutAnger
输出。将导演愤怒的当前重新映射值发送到你选择的实体(logic_case 通常是最有用的)。
On20SecondsToMob
证实:在导演愤怒导致它产生一群普通感染者前 20 秒触发。