旗帜颜色持久性(现已支持BannerPaste)

旗帜颜色持久性(现已支持BannerPaste)

修复了与自定义旗帜相关的许多问题,例如加载时旗帜变形、物品栏和交易界面崩溃、旗帜被王国颜色更新破坏、以及由王国颜色更新导致的盔甲颜色不匹配。最新版本。

杂项

说明

BannerColorPersistence 最初是为了解决自定义旗帜在保存/加载时出现的一个小问题而创建的。后来,它扩展为解决与自定义旗帜相关的各种问题,以在我们的复杂旗帜随着《霸主》的版本迭代而持续稳定运作。如果你在使用自定义旗帜时遇到任何问题,BannerColorPersistence 的目标就是修复它们,包括:

  • 加载时旗帜图标变为背景颜色
  • 加入王国后旗帜被毁坏
  • 加入王国后,服装/护甲颜色与旗帜颜色不匹配
  • 使用多图标旗帜时,打开交易或库存菜单导致游戏崩溃

此模组的默认行为是防止你在加入王国时,旗帜和服装颜色发生改变。这里提供了允许颜色变化的配置选项,但建议仅在您充分了解旗帜颜色的应用方式,并且专门为此变化设计了旗帜时使用。

1.2.5 版本起,BannerColorPersistence 现在包含了BannerPaste 逻辑!

最初由 gooboon 创建,BannerPaste 为许多《霸主》版本提供了良好的社区支持,但自 1.7.2 版本起出现了一些破坏性更改。经 gooboon 许可,我已在 BCP 中包含了原始代码以及针对这些问题的修复。

使用方法: 只需复制横幅代码(例如通过 bannerlord.party 生成的代码),然后在游戏中的横幅编辑器界面使用 Ctrl+V 粘贴代码即可。

应大家的要求,我还将 BannerPaste 的逻辑移植到了 BCP 1.2.5 版本中(适用于 1.7.1)。请确保使用与你的《霸主》版本相匹配的正确版本!

要求

BCP 1.3.1 版本开始(适用于《霸主》1.8.0 及以上版本),Harmony 已成为必需模组。

我一直尽量保持简单,以帮助模组用户。过去,这意味着将 Harmony DLL 与 BCP 打包在一起。然而,这种做法已经有些过时,可能会给那些在运行 BCP 的同时,又为其他模组单独安装 Harmony 的用户带来问题。为了减少冲突和问题的可能性,从 1.3.1 版本起,BCP 将不再附带 Harmony。请确保根据你所运行的《霸主》和 BCP 版本,下载并安装正确版本的 Harmony。并且别忘了,Harmony 应位于你的加载顺序顶部。

自定义旗帜信息

在此模组中,“自定义旗帜”是指使用多个图标层叠创建的旗帜,以形成更精细复杂的设计。这些旗帜主要通过访问 https://bannerlord.party/banner/ 的网页编辑器创建,并将其生成的代码粘贴到游戏内编辑器(CTRL+V)或通过 XML 文件实现。在游戏内粘贴代码需要 BannerPaste 功能,该功能现已由 BannerColorPersistence 提供。

请访问 BannerlordBanners subreddit,查看社区创建的各种自定义旗帜,并查看置顶的教程。

配置

BannerColorPersistence 为有需要的用户提供了一些配置选项。对于大多数用户来说,这些应保留默认值。配置文件位于:Modules\BannerColorPersistence\bin\Win64_Shipping_Client\config.json

  • enableBannerColorPersistence - 默认值为 true。如果不想运行旗帜颜色持久化逻辑,请设置为 false。这将仅允许 BannerPaste 功能和基础崩溃修复运行。请自行承担使用风险。
  • preventNPCBannerColorChanges - 默认为 false,仅当你通过其他模组(如 CBU 或 POC)为 NPC 运行自定义旗帜时,才应设为 true
  • allowColorChangeOnIconsMatchingBackgroundColor - 默认为 false。此功能可能对你有效,也可能无效,完全取决于你的具体旗帜。其原理是,如果你允许在王国变更时改变背景颜色,有时你的自定义旗帜会使用与背景相同颜色的图标,以遮挡或修改其他图标。如果你只更改背景颜色,这些图标会因保持原色而变得可见,导致旗帜显得怪异。此配置选项会尝试一并更改这些图标的颜色。但——这是一个非常重要的但——图标必须与背景颜色完全匹配,且必须匹配两种颜色。每个背景和图标都有对应的两种颜色,若两种颜色不匹配,更改将不会发生。这意味着使用多色背景的旗帜可能无法正常变化,也意味着如果你的旗帜在创建时未注意图标的次要颜色,它也可能无法正常变化。综上所述,如果你真的希望看到旗帜随王国变更而改变,可以尝试此配置;否则请忽略它,因为它完美工作的概率可能很低。不过有些人确实要求这个功能,所以它就在这里了。

已在 1.5.4、1.5.5、1.5.6、1.5.7、1.5.8、1.5.9、1.5.10、1.6.0、1.6.1、1.6.2、1.6.3、1.6.4、1.6.5、1.7.0、1.7.1、1.7.2、1.8.0、1.8.1、1.9.0、1.0.0、1.0.1、1.0.2、1.0.3、1.1.0 版本上测试并可用。

请报告你发现的任何错误或异常,以及你可能有的任何建议。