ZoneRadio框架 - 自定义音乐无处不在

ZoneRadio框架 - 自定义音乐无处不在

功能完整的个人电台,直接显示在您的HUD上。轻松添加自定义电台和音乐!

[!quote] 安装 ZoneRadio 之前: 请先安装 “STALKER2 UE4SS Update 2.0 Compatibility Fix” 补丁。如果在安装 UE4SS 后游戏启动时立即崩溃到桌面,这几乎总是原因所在。

注意: 仅使用 Lua 脚本,不修改任何游戏文件。请自行承担风险,并备份您的存档。

本模组在 Linux/Proton 上开发并测试,但在 Windows 上同样运行良好。

描述

ZoneRadio 将一个独立的原生流媒体电台直接带到您的潜行者装备中。

不再有在距离枢纽 50 米处音乐中断,或在区域间移动时出现音频丢失的情况。它通过自己的 DLL 在后台干净地流式传输音频,完全绕过 UE5 音频限制。

v3 重构版: 现在一切都直接通过键盘快捷键或手柄控制。当您切换曲目、切换电台或调整音量时,屏幕角落会弹出一个琥珀色的小型读数,显示几秒钟后淡出。

您可以切换电台、跳过曲目、调整音量,并切换一个低沉的胸挂扬声器过滤器,使其真地听起来像从夹在背心上的收音机中播放。

想要《辐射:新维加斯》的电台?获取单独的 [b]ZRF: Radio New Vegas[/b] 附加组件,并将其放入您的 Music 文件夹。

