文件概述

WorldSafeLocs.dbc 定义了游戏世界中所有墓地(灵魂刷新点)和安全登录位置。玩家死亡后释放灵魂时,系统根据死亡位置计算最近的墓地,将玩家的灵魂传送到对应坐标。同时也用作角色掉线/卡死时的安全传送备选点。

列结构

列号字段类型详细说明
1编号整数墓地唯一标识符
2地图编号整数墓地所在的地图编号,参考 Map.dbc
3X浮点数灵魂刷新点的 X 坐标
4Y浮点数灵魂刷新点的 Y 坐标
5Z浮点数灵魂刷新点的 Z 坐标(高度)
6~21名称字符串各国语言的墓地名称(本地化),如"闪金镇""十字路口"
22名称标识整数名称字符串的标志位

关键字段详解

墓地选择机制

当玩家死亡后释放灵魂时:

  1. 系统计算玩家死亡位置与各墓地的距离
  2. 自动选择距离最近的墓地
  3. 将玩家的灵魂传送到该墓地的 XYZ 坐标
  4. 灵魂旁边的灵魂医者可供玩家选择虚弱复活
  5. 玩家也可以选择跑回尸体处复活
地图编号与坐标

灵魂刷新点的坐标必须在指定的地图编号上:

  • 不同地图拥有各自的墓地集合
  • Z 坐标确保灵魂在地面上方,而非地下
  • 副本内的墓地通常设在入口/Boss房间附近
名称(列6~21)

墓地名称支持多种语言的本地化,在释放灵魂对话框中显示,帮助玩家识别当前位置。如 "Goldshire"、"Crossroads" 等。

名称标识(列22)

名称字符串的标志位。通常用于标识字符串是否有效及编码格式。

常见墓地ID速查

ID地图名称
1东部王国丹莫罗墓地
3东部王国艾尔文森林墓地
5卡利姆多杜隆塔尔墓地
128东部王国西部荒野

使用示例

-- 查询东部王国(MapID=0)的所有墓地
SELECT 编号, 名称, X, Y, Z
FROM world_safe_locs
WHERE 地图编号 = 0;

使用技巧