中文字幕亚洲欧美日韩在线不卡,亚洲欧美日产综合在线网性色,思思久久精品6一本打道,综合视频中文字幕

    <sub id="dxmnt"><ol id="dxmnt"></ol></sub>

      1. 饑荒聯(lián)機(jī)版自制MOD教程 自己怎么制作MOD 準(zhǔn)備工作

        更新時(shí)間:2022-03-29 23:47:51作者:未知

        饑荒聯(lián)機(jī)版自制MOD教程 自己怎么制作MOD 準(zhǔn)備工作

          饑荒聯(lián)機(jī)版中的MOD作為游戲中的一大特色,深受玩家喜愛(ài),但是那么多MOD里面沒(méi)有自己喜歡的MOD怎么辦,自己可以制作MOD嗎,怎么制作》今天小編為大家?guī)?lái)了關(guān)于玩家如何自建MOD的教程,不妨仔細(xì)看看。

        饑荒聯(lián)機(jī)版自制MOD教程 自己怎么制作MOD 準(zhǔn)備工作

          準(zhǔn)備工作:

          編寫(xiě)MOD所需要的工具

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

          不過(guò)如果你是程序猿,也許更想使用專為L(zhǎng)ua設(shè)計(jì)的IDE。

          當(dāng)你需要編輯材質(zhì)文件(本游戲中要求的材質(zhì)文件格式是 .tex),推薦使用由 Handsome Matt 制作的TexTool(請(qǐng)?jiān)贙lei論壇登陸后下載,你可以使用Steam登陸)

          當(dāng)你需要編輯png文件時(shí),請(qǐng)使用支持透明背景的圖像編輯器;如果你有閑錢(qián),不妨買(mǎi)個(gè)Photoshop;如果你窮得響叮當(dāng),就只有試試GIMP這款免費(fèi)軟件。

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

        饑荒聯(lián)機(jī)版自制MOD教程 自己怎么制作MOD 準(zhǔn)備工作

          MOD基本文件結(jié)構(gòu)

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

        饑荒聯(lián)機(jī)版自制MOD教程 自己怎么制作MOD 準(zhǔn)備工作

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

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

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

          接下來(lái)我們打開(kāi)這兩個(gè)文件看看:

          modinfo.lua

          第一行描述了該mod的名稱,

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

          name = "Never Perish Icebox"

          第二行是作者留下的對(duì)該mod的簡(jiǎn)介,

          --A description of the mod.

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

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

          --Who wrote this awesome mod?

          author = "Eyres Valkrie"

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

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

          version = "1"

          第五行是本mod對(duì)應(yīng)的游戲API版本號(hào)(當(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

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

          -- Compatible with Don't Starve Together

          dst_compatible = true

          第七行是向玩家說(shuō)明本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

          dont_starve_compatible = true

          reign_of_giants_compatible = true

          這八行說(shuō)明本mod是否需要重啟生效

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

          restart_required = false

          第九行說(shuō)明本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;

          它的作用是修改 data\scripts\tuning.lua 中 TUNING 對(duì)象的成員 PERISH_FRIDGE_MULT,也就是修改游戲中 Icebox 的保鮮時(shí)間長(zhǎng)度。

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

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

          首先從Klei論壇[forums.kleientertainment.com]或者創(chuàng)意工坊下載人物mod模版 Extended Sample Character。以此為基礎(chǔ),修改模版中人物信息和腳本,你就可以制作出自己獨(dú)家定制的mod了~

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

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

        饑荒聯(lián)機(jī)版自制MOD教程 自己怎么制作MOD 準(zhǔn)備工作

          官方人物

        饑荒聯(lián)機(jī)版自制MOD教程 自己怎么制作MOD 準(zhǔn)備工作

          首先以官方人物Wilson為例,我們一起來(lái)研究一下選擇角色界面:就文本方面,有如上圖所示的三個(gè)方面,其一是Wilson的口號(hào)(Quote),其二是Wilson的頭銜(Title),其三是Wilson的簡(jiǎn)介(Description),全部都來(lái)自文件

          Don't Starve Together\data\scripts\strings.lua

          自建人物

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

        饑荒聯(lián)機(jī)版自制MOD教程 自己怎么制作MOD 準(zhǔn)備工作饑荒聯(lián)機(jī)版自制MOD教程 自己怎么制作MOD 準(zhǔn)備工作

          修改人物元信息

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

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

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

          然后用Notepad++打開(kāi) modmain.lua,修改其中人物簡(jiǎn)介、稱號(hào)和臺(tái)詞等。

          編譯已完成的mod

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

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

        饑荒聯(lián)機(jī)版自制MOD教程 自己怎么制作MOD 準(zhǔn)備工作

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

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

        饑荒聯(lián)機(jī)版自制MOD教程 自己怎么制作MOD 準(zhǔn)備工作饑荒聯(lián)機(jī)版自制MOD教程 自己怎么制作MOD 準(zhǔn)備工作

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

        饑荒聯(lián)機(jī)版自制MOD教程 自己怎么制作MOD 準(zhǔn)備工作

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

          "<exec_path>" "<project_path>" "<mod_path>"

          (請(qǐng)保留上面命令中的雙引號(hào)!)

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

          清理并發(fā)布mod

          一屋不掃何以掃天下

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

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

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

          之后刪除exported目錄;

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

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

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

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

        饑荒聯(lián)機(jī)版自制MOD教程 自己怎么制作MOD 準(zhǔn)備工作

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

        饑荒聯(lián)機(jī)版自制MOD教程 自己怎么制作MOD 準(zhǔn)備工作

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

        饑荒聯(lián)機(jī)版自制MOD教程 自己怎么制作MOD 準(zhǔn)備工作

          Lua編程

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

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

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

        饑荒聯(lián)機(jī)版自制MOD教程 自己怎么制作MOD 準(zhǔn)備工作

          標(biāo)識(shí)符/Identifiers

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

          Lua對(duì)大小寫(xiě)敏感,也就是說(shuō) Lua 跟 LUA 是不同的兩個(gè)標(biāo)識(shí)符。

          關(guān)鍵字/Key words

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

          由于 Lua 是對(duì)大小寫(xiě)敏感的語(yǔ)言: 盡管 and 是保留字,但 And 和 AND 卻是兩個(gè)不同且合法的標(biāo)識(shí)符。

          按照慣例,以下劃線開(kāi)頭的標(biāo)識(shí)符保留為 Lua 內(nèi)部變量。

          其他符號(hào):

          +   -  *   /   ^  =  ~  =  <

          =  >  =  <  >  =  =  (  )

           {  }  [  ]  ;  :  ,   .   ..   ...

          字符串

          字符串(Literal string)可以通過(guò)匹配單引號(hào)或者雙引號(hào)進(jìn)行界定,并且可以包括下列類C轉(zhuǎn)義序列(escape sequence):

        饑荒聯(lián)機(jī)版自制MOD教程 自己怎么制作MOD 準(zhǔn)備工作

          另外,換行還可以用轉(zhuǎn)義符'\newline'表示;字符可以以 '\d'、'\dd' 或 '\ddd'(其中字母 d 表示十進(jìn)制數(shù)字,decimal digit)的形式,用其對(duì)應(yīng)數(shù)值表示;Lua 字符串可以包含任何 8 位字符,包括 '\0'。

          Lua 字符串還可以用一對(duì)形如 [[ ... ]] 的雙方括號(hào)界定,如此可以跨行定義字符串,并且可以嵌套。

          數(shù)字常數(shù)

          Lua 的數(shù)字常數(shù)與 C 語(yǔ)言類似,以下是一些示例:

          3   3.0   3.1416   314.16e-2   0.31416E1

          注釋

          Lua 的注釋以兩個(gè)連續(xù)的連接符,即 -- 開(kāi)頭

          類型

          Lua 是一種動(dòng)態(tài)類型語(yǔ)言。這就意味著變量沒(méi)有類型,而只有值才具有類型。

          Lua 中有 8 種基本類型: nil, boolean, number, string, function, userdata, thread 和 table。其中number是雙精度浮點(diǎn)數(shù),string是 8 bit 字符串。

          賦值A(chǔ)ssignment

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

          my_var = "hello"

          短路求值/Minimal evaluation

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

          所謂短路求值,即在以下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ì)者在其語(yǔ)法中引入了表的概念,用以表示中的數(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"

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

          表的遍歷

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

          for k, v in pairs(my_map) do

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

          for i, v in ipairs(my_array) do

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

          選擇

          if exp then

          block

          elseif exp then

          block

          else

          block

          end

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

          while exp do

          block

          end

          直到型循環(huán)

          repeat

          block

          until exp

          從循環(huán)中跳出

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

          參考資料

          與Lua有關(guān)的:

          Lua 5.1 Reference:http://www.lua.org/manual/5.1/

          Lua 5.0 Reference:http://www.lua.org/ftp/refman-5.0.pdf

          Pre-compiled Lua libraries and executables:http://luabinaries.sourceforge.net/download.html

          與DST有關(guān)的:

          [Guide] Getting started with modding DST:http://forums.kleientertainment.com/topic/47353-guide-getting-started-with-modding-dst-and-some-general-tips-for-ds-as-well/

          Getting Started: Guides, Tutorials and Examples:http://forums.kleientertainment.com/topic/28021-getting-started-guides-tutorials-and-examples/

          Don't Starve Mods:http://dontstarve.wikia.com/wiki/Mods

          Unofficial API Reference:http://dontstarveapi.com/

          [Tutorial] Using Extended Sample Character Template - Tutorials & Guides - Klei Entertainment Forums:http://forums.kleientertainment.com/topic/46849-tutorial-using-extended-sample-character-template/

          Matt's Tools! - Modding Tools, Tutorials & Examples - Klei Entertainment:http://forums.kleientertainment.com/files/file/73-matts-tools/

          Better Crashes (RoG compatible) - Game Modifications - Klei Entertainment Forums:http://forums.kleientertainment.com/files/file/514-better-crashes-rog-compatible/