模组库

模组库

ModLib是一个依赖模组,为其他模组提供实用代码和设置菜单功能。

用户界面

ModLib 是一个面向模组开发者的资源模组,它提供了实用的代码和易于使用的模组设置菜单,供开发者接入使用。

1.3 版本

ModLib 从 1.3 版本开始对实现方式进行了重大调整。模组制作者们,请参阅 此 Wiki 页面 了解具体变更内容。

这些改动将减少模组对 ModLib 的依赖,意味着即使未安装 ModLib,模组也能运行。

Modders:你可以在 这里 找到 ModLib 的源代码。关于如何在你的 mod 中使用 ModLib 以及如何接入 mod 设置菜单的信息,请查看该 mod 的 Wiki

安装

ModLib 是一个其他模组所依赖的基础模组。如果您正在使用需要 ModLib 的模组(例如 Bannerlord Tweaks),请确保在模组列表中将 ModLib 排列在该模组之上。

解锁模组的 .dll 文件

Windows 会自动将网上下载的 .dll 文件标记为可疑并对其施加安全锁定。虽然这通常是好事,但会导致《骑马与砍杀 2》的模组加载系统出现问题。要解决此问题,请打开模块文件夹中的 ModLib 模组文件夹,然后导航至 bin -> Win64_Shipping_Client。右键点击 ModLib.dll 并选择"属性"。在弹出的窗口中,勾选常规选项卡底部的"解除锁定"复选框。对 0Harmony.dllModLib.Patches.dll 也执行相同操作。

使用 PowerShell 解锁所有文件(高级方法)

如果你习惯使用终端,可以使用 PowerShell 自动解锁 Bannerlord 目录中的所有文件。这不仅能修复本模组的文件,还能解决其他有问题的模组文件。请按照以下说明操作:

显示
  1. 在 Windows 开始菜单中,搜索 PowerShell。
  2. 右键点击它并选择"以管理员身份运行"。随后会出现一个蓝色窗口。
  3. 打开资源管理器窗口并导航至 Bannerlord 的 Modules 文件夹(这是您安装模组的位置)。
  4. 点击地址栏并按 Control + C 复制地址。
  5. 返回 PowerShell 窗口并输入:cd "
  6. 使用 Control + V 粘贴地址并输入右引号 "。 结果应类似于这样: cd "C:\Program Files (x86)\Steam\steamapps\common\Mount & Blade II Bannerlord\Modules" (您的位置可能不同,别忘了加引号!)
  7. 按回车键。
  8. 现在输入(或者更简单,复制这行内容并粘贴到 PowerShell 窗口中):dir -Recurse | Unblock-File
  9. 输入该行后,按回车键。
  10. PowerShell 窗口将运行几秒钟后完成。
    Modules 目录中的所有文件如果之前被阻止,现在都已解除阻止。

尝试以管理员模式运行游戏

导航至 C:\Program Files (x86)\Steam\steamapps\common\Mount & Blade II Bannerlord\bin\Win64_Shipping_Client,然后右键点击名为 TaleWorlds.MountAndBlade.Launcher.exe 的文件并选择属性。
转到"兼容性"选项卡,勾选"以管理员身份运行此程序"复选框,然后点击确定。(此操作需要您在计算机上拥有管理员权限。)

尝试另一个启动器

其他模组制作者已经为游戏开发了更好的启动器,有助于修复默认启动器引起的一些问题。
试试以下这些:

检查其他模组是否存在问题

未正确设置的模组将导致你添加到游戏中的所有其他模组出现问题。
一个坏模组会拖垮整个系统。

请确保在启动器中,ModLib 位于所有官方模块的下方。本模组依赖于官方模块的代码,需要在它们之后加载。我注意到,其他模组若未正确设置其 SubModule.xml 文件,可能会对已正确设置的模组造成问题。如果模组加载顺序出现混乱,请检查您已安装的每个模组的 SubModule.xml 文件,确保它们包含以下代码片段:

<Official value="false"/>
<DependedModules>
    <DependedModule Id="Native"/>
    <DependedModule Id="SandBoxCore"/>
    <DependedModule Id="SandBox"/>
    <DependedModule Id="CustomBattle"/>
    <DependedModule Id="StoryMode"/>
</DependedModules>

如果缺少其中任何一行,请编辑 SubModule.xml 文件并添加缺失的部分。再次检查启动器,确认模组顺序是否正确。官方的 TaleWorlds 模组应该全部集中排列在最上方。

注意: 如果操作不当,可能会带来更多问题。只有在确信自己操作正确的情况下才建议进行。

不要编辑 ModLib 的 SubModule.xml 文件

我已经多次检查过这个文件。
它没有任何问题。
修改它只会给你带来更多麻烦。

即使未在启动器中激活的模组也可能导致问题。

如果以上方法均无效,请尝试暂时移除 Modules 文件夹中除本模组外的所有其他模组。运行游戏,检查仅加载本模组时是否能正常运行。

记住: 仅停用模组并不能解决问题,你必须将它们从模块文件夹中彻底删除。

当你成功运行游戏后,添加一个模组并再次运行游戏。
如果游戏仍能运行,再添加一个模组并重复运行测试。
按照这个方式逐个添加模组,直到找出导致问题的模组。