饥荒Mod 开发(一):为什么要开发Mod
饥荒Mod 开发(三):资源工具使用
饥荒的Mod 在哪里?
饥荒中的每个Mod 都有一些固定的目录结构,各个目录的放着不同类型的文件。动画,图片,源代码等。我们最好是遵守Mod 开发中的各个目录结构,我用的是WeGame 安装的饥荒游戏,Mod 目录如下,这个目录下保存所有订阅的Mod。
饥荒的Mod 长什么样?
一个最简单的Mod 只需要4个文件就可以,复杂的Mod 可以包含各种动画,资源,脚本代码等。先截个图看看一个最简单的Mod 能简单到什么程度
简单Mod 结构
上面4个文件的文件名是固定的,由饥荒游戏负责加载。
- modicon.xml modicon.tex 这两个文件是资源文件,也就是Mod 显示的图片,不需要手工编辑。只需要准备一张PNG 图片,由专门的工具生成, 在游戏中的显示如下。
- modinfo.lua 描述文件。这个文件用来描述Mod 名字,作者, 版本等。内容比较简单。
name = "地图全开"
description = "Reveal map on every level"
author = "Kuloslav"
version = "1.0.4"
forumthread = "http://forums.kleientertainment.com/files/file/462-map-revealer/"
api_version = 6
icon_atlas = "modicon.xml"
icon = "modicon.tex"
--这4项分别对应下图的4个兼容内容
dont_starve_compatible = true
reign_of_giants_compatible = true
shipwrecked_compatible = true
hamlet_compatible = true
3. modmain.lua Mod 代码入口文件, 游戏运行的时候会执行这个文件,我们需要在这个文件里面组织我们的Mod 功能,当然也可以只为了测试打印一句话。
local function revealer( inst )
GLOBAL.RunScript("consolecommands")
inst:DoTaskInTime( 0.001, function()
minimap = TheSim:FindFirstEntityWithTag("minimap")
minimap.MiniMap:ShowArea(0,0,0,40000)
end)
end
AddSimPostInit( revealer )
上面就是一个Mod 最简单的形式, 可以先不用关心代码,先对Mod 结构有个大致了解,下面再看一个复杂的Mod 结构。
复杂Mod 结构
和前面相同的4个文件就不介绍了,这里介绍几个目录。
-
anim 目录。 这个是动画的目录,人物的动画, 物品的贴图动画都会放在这里。这些zip文件是通过工具自动打包,自动拷贝到这里的,文件名字一般和物品的名字一样。
-
images 里面放的是贴图,比如 一个物品在 背包中显示的图片,在物品栏中显示的图片,在制作栏显示的图片,或者在小地图上显示的图片都会放到这里,这些文件并不是 普通的jpg,png,也是经过工具自动打包生成的文件。工具可以自动将png 图片转成需要的格式。
一张PNG 图片可以包含很多的贴图,也可以只包含一个贴图,简单的mod 可以一张png 图片就放一个物品贴图,打包工具会自动遍历这个目录,自动将所有的png图片都转成 tex 和 xml 文件。下面这个图就是一个PNG 文件,里面有两个贴图
下面这个就是一张PNG 就一个贴图
-
scripts 这个是代码的目录,我们自己创建的物品,组件,状态图,ai 等都会放在这个目录里面。代码不一定要全部写在scripts 目录里面,mod 根目录下也可以有代码。
以上简单的介绍了饥荒Mod 目录结构和大致的作用,下一篇将会详细介绍饥荒中的这些资源工具如何使用。
饥荒Mod 开发(一):为什么要开发Mod
饥荒Mod 开发(三):资源工具使用