扩展对话菜单

扩展对话菜单

允许所有使用此功能的模组将它们的初始对话加入到一个可浏览的栏目中,因此技术上可以添加无限个模组,且每个NPC仅占用1个对话槽位。(也欢迎为你的模组添加此功能支持)

模组制作者资源

创建/测试于游戏版本:9.0



v0.2 修复了一个小错误,该错误导致当 ECM 表格中只注册了一个模组时,$params 无法传回调用模组——对此造成的不便深表歉意。



扩展对话菜单(Extended Conversation Menu)允许所有使用它的模组将各自的起始对话整合到一个可浏览的分区中,因此理论上只需占用任意 NPC 的一个对话槽位,即可添加无限数量的模组。



如果您正在使用需要或支持 ECM 的模组,请直接按照下方的安装说明操作。



我会逐步更新我的模组以添加 ECM 支持,目前仅有少数模组已受支持(详见下方列表)。但即使您正在使用我的更多模组,或其它作者决定采用此方案,提前安装也绝无坏处。:)



目前已受支持的模组:

VenturesRecycle Ships And StationsApologize for attackRelation HagglingSapphire ShipsSector Satellites



如果您有兴趣在自己的模组中使用此功能,更多详情如下:



这是一个实用的解决方案,能以非常简单的方式将模组整合到一个组合菜单中:

1. 对话启动

2. 所有模组检查其默认对话的条件,如果条件满足,则向 ECM 的对话表格注册一个包含提示路径的表单项,而不是直接添加 <player_conversation_choice_sub/>(该操作稍后处理)。

3. ECM(扩展对话菜单)随后检查模组是否已在表格中注册。如果是,则显示组合的 ECM 菜单。如果仅有一个模组注册,则直接调用该模组的对话选项,以避免多余的嵌套。如果没有模组注册,则不显示 ECM 选项。

4. 然后 ECM 构建一个可浏览的分区,并让所有模组通过调用各自表格项中预先提供的提示来添加自己的对话选项。

5. 用户选择一个条目(该条目此前通过调用您模组自身的提示添加),此时分区控制权回到您的模组中,由您的模组按正常流程继续执行。



模组文件包含 extendedconversationmenu.xml 以及 [color=#ff7700]一个测试模组作为示例[/color],其中详细描述了其工作原理。

如有问题、改进建议或其他反馈,请留言。感谢!



安装:

下载文件,解压 extendedconversationmenu 文件夹,并将其移动至您的 extensions 文件夹。

如果您还没有该文件夹,只需在 X4 的根目录下创建即可。以 Steam 用户为例,路径为:Steam\steamapps\common\X4 Foundations\extensions



卸载:

直接删除该文件夹即可,不会影响当前存档。