info_director

From Valve Developer Community
< Zh
Jump to navigation Jump to search
English (en)中文 (zh)Translate (Translate)

info_director是一个点实体(en),可在Left 4 Dead series 求生之路系列中使用。

它是臭名昭著的 AI 导演,必须存在于每个求生之路和求生之路2(en)地图中才能正常游戏。

导演几乎完全自动化,仅在设计时存在于其他设计师放置的实体需要与其进行通信的少数情况下,例如在战役开场动画开始时强迫幸存者到他们各自的 info_survivor_position(en)

logic_director_query(en)(存在于自 求生之路2 以来)可以输出导演的愤怒等级,让关卡设计师可以根据玩家的表现来调整条件。

强制至幸存者位置

如果幸存者设置了幸存者名称,导演可以强制所有幸存者站在 info_survivor_position(en) 处。
这用于战役开始时,以防止幸存者在地图下方生成,或在结局中将幸存者传送出地图以暗示他们在逃离载具内。

为此,请转到 info_director 输出并添加以下输出:

  My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnGameplayStart !self ForceSurvivorPositions <none> 0.00 No
Io11.png OnGameplayStart !self ReleaseSurvivorPositions <none> 0.20 No

注意事项

  • 使用 changelevel(en) 控制台命令重新启动地图将导致导演忽略forcesurvivorpositions输入。
如果你在使用changelevel重新编译后重新启动地图并且你需要测试你的开场动画,请在之后使用kill控制台命令使任务失败,这将导致地图以重新启动的方式允许 info_director 使用forcesurvivorpositions输入,这也将允许你的相机运行。
  • logic_auto(en) 不能触发forcesurvivorpositions除非地图是从游戏菜单中作为战役新加载的,或者在任务失败后重新启动。
为了解决这个问题,让导演使用ongamestart输入对自己调用forcesurvivorpositionsreleasesurvivorpositions。当你的战役准备好发布时,如果你仍然想这样做,你可以在最终编译之前安全地将其改回使用 logic_auto,因为玩家将从游戏菜单加载你的战役。

键值

参见:  Generic Keyvalues, Inputs and Outputs available to all entities
Name(en) (targetname) <string(en)>
其他实体引用该实体的目标名称。
Origin(en) (X Y Z) (origin) ([todo internal name (i)]) <coordinates(en)>
实体处于世界中的位置,旋转实体会以实体坐标原点旋转。

输入

求生之路 原始输入

PanicEvent
当地图发生某些你认为重要的事情时,应该让导演知道。
PanicEventControlled <int(en)>
类似于恐慌事件,但允许通过波的数量对强度进行一些控制。早期地图的标准值为 1,后期地图为 2。
Note.png注意:PanicEventControlled 仅适用于 L4D1。在 L4D2 中,运行导演脚本(en)会触发一系列恐慌事件(以及更多!)。
ForceSurvivorPositions
让每个幸存者站在一个 info_survivor_position。
Note.png注意:还隐藏 HUD,除了生还者模式和清道夫模式特定的 HUD。
ReleaseSurvivorPositions
让幸存者再次自由行动。
Note.png注意:还可以再次启用 HUD。
FireConceptToAny <string(en)>
向任何能够说出它的幸存者触发一个演讲概念。允许由地图实体触发幸存者对话(例如,带有参数 hospital04_path4 的毫不留情的电梯)
StartIntro
开场动画开始时触发。玩家在此(输出)激活时免疫伤害。不会产生丧尸或特殊感染者。
FinishIntro
开场动画结束时触发。玩家现在会受到伤害。鉴于玩家不再站在标记为 PLAYER_START 和/或 CHECKPOINT 的导航方块中,丧尸和特殊感染者可以生成。
EnableTankFrustration
可用于启用Tank玩家在太长时间没有伤害幸存者时得到的超时(Tank 可以气死)。
DisableTankFrustration
可用于禁用Tank玩家在太长时间没有伤害幸存者时得到的超时(Tank 不能气死)。

Template:I Targetname:zh-cn

求生之路2 额外输入

以下是仅在 L4D2 中可用的额外输入。

BeginScript <string(en)>
EndScript
Squirrel开始/结束一个导演脚本(en)。"BeginScript" 将自动结束任何正在运行的脚本,以启动另一个脚本。
ScriptedPanicEvent
Squirrel运行一个脚本化的恐慌事件,类似于大结局的阶段事件。
ForcePanicEvent
触发恐慌事件,无论发生什么。
EndCustomScriptedStage
Squirrel结束脚本化的结局阶段。
IncrementTeamScore <int(en)>
增加一个团队的分数。(2=survivors, 3=infected)
CreateNewJournal <string(en)>
创建一个新日志。
WriteToJournal <string(en)>
将任务写入到 I/O 日志。
ExecuteJournal <string(en)>
执行指定日志中的所有任务
RefreshInitialSpawnPositions
待完善: 似乎将幸存者传送到他们生成的位置。

输出

求生之路 原始输出

OnGameplayStart
当地图加载后,所有玩家加入并开始游戏时触发。
OnPanicEventFinished
当恐慌事件完成时触发。

实体目标名:

OnUser1OnUser4
这些输出将分别响应于FireUser1FireUser4 输入。 详见 User Inputs and Outputs
OnKilled (存在于 Left 4 Dead series 之中)
当实体被删除时触发此输出。

求生之路2 额外输出

以下是仅在 L4D2 中可用的附加输出。他们专注于新的清道夫模式和 vscripts。

OnCustomPanicStageFinished
当自定义恐慌事件或自定义结局的每个阶段结束时触发。依赖于 vscripts。
OnTeamScored
当一个团队在清道夫加油口中放置清道夫物品时触发。
OnScavengeRoundStart
当清道夫回合开始时触发。
OnScavengeOvertimeStart
计时器时间到,游戏进入超时赛时触发。
OnScavengeOvertimeCancel
时间被添加到计时器,结束超时赛。
OnScavengeTimerExpired
时间到了,比赛没有进入超时赛。
OnScavengeIntensityChanged <int(en)>
当紧张等级被更改时触发。 1 = 最高强度,随着数字变大而降低。
OnUserDefinedScriptEvent1-4
从 Squirrel Script(en) 触发的通用用户定义事件 (UserDefinedEvent1()-UserDefinedEvent4())

另请参阅