查看“Basic Csharp Mod”的源代码
←
Basic Csharp Mod
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
该页面已被保护以防止编辑和其他操作。
您可以查看与复制此页面的源代码。
[https://docs.bannerlordmodding.com/_tutorials/basic-csharp-mod <big>访问源文档</big>]<br> [[骑马与砍杀2:霸主 MOD API|<big>返回目录</big>]] == <big>介绍</big> == 这个教程接下来将一步一步教你创建一个基于 C# 的模组,这个模组将添加一个叫 '''Message''' 的按钮到单人游戏主界面,在点击这个按钮后将输出 '''Hello World'''。 == <big>准备工作</big> == <big>本教程中,我们将这个项目命名为 '''ExampleMod'''。</big> == <big>创建模组(SubModule.xml)</big> == 1. 前往游戏文件下的 '''Modules''' 目录。<br> 2. 创建一个新的文件夹并命名为 '''ExampleMod'''(必须跟你第4步使用的id相同)。<br> 3. 创建一个新的文件夹并命名为 '''bin''' 然后在其中新建一个子文件夹并命名为 '''Win64_Shipping_Client'''。<br> 4. 在你第2步创建的目录下新建一个文件 [[SubModule|'''SubModule.xml''']](必须是这个文件名)并粘贴该代码:[https://docs.bannerlordmodding.com/_tutorials/basic-csharp-mod#setting-up-your-module-submodule-xml 查看代码] <nowiki> <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> <Xmls/> </Module> </nowiki> <br>注意:'''MySubModule''' 是在[[Basic_Csharp_Mod#.E7.BC.96.E7.A8.8B|编程部分]]会使用的类的名字。<br> 5. 如果你使用了不同的名字,请修改以上文件并匹配你的 '''Module/SubModule''' 的值。<br> 6. 打开游戏启动器并确认你的模组名字出现在了 Singleplayer > Mods 中。<br> 查看更多有关目录的信息,请访问[[Folder Structure|目录结构]]。 == <big>创建项目</big> == 在创建项目之前,要告知你这里对于基础模组(如物品/场景/文化等)而言是不需要的。 # 启动 Microsoft Visual Studio 并点击 新建项目(Create New Project)。 # 选择 Class Library (.NET Framework)。 # 将你的项目命名为 ExampleMod(如果你用了其它名字请确保命名空间和程序集名称是正确的)并使用.NET Framework 4.7.2 作为 Framework。如果没有这个选项,[https://dotnet.microsoft.com/download/dotnet-framework/net472 在这里下载](开发包)。 # 建好项目后,[https://docs.microsoft.com/zh-cn/visualstudio/ide/how-to-change-the-build-output-directory?view=vs-2019 设置你的编译路径]为游戏目录下的 Modules/ExampleMod/bin/Win64_Shipping_Client。 # [https://docs.microsoft.com/zh-cn/visualstudio/ide/how-to-add-or-remove-references-by-using-the-reference-manager?view=vs-2019 引用] 在你游戏文件目录(不是你的模组目录)下 bin\Win64_Shipping_Client 中的 TaleWorlds.*(DLLs),并且引用每个官方模组目录 Modules\ModuleName\bin\Win64_Shipping_Client 下的 TaleWorlds.* DLLs。 == <big>调试项目(可选)</big> == # 打开项目属性并转至 '''Debug''' 标签页。 # 选择 '''Start external program''' 选项并浏览至游戏文件(不是你的模组)下的目录 bin\Win64_Shipping_Client 中的 Bannerlord.exe。 # 设置工作目录为游戏文件(不是你的模组)下的目录 bin\Win64_Shipping_Client。 # 添加以下命令行参数(确定把 ExampleMod 换成了你的模组的名字)<br> * /singleplayer _MODULES_*Native*SandBoxCore*CustomBattle*SandBox*StoryMode*ExampleMod*_MODULES_ == <big>编程</big> == 1. 在你的 VS 项目中新建一个类并命名为 '''MySubModule''',然后打开它。<br> 2. 将以下指令添加到你的类中: using TaleWorlds.Core; using TaleWorlds.Localization; using TaleWorlds.MountAndBlade; 3. 继承 MBSubModuleBase 类。<br> 4. 覆盖 OnSubModuleLoad() 继承方法。<br> 5. 添加如下代码到你的覆盖方法中:[https://docs.bannerlordmodding.com/_tutorials/basic-csharp-mod#programming 查看代码]<br> 6. 编译你的项目并确定文件被输出到了 Modules\ExampleMod\bin\Win64_Shipping_Client。<br> 7. 打开游戏启动器转到 Singleplayer > Mods 确定你的模组被勾选了并启动。<br> 8. 在主界面中,你应该可以看到一个 Message 按钮,单击后你会在左下角聊天框看见输出了 Hello World。<br> 9. 你成功地创建了你的第一个游戏模组! <br>
返回至
Basic Csharp Mod
。
导航菜单
个人工具
创建账户
登录
名字空间
页面
讨论
不转换
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
台灣正體
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
Help about MediaWiki
工具
链入页面
相关更改
特殊页面
页面信息