📋 表结构
| 字段名 | 数据类型 | 默认值 | 说明 |
|---|---|---|---|
| id | MEDIUMINT UNSIGNED | 0 | 生物模板ID,对应creature_template.entry |
| quest | MEDIUMINT UNSIGNED | 0 | 任务ID,对应quest_template.ID |
🔍 核心字段详解
id - 生物模板ID
字段说明:指定哪个NPC可以结束任务,这是复合主键的一部分
取值范围:1 - 16777215
关联关系:必须对应creature_template表中存在的entry
取值范围:1 - 16777215
关联关系:必须对应creature_template表中存在的entry
NPC要求:
- creature_template.npcflag必须包含2 (UNIT_NPC_FLAG_QUESTGIVER)
- 通常需要配置gossip_menu_id用于对话
- 建议设置合适的subname标识其功能
quest - 任务ID
字段说明:指定哪个任务可以在此NPC处结束,这是复合主键的一部分
取值范围:1 - 16777215
关联关系:必须对应quest_template表中存在的ID
取值范围:1 - 16777215
关联关系:必须对应quest_template表中存在的ID
任务状态要求:
- 任务必须处于可完成状态
- 玩家必须满足所有完成条件
- 背包空间足够接收奖励物品
💡 实际案例
基础 为NPC添加单个任务结束
NPC 12345可以接受任务 1001的提交
INSERT INTO creature_questender VALUES(12345, 1001);批量 为NPC添加多个任务结束
NPC 12345可以接受任务 1001、1002、1003的提交
INSERT INTO creature_questender VALUES
(12345, 1001),
(12345, 1002),
(12345, 1003);共享 多个NPC接受同一任务
任务 1001可以在NPC 12345或12346处提交
INSERT INTO creature_questender VALUES
(12345, 1001),
(12346, 1001);完整 同一NPC发放和结束任务
NPC 12345既发放任务1001,也接受任务1001的提交
-- 发放任务
INSERT INTO creature_queststarter VALUES(12345, 1001);
-- 结束任务
INSERT INTO creature_questender VALUES(12345, 1001);任务链 不同NPC发放和结束
任务1001由NPC A发放,但需要在NPC B处提交
-- NPC A发放任务
INSERT INTO creature_queststarter VALUES(12345, 1001);
-- NPC B结束任务
INSERT INTO creature_questender VALUES(12346, 1001);⚙️ 配置要求
NPC基础配置
-- NPC必须设置任务给予者标志
UPDATE creature_template SET npcflag = npcflag | 2 WHERE entry = 12345;
-- 设置合适的子名称
UPDATE creature_template SET subname = '任务提交者' WHERE entry = 12345;
-- 配置对话菜单
UPDATE creature_template SET gossip_menu_id = 50001 WHERE entry = 12345;任务完成流程
玩家完成任务后:
- 根据creature_questender表查找可以结束任务的NPC
- 玩家前往对应NPC的位置
- NPC头顶会显示黄色问号(?)标识
- 与NPC对话打开任务对话框
- 选择要完成的任务并确认奖励
- 提交任务并获得奖励
❓ 常见问题
为什么NPC不显示任务完成标识?
检查以下配置:
- creature_template.npcflag是否包含2 (任务给予者标志)
- creature_questender表中是否有对应记录
- 任务是否已经完成所有目标
- 玩家是否满足任务的完成条件
一个任务可以有多个结束者吗?
可以。一个任务可以在多个不同的NPC处结束,这在某些特殊任务中很有用,例如护送任务可能在目的地NPC处结束。
如何设置任务链?
通过quest_template表的NextQuestId字段设置后续任务,结合creature_questender和creature_queststarter表控制任务流程。
⚡ 快速参考
关键字段
| id | 生物模板ID |
| quest | 任务ID |
NPC标志要求
| npcflag | 必须包含2 |
| gossip_menu_id | 建议配置 |
任务标识
| 黄色问号 | 任务可完成 |
| 灰色问号 | 任务未完成 |
🔗 相关表格
- creature_template - 生物模板,定义NPC属性
- creature_queststarter - 任务开始者关系
- quest_template - 任务模板定义
- gossip_menu - NPC对话菜单