Skip to content

DayZ Mod 开发完全指南

全面的 DayZ Mod 开发文档 — 92 章,从零到发布 Mod。

EnglishPortuguesDeutschRusskiEspanolFrancaisNihongoJiantizi ZhongwenCestinaPolskiMagyarItaliano


完整页面索引

第1部分:Enforce Script 语言(13章)

#章节说明
1.1变量与类型基本类型、变量声明、类型转换和默认值
1.2数组、映射与集合数据集合:array、map、set — 迭代、搜索、排序
1.3类与继承类定义、继承、构造函数、多态
1.4Modded 类Modded class 系统、方法覆盖、super 调用
1.5控制流if/else、switch、while/for 循环、break、continue
1.6字符串操作字符串操作、格式化、搜索、比较
1.7数学与向量数学函数、3D向量、距离、方向
1.8内存管理引用计数、ref、防止内存泄漏、引用循环
1.9类型转换与反射类型转换、Class.CastTo、运行时类型检查
1.10枚举与预处理器枚举、#ifdef、#define、条件编译
1.11错误处理无 try/catch 的错误处理模式、守卫子句
1.12不存在的特性Enforce Script 语言的30+陷阱和限制
1.13函数与方法函数声明、参数、返回值、static、proto

第2部分:Mod 结构(6章)

#章节说明
2.15层脚本层级DayZ 的5个脚本层和编译顺序
2.2config.cpp 详解config.cpp 完整结构、CfgPatches、CfgMods
2.3mod.cpp 与 Workshopmod.cpp 文件、Steam Workshop 发布
2.4你的第一个 Mod最小可运行 Mod — 必要文件和结构
2.5文件组织命名规范、推荐的文件夹结构
2.6服务端/客户端架构服务端与客户端代码分离、安全性

第3部分:GUI 与布局系统(10章)

#章节说明
3.1控件类型所有可用控件类型:文本、图片、按钮等
3.2布局文件格式界面用 .layout XML 文件结构
3.3尺寸与定位坐标系、尺寸标志、锚定
3.4容器控件容器控件:WrapSpacer、GridSpacer、ScrollWidget
3.5程序化创建通过代码创建控件、GetWidgetUnderCursor、SetHandler
3.6事件处理UI 回调:OnClick、OnChange、OnMouseEnter
3.7样式、字体与图片可用字体、样式、图片加载
3.8对话框与模态窗口创建对话框、模态菜单、确认框
3.9真实 Mod UI 模式COT、VPP、Expansion、Dabs Framework 的 UI 模式
3.10高级控件MapWidget、RenderTargetWidget、特殊控件

第4部分:文件格式与工具(8章)

#章节说明
4.1纹理.paa、.edds、.tga 格式 — 转换与使用
4.23D 模型.p3d 格式、LOD、几何体、内存点
4.3材质.rvmat 文件、着色器、表面属性
4.4音频.ogg 和 .wss 格式、声音配置
4.5DayZ Tools官方 DayZ Tools 工作流程
4.6PBO 打包PBO 文件的创建和解包
4.7Workbench 指南使用 Workbench 编辑脚本和资源
4.8建筑建模带门和梯子的建筑建模

第5部分:配置文件(6章)

#章节说明
5.1stringtable.csv使用 stringtable.csv 进行13种语言的本地化
5.2inputs.xml按键配置和自定义键位绑定
5.3credits.jsonMod 的制作名单文件
5.4ImageSets图标和精灵图的 ImageSet 格式
5.5服务器配置DayZ 服务器配置文件
5.6出生配置初始装备和出生点配置

第6部分:引擎 API 参考(23章)

#章节说明
6.1实体系统实体层级、EntityAI、ItemBase、Object
6.2载具系统载具 API、引擎、液体、物理模拟
6.3天气系统天气控制、雨、雾、云量
6.4相机系统自定义相机、位置、旋转、过渡
6.5后处理效果PPE:模糊、色差、颜色分级
6.6通知系统屏幕通知、玩家消息
6.7定时器与 CallQueue定时器、延迟调用、重复
6.8文件 I/O 与 JSON文件读写、JSON 解析
6.9网络与 RPC网络通信、RPC、客户端-服务器同步
6.10中心经济战利品系统、分类、标志、最小/最大值
6.11任务钩子任务钩子、MissionBase、MissionServer
6.12动作系统玩家动作、ActionBase、目标、条件
6.13输入系统按键捕获、映射、UAInput
6.14玩家系统PlayerBase、背包、生命值、耐力、统计
6.15声音系统音频播放、SoundOnVehicle、环境音
6.16合成系统合成配方、材料、结果
6.17建造系统基地建造、建造部件、状态
6.18动画系统玩家动画、命令 ID、回调
6.19地形查询射线检测、地形位置、表面
6.20粒子效果粒子系统、发射器、视觉效果
6.21僵尸与 AI 系统ZombieBase、感染者 AI、行为
6.22管理与服务器服务器管理、封禁、踢出、RCON
6.23世界系统时间、日期、世界函数

第7部分:模式与最佳实践(7章)

#章节说明
7.1单例模式单一实例、全局访问、初始化
7.2模块系统模块注册、生命周期、CF 模块
7.3RPC 通信安全高效的 RPC 模式
7.4配置持久化JSON 配置的保存/加载、版本管理
7.5权限系统分层权限、通配符、分组
7.6事件驱动架构事件总线、发布/订阅、解耦
7.7性能优化性能分析、缓存、对象池、减少 RPC

第8部分:教程(13章)

#章节说明
8.1你的第一个 Mod (Hello World)分步教程:创建并加载一个 Mod
8.2创建自定义物品创建带模型、纹理和配置的物品
8.3构建管理面板带传送、刷出、管理功能的管理员 UI
8.4添加聊天命令游戏聊天中的自定义命令
8.5使用 Mod 模板如何使用官方 DayZ Mod 模板
8.6调试与测试日志、调试、诊断工具
8.7发布到 Workshop将 Mod 发布到 Steam Workshop
8.8构建 HUD 叠加层游戏上方的自定义 HUD 叠加层
8.9专业 Mod 模板可投入生产的完整模板
8.10创建载具 Mod带物理和配置的自定义载具
8.11创建服装 Mod带纹理和插槽的自定义服装
8.12构建交易系统玩家/NPC 间的交易系统
8.13Diag Menu 参考开发用诊断菜单

快速参考

页面说明
速查表Enforce Script 语法快速概览
API 快速参考最常用的引擎 API 方法
术语表DayZ Mod 开发中使用的术语定义
常见问题Mod 开发常见问题解答
故障排除指南91个常见问题及解决方案

致谢

开发者项目主要贡献
Jacob_MangoCommunity Framework, COT模块系统、RPC、权限、ESP
InclementDabDabs Framework, DayZ Editor, Mod TemplateMVC、ViewBinding、编辑器 UI
saluteshDayZ Expansion市场、队伍、地图标记、载具
ArkensorDayZ Expansion中心经济、设置版本管理
DaOneVPP Admin Tools玩家管理、Webhook、ESP
GravityWolfVPP Admin Tools权限、服务器管理
Brian Orr (DrkDevil)Colorful UI颜色主题、Modded class UI 模式
lothsunColorful UIUI 颜色系统、视觉增强
Bohemia InteractiveDayZ Engine & SamplesEnforce Script、原版脚本、DayZ Tools
StarDZ Team本 Wiki文档编写、翻译与组织

许可证

文档采用 CC BY-SA 4.0 许可。 代码示例采用 MIT 许可。

Released under CC BY-SA 4.0 | Code examples under MIT License