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)
文章目录
关闭
共有 0 条评论