BUTRLoader(启动器)

BUTRLoader(启动器)

请尽可能切换到BLSE!它极大地扩展了原生启动器。 添加了对社区使用的元数据的支持,解决了模组加载顺序的排序问题!它将正确排序Harmony、UIExtender、ButterLib和MCM。 还能自动

实用工具

只要有可能,我们就会继续维护 BUTRLoader。但我们强烈建议您转用 BLSE!

源代码可在 GitHub上获取! 功能 BUTRLoader由两部分组成——BUTRLoader本身和LauncherEx。 BUTRLoader 通过以下功能扩展游戏启动: 拦截器 - BUTRLoader会检查是否存在一个带有名为BUTRLoaderInterceptorAttribute自定义属性的类。如果找到,它会检查是否存在以下签名: void OnInitializeSubModulesPrefix() - 将在游戏开始初始化子模块之前执行。这使我们能够添加用其他编程语言(如Python和Lua)声明的子模块 void OnLoadSubModulesPostfix() - 将在所有子模块初始化完成后执行 LauncherEx 是用户界面模块。它扩展了原生启动器,具备以下功能: 选项标签 - 提供游戏和引擎选项,以及以下启动器选项: 扩展排序 - 启动器现在会遵循社区元数据进行排序。默认启用。
紧凑模块列表 - 允许以更紧凑的方式显示模块列表。默认禁用。
修复常见问题 - 启动器会检查主/bin文件夹中是否存在0Harmony.dll。如果存在,将提示用户是否删除。
文件解锁 - 启动器会自动解除被锁定的.dll文件。默认启用。
测试版排序 - 使用新算法对模块进行排序。在应用新加载顺序时会尽量保留现有加载顺序。
大窗口模式 - 扩展原生启动器窗口的高度。 保存子标签页 - 显示所有可用存档、部分元数据及其加载顺序。允许继续特定存档并导入/导出存档加载顺序。
滚动条 - e1.7.2之前的启动器无法通过鼠标滚轮以外的方式滚动。我们添加了滚动条以解决此问题。
启用/禁用所有模组复选框 - 新增一键启用或禁用所有模组的功能。
重新排序模块按钮 - 强制重置模块列表,并对原始加载列表进行重新排序。
扩展依赖项提示 - 在e1.7.0新增的提示中加入了社区元数据显示功能。
问题提示系统 - 启动器会显示一个箭头,展开后可查看模组无法启用的原因。问题可能包括依赖模块版本错误、与当前游戏版本的二进制不兼容等。
二进制兼容性检查 - 启动器会检查模块与当前游戏版本是否存在ABI问题。ABI问题意味着该模块无法在游戏中运行,需要更新版本。
导入/导出模组列表 - 提供导出和导入带有正确加载顺序及模块版本的模组列表功能。若模块版本不正确,将高亮显示。
支持Mod Organizer 2 - 全面支持MO2及其虚拟文件系统。 安装 下载文件并将其内容解压到游戏的根目录(例如:C:\Program Files (x86)\Steam\steamapps\common\Mount & Blade II Bannerlord)。 卸载 移除 Bannerlord.BUTRLoader.dll、Bannerlord.BUTRLoader.pdb 和 TaleWorlds.MountAndBlade.Launcher.exe.config 故障排除 解除DLL封锁 您可能需要右键点击  Bannerlord.BUTRLoader.dll  文件,选择  属性,然后点击  解除锁定,如果您使用 Windows 资源管理器或其他试图保护解压文件的程序解压了 zip 文件。 致翻译者 翻译文件已硬编码到BUTRLoader中!我们使用 Crowdin,欢迎您在那里贡献翻译! 为模组制作者 BUTRLoader 新增了对 DependedModuleMetadatas 标签的支持,让您能更清晰地定义加载顺序,参见下方示例 <依赖模块元数据>   <!-- 顺序: [ "在此之前加载", "在此之后加载" ] -->       <!-- 不兼容: [ "true", "false" ] -->   <依赖模块元数据 id="Bannerlord.Harmony" order="在此之前加载" />   <依赖模块元数据 id="原生" 顺序="在此之后加载" 版本="e1.4.3." />   <依赖模块元数据 id="SandBoxCore" 顺序="在此之后加载" 版本="e1.5." />   <依赖模块元数据 id="沙盒" order="在此之后加载" />   <依赖模块元数据 id="故事模式" 顺序="在此之后加载" 版本="e1.*" 可选="true" />   <依赖模块元数据 id="自定义战斗" order="在此之后加载" optional="true" />   <DependedModuleMetadata id="MyCustomMod" incompatible="true" /> </依赖模块元数据>