搭配先前发布的 编译一个SPT4.0mod的教程 食用更佳
这几天翻翻论坛帖子,发现不少独立物品mod都要替换templates/items.json,略显不优雅了
还是先感谢大家的奉献,大家的点子都很棒。
我们就从SPT团队的mod例程18入手,教大家如何制作一个独立物品mod
我们只需要这两个文件就够了
随便改一下项目名字文件名字,然后.csproj我们就不用动了
SPT团队给的例子是一把能吃12铅径霰弹的MP18,那我们做一把1000射速的全自动adar。
我们先看文件开头
namespace的名称改一下就好
ModMetadata中就是mod的信息了,只要注意ModGuid要选一个不会和其他mod重复的名字,以免发生冲突,其他部分按照实际填写。如果有用到自定义模型的mod要将IsBundleMod设置为true。
接下来是一个Injectable的公共类,在这里我们关注OnLoad这个回调,制作独立物品只需要用到这个回调。
然后在这里我们主要关注几个值
-
你new出来的NewItemFromCloneDetails的变量名,确保每个物品一个不要和代码中其他物品的重复
-
ItemTplToClone,就是要拷贝的原物品的MongoId。这里注意,要加上using SPTarkov.Server.Core.Models.Common;因为MongoId定义在这里,而例程里面没包含其实不用new MongoId也可以,直接写字符串
-
ParentId,父节点ID,在这里我用突击步枪的5447b5f14bdc2d61278b4567,这个可以在tarkynator之类的网站查到,或者自己翻items.json
-
NewId,不能和游戏内已有的和其他mod内任何物品id、节点id重复,建议使用在线工具生成
接下来Locales里就是物品的名称和描述,这些和先前版本的mod还有items.json里都差不多,只是格式不一样
接下来OverrideProperties里就是我们要修改的和克隆的物品相区别的属性了
SPT团队给的例子就是将Chambers中子弹的Filter改为12铅径的各种弹药种类的id,但它们在这里犯了个错误,Parent中应该填写武器的id
我们将这里改成我们想要的属性就可以了。这里我改了1000射速和增加了全自动发射模式。
要注意的是一些键值的名称和items.json中是有所区别的
主要的变化就是,小驼峰命名的键值几乎都改为了大驼峰命名(比如bFirerate -> BFireRate),还有一些缩写改为了全称,前缀下划线删去(比如_props -> Properties 、 _proto -> Prototype),以及_parent变成ParentId之类的。
最后这里就是给服务端创建物品的指令,然后给服务端返回完成。
然后做完这些,我们直接编译,放到mod文件夹
注意服务端加载后有没有报错,依据log排除问题
不出意外我们的独立物品就成功添加到游戏了
附件就是这次修改的源码,给大家做个参考
另外,看了一下梦城大佬的【服务端mod教程】【4.0】独立物品加载示例 ,发现DreamoLoader确实不错的
,基于json读取物品配置,比硬编码在代码里要方便多了,大家也可以去尝试一下

![[SPT4.0]制作SPT4.0独立物品mod教程](https://ods5.oddba.cn/user_files/199907/screenshot/44652795_1761511283.png)
![[SPT4.0]制作SPT4.0独立物品mod教程](https://ods5.oddba.cn/user_files/199907/screenshot/67044956_1761511373.png)
![[SPT4.0]制作SPT4.0独立物品mod教程](https://ods5.oddba.cn/user_files/199907/screenshot/60309482_1761511658.png)
![[SPT4.0]制作SPT4.0独立物品mod教程](https://ods5.oddba.cn/user_files/199907/screenshot/77535125_1761511886.png)
![[SPT4.0]制作SPT4.0独立物品mod教程](https://ods5.oddba.cn/user_files/199907/screenshot/6758428_1761512042.png)
![[SPT4.0]制作SPT4.0独立物品mod教程](https://ods5.oddba.cn/user_files/199907/screenshot/44105391_1761512927.png)
![[SPT4.0]制作SPT4.0独立物品mod教程](https://ods5.oddba.cn/user_files/199907/screenshot/77312450_1761514053.png)
![[SPT4.0]制作SPT4.0独立物品mod教程](https://ods5.oddba.cn/user_files/199907/screenshot/75363095_1761513040.png)
![[SPT4.0]制作SPT4.0独立物品mod教程](https://ods5.oddba.cn/user_files/199907/screenshot/84527220_1761513313.png)
![[SPT4.0]制作SPT4.0独立物品mod教程](https://ods5.oddba.cn/user_files/199907/screenshot/72556063_1761513875.png)
![[SPT4.0]制作SPT4.0独立物品mod教程](https://ods5.oddba.cn/user_files/199907/screenshot/92614842_1761514274.png)
![[SPT4.0]制作SPT4.0独立物品mod教程](https://ods5.oddba.cn/user_files/199907/screenshot/60243818_1761514416.png)








