返回目录
Chapter 3 第三章:项目初始化与调试详解
开发者文档 更新于 2025-05-22 03:54:07

第三章:项目初始化与调试详解

本章节将引导你从零开始设置一个 C# 项目(名为 ExampleMod),并配置调试环境,实现第一个“Hello World”按钮,彻底打通 MOD 开发的基础流程。

1️⃣ 准备工作

📁 文件夹结构

Mount & Blade II Bannerlord
└── Modules
    └── ExampleMod
        ├── bin
        │   └── Win64_Shipping_Client  ← 编译输出DLL位置
        └── SubModule.xml             ← 核心配置文件

2️⃣ 创建 SubModule.xml

在 Modules/ExampleMod/ 文件夹中,创建 SubModule.xml,填入以下内容:

<?xml version="1.0" encoding="utf-8"?>
<Module>
  <Name value="Example Mod"/>
  <Id value="ExampleMod"/>
  <Version value="v1.0.0"/>
  <SingleplayerModule value="true"/>
  <MultiplayerModule value="false"/>
  <DependedModules>
    <DependedModule Id="Native"/>
    <DependedModule Id="SandBoxCore"/>
    <DependedModule Id="Sandbox"/>
    <DependedModule Id="CustomBattle"/>
    <DependedModule Id="StoryMode"/>
  </DependedModules>
  <SubModules>
    <SubModule>
      <Name value="ExampleMod"/>
      <DLLName value="ExampleMod.dll"/>
      <SubModuleClassType value="ExampleMod.MySubModule"/>
      <Tags>
        <Tag key="DedicatedServerType" value="none"/>
        <Tag key="IsNoRenderModeElement" value="false"/>
      </Tags>
    </SubModule>
  </SubModules>
</Module>
⚠️ 注意:Id 与 DLLName、命名空间 一致,否则无法加载模块。

3️⃣ 创建 C# 项目(DLL模块)

🎯 创建项目流程(Visual Studio):

  1. 打开 Visual Studio > 创建项目
  2. 选择:类库 (.NET Framework)
  3. 选择框架:.NET Framework 4.7.2
  4. 项目名称:ExampleMod

⚙️ 项目设置:

4️⃣ 创建 SubModule 类

在项目中添加一个新类文件 MySubModule.cs:

using TaleWorlds.Library;
using TaleWorlds.Localization;
using TaleWorlds.MountAndBlade;

namespace ExampleMod
{
    public class MySubModule : MBSubModuleBase
    {
        protected override void OnSubModuleLoad()
        {
            base.OnSubModuleLoad();

            Module.CurrentModule.AddInitialStateOption(new InitialStateOption(
                "Message",
                new TextObject("Message"),
                9990,
                () => InformationManager.DisplayMessage(new InformationMessage("Hello World!")),
                () => (false, null)
            ));
        }
    }
}

5️⃣ 配置调试环境

✅ 方法 1(推荐):以游戏 EXE 启动调试

设置项内容
启动外部程序Bannerlord.exe(主游戏程序)
工作目录binWin64_Shipping_Client
命令行参数(复制以下)

/singleplayer _MODULES_*Native*SandBoxCore*CustomBattle*SandBox*StoryMode*ExampleMod*_MODULES_

✅ 方法 2(可选):用启动器调试

6️⃣ 编译 & 测试

🔨 编译:

🧪 启动游戏测试:

  1. 打开 Bannerlord 启动器
  2. Singleplayer > Mods:勾选 ExampleMod
  3. 启动游戏
  4. 在主菜单界面应看到一个 Message 按钮
  5. 点击后屏幕左下角出现 Hello World! 提示

🎉 恭喜你!你的第一个 MOD 已成功加载并运行!

🧰 附加建议

🧩 使用 Bannerlord Module Template(推荐)

如果你使用的是 Visual Studio 2019+,可以通过 NuGet 或 GitHub 获取官方/社区的模块模板,自动生成结构化项目、自动引用 DLL、自动配置输出路径。

GitHub:   https://github.com/BUTR/Bannerlord.Module.Template