📊 表结构

字段名 数据类型 默认值 说明
QuestID INT UNSIGNED 0 任务ID (主键1)
id INT UNSIGNED 0 POI ID (主键2)
ObjectiveIndex INT 0 目标索引
MapID INT UNSIGNED 0 地图ID
WorldMapAreaId INT UNSIGNED 0 世界地图区域ID
Floor INT UNSIGNED 0 楼层
Priority INT UNSIGNED 0 优先级
Flags INT UNSIGNED 0 标志
VerifiedBuild INT NULL 验证版本

🔑 核心字段详解

🆔 QuestID - 任务ID

详细说明:任务ID,对应quest_template.ID。 取值范围:对应quest_template.ID
  • 复合主键的一部分
  • 指定POI所属的任务
  • 一个任务可以有多个POI
  • 必须与quest_template中的ID匹配

📋 id - POI ID

详细说明:POI的唯一标识ID,用于关联quest_poi_points。 取值范围:0开始递增
  • 复合主键的一部分
  • 同一任务的POI ID从0开始
  • 对应quest_poi_points中的Idx1
  • 用于区分同一任务的不同POI

🎯 ObjectiveIndex - 目标索引

详细说明:POI对应的任务目标索引。 取值范围:-1, 0-4
  • -1 - 任务完成NPC位置
  • 0 - 第一个任务目标
  • 1-4 - 第2-5个任务目标
  • 对应quest_template中的目标

🗺️ MapID - 地图ID

详细说明:POI所在的地图ID。 取值范围:对应Map.dbc
  • 指定POI所在的地图
  • 对应Map.dbc中的地图ID
  • 如艾尔文森林=12,暴风城=0
  • 用于在正确的地图上显示POI

🌐 WorldMapAreaId - 世界地图区域ID

详细说明:世界地图上的区域ID。 取值范围:对应WorldMapArea.dbc
  • 指定POI在世界地图上的区域
  • 对应WorldMapArea.dbc中的区域ID
  • 用于在世界地图上显示POI

🏢 Floor - 楼层

详细说明:POI所在的楼层,对应AreaTable.dbc。 取值范围:对应AreaTable.dbc
  • 对应AreaTable.dbc中的区域ID
  • 用于多层建筑中的POI定位
  • 影响POI的显示层级

⭐ Priority - 优先级

详细说明:POI的显示优先级。 取值范围:0开始递增
  • 优先级越高,POI越重要
  • 用于多个POI时的显示顺序
  • 高优先级POI优先显示

🚩 Flags - 标志

详细说明:POI的标志位。 取值范围:位标志组合
  • 控制POI的显示和行为
  • 不同的标志组合表示不同的POI类型
  • 影响POI在地图上的显示方式

💡 实际案例

任务 Quest ID 8318 - Secret Communication

任务"秘密通信"的POI配置,标记任务目标区域

-- QuestID=8318, id=3, ObjectiveIndex=目标索引, MapID=地图ID DELETE FROM quest_poi WHERE QuestID = 8318 AND id = 3; INSERT INTO quest_poi VALUES (8318,3,0,0,0,0,0,0,0);

任务 Quest ID 747 - 任务开始位置

任务开始NPC位置的POI,ObjectiveIndex=-1表示任务完成位置

-- QuestID=747, id=0, ObjectiveIndex=-1(任务完成NPC位置) DELETE FROM quest_poi WHERE QuestID = 747 AND id = 0; INSERT INTO quest_poi VALUES (747,0,-1,12,45,0,0,0,0);

任务 Quest ID 2 - 多目标任务

任务"The Jasperlode Mine"的多目标POI配置

-- QuestID=2, 配置多个目标位置的POI DELETE FROM quest_poi WHERE QuestID = 2; INSERT INTO quest_poi VALUES (2,0,-1,12,45,0,0,0,0), (2,1,0,12,45,0,1,0,0);

⚡ 快速参考

目标索引

-1任务完成NPC
0目标1
1目标2
2-4目标3-5

关联表

quest_template任务模板
quest_poi_pointsPOI坐标点
Map.dbc地图数据
WorldMapArea.dbc世界区域

POI用途

任务开始NPC位置
任务目标目标位置
地图显示问号标记
区域范围蓝色框

显示位置

主地图显示POI
小地图不显示
任务日志关联显示
任务追踪关联显示

🔗 相关表格

❓ 常见问题

Q1: POI的作用?
POI(兴趣点)用于在地图上标记任务目标的位置,帮助玩家找到任务目标的位置和范围。显示为地图上的问号标记或蓝色区域框。
Q2: ObjectiveIndex的含义?
ObjectiveIndex=-1表示任务完成NPC的位置,0-4表示第1-5个任务目标的位置,对应quest_template中的目标。
Q3: Floor的作用?
Floor对应AreaTable.dbc中的区域ID,用于多层建筑中的POI定位,影响POI的显示层级。
Q4: 如何修改POI?
修改后需要执行".reload quest_poi"命令,关闭Wow.exe,然后删除cache文件夹才能看到变化。