派对AI重制与指令系统重构

创作者: sam6358
已更新:2023-02-19 17:18:30
102KB

前置 MOD

使用 派对AI重制与指令系统重构 时将自动安装

关于此 MOD

此模组为游戏版本v1.0.3的“队伍AI优化及指令系统”。
这个模组是“派对AI重构与指挥系统“游戏版本 v1.0.3。”

我修改了这段原始源代码。
https://gitlab.com/octaviusmods/bannerlord-party-ai-overhaul-and-commands

感谢作者。


请提供需要翻译的文本内容。

必需模组
+ 和谐

模组排序


问:我禁用了这个模组,但游戏在纯净模式下存档崩溃,该怎么办?
A. 你需要重置使用了本模组功能的元素。
请提供您需要翻译的文本内容。
若你以雇佣兵身份加入王国,并利用本MOD功能组建军队,请在停用此MOD前解散该军队。
因为在原版游戏中,雇佣兵不能担任军队领袖。


问:如何翻译成不同语言?
可以使用"Localization_english.xml"作为翻译模板。

如何创建翻译文件
+ 本地化模板文件:PartyAIOverhaulCommands\ModuleData\Languages\English\Localization_english.xml
复制“English”文件夹并重命名。
将文件夹中的"Localization_english.xml"重命名为合适的名称。
请将 XML 文件中的 "tag language" 值改为您想要翻译的语言。
   (游戏设置中“游戏玩法-语言”选项所显示的语言。)
* 游戏启动时,将加载 ModuleData\Languages 文件夹下的文件。
   若修改翻译文件内容,需重新启动启动器。
* 请注意,英文文本的修改不会在游戏中生效。

问:如何将《我的小战帮》与本模组一同使用?
A. 请参考以下指南。
已确认,同时使用《我的小战团》(1.7版)与《队伍AI指令重制》(1.7版)后,你的队伍将仅招募自定义兵种。按以下步骤操作,任何队伍从任何阵营招募的士兵*都会自动转化为你的自定义兵种。

1.) 使用“我的小战帮”(默认设置),为招募兵种和精英兵种分别创建你想要的定制部队。
2.) 使用派对AI重构功能(默认设置),组建好队伍后,与队长对话。
3.) 选择 > “回顾一下队伍配置方案。”
4.) 选择 >“我们来决定该招募哪些部队。”
5.) 在“可用兵种树”下,点击“全部转移”按钮,直到右侧所有兵种都移至左侧。
6.) 选择 > “让我们仔细看看。”
7.) 此处无需修改。选择 > 完成。
8.) 最后,系统会询问是否从俘虏中招募人员。选择“否”。(若选“是”,则队伍可招募掠夺者。但经测试,队伍招募的掠夺者兵种会保持原样,无法转化为你的自定义部队。因此,若不介意自定义部队中混入掠夺者,可选“是”。)

不知为何,我总觉得要是换种方式来做,队伍就永远都招不到人。

*请注意,这将仅允许玩家部队招募您的自定义士兵。若要让其他AI领主也能招募这些士兵,您需要修改“我的小小战团”中的XML设置。
本指南由 弧狼9.

关于“调试:检测无主将的领主部队”选项
若启用此选项,模组将检测到无领主英雄带领的领主队伍出现。
检测结果会写入桌面上的 harmony.log.txt 文件。


* 设置领袖英雄后,模组会记录下达指令的位置。
* 首次发出空设定指令的位置会作为“**堆栈跟踪(常规类型)”写入日志文件。
* 若检测到队伍中队长英雄设为空值,则将游戏内日期/队伍信息/队长英雄设置记录写入日志文件。


若队伍中缺少队长英雄,可在设定历史中查看相关模组的提示。

问:为何在“通用”类型中,有时无法检测到队长英雄被设为空的队伍?
A. 游戏系统管理的队伍不受检测。

