MOD教程(0.E)-1

适用版本 0.E-3稳定版
指南类型 mod教程

生成你的mod文件夹


创建一个文件夹

打开游戏目录,找到\data\mods,这里便是CDDA游戏中所有mod的存放位置。既然要做自己的mod,那么自己就在这个目录下生成一个文件夹吧。

比如新建一个名为moyu的文件夹。

可是现在只是一个普普通通的文件夹,里面空无一物,这就需要我们在里面新建一个我称之为Mod配置信息的json文件。好,我们新建一个名为modinfo.json的文件。

接下来就是写下你的mod信息了,这是你伟大计划的第一步,激不激动?

关于编辑json文件呢,可以用记事本编辑,看起来不大舒服就是,这里我推荐notepad++来编辑json文件。

好的,进入modinfo.json文件,这里还是一片空白,别慌,这是有格式的,把格式复制上去,再进行自我创作就可以了。

代码放上

  [
  {
    "type": "MOD_INFO",
    "ident": "MOYU",  //你的mod标识
    "name": "摸鱼",  //在游戏中你的mod名字
    "authors": [ "星界棱镜子" ],  //作者
    "maintainers": [ "星界棱镜子" ],  //维护人员
    "description": "天天摸鱼身体棒",  //介绍
    "category": "other",  //mod分类,分类有很多种,大家可以去官网搜索,我就不一一赘述了
    "dependencies": [ "dda" ],  //依赖项,也称之为前置mod
    "obsolete": false  //是否禁用
  }
  ]

好的,打开游戏看看,在mod栏的最下方,一个名叫摸鱼的mod已经出现,不过它现在还没有一点内容…

#添加一个物品

内容空空怎么行,我们马上为游戏添加一个自己想要的物品。

在添加物品前,我们先规划一下,我们要添加什么物品,这个物品有什么用等等问题。当然了,我这个摸鱼mod当然不需要什么实用性,我们来添加一个叫【盒里】的物品。

还是老规矩,找到模板,我们可以把目标投向石头。

我们找到石头的代码。这里我们可以借助工具CDDA物品浏览器这个浏览器可以浏览CDDA中各个物品的信息,也可以查看物品的json信息,不过可不能直接复制下来,浏览器的json信息跟游戏的json信息还是有点出入的。

我们搜索石头,通过点击下方的 查看 JSON可以看见(节选部分)

    "type": "AMMO", //类型
    "id": "rock",  //物品id
    "symbol": "*",  //物品外观
    "color": "light_gray",  //颜色
    "name": { "str": "石头"},  //名字,可以改成"name": { "str": "石头", "str_pl": "一坨石头"},str_pl就是复数时的名字

好,现在我们知道了石头的id是rock,那么该怎么获取其代码呢,我推荐使用notepad++的文件搜索功能,按住ctrl+F呼出搜索菜单,选中文件搜索选卡,在查找目标中填入rock,目录选中你的游戏文件的\data\json\items文件夹,如何进行文件搜索,很快就可以找到石头在什么位置。

经过几秒的搜索,我们发现石头位于\data\json\items\ammo.json文件内,打开文件,找到id为rock的物品,获取其代码。

  {
    "type": "AMMO",  //类型,这里的AMMO指的是弹药
    "id": "rock",  //物品id
    "symbol": "*",  //物品外观
    "color": "light_gray",  //颜色
    "name": { "str": "rock" },  //名字
    "description": "A rock the size of a baseball.  Makes a decent melee weapon, and is also good for throwing at enemies.",  //描述
    "category": "spare_parts",  //分类
    "material": "stone",  //材质
    "ammo_type": "rock",  //弹药类型
    "flags": [ "TRADER_AVOID" ],  //flag属性
    "weight": "657 g",  //重量
    "volume": "250 ml",  //体积
    "bashing": 7,  //炖鸡(不是)钝击
    "damage": 7, //伤害
    "range": 10,  //射程
    "dispersion": 14, //散射
    "loudness": 0,  //产生噪音
    "to_hit": -2,  //手持时击打伤害
    "effects": [ "NEVER_MISFIRES", "NON-FOULING", "RECOVER_80" ],  //子弹效果
    "qualities": [ [ "HAMMER", 1 ] ]  //物品工具属性
  }

好的,我们如法炮制,在自己的mod文件夹中新建一个items.json文件,将石头的代码复制进来,对代码进行DIY一下,变成了这个样子

{% note warning %}

警告

json文件的起始和末尾要分别加上[和],否则游戏会报错。
{% endnote %}

[
{
    "type": "AMMO",
    "id": "zhehelima",
    "symbol": "*",
    "color": "light_gray",
    "name": { "str": "盒里" },
    "description": "这合理吗",
    "category": "spare_parts",
    "material": "stone",
    "ammo_type": "rock",
    "flags": [ "TRADER_AVOID" ],
    "weight": "1 g",
    "volume": "1 ml",
    "bashing": 1,
    "damage": 1,
    "range": 10,
    "dispersion": 14,
    "loudness": 0,
    "to_hit": -2,
    "effects": [ "NEVER_MISFIRES", "NON-FOULING", "RECOVER_80" ],
    "qualities": [ [ "HAMMER", 1 ] ]
  }
]

{% note warning %}

警告

注意上方的[和]
{% endnote %}

好的,这样一个盒里就添加完毕了。这个盒里拥有一级捶打属性…

你可能不太满意,这样子的物品毫无作用,当然,你可以添加枪械,药品,机器人,无人机等等乱七八糟的,但饭要一口口吃,先做个简单的练练手嘛。

 

头像
SmartCat
2 条评论
头像
kerak 2021年8月12日
| | |
支持
SmartCat
SmartCat 2021年8月6日
| | |

非标准B测试

😎