石炉 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《石炉》游戏论坛专区