饥荒Mod 开发(二):Mod目录结构

饥荒Mod 开发(一):为什么要开发Mod
饥荒Mod 开发(三):资源工具使用

饥荒的Mod 在哪里?

饥荒中的每个Mod 都有一些固定的目录结构,各个目录的放着不同类型的文件。动画,图片,源代码等。我们最好是遵守Mod 开发中的各个目录结构,我用的是WeGame 安装的饥荒游戏,Mod 目录如下,这个目录下保存所有订阅的Mod。
饥荒Mod 开发(二):Mod目录结构_第1张图片

饥荒的Mod 长什么样?

一个最简单的Mod 只需要4个文件就可以,复杂的Mod 可以包含各种动画,资源,脚本代码等。先截个图看看一个最简单的Mod 能简单到什么程度

简单Mod 结构

饥荒Mod 开发(二):Mod目录结构_第2张图片
上面4个文件的文件名是固定的,由饥荒游戏负责加载。

  1. modicon.xml modicon.tex 这两个文件是资源文件,也就是Mod 显示的图片,不需要手工编辑。只需要准备一张PNG 图片,由专门的工具生成, 在游戏中的显示如下。饥荒Mod 开发(二):Mod目录结构_第3张图片
  2. 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

饥荒Mod 开发(二):Mod目录结构_第4张图片
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 结构饥荒Mod 开发(二):Mod目录结构_第5张图片

和前面相同的4个文件就不介绍了,这里介绍几个目录。

  1. anim 目录。 这个是动画的目录,人物的动画, 物品的贴图动画都会放在这里。这些zip文件是通过工具自动打包,自动拷贝到这里的,文件名字一般和物品的名字一样。
    饥荒Mod 开发(二):Mod目录结构_第6张图片

  2. images 里面放的是贴图,比如 一个物品在 背包中显示的图片,在物品栏中显示的图片,在制作栏显示的图片,或者在小地图上显示的图片都会放到这里,这些文件并不是 普通的jpg,png,也是经过工具自动打包生成的文件。工具可以自动将png 图片转成需要的格式。贴图目录
    一张PNG 图片可以包含很多的贴图,也可以只包含一个贴图,简单的mod 可以一张png 图片就放一个物品贴图,打包工具会自动遍历这个目录,自动将所有的png图片都转成 tex 和 xml 文件。下面这个图就是一个PNG 文件,里面有两个贴图
    饥荒Mod 开发(二):Mod目录结构_第7张图片
    下面这个就是一张PNG 就一个贴图
    饥荒Mod 开发(二):Mod目录结构_第8张图片

  3. scripts 这个是代码的目录,我们自己创建的物品,组件,状态图,ai 等都会放在这个目录里面。代码不一定要全部写在scripts 目录里面,mod 根目录下也可以有代码。
    饥荒Mod 开发(二):Mod目录结构_第9张图片
    以上简单的介绍了饥荒Mod 目录结构和大致的作用,下一篇将会详细介绍饥荒中的这些资源工具如何使用。
    饥荒Mod 开发(一):为什么要开发Mod
    饥荒Mod 开发(三):资源工具使用

你可能感兴趣的:(饥荒Mod,游戏,lua,饥荒Mod,饥荒)