• 注册
  • Mod制作教程 Mod制作教程 关注:1549 内容:60

    服务端模组教程(2)修改数据库

  • 查看作者
  • 打赏作者
  • 1
  • Mod制作教程
  • 渐入佳境

    教材ModExamples/mod.ts 位于 b3d26a74ca11bb737b09287679f85f4eba256744 – ModExamples – SPT-AKI Development zone (sp-tarkov.com)

    我们常常会修改Aki_Data\Server\database(configs下次讲)里的json格式文件来改进游戏体验

    数据库启动后,所有的json都会被读入内存被服务端所用。那么我们可以在这一阶段(读入内存后)来修改各项数据,效果后修改文件是一样的,但是文件本身不会有变动。

    14-18行我们获取了整个数据库,并起名tables,这就是database里的所有的json转化成的对象了。

    那么怎么修改呢?就是按照文件夹和文件里的层级用英文句号连起来,如果涉及到开头数字、带有空格之类的,可以用英文双引号加方括号。

    25-28行把ledx的“可以在跳蚤卖”改成“是”。这个示例里把它拆开来写了,那么连起来就是

    tables.templates.items[“5c0530ee86f774697952d952“]._props.CanSellOnRagfair = true;

    对应的就是

    \Aki_Data\Server\database\templates\items.json

    ……

    5c0530ee86f774697952d952“: {

        “_id”: “5c0530ee86f774697952d952”,

        “_name”: “Item_barter_medical_transilluminator”,

        “_parent”: “57864c8c245977548867e7f1”,

        “_props“: {

          ………………

          “CanSellOnRagfair“: true,

          ………………

        },

        “_proto”: “59e3606886f77417674759a5”,

        “_type”: “Item”

      },

    …………

    (本来就是能卖,等于没改)

    那么这就是访问数据库对象的方法了,接下来你就可以通过一些简单的js/ts来批量地修改各种属性了。就像3号例子那样。

    如果你觉得50行那种看的不太懂,也可以用更粗暴地方法来修改所有弹匣的属性

    一般一类物品都有同样的_parent或者proto属性

    对于所有物品中,_parent是某个值的,把它的某个属性改为某个值

    这里举了items的例子,不光是它,所有的database里的数据都可以这样修改


    课后作业

    服务端模组教程(2)修改数据库

    通过服务端模组,把图里的任意一行字改为“俄国原神!启动!”

    圆转纯熟

    大佬,请问item.json文件里类似于每段结尾的代码:"_proto": “xxx”是什么意思呢,有什么作用在这里

    回复

    请登录之后再进行评论

    登录
    离线版教程
  • 今日 0
  • 内容 935
  • 关注 1549
  • 聊天
    关注 73

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

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