
起源玩笑恢复
恢复起源角色作为主角时的队友闲聊。
查看大图为起源角色恢复队伍闲聊
当起源角色被用作玩家化身时,《博德之门 3》通常会阻止他们参与作为同伴时本可参与的大量环境队伍闲聊。此模组允许全部六位起源角色重新参与他们正常的旅行队伍对话。
OBR 尽可能减少对原版系统的干扰,因为它的设计目标是轻量且增量式。它不会覆盖游戏的八卦脚本或闲聊对话资源。因此,它应当与大多数模组兼容,包括增加队伍规模的模组。
以下是为感兴趣者提供的技术说明:
[spoiler][color=#76a5af]从技术上讲,OBR 是作为 BG3 现有世界八卦系统的后备机制运行,而非替换它。
原版始终拥有优先机会来选择和启动 PartyBanter。如果其内部的“FindGossipWorld”选择器未返回任何结果,OBR 会扫描游戏的 PartyBanter 资源,解析其说话者,检查这些说话者是否在活动队伍中,以及他们的原版条件标志是否满足,然后从最高优先级的合格对话中进行选择。被选中的对话会被交回游戏正常的世界八卦生命周期进行播放。
在此之前,OBR 会检查游戏实时的“DB_DialogPlayers”状态,如果已有队伍成员正在参与对话,则放弃后备机制,从而帮助防止恢复的对话与原版对话重叠。
OBR 必须自行复现的主要行为之一是选择历史记录。由于引擎通常会在内部处理八卦选择,通过 OBR 后备机制启动的对话不一定会在后续后备选择中以同样的方式被排除。因此,OBR 会为每个存档保留一份小型记录,记录其成功恢复的对话 UUID,并在后续搜索中排除它们。 此记录会在保存和加载过程中持续存在,且仅包含由 OBR 启动的对话;由游戏正常选择的闲聊仍然完全由原版记录管理。[/color][/spoiler]
话虽如此,OBR 严重依赖脚本来绕过通常由游戏内部处理的行为。虽然我已进行了大量测试,但仍有无数游戏状态、队伍配置和其他模组的组合是我无法独自覆盖的,因此错误或意外交互仍有可能发生。如果你遇到问题,Script Extender 控制台日志在报告时特别有帮助。
此模组可在现有存档上运行,不过你最初可能会听到一堆你角色之前无法参与的旧闲聊。
需要 Baldur's Gate 3 Script Extender。
[color=#6d9eeb]安装[/color] [color=#e4e4e7]将压缩包导入你所选的模组管理器(我推荐 MO2)。[/color]
[color=#dd7e6b]已知问题[/color]
- BG3 的闲聊系统涉及多个重叠的对话和选择系统。OBR 包含保护措施以防止恢复的对话在现有对话之上启动,但极罕见的重叠仍有可能发生。
- 测试期间观察到的一个问题是,当闲聊被触发时,偶尔会出现长时间暂停或游戏疑似卡死。在一个队伍规模扩大的第三章重度存档中,游戏曾无响应约 13 秒,然后才恢复正常。我未能可靠地复现此问题或确认此模组本身是原因,但我在这里记录下来,以防其他用户遇到类似行为。
[color=#c27ba0]关于 AI 使用的说明[/color] 我想完全透明地说明,AI 在此模组的创建过程中被大量使用,并且这是它存在的主要原因。这是我第一次真正将 AI 作为模组制作过程的一部分来使用,我决定用它来处理一个自游戏发布以来我就一直想要的东西:恢复起源闲聊。 逆向工程 BG3 的闲聊系统并编写必要的 Script Extender 代码,超出了我独自能够现实完成的范围。AI 被广泛用于分析游戏的脚本和资源、开发和修改代码、解读诊断日志,以及解决我们沿途遇到的问题。我提供了想法、方向和大量游戏内测试,而 AI 提供了使其成为可能的许多技术知识和实现。没有它,我根本无法制作此模组。 如果你对此感到担忧,请不要安装此模组。
还没有人评论,去客户端里说两句吧。
评论在新手盒子客户端中发表,这里同步展示。