v3.0.0 更新日志

  • 移除了武器检视面板(按住 T)、PDA 状态显示和 MCM 桥接。现在一切仅通过快捷键和手柄控制。
  • 新增屏幕显示:显示当前电台、曲目名称和与音量匹配的动画波形,然后淡出。
  • settings.ini 中的显示选项:选择显示角落(ToastCorner)、显示时长(ToastSeconds),或让其在音乐播放期间一直显示(ToastPersistent)。
  • 手柄快捷键现在可以在 settings.ini 中禁用(GamepadShortcuts=false
  • 旧的 settings.ini 中的 DisplayMode 行将被忽略,但音量、电台、过滤器和随机播放设置会无损保留。

安装

  1. 将 UE4SS 和 2.0 兼容补丁安装到:Stalker2/Binaries/Win64/
  2. 下载并解压 ZoneRadio 压缩包。
  3. ZoneRadio 文件夹直接放入:Stalker2/Binaries/Win64/ue4ss/Mods/

您的文件结构应如下所示:

Stalker2/Binaries/Win64/
└── ue4ss/
    ├── UE4SS.dll
    ├── UE4SS-settings.ini
    └── Mods/
        └── ZoneRadio/
            ├── enabled.txt
            ├── radio_player.dll
            ├── readme.txt
            ├── settings.ini          (首次启动时创建)
            ├── scripts/
            │  ├── main.lua
            │  ├── playback.lua
            │  ├── toast.lua
            │  ├── input.lua
            │  ├── settings.lua
            │  ├── tick.lua
            │  └── utils.lua
            ├── SFX/
            │  ├── turn_on.ogg
            │  ├── turn_off.ogg
            │  └── switch_1.ogg ... switch_8.ogg
            └── Music/
                ├── 01_100_Rads_Bar/
                ├── 02_Rostok_Arena/
                ├── 03_Loners_Campfire/
                └── 04_Your_Custom_Station/

稳定性提示:Stalker2/Binaries/Win64/ue4ss/UE4SS-settings.ini 中,确保:

EnableAutoReloadingLuaMods = 0

以避免游戏过程中随机崩溃。

快捷键

键盘(可在任意位置使用,无需打开菜单):

按键绑定 功能
Shift + End 切换电台电源(开 / 关)
Shift + Home 下一个电台
Shift + 左箭头 上一首曲目
Shift + 右箭头 下一首曲目
Shift + 上箭头 音量增加 (+10%)
Shift + 下箭头 音量降低 (-10%)
Shift + Page Down 切换胸挂扬声器过滤器
Shift + Page Up 重新扫描电台

手柄 按住 Select(Xbox 导航键左侧的按钮,即 View/Back)并点击十字键方向:

  • Select + 十字键上: 电源开 / 关
  • Select + 十字键左: 下一个电台
  • Select + 十字键右: 下一首曲目
  • Select + 十字键下: 循环音量(25%、50%、75%、100%)

按住 Select 也是游戏默认打开 PDA 的按钮,因此使用这些快捷键时 PDA 会打开。如果这让您感到不便,可以在 settings.ini 中设置:

GamepadShortcuts=false

并坚持使用键盘快捷键。

控制台命令 (~)

  • ZoneRadio_Toggle - 电源开/关
  • ZoneRadio_Play / ZoneRadio_Stop - 开始或停止播放
  • ZoneRadio_NextStation / ZoneRadio_PrevStation - 切换电台
  • ZoneRadio_NextTrack / ZoneRadio_PrevTrack - 跳过曲目
  • ZoneRadio_SetVolume 0.7 - 设置音量(0.0 至 1.0)
  • ZoneRadio_Filter - 切换胸挂过滤器
  • ZoneRadio_Shuffle - 打开/关闭随机播放
  • ZoneRadio_Rescan - 无需重启即可重新扫描 Music 文件夹以获取新曲目
  • ZoneRadio_Toast - 立即显示屏幕显示(用于测试其是否正常工作的好方法)
  • ZoneRadio_ToastPersistent - 电台播放时始终显示音乐播放器
  • ZoneRadio_ToastCorner BottomRight|TopRight - 将显示移动到顶部或底部角落
  • ZoneRadio_ToastSeconds 4 - 显示在屏幕上停留的秒数
  • ZoneRadio_ToastEnable off - 完全关闭显示
  • ZoneRadio_Gamepad off - 关闭手柄快捷键

设置

ZoneRadio 会自动将您的设置保存到: Stalker2/Binaries/Win64/ue4ss/Mods/ZoneRadio/settings.ini

您可以在游戏关闭时编辑此文件:

  • Volume: 0.0 至 1.0
  • Filter: true/false(胸挂扬声器音效)
  • StationIndex: 启动时恢复的电台编号
  • Shuffle: true/false(启动时随机播放曲目)
  • ToastEnabled: true/false(显示屏幕读数)
  • ToastCorner: TopRight 或 BottomRight
  • ToastSeconds: 读数显示的持续时间(1 到 30 秒)
  • ToastPersistent: true/false(音乐播放时保持读数在屏幕上)
  • GamepadShortcuts: true/false(启用或禁用 Select + 十字键组合)

添加您自己的音乐与自定义电台

您不需要任何模组工具、音效库编译器或 PAK 解包器。

1. 创建一个电台文件夹 前往:Stalker2/Binaries/Win64/ue4ss/Mods/ZoneRadio/Music/ 创建一个新文件夹。使用如 06 或更高的数字前缀(01 至 04 为内置电台,05 为 New Vegas 保留):

  • 06_Chernobyl_Wave -> 游戏内显示为 Chernobyl Wave
  • 07_Guitar_Tracks -> 游戏内显示为 Guitar Tracks

2. 放入您的音频文件 支持格式:

  • .ogg (性能和内存使用最佳)
  • .mp3
  • .flac
  • .wav

文件名会在 HUD 上自动清理: 01. Kino - Gruppa Krovi.mp3 -> 显示为 Kino - Gruppa Krovi

3. 在游戏内刷新 要么重启游戏,要么打开控制台 (~) 并运行:

ZoneRadio_Rescan

需求

  1. S.T.A.L.K.E.R. 2: 切尔诺贝利之心
  2. UE4SS (v3.0.1 standard x64)
  3. STALKER2 UE4SS Update 2.0 Compatibility Fix (在 Nexus 上)
  4. 如果您想输入控制台命令,需要一个控制台启用模组(如 ConsoleEnablerMod)

致谢

ZunaSW 及其 PDA Radio Mod 提供的灵感 David Reid 的 miniaudio(音频流后端) Sean Barrett 的 stb_vorbis(Ogg Vorbis 解码) UE4SS Team(虚幻引擎 Lua 框架) GSC Game World(S.T.A.L.K.E.R. 2)