【导语】今日清晨,开发团队推送了一波以地图脚本更新为主的小幅更新。此次更新涵盖脚本库配置优化、point_script实体机制调整与问题修复、多个实例与方法的增改、部分方法重载版本添加以及新地图资源“train_zoo.vmap”的推出,旨在提升类型分析精准度、增强 API 稳定性与功能性,为地图制作者提供更多便利。
本次更新内容不大。
今天早上,开发人员推送了一波小更新,本次更新以地图脚本更新为主。以下为更新内容:
【地图脚本】
更新了脚本库中的tsconfig.json文件,将目标设置为“es2022”,以实现更精准的类型分析。
调整了point_script实体的机制:该实体在生成过程中若脚本加载失败,将不再自行删除;反之,它会处于非活跃状态。若游戏以工具模式运行,该实体还会监听脚本的变化。
修复了point_script实体的一处问题:在工具模式下,若从无效脚本重载失败,该实体可能导致游戏崩溃,此问题现已解决。
调整point_script实体的内存值保留机制:对于Instance.OnBeforeReload回调函数返回的内存值,即使脚本重载失败,实体也会保留该值,直至下次重载成功(此前若重载失败,该值会被直接丢弃)。
调整了要求参数为字符串类型的方法:若传入非字符串类型的参数,此类方法现在会报错,而非调用toString方法进行处理。
调整了Instance.Msg和Instance.DebugScreenText方法:这两个方法的文本值参数现在可接受任意类型。
修复了RunScriptInput相关的崩溃漏洞:当调用者或激活者为null时,触发RunScriptInput会导致游戏崩溃,此漏洞现已修复。
移除了Instance.OnGameEvent方法,转而采用按事件单独注册的方法。这一调整为我们提供了增强API稳定性的工具,同时也为非游戏事件构建了统一的API接口。
新增Instance.DebugLine实例。
新增Instance.DebugBox实例。
新(xīn)增(zēng)Instance.OnPlayerConnect实(shí)例(lì)。
新(xīn)增(zēng)Instance.OnPlayerActivate实(shí)例(lì)。
新(xīn)增(zēng)Instance.OnPlayerDisconnect实(shí)例(lì)。
新(xīn)增(zēng)Instance.OnRoundStart实(shí)例(lì)。
新(xīn)增(zēng)Instance.OnRoundEnd实(shí)例(lì)。
新(xīn)增(zēng)Instance.OnBombPlant实例。
新增Instance.OnBombDefuse实例。
新增Instance.OnPlayerKill实例。
新增Instance.OnPlayerChat实例。
新增Instance.OnGunFire实例。
新增Instance.OnGrenadeThrow实例。
为Instance.EntFireAtName方法新增一个重载版本,支持设置调用者和激活者。
为Instance.EntFireAtTarget方法新增一个重载版本,支持设置调用者和激活者。
在Instance.GetTraceHit方法的返回结果中新增法向量数据。
新增Entity.GetGroundEntity。
新增CSWeaponBase.GetOwner。
新增(zēng)CSPlayerController.GetName。
新(xīn)增(zēng)CSObserverPawn.GetOriginalPlayerController方(fāng)法(fǎ)。
新(xīn)增(zēng)CSPlayerPawn.GetOriginalPlayerController。
新(xīn)增(zēng)CSPlayerPawn.IsCrouching。
新(xīn)增(zēng)CSPlayerPawn.IsCrouched。
新(xīn)增(zēng)CSPlayerPawn.IsNoclipping。
有(yǒu)关API的(de)完(wán)整(zhěng)详(xiáng)细(xì)信(xìn)息(xi),请(qǐng)参(cān)考(kǎo)maps/editor/zoo/scripts/point_script.d.ts文件(jiàn)。
新(xīn)增(zēng)“train_zoo.vmap”,包(bāo)含(hán)所(suǒ)有(yǒu)de_train相(xiāng)关资(zī)源及示例,供地图制作者使用。