您的位置: 首页 游戏推荐 《饥荒》MOD制作方法 MOD制作及发布图文教程

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

《饥荒》MOD怎么制作及发布?Steam游戏库中有MOD制作工具,并允许玩家发布属于自己的MOD,今天小编带来“NecroKaiser”分享的《饥荒》MOD制作及发布图文教程,具体怎么实现一起来看吧。
准备工作:编写MOD所需要的工具
编辑Lua文件时,推荐使用notepad++[notepad-plus-plus.org],或者Vi/Vim(少数像我这样的人才会用的编辑器)。
最后推荐你从Steam下载一个Don’t Starve Mod工具,操作步骤如下:

一个MOD的基本文件结构
这里我用由Eyres1制作的Never Perish Icebox(永久保鲜羊大白勺冰箱)来作为例子:

如上图所示,一个必须具有两个文件:
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文件。

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

就文本方面,有如上图所示的三个方面,其一是Wilson的口号(Quote),其二是Wilson的头衔(Title),其三是Wilson的简介(Description),全部都来自文件
Don’t Starve Togetherdatascriptsstrings.lua
自建人物
现在将自建人物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_tools目录,你可以在其中找到下面需要用到的可执行文件scml.exe。
然后你需要调出Windows系统内置控制台cmd:

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

你需要做的就是把下面命令中的字样、字样和字样分别改为上述可执行文件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;

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

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

Lua编程
Lua(请不要念成“撸啊”),一款被设计成可用于包括游戏、网站和图形处理等多方面等各类应用的轻量级可嵌入的脚本语言,在很多游戏游戏中得到应用,例如:Don’t Starve,Don’t Starve Together,Crusader Kings II,Europa Universalis IV,Crypt of the NecroDancer,等等。
要阅读本章的内容,你需要对计算机编程的概念有基本的了解。
首先为那些已经学习过#编译原理的童鞋献上Lua的AST

标识符/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种不同的基块; 可以与朋友一通过无线局域网络联机. 注:该版本各机型通用.

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

本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。