
社区界面增强与修复
用于原版风格GUI的增强与修复包
查看大图[img]https://i.imgur.com/iQvjr7q.png[/img]
本模组是一种不同类型的 UI 重构,注重功能而非形式。其目标是为《巫师 3:重制版》的原版风格 GUI 带来多项功能与增强,并恢复 CDPR 删减的若干功能。我最初对这个模组的构想是让它成为 GUI 增强与功能的一站式解决方案,同时内置与各种其他 GUI 模组的兼容性,以避免《巫师 3》中 GUI 模组那种兼容性补丁地狱。这就是我在标题中加入“Community”一词的原因。随着《巫师 3:重制版》发布以来 AI 生成 GUI 模组的爆发式增长,我实现这一目标的方式有所改变,具体细节我稍后会说明。
我研究这个模组已经大约一年半了,专为《巫师 3:重制版》开发,因为我是 CDPR 在 2025 年招募的模组作者测试团队的一员。目前,该模组包含对任务菜单(日志)、怪物图鉴菜单、角色菜单的重大增强,并恢复了我之前作为独立模组发布的事件(故事书)菜单。此外,我还为 HUD 模块加入了增强和恢复,从日志更新模块开始。本模组使用 REDkit 发布时提供给模组作者的原始 flash 源文件开发,而非依赖旧的 JPEXS 反编译方法。
[img]https://i.imgur.com/a0wB1C9.png[/img]
该模组为以下面板包含新功能、恢复内容、增强和错误修复。
此处列出的所有选项都可以在模组菜单中开启和关闭,除非另有说明。模组菜单使用 sharedutils,当你将光标悬停在选项上时会提供关于每个选项作用的详细说明。[b]所有内容默认关闭。[/b]在报告错误或开启你不喜欢的内容之前,请仔细阅读这些说明。
请注意,本模组包含的所有面板现在都以 60fps 运行,使其与 Smooth GUI 完全兼容。请注意,动画未按比例缩放,因此某些动画可能比原版播放得更快。
[b]日志:[/b]
[spoiler]
[b][color=#00ff00]任务取消追踪[/color][/b]
任务现在可以取消追踪。双击或按 Space/A 追踪的任务,或双击其某个目标,任务及其目标都将取消追踪。由于引擎在每个 tick 都会搜索要追踪的新任务,这通过在底层追踪一个从不在 GUI 中显示的隐藏虚拟任务来实现。这是我之前“Quest Untracking”模组的增强版本,因此请务必卸载那个模组。
[b][color=#00ff00]日志筛选[/color][/b]
基于与制作和炼金菜单相同界面的原生任务筛选器。按难度(致命、高、普通、低)、按位置(当前区域内、当前区域外)以及按状态(新、旧)筛选。筛选器是非排他性的,因此你可以根据自己的游玩风格任意组合。筛选设置会保存到你的存档文件,任务列表上方会显示一个指示器,显示哪些筛选器处于激活状态。
[b][color=#00ff00]日志排序[/color][/b]
原生任务排序,可按新、名称、等级(升序)、等级(降序)、区域和类型排序。启用任意排序选项组合,它们将按列出的顺序应用。名称排序默认激活,并有一个指示器显示当前激活的排序条件。
[b][color=#00ff00]未读指示器[/color][/b]
恢复了你尚未阅读的任务条目上被删减的“新”图标(就像怪物图鉴、角色和其他页面那样)。这也扩展到了下拉类别和目标项。选择新任务、目标和下拉类别如何标记为新:词汇表面板中使用的 2016 风格星形图标、2014 风格反馈图标、文本高亮,或关闭。还集成了未读任务描述高亮,并且如果任务有你尚未阅读的更新描述,默认会重新将该任务标记为新。[b]注意[/b]:要清除任务描述的未读高亮,你需要滚动离开该任务并重新加载面板。这是 CDPR 对该面板代码设计的限制,我正在尝试寻找更好的解决方法。
[b][color=#00ff00]独立的资料片任务类别[/color][/b]
可选开关,将《石之心》和《血与酒》任务放入各自的类别,正如 CDPR 2016 年 UI 更新计划中最初设想的那样。每个资料片都有自己的颜色:《石之心》为浅蓝色,《血与酒》为深红色。这些类别会自动放置在活动任务列表的底部。任务保留其原始任务类型,因此你仍然可以在每个资料片类别内按类型排序。
[b][color=#00ff00]任务奖励面板[/color][/b]
恢复了任务奖励面板,该功能在开发的大部分时间里都是日志菜单的一项功能,但在发布前被删减。由于屏幕空间有限,奖励通过一个切换按钮显示,仅当所选任务有奖励时可用。此功能被删减是因为它利用了游戏内置的奖励系统,该系统会追踪你为每个任务获得的奖励。一些 CDPR 任务设计师没有使用奖励系统向玩家发放奖励,因此并非每个任务都能在任务奖励面板中查看奖励。
[b][color=#00ff00]任务图例[/color][/b]
恢复了被删减的任务图例,它解释了屏幕上许多图标的含义。启用图例时,任务描述会缩短以腾出空间。这主要是一个美观功能。
[b][color=#00ff00]初始选择[/color][/b]
选择打开日志时是选中当前追踪的任务,还是什么都不选且所有下拉菜单保持关闭。
[b][color=#00ff00]新任务类型(面向模组作者)[/color][/b]
添加对次要任务类型(questType 5)的支持,带有新的蓝色横幅(用于“并肩作战”和事件)。资料片颜色也可作为独立任务类型使用:《石之心》浅蓝色(questType 6)和《血与酒》深红色(questType 7)。与上面的资料片类别不同,这些不保留类型。自定义任务类型还有四种新颜色可用:紫色(questType 8)、洋红色(questType 9)、深绿色(questType 10)和黄色(questType 11)。
[b][color=#00ff00]通用改进[/color][/b]
还修复了日志面板中听不到滚动点击音效的问题。[/spoiler]
[b]怪物图鉴:[/b]
[spoiler]
[b][color=#00ff00]实时怪物图鉴[/color][/b]
恢复了实时怪物预览,在查看怪物图鉴条目时会向你展示实时动画的怪物模型,而非静态图像。这是 CDPR 被删减的功能,此特定实现基于一个同名的旧模组,但进行了重大修复和改进。请注意,此功能应完全可用,但有一些因引擎限制而无法打磨的外观瑕疵。这些包括怪物有时不发声、偶尔的镜头抖动,以及关闭面板时某些效果短暂残留。
[b][color=#00ff00]Boss 类别[/color][/b]
Boss 和具名怪物(主要是委托怪物)现在拥有独立于其通用类型的下拉类别。
[b][color=#00ff00]未读指示器[/color][/b]
与日志相同的未读指示器选项,适用于条目和类别以及未读文本高亮。怪物图鉴确实有标准的 2016 风格未读标记,但在此扩展以涵盖为日志提供的所有新的未读标记自定义选项。
[b][color=#00ff00]类别和选择选项[/color][/b]
选择面板加载时是无、第一个还是所有类别展开,是否记住已展开的类别,以及重新打开面板时是否选中你上次选择的条目。后两个选项会覆盖第一个。
[b][color=#00ff00]排序[/color][/b]
新条目置于顶部,随后按字母顺序排序。[/spoiler]
[b]角色:[/b]
[spoiler]
[b][color=#00ff00]恢复的类别[/color][/b]
在最终发布版中,CDPR 将角色页面设为简单的滚动列表,没有下拉菜单或分类,这使得导航更加困难,并且与词汇表面板的其余部分非常不同。在开发的大部分时间里,最初的意图是让它像其他面板一样成为下拉列表,但在最后一刻改变词汇表工作方式的努力中被更改,而这一改变从未实现。此模组恢复了下拉列表以及主要角色和次要角色之间的分类,角色条目在内部一直是这样分类的。安装模组后此功能永久开启,无法像其他功能一样切换。
[b][color=#00ff00]未读指示器[/color][/b]
与日志相同的未读标记选项,包括文本高亮。角色面板确实有标准的 2016 风格未读标记,但在此扩展以涵盖为日志提供的所有新的未读标记自定义选项。
[b][color=#00ff00]类别和选择选项[/color][/b]
选择面板加载时是无、第一个还是所有类别展开,是否记住已展开的类别,以及重新打开面板时是否选中你上次选择的条目。后两个选项会覆盖第一个。
[b][color=#00ff00]排序[/color][/b]
保持新条目在顶部的默认排序,随后按字母顺序排序。[/spoiler]
[b]故事书:[/b]
[spoiler][b][color=#00ff00]恢复的故事书面板[/color][/b]
完全恢复被删减的事件(故事书)面板,更新为 2016 UI 风格并整合到重制版词汇表框架中。视频现在可以正确显示,支持原生跳过、字幕,以及视频启动时音乐淡入淡出。单击条目查看其描述,双击播放其视频。这是我为此独立模组略微增强的实现。
[b][color=#00ff00]自动播放[/color][/b]
新的自动播放功能,由 Relapse 提供。在你正在观看的视频结束后立即自动播放列表中的下一个视频(如果已解锁),并显示标题的文本弹窗。
[b][color=#00ff00]回顾抑制[/color][/b]
可选在快速旅行时跳过加载屏幕上的回顾视频。要完全抑制加载屏幕回顾,你需要安装可选文件。[/spoiler]
[b]书籍:[/b]
[spoiler][b][color=#00ff00]书籍排序[/color]
[/b] 原生任务排序,可按新、名称和任务关联(CDPR 晦涩的原版排序机制)排序。启用任意排序选项组合,它们将按列出的顺序应用。新和任务关联排序默认激活,并有一个指示器显示当前激活的排序条件。[/spoiler]
[b]HUD 更新:[/b]
[spoiler]
[b][color=#00ff00]日志更新通知[/color][/b]
恢复了被删减的功能,让你可以直接从日志更新通知跳转到相关面板,并自动选中你想要跳转的条目。目前支持任务、怪物图鉴和角色,未来计划支持更多。注意:对于键盘用户,此功能的默认键位是 Escape,这意味着在通知显示期间暂停菜单将被抑制。如果这让你困扰,你可以在按键绑定菜单中重新绑定按键,暂停菜单将不再被抑制。
[b][color=#00ff00]恢复经典任务弹窗通知[/color]
[/b]在重制版中,CDPR 重新设计了新/更新/完成任务弹窗通知,将任何同时发生的怪物图鉴、角色和词汇表更新堆叠在其下方。将此选项设为“经典”将恢复原始的逐项显示每次更新的任务通知风格。
[b][color=#00ff00]自定义更新音效 [/color][/b]
添加了为以下类型 HUD 更新选择替代音效的能力:日志(即怪物图鉴 + 角色)更新、任务更新、新任务、任务完成、任务失败、新制作图纸、新炼金图纸、升级、新地图标记、新任务奖励物品、获得经验值。每种更新所选音效可以从四种可能的替代音效中选取,或仅使用该类型更新的原版音效。这四种替代音效被特意选择为安静且不那么烦人的替代方案,适合那些被原版音效困扰的人。[/spoiler]
[b]音效:[/b]
[spoiler][b][color=#00ff00]恢复的音效[/color]
[/b]添加了 3 个被删减的通知音效,包括低生命警告、高毒性警告和超重警告。每个音效都可以从菜单中开启/关闭。生命和毒性警告被设置为在游戏内部低生命和高毒性状态效果施加时播放(改变这些状态效果何时施加留给其他玩法模组;本模组仅控制音效是否播放)[/spoiler]
[b]HUD 小地图模块:[/b]
[spoiler][b][color=#00ff00]强化怪物追踪器[/color]
[/b]
[left]恢复了一个被删减的小地图模块,位于天气指示器下方,告诉玩家当前因天气、一天中的时间和月相而受到强化的怪物。这还包括对底层玩法系统的一些修复,该系统实际上会在正确的时间对适当的怪物施加强化。这个底层系统其实一直存在于游戏中,但极度损坏。此实现包含与 [url=https://www.nexusmods.com/witcher3/mods/14340]Restored Content - Buffed Monster[/url] 相同的所有功能。追踪器模块本身可以从菜单中开启/关闭[/left]
[left][/left]
[left][b][color=#00ff00]恢复的满月图标[/color][/b][/left]
[left]每当满月时,将满月图标恢复到天气/时间指示器上。[/left]
[left][/left]
[left][b][color=#00ff00]恢复的 24 小时制时钟[/color][/b][/left]
[left]以 24 小时制而非 12 小时制显示当前时间。可以在菜单中开启/关闭。[/left]
[left][/left]
[left][b][color=#00ff00]恢复开启/关闭天气/时间指示器的能力[/color][/b][/left]
[left]添加了开启/关闭小地图旁天气/时间指示器的能力。[/left]
[/spoiler]
[img]https://i.imgur.com/oYuxwRK.png[/img]
我大约一年半前开始制作这个模组,将我过去 5 年学到的关于《巫师 3》模组制作、RedEngine 3 和 Scaleform GfX 的一切都投入到制作我能做的最好的 GUI 模组中。我知道在过去 11 年里,《巫师 3》的 GUI 模组一直是一场噩梦,因为《巫师 3》的 GUI 基于一个名为 ScaleformGfx 的中间件,它本质上就是 Adobe Flash。Scaleform 在 2000 年代和 2010 年代前半期主导了游戏行业,但已不再用于现代游戏(例如《赛博朋克 2077》不使用 Scaleform,这就是为什么它有那么多非常好的 GUI 模组)。长话短说,每个菜单都是一个 flash 文件,这意味着它的脚本和图形被预编译成难以即时合并的格式。因此,GUI 模组需要由经验丰富且才华横溢的模组作者组成的大团队来制作(如 Vlad UI),因为他们必须直接处理诸如 p-code(基本上就是 flash 汇编)之类的东西。当 RedKit 在 2024 年发布时,CDPR 给了我们 GUI 的原始 flash 源文件,这意味着我们可以使用开发团队使用的原始 Adobe 软件,使 GUI 模组制作变得更容易、更快速。
flash 源文件的发布启发了我制作这个模组。过去有许多 GUI 模组都引入了小的调整或增强。此外,一些非 GUI 模组经常附带一个 GUI 面板,其中包含原版 GUI 模组缺少的关键组件。其中一些包括为化妆品启用拖放染色,或像我的黄色突变诱发物横幅附加组件那样填充缺失的图形。基本上,如果 CDPR 没有在 GUI 中放入你的模组需要的那一件小东西,那么你基本上必须自己添加它并发布整个面板,这使你的模组与大量其他模组不兼容。我计划将这个模组做成类似社区补丁的东西,包含大量生活质量修复和可通过菜单切换的恢复功能,同时发布其他模组所依赖的小东西,希望能终结 GUI 模组制作的兼容性补丁地狱。当时的想法是它是开源的,人们可以提交修复/功能/与其模组的兼容性,然后将其作为依赖项(感谢 Relapse 提交了自动播放功能,让社区精神得以延续!)。
不幸的是,这个最初的愿景不太可能实现。如前所述,自《巫师 3:重制版》发布以来,《巫师 3》出现了大量新的 AI 生成 UI 模组。我无法跟上所有这些模组,也没有精力与每个人交谈、浏览大量 AI 生成的代码、确保其正常工作、检查是否与其他人的代码冲突,并将所有内容与供用户决定开启哪些内容的切换项合并在一起。
如果你有一个《巫师 3》的 GUI 模组,确实在技术层面上理解它的工作原理,并且想与本模组建立兼容性,请随时联系我,我很乐意与你合作。但是,如果你用 AI 生成了一个模组,对它在技术层面如何工作一无所知,只想让我来完成整合兼容性的工作,那我不感兴趣。我对任何 AI 生成的兼容性“补丁”也不感兴趣(只要你在技术层面理解发生了什么,我不反对 AI 辅助)。
[img]https://i.imgur.com/DTf1msU.png[/img]
此模组包含多个文件,请仔细遵循说明。
1. 按照安装说明安装 [url=https://www.nexusmods.com/witcher3/mods/12997]Shared Utils[/url]。
2. 将 modcgui 文件夹放入你的 [i]The Witcher 3\mods[/i] 文件夹。如果该文件夹不存在,请创建它。
3. 将 dlccgui 文件夹放入你的 [i]The Witcher 3\dlc[/i] 文件夹(不要放入 [i]dlc-tombstones[/i])。如果该文件夹不存在,请创建它。
4. 将 cgui.xml 和 input.xml 放入你的 [i]The Witcher 3\bin\config\r4game\user_config_matrix\pc[/i] 文件夹。你需要替换原始的 input.xml,因此请先备份它。
5. 在你的 [i]Documents\The Witcher 3[/i] 文件夹中找到 input.settings,并用文本编辑器打开。打开模组附带的 add_to_input.settings 文件,将此文件中的所有文本添加到你 input.settings 文件的末尾。
你必须正确安装模组菜单 xml(cgui.xml 和 input.xml),否则模组菜单和按键绑定选项将无法工作。你必须将 add_to_input.settings 文件中的文本添加到 input.settings,否则新的热键将无法工作。
[img]https://i.imgur.com/hsVptBJ.png[/img]
[color=#ff7700][size=4]此模组仅适用于《巫师 3:重制版》(5.0+)![/size][/color]
[color=#ffff00][size=4]此模组[b]很可能不[/b]适用于自《重制版》发布以来涌入 Nexus 的 AI 生成 GUI 模组。[/size][/color]
它与 Brothers In Arms: Ultimate Edition、The War Project 以及我大多数已为《重制版》更新的模组 100% 兼容。然而,最近的一些报告表明,你可能需要确保此模组的优先级高于 Brother In Arms 以确保完全兼容。该模组完全进行了脚本注解,因此应该无需合并,并与许多其他模组兼容。尽管不需要合并,你仍然需要在加载顺序中正确设置模组优先级。redswf 文件(flash 面板文件)必须在所有冲突中胜出,否则与被覆盖面板相关的任何功能都将无法工作。此外,此模组使用了 @replaceMethod 脚本注解 11 次。其中大多数是低流量函数,不太可能与其他模组冲突,但如果有冲突,我在下面提供了所有被替换函数的表格。如果任何模组也替换了其中一个函数,并且在加载顺序中高于此模组,那么此模组的某些功能将中断,或者会出现编译错误,游戏将无法启动。
此模组中的 @replaceMethod 列表
[code][table]
[tr][th]类[/th][th]函数[/th][/tr]
[tr][td]CR4GlossaryStorybookMenu[/td][td]OnCloseMenu()[/td][/tr]
[tr][td]CR4GlossaryStorybookMenu[/td][td]PopulateData()[/td][/tr]
[tr][td]CR4CommonMenu[/td][td]OnVideoStopped()[/td][/tr]
[tr][td]CR4JournalQuestMenu[/td][td]PopulateData()[/td][/tr]
[tr][td]CR4JournalQuestMenu[/td][td]UpdateItems(tag : name)[/td][/tr]
[tr][td]CR4JournalQuestMenu[/td][td]CreateRewards(rewards : array<name>) : CScriptedFlashArray[/td][/tr]
[tr][td]CR4ListBaseMenu[/td][td]HandleMenuLoaded()[/td][/tr]
[tr][td]CR4HudModuleJournalUpdate[/td][td]OpenQuestPanel()[/td][/tr]
[tr][td]CR4GlossaryBestiaryMenu[/td][td]PopulateData()[/td][/tr]
[tr][td]CR4GlossaryBestiaryMenu[/td][td]OnGuiSceneEntitySpawned(entity : CEntity)[/td][/tr]
[tr][td]CR4GlossaryBestiaryMenu[/td][td]UpdateImage(entryName : name)[/td][/tr]
[tr][td]CR4HudModuleMinimap2[/td][td]UpdateWeatherDisplay()[/td][/tr]
[tr][td]CR4HudModuleMinimap2[/td][td]HAXGetMonsterIconFromJournalName(jourName : name) : name[/td][/tr]
[tr][td]CR4HudModuleMinimap2[/td][td]HAXGetMonsterNameByIcon(icon : name) : string[/td][/tr]
[tr][td]CNewNPC[/td][td]WeatherBonusCheck(dt : float, id : int)[/td][/tr]
[/table][/code]
如果你安装此模组,请卸载我的以下模组,因为它们都是多余的:
- [url=https://www.nexusmods.com/witcher3/mods/9070]Quest Untracking[/url]
- [url=https://www.nexusmods.com/witcher3/mods/12673]Restored Content - Storybook[/url]
- [url=https://www.nexusmods.com/witcher3/mods/14340]Restored Content - Buffed Monster[/url]
此模组还包含以下模组的部分或全部功能:
- [url=https://www.nexusmods.com/witcher3/mods/12961]Unread Descriptions - Remastered Compatible[/url]
- 此模组中的每个面板都是 60fps,因此它应该与 Smooth GUI 一起工作,只需给此模组优先级。
- 此模组还使 Sort Everything 的日志、怪物图鉴、书籍和角色排序功能变得多余。给此模组高于 Sort Everything 的优先级,Sort Everything 中此模组未覆盖的部分应该仍然有效。
[img]https://i.imgur.com/1ADupvX.png[/img]
该模组已使用机器翻译翻译成游戏支持的所有 17 种语言。如果你想提供翻译,请联系我获取翻译工具包。[b]我不会接受任何零散的 w3strings 或 csv 文件。[/b]
[img]https://i.imgur.com/L0eeVHY.png[/img]
[url=https://next.nexusmods.com/profile/MerseyRockoff]MerseyRockoff[/url]
[url=https://www.nexusmods.com/profile/relapse12?gameId=952]Relapse [/url] - 故事书自动播放功能。
[url=https://next.nexusmods.com/profile/FreakVIp]FreakVIp[/url]
[url=https://www.nexusmods.com/witcher3/mods/11260]Brothers in Arms Team[/url]
War Project Team
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。