以下是检测结果的示例。
* 在「秋之月12日,1100年」检测到一支没有英雄领袖的队伍。
* 于“秋月11日,1100年”将队伍领袖英雄设为“米特拉”。
* 于“秋之月12日,1100年”执行的代码导致领袖英雄为空。
因此,"秋历1100年12月"当日执行的代码很可能存在问题。
抱歉,您提供的内容似乎不完整。作为游戏本地化翻译,我需要您提供具体的待翻译文本内容(例如UI文字、对白、任务描述等),才能准确翻译为中文。请补充需要翻译的文本。
**堆栈跟踪(通用类型):米特拉队伍:空:lord_4_24_2_party_19896
在TaleWorlds.DotNet.Managed.GetStackTraceStr(Int32 skipCount)
在 PartyAiOverhaulAndCommands.Behaviors.PAO_DetectNoLeaderHeroParty.PAO_ChangePartyLeaderPatch.Postfix(PartyComponent __instance, Hero newLeader)
在TaleWorlds.CampaignSystem.Party.PartyComponents.LordPartyComponent.ChangePartyLeader_Patch2方法中(LordPartyComponent this, Hero newLeader)
在 TaleWorlds.CampaignSystem.Roster.TroopRoster.AddToCountsAtIndex_Patch1 中(TroopRoster this,Int32 index,Int32 countChange,Int32 woundedCountChange,Int32 xpChange,Boolean removeDepleted)
在TaleWorlds.CampaignSystem.Roster.TroopRoster的AddToCounts_Patch2方法中(参数:TroopRoster当前对象,CharacterObject角色,Int32数量,Boolean是否插入前端,Int32受伤数量,Int32经验变化,Boolean是否移除空队,Int32索引位置)
在TaleWorlds.CampaignSystem.Clan.CreateNewMobileParty(Hero hero)处
在 Helpers.MobilePartyHelper.CreateNewClanMobileParty(英雄 partyLeader, 家族 clan, Boolean& leaderCameFromMainParty)
在PartyAiOverhaulAndCommands.Behaviors.PAO_DetectNoLeaderHeroParty.ForceCreateLordParty(List`1 strings)
在TaleWorlds.Library.CommandLineFunctionality.CallFunction(String concatName, String concatArguments, Boolean& found)
在 ManagedCallbacks.LibraryCallbacksGenerated.Managed_CallCommandlineFunction(IntPtr functionName, IntPtr arguments)



--------------------------- 秋月12日,1100年 ---------------------------
模组检测到一个没有领袖英雄的领主队伍。
米特拉的小队
     队长英雄:无
          所有者:米特拉
           部族:德柯坦
        王国:弗兰迪亚
       暗夜中的低语

**堆栈追踪:德·科坦的队伍 · 米特拉 · 领主_4_24_2_队伍_19896 · 秋月11日,1100年
at TaleWorlds.DotNet.Managed.GetStackTraceStr(Int32 skipCount)
在 PartyAiOverhaulAndCommands.Behaviors.PAO_DetectNoLeaderHeroParty.PAO_ChangePartyLeaderPatch.Postfix(PartyComponent __instance, Hero newLeader)
在TaleWorlds.CampaignSystem.Party.PartyComponents.LordPartyComponent.ChangePartyLeader_Patch2中(LordPartyComponent组件,Hero newLeader)
在TaleWorlds.CampaignSystem.Actions.TeleportHeroAction.ApplyInternal函数中(角色:英雄,目标定居点:目标定居点,目标部队:目标部队,传送细节:细节)
在 TaleWorlds.CampaignSystem.CampaignBehaviors.TeleportationCampaignBehavior.ApplyImmediateTeleport(TeleportationData data)
在TaleWorlds.CampaignSystem.CampaignBehaviors.TeleportationCampaignBehavior.HourlyTick()处
在TaleWorlds.CampaignSystem.MbEvent.InvokeList(EventHandlerRec list)处
在TaleWorlds.CampaignSystem.CampaignEvents.HourlyTick()
在TaleWorlds.CampaignSystem.CampaignEventDispatcher.HourlyTick()
在TaleWorlds.CampaignSystem.Campaign.HourlyTick(MBCampaignEvent campaignEvent,Object[] delegateParams)处
在TaleWorlds.CampaignSystem.MBCampaignEvent.RunHandlers(Object[] delegateParams) 位置
在TaleWorlds.CampaignSystem.MBCampaignEvent.CheckUpdate()
在 TaleWorlds.CampaignSystem.CampaignPeriodicEventManager.SignalPeriodicEvents()
在TaleWorlds.CampaignSystem.Campaign.Tick()处
在 TaleWorlds.CampaignSystem.GameState.MapState.OnMapModeTick(Single dt)
在 TaleWorlds.CampaignSystem.GameState.MapState.OnTick(Single dt)
在 TaleWorlds.Core.GameStateManager.OnTick(Single dt)处
在 TaleWorlds.Core.Game.OnTick(Single dt)
在 TaleWorlds.Core.GameManagerBase.OnTick(Single dt) 处
在 TaleWorlds.MountAndBlade.Module.OnApplicationTick(Single dt) 处
在 TaleWorlds.DotNet.Managed.ApplicationTick(Single dt) 处


**栈追踪:蜜特拉小队 : 空 : lord_4_24_2_party_19896 : 秋月12日,1100年
TaleWorlds.DotNet.Managed.GetStackTraceStr(Int32 skipCount)
在PartyAiOverhaulAndCommands.Behaviors.PAO_DetectNoLeaderHeroParty.PAO_ChangePartyLeaderPatch.Postfix(PartyComponent __instance, Hero newLeader)
在TaleWorlds.CampaignSystem.Party.PartyComponents.LordPartyComponent.ChangePartyLeader_Patch2(LordPartyComponent this, Hero newLeader)
在 TaleWorlds.CampaignSystem.Roster.TroopRoster.AddToCountsAtIndex_Patch1(TroopRoster this, Int32 index, Int32 countChange, Int32 woundedCountChange, Int32 xpChange, Boolean removeDepleted)
在 TaleWorlds.CampaignSystem.Roster.TroopRoster.AddToCounts_Patch2 中(this, CharacterObject character, Int32 count, Boolean insertAtFront, Int32 woundedCount, Int32 xpChange, Boolean removeDepleted, Int32 index)
在TaleWorlds.CampaignSystem.Clan.CreateNewMobileParty(Hero hero) 处
在 Helpers.MobilePartyHelper.CreateNewClanMobileParty(Hero partyLeader, Clan clan, Boolean& leaderCameFromMainParty) 处
在 PartyAiOverhaulAndCommands.Behaviors.PAO_DetectNoLeaderHeroParty.ForceCreateLordParty(List`1 strings) 处
在 TaleWorlds.Library.CommandLineFunctionality.CallFunction 处(String concatName, String concatArguments, Boolean& found)
在 ManagedCallbacks.LibraryCallbacksGenerated.Managed_CallCommandlineFunction(IntPtr functionName, IntPtr arguments)
抱歉,你提供的文本内容似乎是空的(只显示了文件名和分隔线)。请提供具体的游戏文本内容,以便我进行专业的本地化翻译。

