DayZ Mod 开发完全指南
全面的 DayZ Mod 开发文档 — 92 章,从零到发布 Mod。
完整页面索引
第1部分:Enforce Script 语言(13章)
| # | 章节 | 说明 |
|---|---|---|
| 1.1 | 变量与类型 | 基本类型、变量声明、类型转换和默认值 |
| 1.2 | 数组、映射与集合 | 数据集合:array、map、set — 迭代、搜索、排序 |
| 1.3 | 类与继承 | 类定义、继承、构造函数、多态 |
| 1.4 | Modded 类 | 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.1 | 5层脚本层级 | DayZ 的5个脚本层和编译顺序 |
| 2.2 | config.cpp 详解 | config.cpp 完整结构、CfgPatches、CfgMods |
| 2.3 | mod.cpp 与 Workshop | mod.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.2 | 3D 模型 | .p3d 格式、LOD、几何体、内存点 |
| 4.3 | 材质 | .rvmat 文件、着色器、表面属性 |
| 4.4 | 音频 | .ogg 和 .wss 格式、声音配置 |
| 4.5 | DayZ Tools | 官方 DayZ Tools 工作流程 |
| 4.6 | PBO 打包 | PBO 文件的创建和解包 |
| 4.7 | Workbench 指南 | 使用 Workbench 编辑脚本和资源 |
| 4.8 | 建筑建模 | 带门和梯子的建筑建模 |
第5部分:配置文件(6章)
| # | 章节 | 说明 |
|---|---|---|
| 5.1 | stringtable.csv | 使用 stringtable.csv 进行13种语言的本地化 |
| 5.2 | inputs.xml | 按键配置和自定义键位绑定 |
| 5.3 | credits.json | Mod 的制作名单文件 |
| 5.4 | ImageSets | 图标和精灵图的 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.3 | RPC 通信 | 安全高效的 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.13 | Diag Menu 参考 | 开发用诊断菜单 |
快速参考
| 页面 | 说明 |
|---|---|
| 速查表 | Enforce Script 语法快速概览 |
| API 快速参考 | 最常用的引擎 API 方法 |
| 术语表 | DayZ Mod 开发中使用的术语定义 |
| 常见问题 | Mod 开发常见问题解答 |
| 故障排除指南 | 91个常见问题及解决方案 |
致谢
| 开发者 | 项目 | 主要贡献 |
|---|---|---|
| Jacob_Mango | Community Framework, COT | 模块系统、RPC、权限、ESP |
| InclementDab | Dabs Framework, DayZ Editor, Mod Template | MVC、ViewBinding、编辑器 UI |
| salutesh | DayZ Expansion | 市场、队伍、地图标记、载具 |
| Arkensor | DayZ Expansion | 中心经济、设置版本管理 |
| DaOne | VPP Admin Tools | 玩家管理、Webhook、ESP |
| GravityWolf | VPP Admin Tools | 权限、服务器管理 |
| Brian Orr (DrkDevil) | Colorful UI | 颜色主题、Modded class UI 模式 |
| lothsun | Colorful UI | UI 颜色系统、视觉增强 |
| Bohemia Interactive | DayZ Engine & Samples | Enforce Script、原版脚本、DayZ Tools |
| StarDZ Team | 本 Wiki | 文档编写、翻译与组织 |
许可证
文档采用 CC BY-SA 4.0 许可。 代码示例采用 MIT 许可。












