Map Scripting
强度趋势
上升 = 加强,下降 = 削弱补丁历史
- ≈✨NewAPI Functions—→Added
为玩家控制器、Pawn 和武器状态(例如金钱管理、头盔状态、开镜状态)添加了大量新的脚本函数。
new
- ≈🔁ReworkOnPlayerUseactivator/caller
更改了 OnPlayerUse 的逻辑,激活者始终为玩家,调用者始终为被使用的实体。
rework
- ▲✨NewOnBulletImpacthitEntity—→Added
在 OnBulletImpact 事件数据中添加了 hitEntity,允许脚本识别被击中的目标。
API 扩展
- ▲✨NewCSWeaponBaseAmmo Methods—→Added
添加了用于获取/设置弹匣和备用弹药的方法,为模组制作者提供更好的武器状态控制。
API 扩展
- ≈🐛Bug fixCSPlayerPawnDucking StateMissing→Fixed
修复了玩家 pawn 缺失 IsDucking() 和 IsDucked() 方法的问题。
错误修复
- ▲🔁Reworkcs_script enums—→TypeScript compatible
更新了 cs_script 枚举,使其可导入并表现得像 TypeScript 枚举,从而改善开发工作流程。
枚举现在表现得像 TypeScript 枚举。
- ▲✨NewScripting Enums—→Added
添加了几个新枚举,包括 CSRoundEndReason 和 CSHitGroup,以扩展地图脚本功能。
添加了 CSRoundEndReason, CSHitGroup 等。
- ▲🔁ReworkInstance.OnBeforePlayerDamage—→Modified
增强了 OnBeforePlayerDamage,允许脚本接收并修改伤害类型和标志。
现在可以接收并修改 damageType 和 damageFlags。
- ≈📊Numerictsconfig target—→es2022
更新了 tsconfig.json 以适配 es2022,改进了脚本开发者的类型分析。
更新了目标版本以实现更精确的类型分析。
- ▲🎯Behaviorpoint_scriptspawn behaviorremove self→inactive state
point_script 实体在脚本加载失败时现在会保持非活动状态,而不是被移除,从而允许在工具模式下进行实时更新。
防止在工具模式下因脚本加载失败而删除实体。
- ≈🐛Bug fixpoint_scriptstability
修复了在工具模式下 point_script 重新加载无效脚本时可能发生的崩溃问题。
修复了重新加载失败导致的崩溃。
- ≈✂️RemovedInstance.OnGameEventavailabilityAvailable→Removed
移除了 Instance.OnGameEvent,转而采用特定的事件注册方法,以提高 API 稳定性。
由按事件注册的方法取代。
- ▲✨NewInstancedebug tools—→Added
在 Instance API 中添加了 DebugLine 和 DebugBox,以协助地图制作者进行可视化调试。
添加了 DebugLine 和 DebugBox。
- ▲✨NewInstanceevent hooks—→Added
添加了大量新的事件钩子,包括 RoundStart、RoundEnd、BombPlant、BombDefuse 和 PlayerKill,以支持更复杂的地图脚本编写。
添加了各种游戏事件钩子(RoundStart、BombPlant 等)。
- ▲✨NewCSPlayerPawnstate queries—→Added
添加了检查玩家是否正在蹲伏或处于 noclip 状态的新方法,允许实现更具响应性的脚本触发器。
添加了 IsCrouching、IsCrouched 和 IsNoclipping。
- ≈✨Newscripting system—→cs_script
添加了 cs_script,这是一个基于 JavaScript 的脚本系统,允许地图创作者实现更复杂的逻辑。
JS 集成
- ≈✨Newdemo map—→script_zoo.vmap
添加了 script_zoo.vmap 以演示新 cs_script 系统的功能和用法。
示例地图