那么可以在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 


打开文件夹,可以看到几张图片,接下来就是回到刚才替换图片的那一步了