那么可以在modmain里加上
STRINGS = GLOBAL.STRINGS --这一段只是为了后面少点字
RECIPETABS = GLOBAL.RECIPETABS
Recipe = GLOBAL.Recipe
Ingredient = GLOBAL.Ingredient
TECH = GLOBAL.TECH
STRINGS.NAMES.MYFOOD = "My Food Pizza" --给myfood命名
STRINGS.CHARACTERS.GENERIC.DESCRIBE.MYFOOD = "It's a pizza." --检视时人物所说的
STRINGS.RECIPE_DESC.MYFOOD = "Delicious!" --合成栏里的介绍
local myfood_recipe = AddRecipe("myfood",
{Ingredient("cutstone", 1), Ingredient("bird_egg", 1)}, --决定成分
RECIPETABS.FARM, TECH.NONE, --添加在食物一栏,所需科技:无
nil, nil, nil, 1, nil, --数字指的是 一次做出几个
"images/inventoryimages/myfood.xml", "myfood.tex")
在modinfo里面,
联机版请加上这两句(务必):
dst_compatible = true
all_clients_require_mod = true
以上是对上一篇的补充,下面我们希望myfood可以在农场中被种出来,
(pizza能被种出来感觉怪怪的,于是我换了一个物品"pear",我们希望它可以被种出来)
那么先上一个自定义种子被农场种出来自定义物品的模板
链接:http://pan.baidu.com/s/1eRCSaWi 密码:phsa
(该物品是一个“梨子”,scml模板是老崔传给我的)
我们现在想做一个新的农作物,比如叫mycrop
我们需要准备的图片
1."mycrop"在物品栏的图片"mycrop.png"
2."mycrop"在地上的图片(同样也是在农场中被种出来的时候的图片,也就是只要准备一张)
3."mycrop"的种子"mycrop_seeds"在物品栏的图片 "mycrop_seeds.png"
4."mycrop_seeds"(种子放在地上的图片为原始种子的样子,所以不用准备)
注意:物品栏物品的图片大小有着严格要求,可以先拖一张模板图片进ps,然后删掉图片,保留图层,把你准备好的图片拖进去...
·将myfood.png,mycrop_seeds.png转成tex,放进images\inventoryimages
同时需要两个同名的xml文件,(已经有了,改下名字就好,xml里面的xxx.tex 名字也记得改)
·modmain里面
记得添加这两个物品
然后这一段
local function pickproduct(inst)
local VEGGIES =
{
carrot = {seed_weight = 3,},
corn = {seed_weight = 3,},
pumpkin = {seed_weight = 1,},
eggplant = {seed_weight = 1,},
cave_banana = {seed_weight = 1,},
watermelon = {seed_weight = 1,},
durian = {seed_weight = 0.5,},
pomegranate = {seed_weight = 0.5,},
dragonfruit = {seed_weight = 0.5,},
pear = {seed_weight = 3,}, --给pear一个权重,越大种出来的几率越大,pear记得改名mycrop
}
local total_w = 0
for k,v in pairs(VEGGIES) do
total_w = total_w + (v.seed_weight or 1)
end
local rnd = math.random()*total_w
for k,v in pairs(VEGGIES) do
rnd = rnd - (v.seed_weight or 1)
if rnd <= 0 then
return k
end
end
return "carrot"
end
AddPrefabPostInit("seeds",function(inst)
inst.components.plantable.product = pickproduct
end)
·scripts\prefabs里两个文件 记得改名,打开里面的所有pear 也要改成mycrop
mycrop_seeds.lua里面有一句
inst.components.plantable.product = "mycrop" --这句决定种出来的产品
·最重要一步来了
exported\pear\pear01里面"pear01-0.png"用ps打开、 删掉梨子的图 、mycrop的图放进去、调整下大小位置之类的。(切记不可直接把mycrop的图丢进去,因为图层大小不能改变),这张图决定mycrop在农场中的位置,放的太高的话,种出来可能是悬空的
pear01文件夹更名为mycrop01,里面四张图片名字含有pear的也全换成mycrop,(其他三张图不用管)
pear.scml用notepad++打开,ctrl+F,将pear全部替换成mycrop,pear.scml也改成mycrop.scml
这样就ok 可以进游戏了
·关于ktool(不大喜欢这个软件,反编译难免出错,还是说下用法)
anim文件夹里面zip解压得到三个文件,anim.bin;atlas-0.tex;build.bin,下面用ktool将这三个文件转成能被spriter打开的scml
·将三个文件放到一个纯英文路径(最好能和ktool在同一个盘,省得多事)
比如我现在的三个文件在C:\F\DSTmod\pic下面,该文件为待转化的
·还需要一个文件夹接收转换后的文件,就C:\F\DSTmod\output好了
·明确ktool的exe的路径,比如我是C:\F\DSTmod\TOOL\ktools\krane.exe
下一步打开cmd(请快捷键WIN+R,键入cmd回车)
进入ktool所在的盘,假如在d盘,那就键入 d: 回车
进入所在的盘后,分别输入 krane.exe路径 待转化文件夹路径 输出路径
我这里是:
C:\F\DSTmod\TOOL\ktools\krane.exe C:\F\DSTmod\pic C:\F\DSTmod\output 回车
(这三个路径刚才已经明确了,请复制粘贴<右键粘贴>,三个路径 空格 隔开)
此时output下,有了一个或多个文件夹以及一个xxx.scml
打开文件夹,可以看到几张图片,接下来就是回到刚才替换图片的那一步了