Map.dbc存储了游戏中所有地图的基本信息。这个文件定义了地图的名称、类型、区域链接、入口条件等属性。
注意: 在AzerothCore中,地图数据通常不需要直接修改,除非添加自定义地图。
以下是Map.dbc中的主要字段:
字段名 | 类型 | 描述 |
---|---|---|
ID | 整数 | 地图唯一标识符 |
Directory | 字符串 | 地图文件目录 |
InstanceType | 整数 | 实例类型 |
Flags | 整数 | 地图标志 |
MapType | 整数 | 地图类型 |
Name | 字符串 | 地图名称(本地化字符串) |
实例类型字段定义了地图的副本类型:
值 | 名称 | 描述 |
---|---|---|
0 | MAP_COMMON | 普通区域 |
1 | MAP_INSTANCE | 5人副本 |
2 | MAP_RAID | 团队副本 |
3 | MAP_BATTLEGROUND | 战场 |
4 | MAP_ARENA | 竞技场 |
地图标志字段定义了地图的特殊属性:
值 | 名称 | 描述 |
---|---|---|
0x0001 | MAP_FLAG_DUNGEON | 地下城 |
0x0002 | MAP_FLAG_RAID | 团队副本 |
0x0004 | MAP_FLAG_BATTLEGROUND | 战场 |
0x0008 | MAP_FLAG_ARENA | 竞技场 |
0x0010 | MAP_FLAG_CITY | 主城 |
0x0020 | MAP_FLAG_NO_PVP | 非PvP区域 |
0x0040 | MAP_FLAG_ARENA_INSTANCE | 竞技场实例 |
0x0080 | MAP_FLAG_NO_RESPAWN | 无重生点 |
在AzerothCore中,地图数据分布在多个地方:
以下SQL语句将查询"奥格瑞玛"的地图信息:
SELECT * FROM map_template WHERE name LIKE '%奥格瑞玛%';
以下SQL语句将添加一个到自定义地图的传送点:
INSERT INTO game_tele (id, position_x, position_y, position_z, orientation, map, name)
VALUES (1000, 16220.5, 16258.5, 15.0, 3.14, 1, '自定义地图');