uboat吧 关注:3,128贴子:17,107
  • 11回复贴,共1

2024.1新版本数据修改帖

取消只看楼主收藏回复

今天发现了一个mod,是修改炮弹量数据的。感谢原作者写了很棒的c#脚本修改,楼下细说


IP属地:江西来自Android客户端1楼2024-08-26 17:56回复
    嘛,不过这种方法能改变游戏平衡并且取得成就(算作弊了)。所以有人回帖再更吧


    IP属地:江西来自Android客户端2楼2024-08-26 17:57
    回复
      修改弹量数据需要创意工坊mod:Realistic Ammo Capacity。
      先解释一下原理:这个mod是用c#语言脚本,调用游戏数据库,对游戏内的弹量进行了编辑。(lz本人编程水平不够,姑且这么解释吧)。游戏会调用这个mod,因此脚本也会被执行。
      那么,我们是不是可以理解并修改这个脚本的运行逻辑,编辑脚本让弹药量达到我们想要的数量呢?


      IP属地:江西4楼2024-08-26 22:38
      回复
        修改前先提示一下:Realistic Ammo Capacity这个mod本身就将弹药调整到了一个比较合理的范围内了。88炮可装载205发炮弹,20炮可以装载1500发(II型则分别为805发和1000发)同时,潜艇仓库不能装载任何炮弹。
        不想破坏体验本身的玩家,仅仅想要炮弹数量合理的话可以不用往下看了。


        IP属地:江西5楼2024-08-26 22:43
        回复
          由于需要编译C#源文件,我们最好准备一个C#的开发环境。这里推荐VScode这个最简单好用的。顺带一提,VScode是英文界面,你需要自己安装中文扩展。至于具体环境怎么搭建我们这里就不讲了,这里毕竟不是编程吧
          记事本也是可以编辑的,但是你需要寻找和修改的变量很多,也很复杂不建议这么做就是。你一不小心就会改错然后游戏崩溃。因此楼主接下来将使用VScode讲解具体步骤


          IP属地:江西6楼2024-08-26 22:51
          回复
            首先订阅并确认安装了Realistic Ammo Capacity这个mod,记住是2024.1版本的。
            我们很容易知道,这个mod的id是3290033613,那么可以根据以下路径找到mod和脚本的位置,这里贴楼主自己的路径供参考F:\SteamLibrary\steamapps\workshop\content\494840\3290033613
            打开Source文件夹,找到我们要修改的脚本
            我们接下来要修改的是AmmoRestrictionPatches这个脚本,请确保你搭建了C#开发环境。当然记事本也可以编辑不过很不推荐,这个搞坏了只能验证完整性了!


            IP属地:江西7楼2024-08-26 22:57
            回复
              先看第74行

              这个函数是禁止仓库装炮弹的,楼主试过修改后,仓库炮弹可以无限制堆叠。如果配合mod:Slot Machine - Add extra slots to your sub的话,那么一艘潜艇能装载近万发88炮了,非常破坏平衡不建议修改。估计原作者也是考虑到这一点才禁止仓库装弹的。
              修改很简单,把83行的false改错true即可。


              IP属地:江西8楼2024-08-26 23:03
              回复
                下面的函数就是修改炮弹数量的了,具体来说是炮弹在炮位的数量
                这就不得不佩服原作者的水平了,他用算法不仅修改了炮弹的堆叠数量,还同时让炮台的仓储容量得到提升。看到那些变量"__result"没有?后面接着的计算式就决定了炮台能堆多少炮弹,以及炮台的仓储重量会变成多少。这些计算方法基本上都是“炮弹数量*炮弹质量”这么算的。比如第99行的就是"205*ammo.Mass"。205就是原作者设定的88炮炮弹总容量,即每个炮台最多可以容纳205发88炮弹。把这个改成你想要的就行。
                107行开始是20炮的计算方式。由于所有20炮都共用一个炮弹库,因此不用担心炮弹修改出错。至少lz没有遇到过。同理,把算式内部的数据修改成你想要的结果即可。我们可以看到,112行代码确定的是VII型潜艇的20炮弹量。原作者设定的是2000。当然这个计算式是线性的,我们可以用比例简单算一下你需要把那个数"1500"修改成你想要的数了,很简单。


                IP属地:江西9楼2024-08-26 23:16
                收起回复

                  lz看不懂这个函数,不过里面有个变量是带有205这个数字的出现,保险起见把他修改的和楼上说的数字一样吧。就是上述计算88炮弹量的算式是多少,这里就改多少。比如说我修改了炮弹量为800,那么这里就改成"800f"


                  IP属地:江西10楼2024-08-26 23:19
                  收起回复
                    到这里,利用mod修改炮弹数的方法就结束了。楼主不是很懂C#,因此欢迎懂的吧u给出更好的修改建议。更奇怪的修改方法也可以呀


                    IP属地:江西11楼2024-08-26 23:21
                    回复
                      PS:可能是因为这个mod调用了脚本修改,因此直接修改游戏文件在打了这个mod后是不起效果的,因此本方法仅适用于打了这个mod的游戏!


                      IP属地:江西12楼2024-08-26 23:23
                      回复
                        经过测试,现在最新版本也是可行的。原作者今天也更新了mod,不过不影响结果
                        炮弹可以堆叠这么多。因为我打了减重和其它修改物资和仓库的mod,这里总重量和只打了这个mod效果不一样

                        20炮也一样,只要是VII型潜艇都有效的

                        储藏室也能装弹了


                        IP属地:江西14楼2024-08-26 23:41
                        回复