模组设置

模组设置

这个依赖模组使模组开发者能够在主菜单的游戏设置中为他们的模组添加配置和设置

实用工具

Mods 设置

这个依赖模组使模组制作者能够在主菜单的游戏设置中一处添加和设置他们模组的选项。 该模组为其他模组所需,用于让玩家更新其设置。

打开模组选项

主菜单 > 设置 > 模组选项(标签页)

当前功能

  • 在主菜单和ESC菜单选项界面中均添加"模组设置"标签页
  • 添加切换设置输入(复选框)
  • 添加数值设置输入(滑块)
  • 添加选择设置输入(下拉菜单)
  • 将同一模组的设置项分组在同一区域

未来功能

  • 实现设置排序(当前不可用)
  • 更详细的文档
  • 自动保存设置至json文件
  • 添加键位绑定设置输入(选择按键)
  • 添加文本设置输入(文本框)
  • 添加动作按钮以执行其他操作(例如打开弹窗)
  • 本地化
  • 允许玩家在设置内搜索
  • 允许玩家折叠/展开模组设置区域
  • 显示更多模组相关信息

兼容性

它应该与所有其他模组兼容,除了那些在屏幕上使用相同UI元素位置的模组,而且它兼容新旧存档游戏。

它正在运行与:

  • 补丁 1.0.10
  • 补丁 1.0.09

在此之前我不知道,你自己试试看。

它仍然无法与 e1.1.0 测试版兼容(我正在尽快修复这个问题)

安装

使用Vortex,并在启动器的模组选项卡中启用该模组。 手动安装可以通过将文件解压到您的骑马与砍杀 Modules目录,并在启动器的模组选项卡中启用该模组来完成。 如果游戏无法加载模组,请找到文件"MBTargetEnemyStatus.dll",右键点击 -> 属性 -> 点击解除锁定。该文件位于骑砍的安装目录下,路径为"Modules\MBModsSettings\bin\Win64_Shipping_Client\MBModsSettings.dll"

请随时提出您的建议或遇到的任何错误。

为模组制作者

要为你的模组添加配置:

向您的主类(SubmoduleClassType)添加以下两个静态方法,该类继承自 MBSubModuleBase:

public static Dictionary<string, string> GetModSettingValue()
{
    // 从任意位置获取设置并写入为字典
    // 当玩家打开设置屏幕以获取您的设置值时,将调用此方法
}

public static void SaveModSettingValue(Dictionary<string, string> newSettings)
{
    // 将保存设置写入任意位置
    // 当玩家在设置界面点击完成按钮时,将调用此方法
}

注意:请保持与上述相同的方法签名。

你的代码文件应该是这样的:

在你的mod的SubModule.xml文件中添加标签 <ModSettings>,位于 <Module> 标签内。

在此标签内你可以定义你的mod将拥有的设置列表。

要定义一个开关设置,请在 <ModSettings> 标签内的 <ModToggleSettings> 标签中添加以下行:

<ModToggleSetting Key="EnableDebug" Order="2" Text="启用调试" Description="desc" DefaultValue="0"/>

要定义数值设置,请在 <ModSettings> 内的 <ModNumericSettings> 标签内添加以下行:

<ModNumericSetting Key="StatusDisplayTime" Order="3" Text="状态显示时间(刻)" Description="状态消失前的持续时间" DefaultValue="600" MaxValue="2000" MinValue="300"/>

要定义选择设置,请在 <ModSettings> 内的 <ModSelectSettings> 标签内添加以下行:

<ModSelectSetting Key="DebugLevel" Order="3" SelectList="Info,Warning,Error" Text="调试级别" Description="desc" DefaultValue="0"/>

你的xml文件应该像这样:

注意:您的模组不会依赖于这个模组,无论用户是否安装这个模组,您的模组都能正常工作。但您可能希望将此模组作为您模组的可选依赖项。

我的其他使用此模组的模组:

如果你想提供任何帮助,请留言,另外我写作水平不太好,所以需要一些编码和撰写文档方面的帮助,如果你想帮忙请联系我。