Info director
< Zh
Jump to navigation
Jump to search
本页面由大康更新于2021年8月7日。
Template:L4d series point:zh-cn 它是臭名昭著的 AI 导演,必须存在于每个求生之路和求生之路2地图中才能正常游戏。
导演几乎完全自动化,仅在设计时存在于其他设计师放置的实体需要与其进行通信的少数情况下,例如在战役开场动画开始时强迫幸存者到他们各自的 info_survivor_position。
Template:Since:zh-cn=l4d2 可以输出导演的愤怒等级,让关卡设计师可以根据玩家的表现来调整条件。
强制至幸存者位置
如果幸存者设置了幸存者名称,导演可以强制所有幸存者站在 info_survivor_position 处。
这用于战役开始时,以防止幸存者在地图下方生成,或在结局中将幸存者传送出地图以暗示他们在逃离载具内。
为此,请转到 info_director 输出并添加以下输出:
My Output | Target Entity | Target Input | Parameter | Delay | Only Once | |
---|---|---|---|---|---|---|
![]() |
OnGameplayStart | !self | ForceSurvivorPositions | <none> | 0.00 | No |
![]() |
OnGameplayStart | !self | ReleaseSurvivorPositions | <none> | 0.20 | No |
注意事项
- 使用 changelevel 控制台命令重新启动地图将导致导演忽略
forcesurvivorpositions
输入。
- 如果您在使用
changelevel
重新编译后重新启动地图并且您需要测试您的开场动画,请在之后使用kill
控制台命令使任务失败,这将导致地图以重新启动的方式允许 info_director 使用forcesurvivorpositions
输入,这也将允许您的相机运行。
- logic_auto 不能触发
forcesurvivorpositions
除非地图是从游戏菜单中作为战役新加载的,或者在任务失败后重新启动。
- 为了解决这个问题,让导演使用
ongamestart
输入对自己调用forcesurvivorpositions
和releasesurvivorpositions
。当您的战役准备好发布时,如果您愿意,您可以在最终编译之前安全地将其改回使用 logic_auto,因为玩家将从游戏菜单加载您的战役。
键值
- Name (目标名称) <target_source>[ Edit ]
- 这个名称是其他实体通过 输入/输出 或其他 关键值 (如
parentname
或target
) 来引用该实体时使用的标识符。
该名称也会显示在 Hammer 编辑器的 2D 视图和 实体报告 中。参见: 所有实体均可使用的 通用键值、输入与输出
- Origin (X Y Z) (origin) ([todo internal name (i)]) <[[Zh/coordinates|coordinates]] >
- 实体处于世界中的位置,旋转实体会以实体坐标原点旋转。
输入
原始输入
PanicEvent
- 当地图发生某些你认为重要的事情时,应该让导演知道。
PanicEventControlled <int>
- 类似于恐慌事件,但允许通过波的数量对强度进行一些控制。早期地图的标准值为 1,后期地图为 2。
- Template:Note:zh-cn
ForceSurvivorPositions
- 让每个幸存者站在一个 info_survivor_position。
- Template:Note:zh-cn
ReleaseSurvivorPositions
- 让幸存者再次自由行动。
- Template:Note:zh-cn
FireConceptToAny <string>
- 向任何能够说出它的幸存者发射一个演讲概念。允许由地图实体触发幸存者对话(例如,带有参数 hospital04_path4 的毫不留情的电梯)
StartIntro
- 开场动画开始时触发。玩家在此(输出)激活时免疫伤害。不会产生丧尸或 SI。
FinishIntro
- 介绍结束时触发。玩家现在会受到伤害。鉴于玩家不再站在标记为 PLAYER_START 和/或 CHECKPOINT 的导航方块中,丧尸和 SI 可以生成。
EnableTankFrustration
- 可用于启用“tank frustration meter”。
DisableTankFrustration
- 可用于禁用“tank frustration meter”。
额外输入
以下是仅在 L4D2 中可用的额外输入。
BeginScript <string>
EndScript
开始/结束一个导演脚本。
ScriptedPanicEvent
运行一个脚本化的恐慌事件,类似于大结局的阶段事件。
ForcePanicEvent
- 触发恐慌事件,无论发生什么。
EndCustomScriptedStage
结束脚本化的结局阶段。
IncrementTeamScore <int>
- 增加一个团队的分数。(2=survivors, 3=infected)
CreateNewJournal <string>
- 创建一个新日志。
WriteToJournal <string>
- 将任务添加到 I/O 日志。
ExecuteJournal <string>
- 执行指定日志中的所有任务
RefreshInitialSpawnPositions
- Template:Todo:zh-cn
输出
原始输出
OnGameplayStart
- 当地图加载时触发,所有玩家加入并开始游戏。
OnPanicEventFinished
- 当恐慌事件完成时触发。
实体目标名:
- OnUser1 to OnUser4
- 这些输出将分别响应于
FireUser1
到FireUser4
输入。 详见 User Inputs and Outputs。
额外输出
以下是仅在 L4D2 中可用的附加输出。他们专注于新的清道夫模式和 vscripts。
OnCustomPanicStageFinished
- 当自定义恐慌事件或自定义结局的每个阶段结束时触发。依赖于 vscripts。
OnTeamScored
- 当一个团队在清道夫加油口中放置清道夫物品时触发。
OnScavengeRoundStart
- 当清道夫回合开始时触发。
OnScavengeOvertimeStart
- 计时器时间到,游戏进入超时赛时触发。
OnScavengeOvertimeCancel
- 时间被添加到计时器,结束超时赛。
OnScavengeTimerExpired
- 时间到了,比赛没有进入超时赛。
OnScavengeIntensityChanged <int>
- 强度级别已更改。 1 = 最高强度,随着数字变大而降低。
OnUserDefinedScriptEvent1-4
- 从 Squirrel Script 触发的通用用户定义事件 (
UserDefinedEvent1()-UserDefinedEvent4()
)