提示
* 全版本 - (极罕见)若在按下左ALT键让同伴队伍攻击敌人时发生闪退,可尝试以下步骤规避该问题。
  + 以此模组禁用状态启动。
  加载出现崩溃的存档。 
  保存游戏到新存档并关闭。
  启用模组后重启游戏,并加载那个新存档。
* e1.6.1b 至 e1.6.5 - 当所属王国处于战争状态时,自动集结功能将生效。若需解散部队,请在部队管理界面使用“解散部队”按钮。
* 仅限e1.6.0版本 - 将部队数量上限保持为1(若增加数值将导致游戏崩溃)

* 仅限v2.4.13版本 - 点击重置按钮后,部队招募界面将恢复正常功能。

安装方法
* 涡旋(来自Nexus Mods的开源模组管理器)
或
  • 下载此模组
  • 解压ZIP文件(推荐 7-ZIP)
  • 将“PartyAIOverhaulCommands”文件夹复制到《骑马与砍杀2:霸主》/Modules 目录下
  • 正在启动《骑马与砍杀2:霸主》启动器
  • 按下模组键以启用“PartyAIOverhaulCommands”及“和谐"
  • 开始游戏


版本 e1.6.2g 更新内容
* 修复了在无 Mod 环境下创建新队伍时,获得的食物超过负重上限导致移动速度下降的问题。
* 修复了玩家成为囚犯时可能发生的崩溃问题。
* 新增“禁止俘虏敌军,主要贵族除外”选项至巡逻与游荡指令中。
* 已包含本地化模板。


