導(dǎo) 《饑荒》MOD怎么制作及發(fā)布?Steam游戲庫中有MOD制作工具,并允許玩家發(fā)布屬于自己的MOD,今天小編帶來“NecroKaiser”分享的《饑荒》MOD制作及發(fā)布圖文教程,具體怎么實(shí)現(xiàn)一起來看吧。...

《饑荒》MOD怎么制作及發(fā)布?Steam游戲庫中有MOD制作工具,并允許玩家發(fā)布屬于自己的MOD,今天小編帶來“NecroKaiser”分享的《饑荒》MOD制作及發(fā)布圖文教程,具體怎么實(shí)現(xiàn)一起來看吧。

準(zhǔn)備工作:編寫MOD所需要的工具

編輯Lua文件時(shí),推薦使用notepad++[notepad-plus-plus.org],或者Vi/Vim(少數(shù)像我這樣的人才會用的編輯器)。

最后推薦你從Steam下載一個(gè)Don't Starve Mod工具,操作步驟如下:

饑荒MOD制作方法 饑荒MOD制作及發(fā)布圖文教程

一個(gè)MOD的基本文件結(jié)構(gòu)

這里我用由Eyres1制作的Never Perish Icebox(永久保鮮羊大白勺冰箱)來作為例子:

饑荒MOD制作方法 饑荒MOD制作及發(fā)布圖文教程

如上圖所示,一個(gè)必須具有兩個(gè)文件:

modmain.lua:游戲載入你制作的mod所需要的文件;

modinfo.lua:儲存mod的作者、版本等信息的文件。

modinfo.lua

第一行描述了該mod的名稱

The name of the mod displayed in the 'mods' screen.

name = "Never Perish Icebox"

第二行是作者留下的對該mod的簡介

A description of the mod.

description = "Food doesn't perish in the Icebox."

第三行記錄了制作者的名諱

Who wrote this awesome mod?

author = "Eyres Valkrie"

第四行是作者設(shè)置的mod版本號(注意,mod版本號跟游戲版本號是兩碼事)

A version number so you can ask people if they are running an old version of your mod.

version = "1"

第五行是本mod對應(yīng)的游戲API版本號(當(dāng)你自己制作了一個(gè)mod以后,記得在每次游戲更新后檢查自己mod是否依然能夠正常運(yùn)行,努力debug,并更改這一行的數(shù)值,然后上傳到創(chuàng)意工坊)

This lets other players know if your mod is out of date. This typically needs to be updated every time there's a new game update.

api_version = 10

第六行說明本mod是否兼容 Don't Starve Together。

Compatible with Don't Starve Together

dst_compatible = true

第七行是向玩家說明本mod是否和 Don't Starve 和 Reign of Giants 兼容(因?yàn)镈on't Starve Together和Don't Starve兩者有大量相同代碼,所以經(jīng)常有人把Don't Starve的mod和Don't Starve Together的mod交換使用)

Compatible with both the base game and reign of giants

donttarve_compatible = true

reign_of_giants_compatible = true

這八行說明本mod是否需要重啟生效

Some mods may crash or not work correctly until the game is restarted after the mod is enabled/disabled

restart_required = false

第九行說明本mod是否能夠兼容其他mod

Set this to true to prevent _ANY_ other mods from loading while this mod is enabled.

standalone = false

modmain.lua

Never Perish Icebox這個(gè)mod的modmain.lua中只有一行代碼

TUNING.PERISH_FRIDGE_MULT = 0;

它的作用是修改datascriptstuning.lua中TUNING對象的成員PERISH_FRIDGE_MULT,也就是修改游戲中Icebox的保鮮時(shí)間長度。

由此可見,要提供mod元信息,你就應(yīng)該給modinfo.lua;而為了真正實(shí)現(xiàn)你的mod的功能,你則應(yīng)該在modmain.lua 中編寫代碼。

饑荒聯(lián)機(jī)
最新版下載 全版本下載 攻略教程大全 最新版聯(lián)機(jī)教程
饑荒新手攻略
食譜大全 BOSS打法 安家位置 聯(lián)機(jī)教程 人物詳解
各季節(jié)必備物品 武器裝備介紹 快速砍樹方法 查看版本方法 所有材料介紹
饑荒熱門攻略
擊殺生物寶典 利用巨鹿方法 洞穴怪物詳解 冒險(xiǎn)速通攻略 腦殘值補(bǔ)充方法
陷阱布置技巧 牦牛詳細(xì)介紹 坎普斯背包出處 危險(xiǎn)生物排名 新手百日入門
正版資料整理 裝備道具匯總 蜘蛛巢穴養(yǎng)殖心得 存檔位置介紹 增加生存時(shí)間方法

范例:如何制作一個(gè)新的人物mod

人物mod的文件結(jié)構(gòu)

如下圖所示,一個(gè)人物mod通常除了包括前面提到的modinfo.lua和modmain.lua以外,還包括anim、bigportraits、exported、images和scripts目錄,以及modicon.jpg、modicon.tex和modicon.xml文件。

