• 注册
  • Mod制作教程 Mod制作教程 关注:1758 内容:74

    [SPT4.0]制作SPT4.0独立物品mod教程

  • 查看作者
  • 打赏作者
  • 1
  • Mod制作教程
  • 初来乍到

    搭配先前发布的 编译一个SPT4.0mod的教程 食用更佳

    这几天翻翻论坛帖子,发现不少独立物品mod都要替换templates/items.json,略显不优雅了

    还是先感谢大家的奉献,大家的点子都很棒。

    我们就从SPT团队的mod例程18入手,教大家如何制作一个独立物品mod

    [SPT4.0]制作SPT4.0独立物品mod教程

    我们只需要这两个文件就够了

    [SPT4.0]制作SPT4.0独立物品mod教程

    随便改一下项目名字文件名字,然后.csproj我们就不用动了

    SPT团队给的例子是一把能吃12铅径霰弹的MP18,那我们做一把1000射速的全自动adar。


    我们先看文件开头

    [SPT4.0]制作SPT4.0独立物品mod教程

    namespace的名称改一下就好

    [SPT4.0]制作SPT4.0独立物品mod教程

    ModMetadata中就是mod的信息了,只要注意ModGuid要选一个不会和其他mod重复的名字,以免发生冲突,其他部分按照实际填写。如果有用到自定义模型的mod要将IsBundleMod设置为true。


    接下来是一个Injectable的公共类,在这里我们关注OnLoad这个回调,制作独立物品只需要用到这个回调。

    [SPT4.0]制作SPT4.0独立物品mod教程

    然后在这里我们主要关注几个值

    [SPT4.0]制作SPT4.0独立物品mod教程

    1. 你new出来的NewItemFromCloneDetails的变量名,确保每个物品一个不要和代码中其他物品的重复

    2. ItemTplToClone,就是要拷贝的原物品的MongoId。这里注意,要加上using SPTarkov.Server.Core.Models.Common;因为MongoId定义在这里,而例程里面没包含其实不用new MongoId也可以,直接写字符串

    3. ParentId,父节点ID,在这里我用突击步枪的5447b5f14bdc2d61278b4567,这个可以在tarkynator之类的网站查到,或者自己翻items.json

    4. NewId,不能和游戏内已有的和其他mod内任何物品id、节点id重复,建议使用在线工具生成

    [SPT4.0]制作SPT4.0独立物品mod教程

    接下来Locales里就是物品的名称和描述,这些和先前版本的mod还有items.json里都差不多,只是格式不一样

    接下来OverrideProperties里就是我们要修改的和克隆的物品相区别的属性了

    [SPT4.0]制作SPT4.0独立物品mod教程

    SPT团队给的例子就是将Chambers中子弹的Filter改为12铅径的各种弹药种类的id,但它们在这里犯了个错误,Parent中应该填写武器的id

    [SPT4.0]制作SPT4.0独立物品mod教程

    我们将这里改成我们想要的属性就可以了。这里我改了1000射速和增加了全自动发射模式。

    要注意的是一些键值的名称和items.json中是有所区别的

    主要的变化就是,小驼峰命名的键值几乎都改为了大驼峰命名(比如bFirerate -> BFireRate),还有一些缩写改为了全称,前缀下划线删去(比如_props -> Properties 、 _proto -> Prototype),以及_parent变成ParentId之类的。

    [SPT4.0]制作SPT4.0独立物品mod教程

    最后这里就是给服务端创建物品的指令,然后给服务端返回完成。

    然后做完这些,我们直接编译,放到mod文件夹

    [SPT4.0]制作SPT4.0独立物品mod教程

    注意服务端加载后有没有报错,依据log排除问题

    不出意外我们的独立物品就成功添加到游戏了

    [SPT4.0]制作SPT4.0独立物品mod教程


    附件就是这次修改的源码,给大家做个参考

    item_example.zip
    2.49 KB,下载次数:1[记录]


    另外,看了一下梦城大佬的【服务端mod教程】【4.0】独立物品加载示例 ,发现DreamoLoader确实不错的 [s-13] ,基于json读取物品配置,比硬编码在代码里要方便多了,大家也可以去尝试一下

    炉火纯青
    打赏了1金币
    回复

    请登录之后再进行评论

    登录
    离线版教程
  • 今日 2
  • 内容 1029
  • 关注 1758
  • 聊天
    关注 9

    【招募】GRIFFIN TKF项目开工 期待你的加入 || 你是否想加入格里芬书写自己与人形的故事

  • 签到
  • 任务
  • 发布
  • 模式切换
  • 偏好设置
  • 帖子间隔 侧栏位置: