DayZ模组结构

本页详细介绍了 DayZ 模组的结构及其配置和演示。

模组结构

模组使用 -mod= 启动参数加载

-mod=C:\MyMods\TestMod

从蒸汽工坊下载的典型模组文件夹将包含:

  • Addons 文件夹,保存模组的 .pbo 文件
  • Keys 文件夹,包含用于对 .pbo 文件进行签名的公共 .bikey(客户端-服务器签名验证需要)
  • meta.cpp 文件,保存创意工坊元数据(将在模组发布期间自动创建)
  • mod.cpp 可选的配置文件,保存mod演示的信息

PBO结构式

.pbo 唯一需要的部分是 config.cpp

原代码

class CfgPatches		// required
{
	class TestMod
	{
		requiredAddons[]=
		{
			"DZ_Data",	// addon depedency
		};
	};
};

class CfgMods			// required in pbo's which add/modify scripts or inputs
{
	class TestMod
	{
		type = "mod";										// required
		inputs = "mods\testmod\inputs\my_new_inputs.xml";	// optional, when using custom inputs
		skeletonDefinitions = "mods\testmod\skeleton\skeletons.xml";	// optional, when using custom skeletons.anim.xml
		dependencies[]={"Game"};							// optional, when you need to set class dependency

		class defs
		{
			// optional: you can add custom imagesets like this
			class imageSets
			{
				files[]={"mods/testmod/gui/imagesets/mod1.imageset", "mods/testmod/gui/imagesets/mod2.imageset" };
			};

			// optional: you can add custom widget styles like this
			class widgetStyles
			{
				files[]={"mods/testmod/gui/looknfeel/mod1.styles", "mods/testmod/gui/looknfeel/mod2.styles"};
			};
			class engineScriptModule
			{
				value=""; // when value is empty, default entry function is used
				files[]={"mods/testmod/scripts/1_Core"}; // you can add any number of files or directories and they will be compiled together with original game module scripts
			};

			/*
			script module config classes are optional, define only what you want to mod
			class gameLibScriptModule
			{
				value="";
				files[]={"mods/testmod/scripts/2_GameLib"};
			};*/

			class gameScriptModule
			{
				value="CreateGameMod"; // when value is filled, default script module entry function name is overwritten by it
				files[]={"mods/testmod/scripts/3_Game"};
			};

			class worldScriptModule
			{
				value="";
				files[]={"mods/testmod/scripts/4_World"};
			};

			class missionScriptModule
			{
				value="";
				files[]={"mods/testmod/scripts/5_Mission"};
			};
		};
	};
};

汉化

class CfgPatches		// 必需的
{
	class TestMod
	{
		requiredAddons[]=
		{
			"DZ_Data",	// 附加值衰减
		};
	};
};

class CfgMods			// 需要在pbo中添加/修改脚本或输入
{
	class TestMod
	{
		type = "mod";										// 必修的
		inputs = "mods\testmod\inputs\my_new_inputs.xml";	// 可选,当使用自定义输入时
		skeletonDefinitions = "mods\testmod\skeleton\skeletons.xml";	// 可选,当使用自定义skeletons.anim.xml时
		dependencies[]={"Game"};							// 可选,当需要设置类依赖项时

		class defs
		{
			// 可选:可以像这样添加自定义图像集
			class imageSets
			{
				files[]={"mods/testmod/gui/imagesets/mod1.imageset", "mods/testmod/gui/imagesets/mod2.imageset" };
			};

			// 可选:您可以像这样添加自定义小部件样式
			class widgetStyles
			{
				files[]={"mods/testmod/gui/looknfeel/mod1.styles", "mods/testmod/gui/looknfeel/mod2.styles"};
			};
			class engineScriptModule
			{
				value=""; // 当值为空时,使用默认输入函数
				files[]={"mods/testmod/scripts/1_Core"}; // 您可以添加任意数量的文件或目录,它们将与原始游戏模块脚本一起编译
			};

			/*
			脚本模块配置类是可选的,只定义要修改的内容
			class gameLibScriptModule
			{
				value="";
				files[]={"mods/testmod/scripts/2_GameLib"};
			};*/

			class gameScriptModule
			{
				value="CreateGameMod"; // 当值被填充时,默认脚本模块条目函数名将被其覆盖
				files[]={"mods/testmod/scripts/3_Game"};
			};

			class worldScriptModule
			{
				value="";
				files[]={"mods/testmod/scripts/4_World"};
			};

			class missionScriptModule
			{
				value="";
				files[]={"mods/testmod/scripts/5_Mission"};
			};
		};
	};
};

 

内部结构很大程度上取决于模组制作者本身,例如,对于脚本文件,只要它们在各自的脚本模块中并且路径设置正确,它们被放置在何处并不重要。

模组演示

通过 mod 配置.cpp在 mod 根文件夹中,用于游戏主菜单中的 mod 演示:

原代码

name = "Mod name"; 								// name
picture = "Mods/TestMod/modpic.tga";			// picture in expanded description
logoSmall = "Mods/TestMod/modlogosmall.tga";	// icon next to mod name when description is not expanded
logo = "Mods/TestMod/modlogo.tga";				// logo below game menu
logoOver = "Mods/TestMod/modlogohover.tga";		// on mouse hover over logo
tooltip = "tooltip";							// tool tip on mouse hover
overview = "Bestest mod"; 						// overview
action = "https://dayz.com/";					// link
author = "modguy";								// author
version = "1.5";								// version

 

汉化

name = "Mod name"; 								// 昵称
picture = "Mods/TestMod/modpic.tga";			// 展开描述中的图片
logoSmall = "Mods/TestMod/modlogosmall.tga";	// 未展开描述时,mod名称旁边的图标
logo = "Mods/TestMod/modlogo.tga";				// 游戏菜单下方的徽标
logoOver = "Mods/TestMod/modlogohover.tga";		// 鼠标悬停在徽标上
tooltip = "tooltip";							// 鼠标悬停时的工具提示
overview = "Bestest mod"; 						// 概述
action = "https://dayz.com/";					// 链接
author = "modguy";								// 著者
version = "1.5";								// 版本

 

原链接来自波希米亚,模组结构 - 波希米亚互动社区 (bistudio.com)

版权声明:
作者:帅
链接:http://blog.shuain.com/archives/87
来源:帅 BLOG
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>
文章目录
关闭
目 录