新增自定义 HUD 布局、玩家摄像机与脚本 API(2026年8月25日)
为脚本地图添加自定义 HUD 布局与玩家摄像机,并新增多项脚本 API 与日志改进。
快速摘要
- 新增 `custom_hud_layout` 实体,支持 `Panel`、`Label`、`Image`、`Button` 与 CSS,但不支持事件与客户端脚本,且在工具模式重载期间保持状态。
- 新增 `cs_player_camera` 实体,可在不移动 pawn 的情况下控制玩家视角并可配置为允许环视。
- 新增多项脚本 API 与事件,包括 `Instance` 系列事件、实体移动与移动类型方法、`CSPlayerPawn`、`C4`、`CustomHudLayout` 与 `CSPlayerCamera` 的方法,以及 `enum CSMoveType`。
- 改进脚本加载的错误与日志:初始运行错误与未处理的 promise 拒绝现在记录到控制台,`CompileModule` 步骤的错误包含列号,并修正了某些事件参数类型。
- 弃用 `planter`(来自 `Instance.OnBombPlant`)与 `defuser`(来自 `Instance.OnBombDefuse`)。
本次更新为脚本地图和脚本 API 引入多项新增实体、事件与函数,并改进了脚本加载和错误日志的输出。
新增实体与自定义 HUD
-
新增实体:
custom_hud_layoutcustom_hud_layouts是脚本地图提供自定义 UI 的入口。- 支持
Panel、Label、Image和Button面板类型。 - 支持使用 CSS 进行样式化。
- 不支持事件与客户端脚本。
- 在工具模式重载期间保持状态。
-
新增实体:
cs_player_camera- 在不移动玩家 pawn 的情况下控制玩家视角。
- 可配置为允许玩家从脚本位置环视(look around)。
新增脚本 API 与事件
- 新增 Instance 事件与属性:
Instance.Delay、Instance.OnBombPlantStart、Instance.OnBombPlantAbort、Instance.OnBombDefuseStart、Instance.OnBombDefuseAbort、Instance.OnCustomHudClicked、Instance.IsDedicatedServer。 - 新增实体方法与枚举:
Entity.Move、Entity.GetMoveType、Entity.SetMoveType、enum CSMoveType。 - 新增玩家相关方法:
CSPlayerPawn.GetC4、CSPlayerPawn.GetDefuseTarget、CSPlayerPawn.IsBuyMenuOpen、CSPlayerPawn.GetCamera。 - 新增 C4 方法:
C4.GetPlantStartTime、C4.GetPlantFinishTime、C4.AbortPlant。 - 新增 CustomHudLayout 方法:
CustomHudLayout.SetHasClass、CustomHudLayout.SetHasClassForPlayer、CustomHudLayout.SetDialogVariableString、CustomHudLayout.SetDialogVariableStringForPlayer、CustomHudLayout.SetInputCaptureEnabled、CustomHudLayout.IsInputCaptureEnabled。 - 新增 CSPlayerCamera 方法:
CSPlayerCamera.IsEnabled、CSPlayerCamera.SetEnabled、CSPlayerCamera.SetIsControllingAngles。 - 其他新增:
Instance.OnCustomHudClicked(已列于上文作为 Instance 事件)。
错误与日志改进
- 日志记录: 脚本初始运行期间遇到的错误现在会记录到控制台。
- Promise: 未处理的 promise 拒绝现在会记录到控制台。
- 编译错误细节: 在脚本加载的
CompileModule步骤中捕获的错误现在包含列号。 - 类型修正: 修正了某些事件的参数类型(此前可能为 undefined)。
弃用
- 弃用参数: 在事件中弃用
planter(来自Instance.OnBombPlant)与defuser(来自Instance.OnBombDefuse)。
