表概述

areatrigger_teleport表是副本传送系统的核心配置表。当玩家进入 areatrigger 表中定义的触发区域时,系统查询此表获取传送目标。每条记录定义了目标地图目标坐标朝向角度

该表属于Trigger System,主键为 ID(对应areatrigger.entry),通过FULLTEXT索引支持名称搜索。

表结构

字段名数据类型默认值说明
IDINT UNSIGNED0触发器ID,对应areatrigger.entry
NameTEXTNULL传送点名称(支持中文)
target_mapSMALLINT UNSIGNED0目标地图ID
target_position_xFLOAT0目标位置X坐标
target_position_yFLOAT0目标位置Y坐标
target_position_zFLOAT0目标位置Z坐标(高度)
target_orientationFLOAT0传送后玩家的朝向角度

重要字段详解

ID (触发器ID)

主键,对应areatrigger表中的entry值。相同的ID值意味着玩家进入areatrigger表中该entry定义的区域后,将触发到此处的传送。

每个副本入口通常都有对应的areatrigger_teleport记录。

target_map (目标地图)

传送目标地图ID。常见副本地图ID:

  • 33 - 血色修道院
  • 36 - 死亡矿井
  • 43 - 哀嚎洞穴
  • 48 - 黑暗深渊
  • 70 - 奥达曼
  • 90 - 诺莫瑞根
  • 109 - 沉没的神庙
  • 129 - 剃刀高地
  • 209 - 祖尔法拉克
  • 230 - 黑石深渊
  • 249 - 奥妮克希亚的巢穴
  • 289 - 斯坦索姆
  • 309 - 祖尔格拉布
  • 329 - 斯坦索姆(亡灵区)
  • 409 - 熔火之心
  • 469 - 黑翼之巢
  • 531 - 安其拉废墟
  • 532 - 卡拉赞
  • 533 - 纳克萨玛斯
target_orientation (传送朝向)

传送到目标位置后玩家的朝向角度,以弧度表示。常用值:

  • 0 - 正北
  • 1.5708 - 正东
  • 3.1416 - 正南
  • 4.7124 - 正西

实战案例

查询所有副本入口的传送配置:
SELECT att.ID, att.Name, att.target_map, att.target_position_x, att.target_position_y, att.target_position_z
FROM areatrigger_teleport att
WHERE att.target_map NOT IN (0, 1, 530, 571)
ORDER BY att.target_map;
查询死亡矿井入口的传送配置:
SELECT at.entry, at.map AS source_map, at.x, at.y, at.z,
       att.Name, att.target_map, att.target_position_x, att.target_position_y
FROM areatrigger at
JOIN areatrigger_teleport att ON at.entry = att.ID
WHERE att.Name LIKE '%死亡矿井%' OR att.target_map = 36;
新增一个副本入口传送:
INSERT INTO areatrigger_teleport (ID, Name, target_map, target_position_x, target_position_y, target_position_z, target_orientation)
VALUES (9999, '自定义副本入口', 33, -200.0, 2000.0, 100.0, 3.14);

常见问题

Q: 玩家进入areatrigger区域后没有传送,如何排查?

按以下步骤排查:

  1. 确认areatrigger表中entry值存在且map设置正确
  2. 确认areatrigger_teleport表中ID与areatrigger.entry匹配
  3. 检查target_map和目标坐标是否有效
  4. 检查玩家是否满足access_requirement中的进入条件

Q: 如何设置一个双向传送门?

需要创建两个areatrigger区域和两条areatrigger_teleport记录:一条从入口传送到副本内,另一条从副本内传送到出口。