📊 表结构
| 字段名 | 数据类型 | 默认值 | 说明 |
|---|---|---|---|
| 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 | 任务奖励 |
🔗 相关表格
- quest_template - 任务模板表
- quest_greeting - 任务问候表
- quest_offer_reward - 任务奖励提供表
- quest_request_items - 任务请求物品表
❓ 常见问题
Q1: 表情动作的作用?
表情动作让NPC在任务接受界面中表现得更生动,通过表情序列增强任务交互的沉浸感。
Q2: 如何配置表情序列?
使用Emote1-4定义表情,EmoteDelay1-4定义延迟,NPC会按顺序依次播放这些表情。
Q3: EmoteDelay的单位?
EmoteDelay单位为毫秒,1000表示1秒,0表示立即播放下一个表情。
Q4: 必须配置4个表情吗?
不需要,可以只配置1个或多个表情,未使用的表情字段设置为0即可。