**版本 e1.6.1d 更新内容**
* 修复了玩家成为囚犯时的崩溃问题。

版本 e1.6.1c 更新内容
* 修复了玩家不属于任何王国时解散军队导致的崩溃问题。
* 修复了军队集结选项无法使用的问题。


版本 e1.6.1b 更新内容
* 修复了宣战或缔和时军队被强制解散的问题。
* 修复了领主无故消失的bug。
* 在同伴对话界面新增了一个物品,用于设置模组选项。
* 若玩家部队因凝聚力不足或队员缺失而解散,现在将自动重新集结。(仅当所属王国处于战争状态时生效。)
* 该选项设有间隔时间,用于记住队伍成员。(我刚刚注意到内部仍固定为3天,将在下次更新中修复。)
现在可以在部队调配界面手动升级同伴的部队。(自动升级功能同样生效。)
* 修复了与敌军交战后打开道具交换界面时,部队错误获得经验值的问题。
* 新增重置所有编队模板的功能。
* 可选:你可以在该模组使用的字符串末尾添加标记。
* 可选:现在可在军队编组界面中禁用原版集结规则,并召集同伴队伍。
* 修复了秘籍指令"campaign.take_hero_prisoner"在英雄名称中以"_"连接空格时无法被识别的问题。

请提供需要翻译的原文文本。

支持Mod“调试输出”

若您遇到不明原因的游戏崩溃,此模组或许能提供帮助。
此模组将读取游戏运行时的调试信息,并将其内容输出至日志文件。

输出文件
调试打印/调试消息.txt

输出内容
若为正常状态,输出将采用以下格式。
您好,请提供您需要翻译的游戏文本内容。
Mono:打开中 ..\..\Modules\Native/ModuleData/action_sets.xml
堆栈跟踪: 
at TaleWorlds.DotNet.Managed.GetStackTraceStr(Int32 skipCount)
在 DebugPrint.DebugPrint.Debug_OnPrint(String arg1, UInt64 arg2)
在TaleWorlds.Library.Debug.Print中(参数:String message、Int32 logLevel、DebugColor color、UInt64 debugFilter)
在 TaleWorlds.ObjectSystem.MBObjectManager 中,从 XML 文件创建文档(参数:XML路径、XSD路径、是否跳过验证)
在 TaleWorlds.ObjectSystem.MBObjectManager.CreateMergedXmlFile(List`1 toBeMerged, List`1 xsltList, Boolean skipValidation)
在 TaleWorlds.ObjectSystem.MBObjectManager 中获取合并后的原生 XML(ID:字符串,用于路径列表)
在TaleWorlds.MountAndBlade.Module.CreateProcessedActionSetsXMLForNative()
请提供需要翻译的文本内容,我会按照您的要求进行专业游戏本地化处理。
“Mono”是模组从游戏获取的调试信息。
**堆栈追踪** 是被执行的函数。(请从下往上阅读)

若发生异常,将采用以下输出格式。
请提供需要翻译的游戏文本内容。
异常:引发参数错误
类型:参数异常
消息:已添加具有相同键值的项目。
对象:mscorlib
模块:C:\Windows\Microsoft.NET\Framework64\v4.0.30319\mscorlib.dll
发送者:TaleWorlds.MountAndBlade.Launcher.exe
堆栈追踪: 
   在 System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
请提供需要翻译的游戏文本内容。


安装方法
* 旋涡
或
* 将本模组的文件夹复制到「骑马与砍杀2:霸主/Modules」文件夹中。

使用 Xmod 解锁 骑马与砍杀2:霸主 的全部潜力 — 今天就探索这些顶级 MOD!