饑荒MOD制作方法 饑荒MOD制作及發(fā)布圖文教程

官方人物

首先以官方人物Wilson為例,我們一起來研究一下選擇角色界面:

饑荒MOD制作方法 饑荒MOD制作及發(fā)布圖文教程

就文本方面,有如上圖所示的三個(gè)方面,其一是Wilson的口號(Quote),其二是Wilson的頭銜(Title),其三是Wilson的簡介(Description),全部都來自文件

Don't Starve Togetherdatascriptsstrings.lua

自建人物

現(xiàn)在將自建人物mod導(dǎo)入mod目錄下,進(jìn)入游戲建立本地服務(wù)器并激活mod,可以看出這些文本和貼圖跟人物mod中文件之間的關(guān)系。

饑荒MOD制作方法 饑荒MOD制作及發(fā)布圖文教程

饑荒MOD制作方法 饑荒MOD制作及發(fā)布圖文教程

修改人物元信息

以Windows系統(tǒng)為例,打開Notepad++,按下快捷鍵Ctrl + Shift + F,進(jìn)而在mod目錄中搜索esctemplate和ESCTEMPLATE并分別替換為你設(shè)計(jì)的人物的名稱,例如nymphoenix和NYMPHOENIX(注意大小寫)

如果你是在Linux系統(tǒng)上使用Vim編輯文件,又不知道怎么搜索并替換給定目錄下所有文件中的符合某字符串

find -type f -exec sed -e 's///' {} +

然后用Notepad++打開 modmain.lua,修改其中人物簡介、稱號和臺詞等。

編譯已完成的mod

如果你的mod涉及貼圖,例如人物mod、武器mod等,那么你就需要把繪圖得到的圖片(如果你的源文件不是格式而是其他其他格式,請先使用Photoshop、GIMP或者你自己選擇的支持透明度的圖像處理軟件將圖片格式轉(zhuǎn)為格式),編譯為tex貼圖文件。

首先你需要確認(rèn)自己安裝Don't Starve Mod Tools的目錄位置:

饑荒MOD制作方法 饑荒MOD制作及發(fā)布圖文教程

打開其中高亮的mod_tools目錄,你可以在其中找到下面需要用到的可執(zhí)行文件scml.exe。

然后你需要調(diào)出Windows系統(tǒng)內(nèi)置控制臺cmd:

饑荒MOD制作方法 饑荒MOD制作及發(fā)布圖文教程

饑荒MOD制作方法 饑荒MOD制作及發(fā)布圖文教程

這時(shí)候會出現(xiàn)如下的窗口:

饑荒MOD制作方法 饑荒MOD制作及發(fā)布圖文教程

你需要做的就是把下面命令中的字樣、字樣和字樣分別改為上述可執(zhí)行文件scml.exe的路徑,你制作的mod中貼圖項(xiàng)目文件(*.scml)路徑和你的mod目錄的路徑,然后復(fù)制粘貼到控制臺中,按下回車鍵(Enter)運(yùn)行即可。

"" "" ""

(請保留上面命令中的雙引號!)

如果你有多個(gè).scml文件,你猜猜要怎么做?

整理并發(fā)布你的MOD

一屋不掃何以掃天下

一般來說,玩家在下載mod的時(shí)候都不希望看見自己要下載的mod奇大無比。我相信這是每一個(gè)制作者的責(zé)任,即保證功能與性能的同時(shí),保持mod的緊湊度,也就是說,一個(gè)mod目錄不應(yīng)該有無用文件存在。

那么寶貝兒們就要問了,自己的mod目錄要怎樣清理呢?

首先,你應(yīng)該備份自己現(xiàn)有的mod目錄,即用壓縮/存檔軟件,如7zip[www.7-zip.org],對mod目錄進(jìn)行壓縮存檔,并在文件名后附加版本號,方便自己查閱;之后刪除exported目錄;

然后將mod目錄里除了后綴名為.lua和.tex的文件全部刪除,再刪除空目錄。

文勝質(zhì)則史,質(zhì)勝文則野

既然你都已經(jīng)把mod制作出來了,不矜夸一番怎么可以?下面就教你如何將mod發(fā)布到Steam創(chuàng)意工坊~

首先從Steam啟動Don't Starve Mod Tools,選擇上傳工具,你會看見以下窗口,選擇你需要上傳mod對應(yīng)的游戲,即Don't Starve或Don't Starve Together;

饑荒MOD制作方法 饑荒MOD制作及發(fā)布圖文教程

然后點(diǎn)擊Add按鈕,會彈出以下窗口,點(diǎn)擊Browse按鈕,選擇要上傳的mod目錄路徑,并選擇要上傳的mod的種類,再點(diǎn)擊publish按鈕發(fā)布;(其中,點(diǎn)擊藍(lán)色框出的Browse按鈕,設(shè)定創(chuàng)意工坊mod預(yù)覽圖片)

饑荒MOD制作方法 饑荒MOD制作及發(fā)布圖文教程

接著你會看見,按照程序預(yù)設(shè)的指示操作,同意Steam創(chuàng)意工坊的條款就大功告成了。

