表概述

game_tele表属于Tele Command系统,存储了游戏中所有的预设传送坐标点。GM可以通过 .tele 名称 命令快速传送到表中的任意位置。

主键为 id,每个传送点有唯一的名称和精确的地图IDXYZ坐标朝向

表结构

字段名数据类型默认值说明
idINT UNSIGNEDNOT NULL传送点唯一ID(主键)
position_xFLOAT0传送目标X坐标
position_yFLOAT0传送目标Y坐标
position_zFLOAT0传送目标Z坐标(高度)
orientationFLOAT0传送后玩家朝向角度
mapSMALLINT UNSIGNED0目标地图ID
nameVARCHAR(100)''传送点名称(.tele命令参数)

重要字段详解

name (传送点名称)

用于.tele命令的定位名称。支持中文。常见传送点包括各大主城、副本入口和重要地标。

常见传送点名称示例:

  • stormwind / 暴风城 - 暴风城
  • orgrimmar / 奥格瑞玛 - 奥格瑞玛
  • dalaran / 达拉然 - 达拉然
  • shattrath / 沙塔斯 - 沙塔斯城
map (目标地图)

传送目标所在的地图编号:

  • 0 - 东部王国
  • 1 - 卡利姆多
  • 530 - 外域
  • 571 - 诺森德
position_x/y/z & orientation (位置与朝向)

精确定义传送目标位置。orientation为弧度值,定义传送后玩家的面朝方向。

实战案例

查询所有暴风城相关的传送点:
SELECT id, name, position_x, position_y, position_z, map
FROM game_tele
WHERE name LIKE '%stormwind%' OR name LIKE '%暴风%'
ORDER BY id;
查询外域所有传送点:
SELECT id, name, position_x, position_y, position_z
FROM game_tele
WHERE map = 530
ORDER BY name;
添加自定义传送点:
INSERT INTO game_tele (id, position_x, position_y, position_z, orientation, map, name)
VALUES (9999, -9000.0, 500.0, 100.0, 1.5, 0, '自定义传送点');

常见问题

Q: 执行.tele命令提示"没有找到该位置",如何排查?

检查game_tele表中是否存在对应名称的记录。注意.tele命令的模糊匹配规则。

Q: 如何批量导入传送点?

可以使用SQL INSERT INTO...SELECT或LOAD DATA命令从其他数据源批量导入坐标数据。