中世纪2全面战争吧 关注:116,829贴子:7,149,802
  • 24回复贴,共1

水一贴关于围城暴兵

只看楼主收藏回复

闲的**特意开个帖子聊聊围城暴兵脚本。俺寻思俺玩的mod不算多,轻松一点的就是htb的正式版和最终版,稍微**点的就是优化系列,当然,还有个20回合都撑不过被弱汗按在地上摩擦的魔戒mod。不过,目前我知道的围城暴兵普遍以魔戒或htb那样要么在回合结束时,判定某个城有没有被围攻,或者判断是不是有人正在攻击某个城。这样虽然确实起到了围城暴兵的效果,不过问题在于围攻方失败后为啥这些兵还在。比较理想的围城暴兵或许应该像帝战或拿战一样,围攻结束后出现的兵消失,但是好像目前没发现哪个mod能做到这点。
在弃坑前的几个星期吧,关于这玩意我还是有点新的想法。所谓理想的围城暴兵,其实就是在AI不行动的时候给他们兵,他们行动时就让这些兵消失。那么解决的方法就有了:利用王国引擎的destroy_unit脚本和attributes标签就能实现。
首先,需要新增一种兵作为围城时出现的守军。为了区分不同地区的,英法神罗的就叫NE Guard,意呆两牙的就叫SE Guard,其余的以此类推。这些兵的战斗力随便怎么设计,这些都是次要的,接下来是重点。edu文件里每种Guard的attributes这行记录了他的属性,我们可以给他们一个通用的属性,就叫guard,说白了就是门卫,生动形象具体。
然后,围城暴兵都是在脚本文件里实现的,我们可以做一个新的尝试:不判断这个城是否被围攻,每个国家的回合结束时,在他占领的指定城市直接刷出几队Guard。虽然说是围城暴兵,实际上这些兵更类似于不能出城的卫戍部队,所以回合结束时直接给这个国家的指定城市添加上就行。既然这个国家的回合都结束了,相当于这些兵就无法控制他们在大地图上移动了,目的也就达到了。这还没完,这个国家回合开始时,用destroy_unit语句删除这些带guard标签的兵,这样一来,这些单位就无法用于野战进攻了,自然而然地也就只能用于城防了。
那么问题来了,我的城特么还在被围攻啊,你怎么说走就走,这不是坑我吗?确实,这是这个脚本的不足之处,本大爷只管守城不管突围,我也不是谦虚,您还是另请高明吧。不过这却不是一个完全的缺点,由于守军变弱了,AI不会倾向突围,而是选择坚守。而守城方回合结束后卫兵大爷又出现了,围攻方只得对着他们和城墙捶胸顿足。那么,这样将会把准备不足的一场围城战拖入僵持状态。除非围城方决定不惜代价进攻城墙或者守军粮草耗尽出门投降。
以上就是楼主对围城暴兵脚本的一些见解,希望对各位修改党或moder有所帮助。


回复
1楼2019-08-23 21:33
    我先确定自己有没有挖坟


    收起回复
    2楼2019-08-23 21:35
      “在弃坑前的几个星期吧” ArtOfWar没有后续版本了呗?


      收起回复
      来自iPhone客户端3楼2019-08-23 23:27
        以前玩王国战役就遇到了围城刨冰


        收起回复
        来自Android客户端4楼2019-08-24 01:38


          收起回复
          来自Android客户端5楼2019-08-24 08:49
            最后的moder


            收起回复
            来自Android客户端6楼2019-08-24 10:53
              汉末有类似的东东


              回复
              来自Android客户端7楼2019-08-24 19:35
                你以为我是来顶贴的?不,我是来经验+3的


                回复
                8楼2019-08-24 19:39
                  参考荣誉骑士专门有增加城防军的守卫军营。


                  回复
                  来自Android客户端9楼2019-08-29 10:44