饥荒联机版自制MOD教程 自己怎么制作MOD 准备工作


饥荒联机版自制MOD教程 自己怎么制作MOD 准备工作



饥荒联机版中的MOD作为游戏中的一大特色,深受玩家喜爱,但是那么多MOD里面没有自己喜欢的MOD怎么办,自己可以制作MOD吗,怎么制作》今天小编为大家带来了关于玩家如何自建MOD的教程,不妨仔细看看 。
饥荒联机版自制MOD教程 自己怎么制作MOD 准备工作


准备工作:
编写MOD所需要的工具
编辑Lua文件时,推荐使用 notepad++,或者Vi/Vim(少数像我这样的人才会用的编辑器 ) 。
不过如果你是程序猿,也许更想使用专为Lua设计的IDE 。
当你需要编辑材质文件(本游戏中要求的材质文件格式是 .tex),推荐使用由 Handsome Matt 制作的TexTool(请在Klei论坛登陆后下载,你可以使用Steam登陆)
当你需要编辑png文件时,请使用支持透明背景的图像编辑器;如果你有闲钱,不妨买个Photoshop;如果你穷得响叮当,就只有试试GIMP这款免费软件 。
最后推荐你从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.
【饥荒联机版自制MOD教程 自己怎么制作MOD 准备工作】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
dont_starve_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;
它的作用是修改 data\scripts\tuning.lua 中 TUNING 对象的成员 PERISH_FRIDGE_MULT,也就是修改游戏中 Icebox 的保鲜时间长度 。

推荐阅读