文件概述

AreaGroup.dbc 将多个区域(参考 AreaTable.dbc 中的条目)分组为一个逻辑组。每个记录可以包含最多6个区域编号(列2~列7),如果6个编号不够用,则第8列可继续链接更多编号。主要用于世界地图UI中的区域分类显示,也用于战场、竞技场等场景的区域管理。

列结构

列号字段名类型描述
1ID整数区域组编号,组唯一标识符
2AreaID_1整数区域编号1,对应 AreaTable.dbc 的区域ID
3AreaID_2整数区域编号2,对应 AreaTable.dbc 的区域列表
4AreaID_3整数区域编号3
5AreaID_4整数区域编号4
6AreaID_5整数区域编号5
7AreaID_6整数区域编号6
8NextGroupID整数更多编号。如果上面6个编号不够用,此列指向下一个关联的区域组ID,形成链表结构串联更多区域

重要字段详解

区域分组逻辑

每个 AreaGroup 记录将地理位置相邻或功能相关的区域组合在一起,所有区域编号均源自 AreaTable.dbc。例如:

  • 艾尔文森林组:包含艾尔文森林、闪金镇、北郡修道院等子区域
  • 战场组:包含战场内的各个区域
  • 主城组:包含主城的各个分区
NextGroupID(链式分组——更多编号)

当6个区域编号不足以容纳所有子区域时,第8列 NextGroupID 指向下一个 AreaGroup 记录,形成链表结构。多个组通过此字段串联起来,实现更多编号的扩展。

在实际中的应用
  • 世界地图界面:鼠标悬停时高亮显示整个区域组
  • 任务追踪:判断玩家是否在任务目标区域内
  • 成就系统:探索成就需要发现区域组中的所有子区域
  • 雕文系统:characters_glyph 表使用此地形编号

使用技巧