饑荒mod製作教程--物品(食物)(農作物)--02

上一篇“饑荒mod物品(食物)該篇主講貼圖--01”


上一篇沒有給myfood的合成表,所以只能控制檯調出
那麼可以在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 
打開文件夾,可以看到幾張圖片,接下來就是回到剛纔替換圖片的那一步了





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章