视频教程:DayZ Tools工具制作DayZ MOD的视频教程
本教程来源于DayZ官方示例:点击查看
教程目的:教大家安装DayZ TOOLS工具和制作DayZ第一个MOD的示例,带领大家入门.
下载DayZ TOOLS:
1.购买DayZ这款游戏,
2.拥有DayZ这款游戏后才被允许下载DayZ tools工具.
安装DayZ TOOLS:
1.从steam里启动DayZ tools
2.导航处选择- Settings(设置)
3.设置工作硬盘和游戏路径,
4.导航处选择 - Tools(工具) - Extract Game Data(提取游戏数据)
5.等待完成
创建mod
本着简单的精神,让我们创建一个mod,它将在特定条件下将消息打印到日志中,
为了做到这一点,我们需要将我们的mod打包到一个.pbo文件中,并在启动游戏时加载它.
一个mod可以有几个.pbo文件,但大多数较小的文件只需要一个
Step by step - 一步接一步的操作.
用导航 - Tools(工具) - Mount Drive P(虚拟硬盘:P)
1.首先创建一个mod文件夹,在本例中,我们将在P:drive中创建一个名为FirstMod的文件夹
2.在FirstMod文件夹中,创建另一个包含moded类的文件夹.我们称之为世界脚本WorldScripts
3.PlayerBase.c包含一个适合于我们的mod OnJumpStart()的函数,每次玩家跳跃时都会调用这个函数-我们将在这个例子中使用它
4.在WorldScripts文件夹中创建包含以下内容的MyScript.c文件
- modded class PlayerBase // modded keyword for modding existing class
- {
- override void OnJumpStart() // overriding existing function
- {
- super.OnJumpStart(); // call the original jump function so we don't break stuff
- Print("My first mod, yay!"); // our modded print
- }
- }
复制代码
5.现在我们需要在FirstMod文件夹中创建config.cpp文件,它的代码如下
- class CfgPatches
- {
- class FirstMod
- {
- requiredAddons[]=
- {
- // ""
- };
- };
- };
- class CfgMods
- {
- class FirstMod
- {
- type = "mod";
-
- class defs
- {
-
- class worldScriptModule
- {
- value = "";
- files[] = {"FirstMod/WorldScripts"};
- };
- };
- };
- };
复制代码 使用正确的脚本模块很重要!普通文件PlayerBase.c(包含我们正在修改的PlayerBase类)位于4_World中,因此我们需要在config.cpp中定义到worldScriptModule脚本的路径,以便PlayerBase脚本mod工作。
封装PBO
1.使用DayZ Tools工具启动程序,打开Addon Builder
2.设置 addon source directory, 路径为 P:\FirstMod (我们教程中演示的MOD路径)
3.设置 destination directory, 路径为 P:\PackedPbos (没有这个文件夹我们手动创建一个)
4.Addon Builder工具 - OPTIONS选项 - path to project folder路径设为P:\ (P盘根目录) 点OK - PACK
5.新建FirstModPacked,其中再创建Addons 真实路径为:P:\FirstModPacked\Addons,
然后将P:\PackedPbos目录下的PBO文件复制进Addons
完成!现在可以使用launch参数-Mod=P:\ FirstModPacked 加载Mod
到目前为止,你从写第一个MOD,到封装它,已经完成了
测试我们写的MOD
在发布给公众之前一定要正确测试你的mod!
在单人游戏中测试mod
许多mod可以在SP环境中测试,您可以通过创建ChernarusPlus自定义任务文件夹来轻松设置,
例如创建一个myMission.ChernarusPlus,其中再创建一个init.c文件,编辑代码以下内容
- class CustomMission: MissionGameplay
- {
- void CustomMission()
- {
- }
- };
-
- Mission CreateCustomMission(string path)
- {
- return new CustomMission();
- }
-
- void main()
- {
- // Create player
- PlayerBase player = PlayerBase.Cast( ( GetGame().CreatePlayer( NULL, "SurvivorF_Linda", "2200 10 2200", 0, "NONE") ) );
- // Set your gear
- player.CreateInInventory("TShirt_Black");
-
- // Select player
- GetGame().SelectPlayer(NULL, player);
- }
复制代码 修改init.c以满足您的测试需要,然后使用以下参数启动DayZDiag_x64.exe
- -mission=pathToMission\myMission.ChernarusPlus -mod=P:\FirstModPacked
复制代码 这将开始与一个在SP环境中的mod游戏
如果您使用的是脚本编辑器,则每次跳转时都会在输出部分看到自定义消息.
如果没有,请导航到您的profiles文件夹
(默认:WindowsProfilePath\AppData\Local\DayZ)并打开包含打印消息的最新script.log文件.
多人服务器测试MOD
serverDZ.cfg可以从Steam上的DayZ服务器分发版复制。您需要修改以下选项:
- BattlEye = 0; // turn off BE since diag exe does not run with it
- verifySignatures = 0; // if testing mods which aren't properly signed yet
复制代码 将PBO文件复制进服务端的ADDONS里启动服务器,进入服务器实测
发布MOD
当你想与全世界分享mod的时候,你需要完成的额外步骤
1.使用DS-utils(DayZ工具)创建一个私有和公共的bikey,并使用它签署您的pbo,以及在mod中包含公共bikey
2.使用Publisher(DayZ工具)上传到Steam Workshop
即可
如果你想知道Workbench的用法:点击查看
脚本语法文档位于此处:点击查看
描述的pbo的表示:点击查看
Mod目录结构:点击查看
|