areatrigger_teleport 表
areatrigger_teleport表定义区域触发器的传送目标。当玩家进入areatrigger定义的区域时,会被传送到此表中配置的目标位置。
表概述
areatrigger_teleport表是副本传送系统的核心配置表。当玩家进入 areatrigger 表中定义的触发区域时,系统查询此表获取传送目标。每条记录定义了目标地图、目标坐标和朝向角度。
该表属于Trigger System,主键为 ID(对应areatrigger.entry),通过FULLTEXT索引支持名称搜索。
表结构
| 字段名 | 数据类型 | 默认值 | 说明 |
|---|---|---|---|
| ID | INT UNSIGNED | 0 | 触发器ID,对应areatrigger.entry |
| Name | TEXT | NULL | 传送点名称(支持中文) |
| target_map | SMALLINT UNSIGNED | 0 | 目标地图ID |
| target_position_x | FLOAT | 0 | 目标位置X坐标 |
| target_position_y | FLOAT | 0 | 目标位置Y坐标 |
| target_position_z | FLOAT | 0 | 目标位置Z坐标(高度) |
| target_orientation | FLOAT | 0 | 传送后玩家的朝向角度 |
重要字段详解
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区域后没有传送,如何排查?
按以下步骤排查:
- 确认areatrigger表中entry值存在且map设置正确
- 确认areatrigger_teleport表中ID与areatrigger.entry匹配
- 检查target_map和目标坐标是否有效
- 检查玩家是否满足access_requirement中的进入条件
Q: 如何设置一个双向传送门?
需要创建两个areatrigger区域和两条areatrigger_teleport记录:一条从入口传送到副本内,另一条从副本内传送到出口。