AreaTable.dbc存储了游戏世界中所有区域的详细信息。这个文件定义了区域的名称、等级范围、地图关联、PvP设置等属性。区域是魔兽世界地图系统的基础组成部分,每个区域都有其独特的属性和设置。
注意: 在AzerothCore中,AreaTable.dbc与Map.dbc配合使用,定义完整的世界地图结构。
以下是AreaTable.dbc中的主要字段:
列号 | 字段名 | 类型 | 描述 |
---|---|---|---|
1 | ID | 整数 | 区域唯一标识符 |
2 | MapID | 整数 | 所属地图ID,对应Map.dbc |
3 | ParentAreaID | 整数 | 父区域ID(子区域指向主区域) |
4 | AreaBit | 整数 | 区域位标识 |
5 | Flags | 整数 | 区域标志位 |
6 | SoundProviderPref | 整数 | 音效提供者偏好 |
7 | SoundProviderPrefUnderwater | 整数 | 水下音效提供者偏好 |
8 | AmbienceID | 整数 | 环境音效ID |
9 | ZoneMusic | 整数 | 区域音乐ID |
10 | ZoneName | 字符串 | 区域名称 |
区域标志位字段定义了区域的特殊属性:
标志值 | 名称 | 描述 |
---|---|---|
0x00000001 | AREA_FLAG_SNOW | 雪地区域 |
0x00000002 | AREA_FLAG_UNK1 | 未知标志1 |
0x00000004 | AREA_FLAG_UNK2 | 未知标志2 |
0x00000008 | AREA_FLAG_SLAVE_CAPITAL | 从属首都 |
0x00000010 | AREA_FLAG_UNK3 | 未知标志3 |
0x00000020 | AREA_FLAG_SLAVE_CAPITAL2 | 从属首都2 |
0x00000040 | AREA_FLAG_ALLOW_DUELS | 允许决斗 |
0x00000080 | AREA_FLAG_ARENA | 竞技场区域 |
在AzerothCore中,区域数据分布在多个地方:
提示: 修改区域属性时,需要考虑对玩家体验和游戏平衡的影响。
以下SQL语句将查询特定地图的所有区域:
-- 查询东部王国的所有区域
SELECT ID, ZoneName, ParentAreaID
FROM AreaTable
WHERE MapID = 0;
查找允许PvP的区域:
-- 查找竞技场区域
SELECT ID, ZoneName
FROM AreaTable
WHERE Flags & 0x00000080;