📊 表结构

字段名 数据类型 默认值 说明
ID MEDIUMINT UNSIGNED 0 任务ID (主键)
Emote1 SMALLINT UNSIGNED 0 表情动作1
Emote2 SMALLINT UNSIGNED 0 表情动作2
Emote3 SMALLINT UNSIGNED 0 表情动作3
Emote4 SMALLINT UNSIGNED 0 表情动作4
EmoteDelay1 INT UNSIGNED 0 表情延迟1(毫秒)
EmoteDelay2 INT UNSIGNED 0 表情延迟2(毫秒)
EmoteDelay3 INT UNSIGNED 0 表情延迟3(毫秒)
EmoteDelay4 INT UNSIGNED 0 表情延迟4(毫秒)
VerifiedBuild SMALLINT 0 验证版本

🔑 核心字段详解

🆔 ID - 任务ID

详细说明:任务ID,对应quest_template.ID。 取值范围:对应quest_template.ID
  • 主键,唯一标识
  • 必须与quest_template中的ID匹配
  • 每个任务一条记录
  • 定义任务接受时的表情动作

🎭 Emote1-4 - 表情动作

详细说明:NPC在任务接受界面中播放的表情动作。 取值范围:对应Emotes.dbc
  • 对应Emotes.dbc中的表情ID
  • 最多支持4个表情动作
  • 按顺序依次播放
  • 常见表情:1=说话, 2=问候, 3=挥手, 6=点头等

⏱️ EmoteDelay1-4 - 表情延迟

详细说明:表情动作的延迟时间。 取值范围:0 - 任意值(毫秒)
  • 单位:毫秒
  • 控制表情播放的时间间隔
  • 0表示立即播放
  • 可以创建表情序列效果

✅ VerifiedBuild - 验证版本

详细说明:数据验证版本号。
  • 0 - 未验证
  • >0 - 已验证的客户端版本
  • -1 - 占位符
  • -版本号 - 已验证但手动修改

💡 实际案例

任务 Quest ID 747 - 单一表情示例

NPC在任务接受界面播放说话表情(Emote1=1)

-- Emote1=1(说话), EmoteDelay1=0(立即播放) DELETE FROM quest_details WHERE ID = 747; INSERT INTO quest_details VALUES (747,1,0,0,0,0,0,0,0,0);

任务 Quest ID 15 - 表情序列示例

NPC依次播放说话→问候→挥手表情

-- Emote1=1(说话), Emote2=2(问候), Emote3=3(挥手), 延迟分别为0ms, 1000ms, 2000ms DELETE FROM quest_details WHERE ID = 15; INSERT INTO quest_details VALUES (15,1,0,2,1000,3,2000,0,0,0);

任务 Quest ID 1598 - 术士职业任务表情

NPC播放点头表情表示认可

-- Emote1=6(点头), EmoteDelay1=0(立即播放) DELETE FROM quest_details WHERE ID = 1598; INSERT INTO quest_details VALUES (1598,6,0,0,0,0,0,0,0,0);

任务 Quest ID 2 - 复杂表情序列

NPC播放4个表情:说话→问候→点头→欢呼

-- Emote1=1(说话), Emote2=2(问候), Emote3=6(点头), Emote4=25(欢呼) DELETE FROM quest_details WHERE ID = 2; INSERT INTO quest_details VALUES (2,1,0,2,500,6,1500,25,2500,0);

⚡ 快速参考

表情字段

Emote1第1个表情
Emote2第2个表情
Emote3第3个表情
Emote4第4个表情

延迟字段

EmoteDelay1延迟(毫秒)
EmoteDelay2延迟(毫秒)
EmoteDelay3延迟(毫秒)
EmoteDelay4延迟(毫秒)

常见表情

1说话
2问候
3挥手
6点头
25欢呼

关联表

quest_template任务模板
Emotes.dbc表情数据
quest_greeting任务问候
quest_offer_reward任务奖励

🔗 相关表格

❓ 常见问题

Q1: 表情动作的作用?
表情动作让NPC在任务接受界面中表现得更生动,通过表情序列增强任务交互的沉浸感。
Q2: 如何配置表情序列?
使用Emote1-4定义表情,EmoteDelay1-4定义延迟,NPC会按顺序依次播放这些表情。
Q3: EmoteDelay的单位?
EmoteDelay单位为毫秒,1000表示1秒,0表示立即播放下一个表情。
Q4: 必须配置4个表情吗?
不需要,可以只配置1个或多个表情,未使用的表情字段设置为0即可。