游戏之家 > 游戏库

石炉 MOD制作教程 职业物品特效MOD制作 MOD怎么用

石炉 MOD制作教程 职业物品特效MOD制作 MOD怎么用

基础知识:

我们首先讲一讲制作mod所使用的软件还有游戏的基本框架.

1.游戏的基本框架:

这游戏的模型是.qb格式,是利用qubicle软件制作,跟以往的C4D和3Dmax等贴图模型软件,是不一样的。.qb模型是一种体素模型。

这游戏 引擎是C++和OpenGL。大多数都是Lua脚本。GUI是写在HTML / JS。文本和属性是json.

2.需要的软件:

模型制作需要qubicle软件,模型文件后缀名是: .qb (正版需要购买,免费版功能不全,另有软件代替,模型制作教程会讲到)

游戏脚本文件推荐用Notepad++软件打开,游戏文件包含有:.json .lua .html .less .js .

3.认识游戏文件的框架:

该游戏的主文件在:X盘:Stonehearth v0.1.0r240mods 文件夹里,

"stonehearth.smod"文件就是主要的游戏文件,该文件实质是压缩文件,可以用压缩软件打开,也可以修改扩展名为.zip后再打开.

打开后,我们认识一些文件夹的作用:

-ai------------------游戏AI

-call_handlers-------控制人物的脚本

-components----------存放游戏的组件

-data----------------游戏数据存放地方

-docs----------------说明文件

-entities------------游戏模型存放的地方

-jobs----------------游戏职业的文件

-lib-----------------游戏的一些脚本

-locales-------------游戏的大部分文本

-mixins--------------插入游戏内容放置的地方

-release_notes-------更新日志

-renderers-----------游戏渲染器

-scenarios-----------情景剧情文件

-services------------游戏服务器

-ui------------------游戏的界面文件

-manifest.json-------游戏指引文件

其中有一些文件我们不需要了解太多,后面会讲到我们需要的文件.


如何制作简单的mod:

我们该如何在游戏中添加自己做的模型呢:

我们先定下一个目标,我们要制作一个添加装饰物的mod,这个装饰物的名字是:xxx

第一步:

我们先新建一个文件夹 YYYmod (YYY是自己定的)

在里面按照这样子建立文件夹和文件:

-YYYmod

----recipes

-------xxx_recipes.json

----mixins

--------recipes.json

----entities

-------xxx.json

-------xxx.qb

-------xxx.png

----manifest.json

第二步:

建立好后,我们先打开manifest.json文件 复制粘贴这段代码

{

"info" : {

"name" : "YYY Mod",

"version" : 1

},

"aliases" : {

"YYYmod:decoration:xxx" : "file(entities/decoration/xxx)"

},

"mixintos" : {

"/stonehearth/jobs/carpenter/recipes/recipes.json" : ["file(mixins/recipes.json)"]

}

}

注释:

1."info"是信息,填写你的mod的信息,名字和版本号什么的.

2."aliases"作用是为你的项目和物体命名,就是赋予它一个ID.

前面就是该物体的ID,后面是它存放的地方.

(decoration)是装饰的意思,多了这个我们更好的将物体分类,就好像你是几班的某某.

这个英语,要看你给该物体分什么类,还有家具furniture等等,以后再说.

3."mixintos"作用是将某段语句插入到某个文件中,

上面说的就是,将"file(mixins/recipes.json)里的内容

插入到"/stonehearth/jobs/carpenter/recipes/recipes.json"

前面是原版的路径,后面是我们mod的路径.意思是把该物体合成配方添加

到木匠的工作台的合成配方,carpenter是木匠,可以改为其他职业.第三步:

好了,我们编写好了指引文件,接下来要编写,添加该物体的合成配方到木匠的工作台上:

我们打开 YYYmod/mixins/recipes.json 复制粘贴这段代码

{

"craftable_recipes" : {

"furniture" : {

"recipes" : {

"xxx" : {

"recipe" : "file(/recipes/xxx_recipe.json)"}

}

}

}

}

注释:

1."craftable_recipes"是工作台合成配方,这个不用管,是固定的.

2."furniture"是工作台的合成分类,可以修改,一般用回原版的分类,也可以自定义一个.

3."recipes"是配方,后面跟着的就是你要添加的配方.xxx是物体的名字.

4."recipe" : "file(/recipes/xxx_recipe.json)"}是该物体的合成配方存放的路径.

第四步:

编写xxx物体的合成配方:

我们打开 YYYmod/recipes/xxx_recipes.json 复制粘贴这段代码

{

"type":"recipe",

"work_units" : 3,

"recipe_name" : "xxx",

"description" : "--------------------",

"flavor" : "---------!!!!",

"portrait" : "/YYYmod/entities/decoration/xxx/xxx.png",

"ingredients": [

{

"material" : "wood resource",

"count" : 1

}

],

"produces": [

{

"item":"YYYmod:decoration:xxx"

}

]

}

注释:

1."type" 类型

2."work_units" 制作该物体的时间,3下

3."recipe_name" 显示在合成界面上的名字.也就是物体的名字.

