CS2 更新(2026年9月26日)
本次更新引入 Major 代币提醒弹窗、宠物书与弹窗行为优化、全面的鸡类音效更新,以及为烟雾光照与武器声音抑制准备的底层支持。
快速摘要
- 新增 Major 商店余额提醒弹窗,提示玩家花掉未使用的赛事代币并直接链接 Major hub。
- 主菜单弹窗处理重构,改善通知回调清理,减少弹窗“卡住”情况。
- 宠物书与装饰宠物系统获得 UX 调整,退役宠物书使用基于月份的标签显示孵化时间。
- 官方 LATAM 地区的 `de_train` 地图注释 JSON 更新,可能微调投掷物标记或叫点。
- 烟雾光照引擎获得新支持并新增服务器命令 `sv_smoke_lighting_changed`,脚本地图会在房间光照变化后请求重算烟雾光照。
- 鸡类音效新增 30+ 个素材,并在游戏与 UI 中调整音量与音高以获得更自然的环境音效。
- 多种武器的操作与换弹 foley 事件启用统一的 suppression 设置,以更好控制重叠的杂音。
- 新增仅月/月年格式的经济日期显示,并对命令/元数据分类与消息协议做出若干调整,为界面与工具的时间段展示与指令归类做准备。
本次 CS2 更新以锦标赛商店提醒、宠物与弹出窗口体验优化、更加丰富的鸡类音效以及若干烟雾光照与声音抑制的底层改进为主——多数改动是视觉/音频或 UI 层面的增强,对玩法影响有限。
锦标赛 Major 商店:代币提醒弹窗
- 新弹窗: 新增
major_store_balance弹窗及其布局、脚本和样式文件,用于提醒玩家未花完的 Major 代币。 - 功能说明: 在满足触发条件时,主菜单会显示一个弹窗,展示:
- 剩余 Major 代币数量(
{d:balance}),并带有金币图标。 - 使用当前活动的简称及主题背景/徽标(例如某届 Major)。
- 一个显著按钮,跳转到 “Visit The Major Hub & Shop”。
- 剩余 Major 代币数量(
- 文字内容: 英文字符串示例包括标题 “You Have Tokens To Spend”,描述提示活动商店“closing soon”,并鼓励尽快使用代币;按钮文本会本地化并引导至 Major hub。
- 触发逻辑: 主菜单的通知循环现在包含
_CheckMajorStoreBalance():- 仅在 Home 标签且不在比赛中时运行。
- 需要有效的网络连接和物品库(inventory)。
- 查找当前赛事的季节性代币条目及其
redeemable_balance字段。 - 仅当余额至少为 99 代币时触发一次提醒。
- 会尊重已有的“has popup notification”标志,避免与其他弹窗叠加。
- 意义: 对于代币量较大的玩家,这会在商店下架前给出一次提醒,降低错过活动奖励的概率。
主菜单与通知处理改进
- 集中关闭弹窗: 多处原本直接调用
UiToolkitAPI.CloseAllVisiblePopups()的流程现在改为通过_CloseAllVisiblePopups()辅助函数:- 该辅助函数不仅关闭弹窗,还清理为弹窗通知注册的 JS 回调。
- 并会重置
_m_bHasPopupNotification,减少通知“卡住”的可能性。
- 统一回调注册: 新增
_RegisterPopupNotificationCallback(),包装UiToolkitAPI.RegisterJSCallback并保证弹窗关闭时自动注销回调。- 已用于租赁到期通知、宠物活动通知和晋级兑换商店弹窗等场景。
- 有助于减少回调泄漏和多弹窗交互时的异常行为。
- 晋级商店弹窗: 晋级兑换商店的通知现在使用统一回调助手,而非手动管理句柄。
- 通用弹窗取消行为: 使用
ShowGenericPopupOneOption创建的简单弹窗,如果用户取消,会显式触发UIPopupButtonClicked并调用传入的回调。- 这样无论点按钮还是关闭窗口,通知回调都会一致执行。
- 意义: 这应当减少弹窗“卡住”或关闭后 UI 仍认为有通知存在的情况;依赖这些回调的插件式 UI 也会更可靠。
宠物书与装饰宠物的 UX 调整
- 主菜单中宠物显示:
_HidePetEntities与_ShowPetEntities不再向装饰实体发送显式的nestenable/disable 输入。- 程序仍会读取宠物的等级信息,但不再通过旧的输入切换来控制低等级宠物能否“在主菜单走动”。
- 这表明主菜单宠物行为正向更新的系统靠拢,减少对实体输入的依赖。
- 玩家卡片的宠物书菜单:
- “当前书籍”标签始终显示统一的“Current Book”文本(不再替换为宠物名)。
- 对于已退役的宠物书,代码会解包每个旧的宠物物品 ID,尝试构建更具信息性的标签:
- 读取宠物的显示名称(自定义或默认)和
deployment date属性。 - 使用
InventoryAPI.LocalizeDateCoarsely(month粒度)计算粗略孵化日期。 - 填充新的
pet_book_menu_retired本地化字符串,显示{s:hatch_date}。
- 读取宠物的显示名称(自定义或默认)和
- 仅在能生成非空标签时才添加条目,避免损坏或不完整的宠物书文件污染菜单。
- 本地化更改:
pet_book_menu_recent与pet_book_menu_numbered被合并为单一的pet_book_menu_retired键。- 提示文本仍将宠物书描述为“Books left by your past pets”。
- 意义: 已退役的宠物书现在更可能以“月/年”这种时间标识显示,而非简单的“Book 1/2/3”,便于回顾与辨认。
官方地图指引更新:de_train(LATAM)
- 注释资源更新: 包装在内的
de_train官方地图注释数据中,LATAM 地区的 JSON 文件de_train_latam.json有所修改,体积略有增加。 - 可能影响: 这通常代表对 LATAM 地区的地图指引(如投掷物标记、叫点位置或说明性文字)做了小幅调整或修正,而非大规模布局变更。
烟雾光照:新命令与投掷物状态追踪
- 新服务器命令: 添加了
sv_smoke_lighting_changed,描述为 “Recompute smoke volume LPV caches”。LPV 指光传播体(light propagation volume)。 - 脚本地图集成:
rush_001地图脚本现在:- 在
SetRoomLights改变房间灯光后,调用一个新的异步辅助NotifySmokeLightingChanged()。 - 该辅助短暂延迟后调用
Instance.ServerCommand("sv_smoke_lighting_changed")。 - 也就是说,在该地图上某些脚本化的灯光变化会显式通知引擎重新计算烟雾光照。
- 在
- 烟雾投掷物字段: 客户端与服务器端的烟雾手榴弹投掷物类都新增了
uint8 m_nSmokeLightProbeRegen字段。- 虽然具体用途未全部开放,但强烈暗示引擎会更明确地记录何时需要重新生成烟雾体积的光照探针。
- 意义: 在光照会动态变化的地图或场景中,玩家可能会注意到烟雾内外的光照表现更一致。创作者可据此更好地同步环境光变化与烟雾渲染,提升视觉准确性。
音频:为鸡类音效做全面打磨
环境鸡类音效扩展
- 新增音频资源: 在
sounds/ambient/common/animal下加入 30 多个与鸡相关的新文件,包括:chicken_idle_hen_01–06、chicken_idle_pullet_01–05chicken_panic_hen_01–05、chicken_panic_pullet_01–03chicken_flap_single_01–09、chicken_scratch_01–11等。
- UI 声音事件定义: 在
game_sounds_ui.vsndevts中将这些音频接入若干事件:- 对雏鸡(pullet)和母鸡(hen)的空闲与惊慌事件使用更细分的音源。
- PhotoBooth(UI/宠物预览)也为雏鸡/母鸡配了匹配的音频并调整音量与音高。
- 新增事件如
Chicken.Flap.Single、Chicken.Scratch,并为它们设置距离衰减、混响和混音组。
- 音量与音高调整: 对多处鸡类事件微调音量与音高:
- 降低雏鸡啄食与 PhotoBooth 啄食声的音量,减少干扰。
- 某些空闲与 PhotoBooth 声音略微下调音高,使听感更自然。
- 雏鸡爪声的音量从 0.2 调至 0.1。
- 意义: 无论在比赛中还是在宠物/PhotoBooth 界面,鸡类现在有更多样化且更自然的叫声与动作声,减少单一重复感且在菜单中不再过于突兀。
武器摩擦声(foley)抑制调优
- 对武器操作声启用抑制: 在
game_sounds_weapons.vsndevts中,许多武器的侧面操作与换弹/装填类 foley 事件启用了声音“suppression”设置:- 对带弹链的轻机枪(如
Negev,M249)的事件(Coverup、Boxout、Boxin、Chain、Coverdown、Pump)新增:suppression_enable = truesuppression_volume_multiplier = 0.07suppression_falloff_multiplier = 0.2
- 部分霰弹枪与步枪的拔枪、抽动、检查、上弹等事件(如
XM1014,Nova,Sawed-Off,MAG-7,SCAR-20,AK-47,MP5等)也采用了类似设置。 - 一个之前禁用抑制的
SCAR-20检查事件现在也启用了相同参数。
- 对带弹链的轻机枪(如
- 可能表现: 在高强度场景或多事件重叠时,这些非射击的摩擦声会更受控、更不易互相干扰,从本地玩家视角与整体混音上都更干净。枪声本身的平衡不受影响;改动针对的是诸如箱链、拉机柄和检查动作等辅助声音。
经济系统与日期格式
- 新增仅月格式: 在
csgo_english.txt中新增了经济日期格式:Econ_DateFormat_MonthOnly、Econ_DateFormat_GMT_MonthOnly及其:f变体。- 这些格式以 “{monthlong} {year}”(可含 GMT)显示。
- 应用场景: 这类格式通常用于物品或活动时间段的 UI 展示,例如:
- 基于期间的统计、行动(Operations)或系列窗口。
- 宠物或代币相关的时间线(例如前文按月粗略本地化的宠物书孵化日期)。
- 意义: 在不需要精确到日/时的场合,玩家会看到更整洁的“月/年”标签,阅读体验更好。
命令、控制台变量与协议说明
- Workshop 标记移除: 多个命令与控制台变量在内部列表中取消了
workshop_whitelisted标签,包括:- 手榴弹与物品上限相关的 cvar(如
ammo_grenade_limit_*,ammo_item_limit_healthshot)。 - 与机器人相关的 convar(如
bot_allow_*,bot_quota,bot_difficulty等)。 - 若干命令,比如
bot_add,bot_kick,callvote,give,god,noclip,say,say_team,map_workshop,restart,setpos等。 - 注释工具(
annotation_load)、投票、日志以及各种调试/实体命令。
- 手榴弹与物品上限相关的 cvar(如
- 对创作者与插件的影响:
- 这主要是内部分类的变更,本身并不等同于功能的增删。
- 但可能影响工具如何判断哪些 convar/命令被视为适合 Workshop 场景使用或安全可用。
- 服务器管理员与模组作者应关注后续文档更新,若 Workshop 权限体系被重构可能会带来更多提示。
- 用户消息协议调整:
CCSUsrMsg_WeaponSound消息结构移除了一个optional bool stealth字段。- 这一移除表明“stealth”位要么未被使用,要么已合并入其它声音处理逻辑;对玩家的直接影响应当很小。
总体影响
此次更新对明显的玩法变动较少,主要带来若干品质与视听上的抛光:
- Major 玩家更不易忘记未花的代币,新增的提醒弹窗会在商店下架前给出提示。
- 宠物相关体验更流畅,退役宠物书会以月/年类的时间标签展示,便于回顾。
- 鸡类音效更丰富、更自然,且在菜单中不再过于突兀。
- 烟雾渲染获得与动态光照更好对齐的基础设施,第一个示例已在脚本地图中启用。
- 一系列声音技术与控制台元数据的调整,为今后更干净的音频呈现和更清晰的工具链奠定基础。
对大多数玩家而言,这些更改会体现在更顺畅的主菜单体验、更丰富的环境音效以及若干细微的图音一致性改进,而非直接的竞技性改动。
