文件概述

Map.dbc 定义了游戏世界中所有地图(包括普通世界地图、副本、战场、竞技场等)的基础属性。它决定了各地图的实例化行为、名称显示、入口位置、加载画面等。

列结构

列号字段类型详细说明
1编号整数地图唯一标识符 (MapID),在 creature、gameobject 等表中广泛引用
2内部名称字符串地图数据目录名(客户端 Maps 目录),未直接用于游戏显示
3地图类型整数实例类型:0=无(世界地图)、1=队伍(5人副本)、2=团队(团本)、3=PVP(战场)、4=竞技场、>=5=无
4标识整数战场地图的简单标识,用于区分不同战场
5是否战场整数1=是战场,0=不是战场
6~21名称字符串各国语言的本地化地图名称(支持多语言显示)
22名称标识整数名称字符串的标志位
23地区指向整数副本和内陆的普通地区关联,指向 AreaTable.dbc
24~39部落简介字符串PVP区域的部落方文字介绍(本地化)
40文字标识整数部落简介文字标志位
41~56联盟简介字符串PVP区域的联盟方文字介绍(本地化)
57文字标识整数联盟简介文字标志位
58加载屏幕整数进入地图时显示的加载屏幕ID,参考 LoadingScreens.dbc
59迷你地图图标尺寸浮点数小地图上该地图图标的显示缩放比例
60地图入口整数入口地图编号,指定从哪张地图可以进入此地图
61入口 X 坐标浮点数进入此地图时的入口 X 坐标
62入口 Y 坐标浮点数进入此地图时的入口 Y 坐标
63一天时间覆盖整数覆盖地图内的时间(影响日夜循环)。0=奥杜尔专用,720=勇气竞技场,-1=其他(使用默认)
64资料片附加整数资料片标识:0=原生地图(经典旧世),1=TBC附加(外域),2=WLK附加(诺森德)
65未知时间整数时间相关参数,具体用途尚未明确
66最大玩家数量整数地图允许的最大玩家数。如果 MapDifficulty.dbc 中未定义,则使用此值作为回退

关键字段详解

地图类型 (InstanceType)

决定地图的实例化行为和重置规则:

类型说明
0无 / 世界地图不重置,所有玩家在同一个实例(如东部王国、卡利姆多)
1队伍 / 5人副本按队伍创建独立实例,绑定后重置
2团队 / 团本10/25人的团队副本实例
3PVP / 战场按战场规则创建和管理
4竞技场竞技场比赛专用实例
名称与本地化

地图名称通过多列支持多语言(列6~21),语言索引顺序为:enUS、koKR、frFR、deDE、zhCN、zhTW、esES、esMX、ruRU。地图如 "Eastern Kingdoms"、"Kalimdor"、"Deadmines" 等都通过此字段在客户端显示。

部落/联盟简介

PVP 地图(战场、竞技场、世界PVP区域)显示阵营专用的文字介绍:

  • 部落简介(列24~39):部落玩家进入PVP地图时看到的文字说明
  • 联盟简介(列41~56):联盟玩家进入PVP地图时看到的文字说明
一天时间覆盖 (TimeOverride)

控制地图内的时间显示:

  • 0:奥杜尔专用时间设置
  • 720:勇气竞技场
  • -1:使用默认服务器时间

重要地图ID速查

ID名称类型
0东部王国世界地图
1卡利姆多世界地图
33死亡矿井5人副本
530外域世界地图
571诺森德世界地图
603奥杜尔团本
631冰冠堡垒团本

使用示例

查询所有团队副本

-- 查询所有团队副本
SELECT ID, MapName_enUS
FROM map_dbc
WHERE InstanceType = 2
ORDER BY ID;

查询战场地图

-- 查询所有战场
SELECT ID, MapName_enUS
FROM map_dbc
WHERE 是否战场 = 1 AND 地图类型 = 3;

使用技巧