4."description" 物体的描述文字,作用和用途.

5."flavor" 特别的描述,类似后缀描述.

6."portrait" 显示在合成界面上的图片,后面是图片存放的路径.

7."ingredients" 材料,后面跟着的是需要合成的材料和数量.

8."wood resource" 这里可以替换的,石头是"stone resource".

9."produces" 产物. 而"item":"YYYmod:decoration:xxx"这个就是前面提到的ID.

第五步:

编写物体的属性和数据:

打开 YYYmod/entities/decoration/xxx/xxx.json 复制粘贴这段代码

{

"type" : "entity",

"mixins" : "file(xxx_ghost.json)",

"components": {

"stonehearth:entity_forms" : {

"iconic_form" : "file(xxx_iconic.json)",

"ghost_form" : "file(xxx_ghost.json)",

"placeable_on_ground" : true

},

"region_collision_shape" : {

"region": [

{

"min" : { "x" : -1, "y" : 0, "z" : 0 },

"max" : { "x" : 2, "y" : 2, "z" : 1 }

}

]

}

},

"entity_data" : {

"stonehearth:net_worth" : {

"value_in_gold" : 50,

"rarity" : "common",

"shop_info" : {

"buyable" : true,

"sellable" : true,

"shopkeeper_level" : 1,

"shopkeeper_type" : "caravan"

}

}

}

}

注释:

1."type" 物体的类型,entity是实体

2."mixins" : "file(xxx_ghost.json)" 意思是该物体混入到某个属性里,不用管.

3."stonehearth:entity_forms" 这里是设置物体在仓库时和虚影时分别的模型,

"iconic_form"是物体在仓库时的模型,"ghost_form"是物体虚影时的模型.后面的是相应的路径.

"placeable_on_ground" : true,表示该物体可以放在地方,"placeable_on_wall" 是在墙上,可以替换

4."region_collision_shape"设置模型的碰撞体,x y z 数据自己填,要看自己的模型大小来调.

5."entity_data" 实体数据,"value_in_gold" 价值是多少."rarity" : "common" 稀有程度:普通.

6."shop_info" 商店设置;"buyable"是否可以购买,"sellable"是否可以出售.

第六步:

编写物体虚影文件:

我们打开 YYYmod/entities/decoration/xxx/xxx_ghosts.json 制粘贴这段代码

{

"components": {

"model_variants": {

"default": {

"models": [

"file(xxx.qb)"

]

}

},

"unit_info": {

"name": "xxx",

"description": "---------------------------",

"icon" : "file(xxx.png)"

},

"stonehearth:material" : {

"tags" : "wood furniture crafted"

},

"mob" : {

"model_origin" : { "x": -0.05, "y": 0, "z": 0.05 },

"region_origin" : { "x": 0.5, "y": 0, "z": 0.5 }

}

}

}

注释:

1."models":[ "file(dresser.qb)" ] 是物体虚影的模型来源.

2."unit_info":信息."name"名字; "description"描述;"icon"图标.

3."stonehearth:material": {"tags" : "wood furniture crafted"} 定义物体,是木制的物品.

4."mob" 这个没什么实质意义,是对于模型是奇数像素时,用来调整的.不用管.

第七步:

编写物体图标文件:

打开 YYYmod/entities/decoration/xxx/xxx_icionic.json 制粘贴这段代码

{

"mixins": "stonehearth:mixins:item_properties",

"type": "entity",

"components": {

"item" : {

"category" : "furniture"

},

"model_variants": {

"default": {

"models": [

"file(xxx_iconic.qb)"

]

}

},

"mob" : {

"model_origin" : { "x": 0, "y": 0, "z": 0 }

}

}

}

注释:

1."item" : { "category" : "furniture" } 是给物体归类的,是仓库用来分类的.

2.其他的雷同,请参考其他的注释.

第八步:

物体模型:

1.xxx.qb 是物体模型.

2.xxx_iconic.qb 是物体存放在仓库时的缩小模型,尺寸是10*10*10的像素.制作模型时要注意,简单的制作一下就行.

把 .qb 格式的模型放入到 YYYmod/entities/decoration/xxx文件夹里.

关于.qb模型的制作 我放到另一个教程里说-(模型制作教程).

第九步:

完成制作后,把文件夹 YYYmod 压缩为.zip文件,再修改扩展名为 YYYmod.smod

(文件夹也可以)把YYYmod.smod 放到 X盘:Stonehearth v0.1.0r240mods 文件夹里 即可.

附件:

1.软件: Notepad++ 6.7.5 下载地址: 点我进入

2.制作mod的文件和代码: 下载地址: 点我进入

3.检查json文件的软件工具: 下载地址: 点我进入

4.在线加成json格式的网站: 点我进入

ps:

1.不懂写代码的,可以下载mod框架文件,然后按教程,把xxx替换你想要的名字.

2.编写代码是要注意代码的格式.别漏了" , "符号.

3.第一章的教程,不一定非要这样,这只是最简单的,你可以看原文件了解更多.

4.并非只能添加一个物体,你可添加多个物体,道理相同的.


点击进入PKVS《石炉》游戏论坛专区