跳转到内容

地牢创建概述

每个地牢对应 plugins/QueDP/dungeons/ 下的一个文件夹,文件夹名即为地牢ID。

dungeons/
└── my_dungeon/ # 地牢ID = "my_dungeon"
├── config.yml # 【必需】基础配置
├── scripts.yml # 【必需】生命周期脚本
├── monsters.yml # 怪物组配置
├── obstacles.yml # 障碍物配置
├── interacts.yml # 交互点配置
├── npcs.yml # NPC 配置
├── tasks.yml # 定时/循环/事件任务
├── rewards.yml # 奖励配置
├── chest_rewards.yml # 箱子奖励UI配置
└── *.js # JavaScript 函数库(可多个)
  1. 准备一个地图世界,使用 /dg template import <世界名> 导入为模板
  2. 使用 /dg edit create <地牢ID> <模板名> 创建地牢
  3. 使用 /dg edit enter <地牢ID> 进入编辑模式
  4. 通过 /dg edit menu/dg edit toolkit 进行可视化编辑
  5. 使用 /dg edit test 测试,使用 /dg edit save 保存
  1. dungeons/ 目录下新建文件夹
  2. 参考示例地牢 (dungeons/example/) 编写各配置文件
  3. 使用 /dg admin reload 重新加载

配置文件中的脚本支持两种 YAML 写法:

列表格式(每行一条独立语句):

脚本:
- "action.message('@all', '你好')"
- "action.spawn_group('wave_1')"

多行字符串格式(适合包含 if/for 等代码块):

脚本: |-
action.message('@all', '开始战斗')
if (getVar('wave') >= 3) {
action.complete()
}

所有配置键同时支持中文和英文,例如:

  • 地牢.名称 等同于 dungeon.name
  • 怪物组 等同于 groups
  • 障碍物 等同于 obstacles

插件优先读取中文键名,找不到时使用英文键名。

按照以下顺序阅读各配置文件的详细说明:

  1. 基础配置 config.yml
  2. 脚本配置 scripts.yml
  3. 怪物配置 monsters.yml
  4. 障碍物配置 obstacles.yml
  5. 交互配置 interacts.yml
  6. 任务配置 tasks.yml
  7. 奖励配置 rewards.yml