骑马与砍杀吧 关注:758,367贴子:15,210,172
  • 6回复贴,共1

卖俘虏到自己城 dnspy 修复方式

只看楼主收藏回复

https://tieba.baidu.com/p/9674761783
这个老哥要修一下这个 bug, 我就翻了下。
见 SellPrisonersAction
主要逻辑大致逻辑是判断城镇所属是否与英雄俘虏阵营开战
如果和平 -> 释放
否则判断卖方阵营和买方(城镇)阵营是否相同,相同则不算钱同时转移英雄俘虏到地牢

这个代码好就好在加了一个判断,如果是玩家,则还是会算钱。
所以我们的家族部队卖英雄俘虏到自己城镇,不会算钱。
同时还有个细节就是我们卖英雄俘虏到他的敌对阵营也会打入大牢。
那最好就是修改成玩家出售,判断阵营,如果是玩家自己的或者和平阵营则释放,其他敌对城镇则打入地牢。
dnspy 修改的话,打开 TaleWorlds.CampaignSystem.dll
找到 TalwWorlds.CampaignSystem.Actions
找到 SellPrisonersAction
右键,编辑类,找到 TransferPrisonerAction.Apply(character, sellerParty, buyerParty);
把这一句改成
if(sellerParty != PartyBase.MainParty)
{
TransferPrisonerAction.Apply(character, sellerParty, buyerParty);
}
else
{
EndCaptivityAction.ApplyByRansom(character.HeroObject, null);
}
这样玩家出售俘虏就会释放而不是进地牢了


IP属地:湖南1楼2025-04-30 11:50回复


    IP属地:广东来自Android客户端2楼2025-04-30 14:06
    回复
      2025-10-12 10:46:22
      广告
      不感兴趣
      开通SVIP免广告
      哇!!太好辣


      IP属地:新疆来自Android客户端3楼2025-04-30 17:25
      回复
        大佬


        IP属地:广东来自Android客户端4楼2025-05-01 15:54
        回复
          逆天,我也要弄


          IP属地:江苏来自Android客户端5楼2025-08-30 14:53
          回复
            好帖,要不是有人进来就错过了


            IP属地:广东6楼2025-08-30 15:19
            回复
              这样改也的话,玩家的俘虏一卖直接释放,那会影响贡金吧,外交俘虏那一栏会少很多俘虏


              IP属地:陕西来自Android客户端7楼2025-08-31 08:52
              回复