饑荒MOD制作方法 饑荒MOD制作及發(fā)布圖文教程

Lua編程

Lua(請不要念成“擼啊”),一款被設(shè)計(jì)成可用于包括游戲、網(wǎng)站和圖形處理等多方面等各類應(yīng)用的輕量級可嵌入的腳本語言,在很多游戲游戲中得到應(yīng)用,例如:Don't Starve,Don't Starve Together,Crusader Kings II,Europa Universalis IV,Crypt of the NecroDancer,等等。

要閱讀本章的內(nèi)容,你需要對計(jì)算機(jī)編程的概念有基本的了解。

首先為那些已經(jīng)學(xué)習(xí)過#編譯原理的童鞋獻(xiàn)上Lua的AST

饑荒MOD制作方法 饑荒MOD制作及發(fā)布圖文教程

標(biāo)識符/Identifiers

Lua中的標(biāo)識符,可以是任何以字母或下劃線開始,由字母([a-zA-Z])、數(shù)字([0-9])或下劃線('_')構(gòu)成的字符串。

Lua對大小寫敏感,也就是說Lua跟LUA是不同的兩個(gè)標(biāo)識符。

關(guān)鍵字/Key words

Lua提供了共計(jì)21個(gè)關(guān)鍵字,即:

andbreakdoelseelseif

endfalseforfunctionif

inlocalnilnotor

repeatreturnthentrueuntilwhile

其他符號

+ - * / ^ =

~= <= >= < > ==

( ) { } [ ]

; : , . .. ...

賦值A(chǔ)ssignment

Lua,正如JavaScript一樣,是一種類型松散(loose typing)的腳本語言;換言之,與C/C++和Java等強(qiáng)類型定義語言中要求聲明(declare)變量時(shí)必須選擇變量的類型不同,Lua賦值時(shí)只需要變量名和變量值:

my_var = "hello"

短路求值/Minimal evaluation

由于Lua內(nèi)核是基于C語言編寫的,支持短路求值自然不足為奇。

所謂短路求值,即在以下Lua代碼

if condition_A and condition_B and condition_C then

中,首先計(jì)算condition_A的真值,若condition_A為假(false),則跳出;否則依次計(jì)算下一個(gè)布爾表達(dá)式的真值,直到出現(xiàn)假或者全部表達(dá)式都計(jì)算完畢為止。

表/Table

Lua的設(shè)計(jì)者在其語法中引入了表的概念,用以表示中的數(shù)組(Array)和圖(Map)兩種數(shù)據(jù)結(jié)構(gòu)。

1.創(chuàng)建一個(gè)表

你可以創(chuàng)建一個(gè)以字符串為鍵(Key)的表,即:

my_map = { apple = 5, banana = 10, melon = 9 }

或者一個(gè)類似數(shù)組的表,即:

my_array = { "Tom", "Jack", "Peter" }

2.修改表中的數(shù)據(jù)

如果你的表是以字符串為鍵的,那么你可以:

my_map.apple = 15或者my_map["apple"] = 17

如果你的表示以數(shù)字為鍵的,那么你可以:

my_array[1] = "Tompson"

請注意,Lua中以數(shù)字為鍵的表跟C/C++中數(shù)組不同,也就是my_array[0]的值是 nil。

表的遍歷

以字符串為鍵的表通過以下語法進(jìn)行遍歷:

for k, v in pairs(my_map) do

而以數(shù)字為鍵的表則是:

for i, v in ipairs(my_array) do

控制結(jié)構(gòu)

1.選擇

if exp then

block

elseif exp then

block

else

block

end

2.當(dāng)型循環(huán)

while exp do

block

end

3.直到型循環(huán)

repeat

block

until exp

4.從循環(huán)中跳出

在循環(huán)結(jié)構(gòu)中使用return和break可以跳出。

看了上文九游小編帶來的饑荒MOD制作方法,你是否了解了相關(guān)內(nèi)容信息,知道了呢!更多最新最好玩的手機(jī)游戲就來九游下載吧!

同類推薦:我的世界移動世界上第一款沙盒游戲

《我的世界移動版》被稱為是世界上第一款沙盤游戲,游戲的世界看起來一點(diǎn)都不精彩,但是這是一個(gè)自由的世界,在這個(gè)世界中,你能夠創(chuàng)造任何東西,包括游戲中的環(huán)境,在這里,你就是上帝. 有人說,在這款游戲中,你只需要從事兩種操作:建設(shè)和破壞.你能夠利用游戲中提供給你的各種基石來創(chuàng)造各種東西,發(fā)揮你的想象力,你能夠建造房屋,構(gòu)建城堡甚至是城市. 游戲特色: 隨機(jī)的世界; 能夠構(gòu)建任何東西,只要你能想象得到; 一共有36種不同的基塊; 可以與朋友一通過無線局域網(wǎng)絡(luò)聯(lián)機(jī). 注:該版本各機(jī)型通用.

如轉(zhuǎn)載涉及版權(quán)等問題,請作者與我司聯(lián)系,我司將在第一時(shí)間刪除或支付稿酬。