《饥荒》MOD怎么制作及发布?Steam游戏库中有MOD制作工具,并允许玩家发布属于自己的MOD,今天小编带来“NecroKaiser”分享的《饥荒》MOD制作及发布图文教程,具体怎么实现一起来看吧。...

《饥荒》MOD怎么制作及发布?Steam游戏库中有MOD制作工具,并允许玩家发布属于自己的MOD,今天小编带来“NecroKaiser”分享的《饥荒》MOD制作及发布图文教程,具体怎么实现一起来看吧。

准备工作:编写MOD所需要的工具

编辑Lua文件时,推荐使用notepad++[notepad-plus-plus.org],或者Vi/Vim(少数像我这样的人才会用的编辑器)。

最后推荐你从Steam下载一个Don't Starve Mod工具,操作步骤如下:

饥荒MOD制作方法 饥荒MOD制作及发布图文教程

一个MOD的基本文件结构

这里我用由Eyres1制作的Never Perish Icebox(永久保鲜羊大白勺冰箱)来作为例子:

饥荒MOD制作方法 饥荒MOD制作及发布图文教程

如上图所示,一个必须具有两个文件:

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"

第四行是作者设置的mod版本号(注意,mod版本号跟游戏版本号是两码事)

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

version = "1"

第五行是本mod对应的游戏API版本号(当你自己制作了一个mod以后,记得在每次游戏更新后检查自己mod是否依然能够正常运行,努力debug,并更改这一行的数值,然后上传到创意工坊)

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 兼容(因为Don't Starve Together和Don't Starve两者有大量相同代码,所以经常有人把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这个mod的modmain.lua中只有一行代码

TUNING.PERISH_FRIDGE_MULT = 0;

它的作用是修改datascriptstuning.lua中TUNING对象的成员PERISH_FRIDGE_MULT,也就是修改游戏中Icebox的保鲜时间长度。

由此可见,要提供mod元信息,你就应该给modinfo.lua;而为了真正实现你的mod的功能,你则应该在modmain.lua 中编写代码。

饥荒联机
最新版下载 全版本下载 攻略教程大全 最新版联机教程
饥荒新手攻略
食谱大全 BOSS打法 安家位置 联机教程 人物详解
各季节必备物品 武器装备介绍 快速砍树方法 查看版本方法 所有材料介绍
饥荒热门攻略
击杀生物宝典 利用巨鹿方法 洞穴怪物详解 冒险速通攻略 脑残值补充方法
陷阱布置技巧 牦牛详细介绍 坎普斯背包出处 危险生物排名 新手百日入门
正版资料整理 装备道具汇总 蜘蛛巢穴养殖心得 存档位置介绍 增加生存时间方法

范例:如何制作一个新的人物mod

人物mod的文件结构

如下图所示,一个人物mod通常除了包括前面提到的modinfo.lua和modmain.lua以外,还包括anim、bigportraits、exported、images和scripts目录,以及modicon.jpg、modicon.tex和modicon.xml文件。

饥荒MOD制作方法 饥荒MOD制作及发布图文教程

官方人物

首先以官方人物Wilson为例,我们一起来研究一下选择角色界面:

饥荒MOD制作方法 饥荒MOD制作及发布图文教程

就文本方面,有如上图所示的三个方面,其一是Wilson的口号(Quote),其二是Wilson的头衔(Title),其三是Wilson的简介(Description),全部都来自文件

Don't Starve Togetherdatascriptsstrings.lua

自建人物

现在将自建人物mod导入mod目录下,进入游戏建立本地服务器并激活mod,可以看出这些文本和贴图跟人物mod中文件之间的关系。

饥荒MOD制作方法 饥荒MOD制作及发布图文教程

饥荒MOD制作方法 饥荒MOD制作及发布图文教程

修改人物元信息

以Windows系统为例,打开Notepad++,按下快捷键Ctrl + Shift + F,进而在mod目录中搜索esctemplate和ESCTEMPLATE并分别替换为你设计的人物的名称,例如nymphoenix和NYMPHOENIX(注意大小写)

如果你是在Linux系统上使用Vim编辑文件,又不知道怎么搜索并替换给定目录下所有文件中的符合某字符串

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

然后用Notepad++打开 modmain.lua,修改其中人物简介、称号和台词等。

编译已完成的mod

如果你的mod涉及贴图,例如人物mod、武器mod等,那么你就需要把绘图得到的图片(如果你的源文件不是格式而是其他其他格式,请先使用Photoshop、GIMP或者你自己选择的支持透明度的图像处理软件将图片格式转为格式),编译为tex贴图文件。

首先你需要确认自己安装Don't Starve Mod Tools的目录位置:

饥荒MOD制作方法 饥荒MOD制作及发布图文教程

打开其中高亮的mod_tools目录,你可以在其中找到下面需要用到的可执行文件scml.exe。

然后你需要调出Windows系统内置控制台cmd:

饥荒MOD制作方法 饥荒MOD制作及发布图文教程

饥荒MOD制作方法 饥荒MOD制作及发布图文教程

这时候会出现如下的窗口:

饥荒MOD制作方法 饥荒MOD制作及发布图文教程

你需要做的就是把下面命令中的字样、字样和字样分别改为上述可执行文件scml.exe的路径,你制作的mod中贴图项目文件(*.scml)路径和你的mod目录的路径,然后复制粘贴到控制台中,按下回车键(Enter)运行即可。

"" "" ""

(请保留上面命令中的双引号!)

如果你有多个.scml文件,你猜猜要怎么做?

整理并发布你的MOD

一屋不扫何以扫天下

一般来说,玩家在下载mod的时候都不希望看见自己要下载的mod奇大无比。我相信这是每一个制作者的责任,即保证功能与性能的同时,保持mod的紧凑度,也就是说,一个mod目录不应该有无用文件存在。

那么宝贝儿们就要问了,自己的mod目录要怎样清理呢?

首先,你应该备份自己现有的mod目录,即用压缩/存档软件,如7zip[www.7-zip.org],对mod目录进行压缩存档,并在文件名后附加版本号,方便自己查阅;之后删除exported目录;

然后将mod目录里除了后缀名为.lua和.tex的文件全部删除,再删除空目录。

文胜质则史,质胜文则野

既然你都已经把mod制作出来了,不矜夸一番怎么可以?下面就教你如何将mod发布到Steam创意工坊~

首先从Steam启动Don't Starve Mod Tools,选择上传工具,你会看见以下窗口,选择你需要上传mod对应的游戏,即Don't Starve或Don't Starve Together;

饥荒MOD制作方法 饥荒MOD制作及发布图文教程

然后点击Add按钮,会弹出以下窗口,点击Browse按钮,选择要上传的mod目录路径,并选择要上传的mod的种类,再点击publish按钮发布;(其中,点击蓝色框出的Browse按钮,设定创意工坊mod预览图片)

饥荒MOD制作方法 饥荒MOD制作及发布图文教程

接着你会看见,按照程序预设的指示操作,同意Steam创意工坊的条款就大功告成了。

饥荒MOD制作方法 饥荒MOD制作及发布图文教程

Lua编程

Lua(请不要念成“撸啊”),一款被设计成可用于包括游戏、网站和图形处理等多方面等各类应用的轻量级可嵌入的脚本语言,在很多游戏游戏中得到应用,例如:Don't Starve,Don't Starve Together,Crusader Kings II,Europa Universalis IV,Crypt of the NecroDancer,等等。

要阅读本章的内容,你需要对计算机编程的概念有基本的了解。

首先为那些已经学习过#编译原理的童鞋献上Lua的AST

饥荒MOD制作方法 饥荒MOD制作及发布图文教程

标识符/Identifiers

Lua中的标识符,可以是任何以字母或下划线开始,由字母([a-zA-Z])、数字([0-9])或下划线('_')构成的字符串。

Lua对大小写敏感,也就是说Lua跟LUA是不同的两个标识符。

关键字/Key words

Lua提供了共计21个关键字,即:

andbreakdoelseelseif

endfalseforfunctionif

inlocalnilnotor

repeatreturnthentrueuntilwhile

其他符号

+ - * / ^ =

~= <= >= < > ==

( ) { } [ ]

; : , . .. ...

赋值Assignment

Lua,正如JavaScript一样,是一种类型松散(loose typing)的脚本语言;换言之,与C/C++和Java等强类型定义语言中要求声明(declare)变量时必须选择变量的类型不同,Lua赋值时只需要变量名和变量值:

my_var = "hello"

短路求值/Minimal evaluation

由于Lua内核是基于C语言编写的,支持短路求值自然不足为奇。

所谓短路求值,即在以下Lua代码

if condition_A and condition_B and condition_C then

中,首先计算condition_A的真值,若condition_A为假(false),则跳出;否则依次计算下一个布尔表达式的真值,直到出现假或者全部表达式都计算完毕为止。

表/Table

Lua的设计者在其语法中引入了表的概念,用以表示中的数组(Array)和图(Map)两种数据结构。

1.创建一个表

你可以创建一个以字符串为键(Key)的表,即:

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

或者一个类似数组的表,即:

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

2.修改表中的数据

如果你的表是以字符串为键的,那么你可以:

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

如果你的表示以数字为键的,那么你可以:

my_array[1] = "Tompson"

请注意,Lua中以数字为键的表跟C/C++中数组不同,也就是my_array[0]的值是 nil。

表的遍历

以字符串为键的表通过以下语法进行遍历:

for k, v in pairs(my_map) do

而以数字为键的表则是:

for i, v in ipairs(my_array) do

控制结构

1.选择

if exp then

block

elseif exp then

block

else

block

end

2.当型循环

while exp do

block

end

3.直到型循环

repeat

block

until exp

4.从循环中跳出

在循环结构中使用return和break可以跳出。

看了上文九游小编带来的饥荒MOD制作方法,你是否了解了相关内容信息,知道了呢!更多最新最好玩的手机游戏就来九游下载吧!

同类推荐:我的世界移动世界上第一款沙盒游戏

《我的世界移动版》被称为是世界上第一款沙盘游戏,游戏的世界看起来一点都不精彩,但是这是一个自由的世界,在这个世界中,你能够创造任何东西,包括游戏中的环境,在这里,你就是上帝. 有人说,在这款游戏中,你只需要从事两种操作:建设和破坏.你能够利用游戏中提供给你的各种基石来创造各种东西,发挥你的想象力,你能够建造房屋,构建城堡甚至是城市. 游戏特色: 随机的世界; 能够构建任何东西,只要你能想象得到; 一共有36种不同的基块; 可以与朋友一通过无线局域网络联机. 注:该版本各机型通用.

如转载涉及版权等问题,请作者与我司联系,我司将在第一时间删除或支付稿酬。