• 注册
  • 一般交流 一般交流 关注:1801 内容:302

    [MGMod] 独立物品兑换配方问题:单物品OK,多物品无效

  • 查看作者
  • 打赏作者
  • 当前位置: ODDBA社区 > MG-Mod专区 > 一般交流 > 正文
  • 一般交流
  • 圆转纯熟

    大家好,我在使用 MGMod 制作独立物品时遇到了兑换配方的问题,想请教一下。

    一、背景

    我用 MGMod 的独立物品机制(在 user/mods/MGMod/db/items/ 下放 JSON 文件)制作了一批【浓缩型】针剂,兑换配方为 10个原版对应针剂 换 1个浓缩版。

    单物品兑换的工作格式(以【浓缩】回血针为例):

    json

    {

      “items”: { … },

      “price”: 10,

      “currency”: “5c0e534186f7747fa1419867”,  // 原版 eTG-change 的 ID

      …

    }

    这种写法在 Therapist 处显示为 “需要仓库里拥有:10 × eTG-change”,完全正常工作。

    二、问题描述

    我想把【浓缩】止血针和【浓缩】耐力针改为多物品兑换:

    【浓缩】止血针:10 × Zagustin + 10 × 人造血

    【浓缩】耐力针:10 × SJ6 + 10 × 曲马多

    我参照 Therapist 原版 assort.json 中的 barter_scheme 格式,在独立物品 JSON 中添加了 assort、barter_scheme、loyal_level_items 等字段。

    修改后的完整文件(以止血针为例):

    json

    {

      “items”: {

        “newId”: “8ef5b2ef000000000000001b”,

        “cloneId”: “5c0e533786f7747fa23f4d47”,

        …

      },

      “price”: 10,

      “description”: { … },

      “toTraderId”: “54cb57776803fa99248b456e”,

      “isSold”: true,

      “loyal_level”: 1,

      “assort”: [

        {

          “_id”: “8ef5b2ef000000000000001c”,

          “_tpl”: “8ef5b2ef000000000000001b”,

          “parentId”: “hideout”,

          “slotId”: “hideout”,

          “upd”: {

            “UnlimitedCount”: true,

            “StackObjectsCount”: 9999999,

            “BuyRestrictionMax”: 100,

            “BuyRestrictionCurrent”: 0

          }

        }

      ],

      “currency”: “5449016a4bdc2d6f028b456f”,

      “barter_scheme”: {

        “8ef5b2ef000000000000001b”: [

          [

            { “count”: 10, “_tpl”: “5c0e533786f7747fa23f4d47” },

            { “count”: 10, “_tpl”: “637b6251104668754b72f8f9” }

          ]

        ]

      },

      “loyal_level_items”: {

        “8ef5b2ef000000000000001b”: 1

      },

      “Buffs”: { … },

      “HandbookId”: “…”

    }

    三、实际效果

    修改后,Therapist 处显示的是:

    需要仓库里拥有:卢布 10/10

    而不是我期望的 10 × Zagustin + 10 × 人造血。

    其他使用单物品兑换的浓缩针(回血针、止痛针、负重针、能量恢复针)全部正常。

    四、我的分析

    MGMod 的独立物品加载机制:似乎只读取 price 和 currency 字段作为兑换配方,assort、barter_scheme、loyal_level_items 等字段被完全忽略。

    Therapist 原版文件:我在 SPT_Data/database/traders/54cb57776803fa99248b456e/assort.json 中看到了完整的 barter_scheme 结构,并且原版游戏确实支持多物品兑换(例如:1金链 + 1金表 换 某物品)。

    五、我的疑问

    在不添加 MG 商人的情况下,仅通过 user/mods/MGMod/db/items/ 目录放置独立物品 JSON,是否原生支持多物品兑换?如果不支持,是否有其他方式实现(如修改某个配置文件)?

    如果添加 MG 商人(即在 MGMod/extend/MGTrader/traders/ 目录下配置商人),是否可以在 MG 商人的 assort.json 中通过 barter_scheme 实现多物品兑换?如果可以,具体配置方式和路径是怎样的?

    希望有经验的大佬帮忙解答,感谢!🙏

    📎 附:环境信息

    SPT 版本:4.0.13

    MGMod 版本:1.2.0

    服务器日志:无报错,独立物品显示“已添加7个独立物品”
    [MGMod] 独立物品兑换配方问题:单物品OK,多物品无效[MGMod] 独立物品兑换配方问题:单物品OK,多物品无效

    请登录之后再进行评论

    登录
    MG-Mod专区
  • 今日 0
  • 内容 1381
  • 关注 1801
  • 聊天
    关注 0

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

    捐助我们

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