最近有玩友留言给我,想让我出一个将自己编辑的预设添加到全局预设的教程,恰好前几天又看到其他人在问答区说现在的版本在战局中几乎刷不到满改枪,全都是基础预设里那些乞丐枪,于是就发这篇教程。
本来我不怎么写教程类,因为基本上这类的帖子都比较长,码字也得花很多时间,加上这些也并非刚需,而是属于部分玩友改善型,也不想收费,所以不大愿意写,不过既然答应人家了,就写吧。
一、直接修改文件方法
直接修改文件,比较麻烦,而且得备份globals.json文件留着更换版本后用,所以我是不推荐直接修改文件的。但既然说教程,还是得提一提。
1、打开globals.json,找到ItemPresets,其实这里面已经有很多默认的全局预设了,只不过你在游戏中能看到的也只有那几个乞丐枪,怎么全部解锁,稍后会讲到。
2、以第一个预设为例:
其中的几个字段作用:
“5eb2968186f7746d1f1a4fd5”: {
“_id”: “5eb2968186f7746d1f1a4fd5”, //这是全局预设信息的id,必须唯一
“_type”: “Preset”, //表示是全局预设
“_changeWeaponName”: false, // 是否显示预设名称
“_name”: “1911_default”, // 预设的名称
“_parent”: “5eb2968186f7746d1f1a4fdf”, // 属于具体哪一个预设的信息
“_items”: [ // 预设的组成部分
{
“_id”: “5eb2968186f7746d1f1a4fdf”, // 预设武器本体的唯一id,和上面的_parent是相同的
“_tpl”: “5e81c3cbac2bb513793cdc75”, // 预设武器的本体tpl
“upd”: {
“FireMode”: {
“FireMode”: “single”
}
}
},
……下面的都是预设武器的配件Slots,可以不用管它们,只要关注items中第一个{ }里的内容
],
“_encyclopedia”: “5e81c3cbac2bb513793cdc75” // 它是重点,值就是预设武器本体的tpl,决定了预设能否在游戏中出现
}
在默认的预设内容中,很多你在游戏里看不到的,都是因为它们没有“_encyclopedia”的属性字段,只要把所有预设缺少这个属性的都给它加上,就能解锁了。
3、知道了上面的这些参数作用,就可以动手将自己编辑的预设添加到全局中了,比较麻烦的是需要给每个全局预设一个唯一的_id值(这里举例:aa0123456789bb9876543210),按照上面的格式,在ItemPresets的最后一个预设后面(第一个前面也可以)继续添加上面的几个字段,比如我的存档中有现成的预设:
添加的数据就是:
“aa0123456789bb9876543210“:{
“_id”: “aa0123456789bb9876543210“,
“_type“: “Preset”,
“_changeWeaponName“: true, //这里要改为true
“_name”: “随便取个名”,
“_parent“: “bed7db101f499b0e4f5b498f”,
“_items”: [ ], //这里直接把存档预设中的items全部复制过来,然后在items前加个下划线_就可以了
“_encyclopedia“: “5447a9cd4bdc2dbd208b4567”
}
4、预设数据就这么多,其实很简单。但是要显示上面的名称,还必须到locales中去添加一个字段。
打开locales.global.ch.json,随便在哪个位置,添加下面的内容:
“aa0123456789bb9876543210“: “随便取个名” ,
其实这里的值和上面的_name并非要求完全一致,最终在游戏里显示的是locales中的这个,而不是上面的_name。
要注意的是:虽然我上面举例子是从存档中复制预设,但是,在实际操作时,不要直接把存档中的预设添加到全局中去。或者添加了之后,最好删除存档中相同的预设,否则两个预设会冲突导致名称显示不正确。
另外,添加全局预设后,在编辑预设界面的列表中依然显示的是“基础预设”,并不会显示具体的名称,这个是正常的。
二、mod中添加的方法
如果有很多预设要添加,那上面的方法太麻烦了,所以我把商人三兄贵的globals插件中增加了添加全局预设的代码,只要把预设武器的json文件,按照”武器名称-要显示的自定义名称“作为文件名,复制到插件的presetsData目录下,启动游戏后,就自动能在跳蚤中看到了。比如我设置的两个预设文件:
跳蚤中已经有了,并且在战局的固定容器、空投箱、地面物资刷新点,只要能刷这两种武器的,都会有几率刷到这两件预设。
这个插件中,除了可以把自己编辑的预设添加为全局预设,globals中默认的所有预设都已经解锁了,所以你能看到很多,而不是原版默认的那几个乞丐枪了。
为什么不能像神秘商人出售的预设,和给bot配枪那样,直接从存档写入到插件的presetsData文件夹呢,原因我上面已经说过了,这样存档中有个预设,全局中还有个相同的预设,会造成显示名称不正确,所以不采用自动写入的做法。并且,游戏中的编辑预设界面也不支持中文输入,即使自动写入插件目录,你还得自己手动改文件名,还得把存档中的预设删除,不如直接把预设复制到json文件中,保存在presetsData中更方便。
插件解压后复制到brotherTraders/extend中,选择替换相同文件就行了。文件中已包含上面两个示例的预设文件。
最后再强调一次,无论你是自己修改文件,还是通过mod,都要确保存档中没有相同的预设,否则会冲突导致预设名称显示不正确。
隐藏内容需要回复可以看见
商人三兄贵mod已发布更新补丁20230321,v1.4.4版本打上补丁后,可以支持存档中的预设自动导出到globals插件了
大佬牛b
cool
吃透json结构之后实现功能真的方便了很多....如果有一个能将游戏内编辑的预设直接当场导出成json对象的mod就更好了, 不过也就想想xwx....
话说你这个bot武器替换插件是重写了bot生成算法吗? 单纯修改ai预设文件的话我想了想没想明白该怎么控制一把武器在拥有两个部分配件重复的预设情况下怎么互不干扰....
999
强啊
大佬牛批
厉害了大佬!