2023.4.30 这是本贴子内容的最后一次更新(2023.9.20 今天收到了社区消息,说要必须加【原创】,否则一周后按违规处理,这次是最后一次更新帖子内容了,3.6.0和以后的版本,到我的主页找1.5.x的帖子)mod会不定期更新,包括已经发布的版本,也会不定期修复,可以自己经常到下载链接中查看是否更新,从1.4.8开始mod更新说明会放在压缩包根目录的readme文件中,具体什么时候更新不会再发帖,但本帖楼层依然接收问题反馈和解答。
有个事情需要提前说明的是:请勿询问类似“超级模块有个xxx功能,但是三兄贵为什么没有了”这样的问题。我从来没有说过,超级模块有什么功能,三兄贵就有什么功能,三兄贵作为一个修改框架,除了商人、独立物品、功能插件,其他能够实现的功能取决于使用者自己怎么利用修改插件,而不是像超级模块那样,只给使用者开放范围的选项上开启或关闭。在修改插件中我提供了代码的写法例子,并不是mod所约定提供的基础功能。
并且,本贴最后,如何通过插件修改游戏的扩展教程中,我也说了,这个mod不是适用于所有人,我本身也并不建议只会打勾和下拉框的玩友使用,所以当你选择下载使用了,就请把帖子里的内容看一遍,然后把mod的插件都打开看看注释内容。
前言
从3.2.X开始,服务端内置了SPT官方自定义物品方法(CustomItemService),本MOD中自定义物品功能就是基于CustomItemService开发的。
下载使用本mod前,请详细查看帖子中的介绍,尤其是版本记录的内容,建议仔细查看,我喜欢玩游戏,但不会让游戏影响生活,所以不会专门建群,虽然会尽可能回复每一位玩友的问题,而很多问题只要认真看一遍帖子,就可以自己解决。
声明:本mod旨在为广大社友提供游戏便利,也支持有能力的社友对它进行二次修改,但此类行为仅限于个人娱乐。如果分享自己的修改成果,请说明来源,并自行承担该修改成果在他人使用过程中的解答和技术支持义务。
一、自定义物品
两种方式:
(1)超级模块下的物品文件,可以直接导入本mod根目录的 db\temp文件夹中,当启动服务端并加载本mod时,会进行自动转换为专用格式,无需手动干预;
(2)自己制作的物品文件,需要使用本mod专用格式,放入根目录的db\items文件夹中,关于制作物品的教程,请看 https://sns.oddba.cn/49430.html
使用本mod专用格式制作物品,无需填写新物品的id,也不需要填写parent,包括跳蚤市场分类的parentId,统统都不需要手动填写,全部都由mod自动完成。
(3)如果看了教程还是不会制作,直接在论坛搜索
二、商人介绍
1、所有商人可单独开启或关闭,可以自定义商人信息,你给每个商人的FullName名字修改成什么,启动后的控制台会输出什么。
后面所提到“神秘商人”、“自定义物品商人”都指的是newTrader。
2、每个商人可以自定义头像,建议尺寸128×128,jpg格式,直接放在mod的res目录中。图片名称必须和商人对应,为newTrader、taskTrader、contrabandTrader,否则不会生效。当目录下没有图片时,默认显示unknown商人头像。mod会根据图片名称自动查找res中和商人对应的头像,并应用。
注意更换头像图片后需要清理缓存文件,新头像才会重新加载。
多亏
3、可以自由设置每个商人使用交易币种,可在目录的config中修改每个商人的currency值,接受以下三个值的任意一个:”RUB”、”USD”、”EUR”。所有商品的价格默认以卢布为基数,选择不同币种后,游戏中的销售价格按当前卢布对美元1:0.016、卢布对欧元1:0.015进行自动切换。
4、黑名单物品的默认卢布价格采用了3.25的原ragfair的assort内价格,所以修改后的美元售价和欧元售价相对比较合理了,同时为了避免玩友们因设置items的CanRequireOnRagfair而造成违禁品商人的销售物品变化,所有违禁品目前做成了静态清单,如果还觉得个别违禁品价格不合理,可自行到清单中调整,静态清单中已加入了所有商品的中文名称,方便各位查找。
违禁品清单的路径是brotherTraders\res\contrabandList.json,其实只要你按照这个清单文件的格式修改或添加数据,想让违禁品商人卖什么你说了算,前提是items里本来有的东西,只要买不到的,都可以让他来卖。
添加数据的时候,Name中文名称只用来标识,你可以随意写,商人需要读取的数据就是id和Price价格。但是contrabandList.json文件名不要改哦,要不然商人读取不到文件。
任务品商人出售的任务品全部按5000卢布价格取值,暂时不支持自己修改价格。
5、虽然我个人并不喜欢,但应多位玩友需求,违禁品商人开启了一个全物品选项(1.4.3及以后版本),在配置文件中违禁品商人的allItems值为true时,将会出售所有物品(售价1卢布/美元/欧元),不包含任务物品。注意首次开启全物品时,因为商品数量较多,会有几秒钟的加载时间,然后才会看到所有商品。
不需要的可以保持allItems:false。
6、自定义物品可以在跳蚤市场搜索和购买,同时也可设置以神秘商人的销售价多少倍再卖给神秘商人,设置的倍率在config.json的newTrader中,有一项”purchaserPrice”,值为大于0的整数。要注意你设置卖给商人的价格越高,自定义物品在跳蚤市场上搜索购买的价格也就越高。
如果想单独为某件自定义商品设置卖给商人的价格,而不是统一的倍率,可以在自定义物品文件中添加一个可选属性”Price”,然后设置它的值就行了。
7、神秘商人支持投保,费用上浮0.01,返还几率100%;最大和最小返还时间为1小时,返还时间可以自己到\brotherTraders\extend\traders\newTrader\db\base.json中的”insurance”里修改,注意值不要为0。
1.4.6版本可以在mod配置文件中自己设定保险费用上浮和保险返还几率;
三、扩展插件部分
除了三个商人,mod还提供了以下的扩展插件(在mod的配置文件中都有单独的开关),分别用于不同的功能(修改插件:可以自己在里面写修改代码,功能插件:不要动里面的代码):
(1)bots插件 (功能插件)
路径:brotherTraders\extend\bots\bots.js
可以通过游戏的预设编辑界面,用可视化的方式(也可以导入现成的预设标准文件,按照命名规则命名就行,见 “四、mod的预设体系”部分说明),给各种类型的AI定制配枪(各种武器都支持,突击步枪、六管榴弹、喷子,你想用什么就给AI编辑什么),也可以建立对应的json文件,对AI的外形、装备、刷新物品进行定制。
1.4.4和之后的版本,mod中默认包含了bots插件,关于详细介绍,请查看链接:brotherTraders商人三兄贵 1.4.4 bots功能说明-ODDBA社区
之前的版本,如果有对应的更新包,请查看对应版本更新记录中相应的链接。
想体验和AI疯狂对枪的,可使用定制配枪功能,搭配使用
(2)configs插件 (修改插件)
路径:brotherTraders\extend\configs\configs.js
用于对游戏的configs中的各项功能配置文件进行修改,无需动游戏中的原文件
(3)globals插件 (修改插件)
路径:brotherTraders\extend\global\global.js
用于对游戏的globals.json全局配置进行修改,无需动游戏中的原文件
(4)items插件 (修改插件)
路径:brotherTraders\extend\Items\Items.js
用于对游戏的物品数据items文件进行修改,无需动游戏中的原文件
(5)locations插件 (修改插件)
路径:brotherTraders\extend\locations\locations.js
用于对locations地图文件夹下的文件进行修改,并且插件中提供了自定义出生点的功能。
以上的插件中都提供了具体的修改代码示例和详细的注释说明,如果不需要,可以自行给代码添加注释符号或者删除。
(6)inraid插件 (功能插件,v1.4.7新增)
路径:brotherTraders\extend\inraid\inraid.js
用于在战局中进行补给,你所有的独立物品(除了武器)都会在动态物资点中刷出来。
其中items插件中有安全箱和背包的占仓库大小调整,会改变默认的背包大小,需要清除缓存后显示的图片才会正常,否则会重叠。如果你删除或注释了对应的代码,下次进入游戏前要再次清除缓存,显示的图片才会恢复正常大小。
如果你不知道怎么删除,也不知道怎么注释,又不需要某个插件的功能,可以直接到配置文件中关闭它。
四、mod的预设体系
从1.4.5开始,本mod提供了更加全面的预设文件体系,并且为了不在存档和相关文件夹中保留相同预设的多个副本,当符合下面的规则时,会自动清除存档中的预设,保证存档干净:
(1)商品预设:在游戏中编辑的武器预设,保存时命名规则为:”武器名称-myset“,会自动导出到db\assort文件夹,由神秘商人来出售;
(2)全局预设:在游戏中编辑的武器预设,保存时命名规则为:”武器名称-preset-xxxx“,会自动导出到extend\globals\presetsData文件夹,成为自定义的全局预设,xxxx就是游戏中将显示的全局预设名称,这些预设武器会在跳蚤市场、战局的空投箱、固定容器等地方刷新;
(3)AI预设:在游戏中编辑的武器预设,保存时命名规则为:”武器名称-bot1-usec“,表示这把预设会指定给usec作为主武器使用,bot2表示副武器,bot3表示手枪,最后的横线部分为AI类型名称,不分大小写,但必须和游戏的bots\types下的文件名一致,不要拼写错误。
这部分预设自动导出到extend\bots\weaponPool文件夹,成为指定AI使用的武器(注意给AI定制的武器,不要使用独立物品,包括武器的配件和子弹,都不要使用独立物品)。
如果有现成的预设文件,不是在游戏预设界面中编辑的,只要是预设标准格式,并且按照上面的命名规则,也支持导入到bots插件的weaponPool文件夹,mod会同样将它们转换为AI的装备数据格式。
关于这一部分的详细信息,请查看链接:brotherTraders商人三兄贵 1.4.4 bots功能说明-ODDBA社区
不符合以上命名规则的预设,将会保留在存档中,mod不会对其作任何操作。
五、适用版本说明
已支持版本3.2.3-3.5.4。
六、更新
本MOD会长期维护更新并免费对社区玩友开放,若有觉得用的还可以,打赏送花,各凭君意。
七、病毒检测链接
八、安装注意事项
MOD安装方法:下载MOD并解压后,将得到的brotherTraders文件夹复制到游戏的user\mods 中。
(注意!解压缩软件不要使用winRAR,测试过程发现有些版本的winRAR会导致mod中的路径错误)
不要把brotherTraders中的子文件夹和子文件直接复制到user\mods 中,也不要在brotherTraders的外面再套一层目录。
九、更新记录
2022.11.26更新V1.1.0
解决了自定义物品动态id,现不需要指定物品id,物品id字段都不要了,parentId字段也不要了。
2022.11.27更新V1.2.0
支持所有商人自由选择交易币种,违禁商品可自定义价格。
2022.11.28更新V1.2.1
服务端方法默认用物品的_parent值向handbook中添加信息,会导致商品在商人的商品列表中不会进行分类展示,强迫症表示看了很难受,对这个进行了修补。无其他实质性更新。为了避免混乱,后面再更新只保留适用Aki版本的最新版。
2022.11.29更新V1.2.2
超级模块自定义物品文件的导入自动转换功能已开发完毕并实测。
支持自定义物品的皮肤功能,皮肤资源放入mod的bundles目录,在bundles.json文件的manifest字段中添加依赖路径即可完成加载。
2022.12.18更新V1.3.0
完善了物品动态id功能,即使以同一个物品为基础制作无限多的自定义物品,都可以拥有不同的id;
增加了登录时检查存档的功能。
2022.12.21 更新V1.4.0 适用于AKI-3.4.0正式版
更新内容:
1、对mod目录进行了调整,所有商人移到mod内的traders文件夹中,商人目录结构不变;
2、增加了几个修改用的插件,已经写好了框架,每个插件都提供了关闭和开启功能,这样有利于排错。
3、新增了自定义玩家(pmc)出生点的功能;
4、增加了错误提醒的控制台输出。添加新物品时,如果文件缺少必需字段,会导致服务端的CustomItemService读取物品信息错误而爆红字中断。现在mod会在加载新物品前,对其进行字段检查,如果有缺少必需字段,将在控制台用醒目的消息发出提示(如下图),并跳过有问题的物品文件,继续加载其他物品,消除了爆红字中断的情况,避免你遇到红字报错的时候不知所措,根据提示检查相应的物品文件就行了。在物品很多、有问题的物品文件很多的时候,这个功能会非常有用。
注意:如果每个文件都是这个高亮提示,说明你把超级模块的格式文件直接放在了db/items中了,请把他们移动到db/temp中后再启动服务端。
2022.12.24 更新v1.4.1 适用于AKI-3.4.0
1、自定义物品支持在跳蚤搜索、购买,如果自定义物品的原型属性“CanSellOnRagfair”和”CanRequireOnRagfair”都是false,记得在自定义物品文件里的属性要改为true;
2、可设置把所有自定义物品以神秘商人销售价格的多少倍再卖给他(对所有自定义商品全局生效,配置参数为config.json中的“purchaserPrice”);
如果想设定单个自定义物品卖给商人的价格,可在自定义物品文件中增加一个可选属性”Price”(一级属性,不要写在其他属性的括号内),写上要出售的价格;
要注意:配置文件中如果不加“purchaserPrice”,同时物品文件中也不加“Price”的时候,物品卖给神秘商人的价格就是你从他那儿购买的价格(也就是物品文件中的”fleaPriceRoubles”参数值),并且这件物品在跳蚤市场购买的价格也是以这个价格为基础上下波动的,所以你设置卖给商人的价格越高,从跳蚤购买的价格也就越高。
3、自定义物品商人支持保险功能;
4、自定义物品商人解锁了全部服装。
2022.12.24 更新v1.3.2 适用于AKI-3.2.3 – 3.3.0
1、package.json的aki版本号默认为3.3.0,其他版本需手动更改;
2、AKI-3.3.0以下的版本要把extend\configs\configs.js中设置天气的代码删除,因为其中的修改方法仅对3.3.0有效;
3、此版本是适用于3.2.3-3.3.0的最后一个版本,未来不会再更新,如果有功能上的更新,会采用更新包的方式。
2022.12.25 v1.4.1 功能性更新
1、自动出售预设武器:
在游戏中编辑并保存的预设武器,退出游戏后,会自动在mod的db\assort中产生刚才的预设商品文件,文件名就是你在游戏中保存的预设名称。如果在db\assort中已经存在同名文件,则不会执行。
再次进入游戏(需要关闭服务端然后重新启动,让它加载新的数据),神秘商人会出售这件预设武器,价格在1万~5万卢布之间随机(因为我不知道你希望花多少钱来购买它,只好自作主张先给它一个随机价格)。无需再自己手动编辑预设文件了。要启用这个功能,config配置文件的参数 “weaponBuilds”:true 才会生效
2022.12.26 v1.4.1 功能性更新
1、增加了对直接替换式物品检测和自动转换的支持;
2、超级模块物品文件如果缺少”CreditsPrice”参数,在转换时会一律让它的价格先等于10,确保转换能够顺利进行,如果你在商人那里购买时发现这个奇怪的价格,到brotherTraders\db\items中找到它,修改它的”fleaPriceRoubles”就好了。
2022.12.30 v1.4.1 重要提醒!
在极少数情况下,某些特定的独立物品会导致服务端BotEquipmentModPoolService报错,一般为下面的信息:
RangeError: Maximum call stack size exceeded
at BotEquipmentModPoolService.generatePool (C:\snapshot\project\obj\services\BotEquipmentModPoolService.js)
因为从3.4.0开始,服务端新增了给bot创建武器配件池的类BotEquipmentModPoolService,其中的一个方法使用递归查找部件Slot,在偶然情况下,某些独立物品导致这个方法的递归语句不断循环执行,当递归的层数过多,就会耗死有限的栈容量,导致栈溢出的报错,这些物品可能是类似全口径、Slot套娃拼接Slot等,但又不一定必然引起报错(比如关闭了pmc时就不会报错),3.3.0及以前的版本中独立物品也不会发生这个报错。
此问题已经在新的1.4.1中(已包含以上更新包)修复,因为重写了服务端类方法,使用前需要把服务端中未修改过的items文件复制到brotherTraders/res目录中,1.4.1中默认已包含3.4.0的items文件,3.4.1使用前需自己复制文件,不过3.4.0和3.4.1的items应该没什么区别,请自行斟酌。
2023.1.12 v1.4.2(适用于3.5.0血色边缘)
已解决物品引起的BotEquipmentModPoolService报错,并同步更新了v1.4.1(已含有全部更新包内容)
需要把当前使用3.5.0服务端中未修改过的items文件复制到brotherTraders/res目录中
2023.1.13
修复v1.3.2中的部分扩展插件开关未生效问题;
增加了商人出售自定义预设武器功能
2023.1.26 更新包20230126 (v1.4.1、v1.4.2测试版)
1、增加了通过编辑预设武器界面给AI配枪的功能;
2、违禁品商人可以根据需要选择为全物品商人(不含任务物品);
更新包解压后,将解压出的brotherTraders文件夹复制到user/mods中覆盖原有的brotherTraders并替换相同文件(建议在覆盖前先备份当前的mod)。
3、下载更新包前,请详细阅读: brotherTraders 更新包使用说明-ODDBA社区
2023.02.04 更新包20230204(v1.4.1、v1.4.2测试版)
1、内容和20230126一样,修复了:安装更新包20230126后,服务端默认对AI的武器配件限制、权重和随机化设置造成的错误消息;
2、使用方法,请详细阅读: brotherTraders 更新包使用说明-ODDBA社区
3、更新包解压后,将解压出的brotherTraders文件夹复制到user/mods中覆盖原有的brotherTraders并替换相同文件(建议在覆盖前先备份当前的mod)。
2023.02.13 v1.4.3 (适用于3.5.0正式版)
更新了服务端重写的接口;
在globals插件中解锁了武器的全部预设(前提是在系统中某个武器有多个预设信息),你将在预设编辑界面里、跳蚤市场、各种刷武器的容器中、地面物资刷新点中能够找到更多的不同武器,而不是一种武器下只有一把简单的基础预设;
2023.02.18 更新包20230218(v1.4.3适用)
重写了bots插件:在游戏的预设界面编辑保存的武器,可以通过预设名称分别指定给不同的ai,每种ai将会拥有各自不同的武器池。
更新神秘商人的自定义物品功能,修复1个问题:自定义战术配件只能安装在多导轨护木的其中一个导轨上;
更新自定义物品自动加入pmc刷新物品黑名单。
更新包说明:brotherTraders [bots插件] 更新包20230218 说明-ODDBA社区
2023.03.01 更新v1.4.4(适用于3.5.0正式版)
完善了bots插件功能,可以通过bots插件,在游戏预设界面编辑给ai定制武器,也可以建立json文件对各种bot进行修改,例如:血量、外形、装备、刷新物品、难度等。
压缩包内bots插件下已经含有三种bot的示例文件,如果不需要,可以删掉,然后自己给bot编辑武器装备。
bots插件说明:brotherTraders商人三兄贵 1.4.4 bots功能说明-ODDBA社区
请注意!下载后先看看config配置文件中的自定义出生点”playerSpawnPoint”是否打开了,可能被我打开了 ,我都忘记我为什么要打开它了 ,法克。但里面有的地图选项中的出生点是空的,请自己把功能关闭,它下面”enable”值true改为false就是关闭,或者补全出生点后再打开 。
2023.03.07 更新v1.4.5 (适用于3.5.1-3.5.2)
1、更新了出生点功能的执行逻辑,当配置文件中playerSpawnPoint里面的地图名称数组中没有填写任何出生点坐标时,不会在该地图中执行,避免了空值导致不能正常进战局的错误;
2、考虑到添加自定义全局预设的需求,加入了存档中的预设自动写入globals插件的预设文件夹功能,并且当符合命名规则时,写入了mod中的对应文件夹后,将自动清除存档中的预设信息以保持存档干净。
2023.03.19 更新v1.4.6 (适用于3.5.1-3.5.3)
1、3.5.1版本开始,3个商人的位置变动了,这并不是我本人修改的,游戏默认是按照商人id的升序排列,因此3个商人排在游戏商人的后面,现在变动位置了我也不知道原因,但也不影响使用,所以之前未进行修正。不过为了照顾老用户的习惯,还是重新修正了3个商人的位置,把他们的id改大了。如果用了旧存档,请在存档中搜索以下内容并手动更改:
“5a7c2eca46aef8120221126a” 改为 “9f7c2eca46aef8120221126a”
“5a7c2eca46aef8120221126b” 改为 “9f7c2eca46aef8120221126b”
“5a7c2eca46aef8120221126c” 改为 “9f7c2eca46aef8120221126c”
开新档,不需要上面的操作。
2、测试了3.5.3版本。
2023.03.21 更新补丁( 适用于v1.4.4、v1.4.5、v1.4.6)
更新内容说明:
brotherTraders 20230321更新补丁 适用于v1.4.4、v1.4.5、v1.4.6-ODDBA社区
2023.4.1 更新v1.4.7(适用于3.5.1-3.5.4)
1、增加了一个新插件inraid,默认关闭,需要可自己打开,详细说明见:brotherTraders V1.4.7 更新说明-ODDBA社区
2、测试了3.5.4
2023.4.30 更新v1.4.8(适用于3.5.1-3.5.5)
1、新增了战局结束后 pmc 消息文本的自定义功能(3.5.2及以上版本才有效),在 res/pmcMessage.json 中可以定义消息内容,玩玩梗;近日也会把这个功能移植到远古大废物的AI优化上。
2、bots 插件启用后,给 bot 定义武器生成 inventory.json 和 modsChances.json 时,同时也会生成下面的文件:
appearance.json 可以修改 bot 的外形、衣服
botName.json 可以修改 bot 的名字
equipChances.json 可以修改 bot 的各部分装备几率
generation.json 可以修改 bot 战利品最小和最大数量
items.json 可以修改 bot 弹挂、口袋、背包等容器中的刷新物资
3、以上文件中的参数值都是游戏中默认值,可以根据需要修改,也可以什么都不改,随便你自己的喜好。
其他部分的修改,可以自己在 bots/botsData 的对应文件夹里建立 json 文件,方法参照 https://sns.oddba.cn/59320.html 帖子的说明。
十、拓展教程(持续更新中)
1)3.4.0游戏选择中文后,服装没有名字了怎么解决?(点击问题直达)
4)关于报错“Items must not be empty”的说明(点击直达)
我的其他MOD(最新版本3.5.4可用,需自行更改package中的aki版本字段)
【AKI3.2.3-3.5.0】 GiantEgg 豪华彩蛋 MOD (内附服务端彩蛋点数据教程和独家收集汇总数据)-ODDBA社区
【AKI3.2.3-3.5.0】 自由设置固定容器刷新物资 MOD-ODDBA社区
MOD下载链接在下面,回复可见
隐藏内容需要回复可以看见
鉴于每次更新都要编辑帖子,有点麻烦,我又懒,加之该说的注意点都在帖子里了,所以mod在能用的情况下就不更新了。
如果不适用新版本,会更新mod,并继续编辑帖子增加版本记录。
目前v1.4.7可以在3.5.5使用
666666666666666666666666
666666
66666
666
支持!!
666
666
66666666
666666666