
自定义业余无线电播放器模组
CustomHamRadioPlayer模组通过添加一个半功能完整的业余无线电系统来增强《七日杀》的游戏体验,该系统允许玩家在游戏中播放自定义音乐曲目,并支持两种选项:放置无线电以实现(基于距离的音频)
查看大图CustomHamRadioPlayer 模组为《七日杀》添加了一套功能相对完整的业余无线电系统。你可以在游戏中播放自定义音乐曲目,支持两种播放方式:放置一个无线电方块(基于距离的音频)或随身携带一个库存中的无线电(非空间音频),让你在移动中也能听音乐。
模组集成了交互式环形菜单、控制台命令和强大的音乐管理系统,所有功能都与游戏环境无缝衔接。
主要特点:
无线电通讯方块:
- 玩家可以在世界中放置一个“radioHam”方块,它作为一个音乐源,具有基于距离的音频效果(音量随距离减小,可通过 minDistance=2m 和 maxDistance=30m 配置)。它不仅仅是一个装饰性方块。
- 该方块支持一个径向菜单(通过长按 E 键访问),选项包括:切换收音机、播放/暂停、下一曲、上一曲、随机播放曲目,以及拾取(拿起收音机)。
库存无线电功能:
- 如果玩家切换放置的无线电方块并在径向菜单中播放曲目,同时背包中有火腿无线电物品,我假设他们可以在背包中用切换键来开关它,但理论上应该播放跟随他们的音乐(非空间化音频,spatialBlend=0)。
- 确保放置和库存收音机之间通过淡入淡出时长实现无缝过渡。
音乐播放:
- 从以下位置加载自定义音轨(MP3、WAV、OGG、M4A):
C:\Program Files (x86)\Steam\steamapps\common\7 Days To Die\Mods\CustomHamRadioPlayer\Resources\HamRadioTracks文件夹或自定义文件夹,请确保在自定义目录中使用双斜杠。 - 最多支持 50 条轨道(可配置),并采用缓存优化加载。
- 功能包括播放、暂停、下一首/上一首曲目、随机播放和重新扫描曲目,均可通过径向菜单或控制台命令访问。
- 从以下位置加载自定义音轨(MP3、WAV、OGG、M4A):
控制台命令: 通过 F1 键进入控制台,您可以输入以下命令进行媒体播放。
hplay: 开始或恢复播放。hnext: 跳至下一曲目。hprevious: 转到上一首曲目。hpause: 暂停或恢复音乐。hstop: 停止音乐并关闭收音机。hshuffle: 随机播放曲目列表。hrescan: 从文件夹重新加载曲目。
近距离语音:
- 对于已放置的收音机,音频会进行空间化处理(spatialBlend=1),音量大小根据与收音机的距离进行线性衰减(线性滚降)。
- 如果
config.json中启用了该选项,则遵循游戏的音乐音量滑块设置。
半世界持久性:
- 音乐状态会在重新加入世界或游戏清理时重置,以防止退出游戏前未关闭的电台音乐在重新进入时意外播放,但如果重新加入游戏时电台仍处于开启状态则另当别论。
- 跟踪暂停位置,并在切换或更换电台时正确恢复播放。
配置:
- 可通过
config.json配置:{ "hamRadioTracks": "Resources/HamRadioTracks", "音量": 1.0, "尊重音乐滑块": true, "最大业余无线电轨道数": 200, "调试日志记录": true, "最大距离": 30.0, "最小距离": 2.0 } - 允许自定义轨道文件夹、音量、距离设置和调试日志记录。
- 可通过
视觉提示与反馈:
- 显示游戏内操作提示(例如,“正在播放曲目 1/4”,“无可用曲目”)。
- 启用详细调试日志以辅助故障排除。
技术细节:
- 代码库: 使用 C# 编写,结合 Unity 引擎和 Harmony 库来实现游戏功能的补丁修改。
- 使用 Harmony 修补
Block.GetBlockActivationCommands以支持径向菜单选项。 - 修补
Block.OnBlockActivated以处理收音机交互。 - 修补了
GameManager.PlayerSpawnedInWorld和GameManager.Cleanup以重置无线电状态。
部署
已知问题:
- 在游戏中加载带有 MP3 的模组时,建议将 MP3 转换为 16 位 PCM WAV 格式(44100Hz,立体声)以避免 Unity 播放问题。这是一个不错的细节警告信息,但并非必要。目前暂时忽略该消息。
- 按下 R 键时,即使物品栏中有无线电,也会显示未找到已放置的无线电或物品栏中的无线电。R 键的功能现已切换为等于键,用于开关无线电。而之前用于切换键(如 S 键或其他你可能会找到的切换键)的旧代码也会导致曲目切换、改变或播放下一首,需要修复这个问题。
- 如果通过等号键按钮禁用无线电模块,它将显示一个提示,表示音乐已停止并被禁用,但为了重新启用该模组,你可以使用控制台并输入
htoggle来重新启用模组及其功能,否则如果不这样做,收音机只会让你拾取物品。 - 如果配置设置为循环播放曲目或循环功能处于活动状态,它只会循环播放同一首单曲,而不是循环播放已检测到的歌曲播放列表,不仅如此,在播放结束后也不会自动切换到下一首。
- 如果通过配置调整音量,目前也不会动态更新,暂时应使用音乐滑块进行调整。
- 至于最后一个但并非最不重要的问题,我解决播放的方式是放置方块或从商人那里拿一个并放在其他地方,我使用 E 键切换径向菜单并使用播放按钮或下一个按钮播放曲目,然后我再次使用 E 键打开径向菜单,接着拿起收音机以便听到音乐播放,仍然相当整洁!但本身存在非工作接近音频的 bug,不过如果在物品栏中似乎可以正常工作。
免责声明:
使用此模组即表示您承认 TechFreq 不对因使用该模组而导致的任何问题、崩溃或冲突负责。 使用风险自负。在安装任何类型的模组前,请备份您的游戏文件。 感谢您的下载,祝您游戏愉快!
安装:
- 确保 harmony mod 存在于 mod 目录中,因为这是必需的。
- 下载模组文件,解压模组文件。
- 请备份您的世界、存档或游戏文件。
- 将它们放入你的《七日杀》游戏 Mods 目录中。
- EAC 必须被禁用,尽管我希望未来这一点能有所改变,目前 DLLS 不受 EAC 支持,但 XML 没有问题,遗憾的是这是对 dll 的修改。
- 这仅适用于客户端,但也许这也适用于服务器端和客户端兼容性?
- 无需进一步设置。尽情享受吧!
鸣谢:
感谢 TechFreq 和人工智能(包括 ChatGPT、微软 CoPilot AI、Twitter/X 的 Grok AI)帮助我创建这个 modlet。作为一个游戏模组制作新手,边学边做,没有它们的协助我根本无法完成这项工作。同时也感谢整个模组社区的集体智慧支持。 我非常感激,并且也非常欢迎对 mod 的任何反馈。
支持公告:
对于那些想支持"TechFreqs"工作的人,这个模组可能会也可能不会被交叉发布。通过 7daystodiemods 网站经由 ModsFire 下载(广告驱动,每次下载都能获得收益),如果发布在那里或其他示例模组网站上,将对我有很大帮助,然而!(尽管每次下载仅需 10 美分)此外,还有一个直接镜像站点可供使用 NexusMods 网站替代,该镜像也提供直接链接,但这些链接并非按点击或下载次数计费,而是通过不同的系统运行,依赖于捐赠点数。
除了下载模组、与朋友分享模组、留下反馈以及为模组点赞外,支持 TechFreq 的最佳方式就是这些了。但如果你愿意更进一步(尽管并非必要),也可以通过 PayPal 或 Ko-fi 页面使用捐赠链接,这同样会带来很大帮助! 然而,并不强求捐赠,但每一份支持都将助力前行,为未来的模组、音乐和漏洞修复注入动力。因此,再次感谢您的阅读、您的出色表现以及查看模组帖子的举动。
社交媒体:
如果你欣赏'TechFreqs'的作品并想表示支持,可以使用这个捐赠链接,尽管这不是必须的。 Kofi 页面:https://ko-fi.com/techfreq 感谢大家浏览模组帖子、分享并享受其中的乐趣。再次感谢!祝游戏愉快!
喜欢这个模组吗?有反馈、想法或需要故障排除? 加入 TechFreq 超酷小队 Discord 服务器!https://discord.com/invite/SQCnGjNUhw 快来 Discord 和我们一起畅聊游戏、分享趣图,还能获取更多模组更新! 至于 TechFreqs 音乐,它是免版税音乐,可用于您的项目或休闲聆听! 源音乐文件可随意索取,欢迎在 Discord 上询问!或获取更多内容! TechFreqs 社交平台:https://beacons.ai/techfreq 看看今天幕后的氛围吧!再次感谢大家查看模组帖子。
最新更新日志:
3.5
- 将轨道限制更改为 200 条,注意加载轨道时的性能负担
- 移除了来自其他模组的按键切换行,以避免游戏内重叠
- 修复了模组日志的和谐行
- TBA,与之前相同的问题,涉及径向菜单图标、文本以及无邻近音频
之前版本的变更日志:
3.4
正在加载版本记录…





正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。