character_queststatus_seasonal 季节性任务表
基于 AzerothCore 官方数据库 · Characters 库 · 记录角色季节性节日任务的完成状态
表概述
character_queststatus_seasonal 表记录角色已完成的季节性节日任务(如冬幕节、美酒节、火焰节等),包含对应的事件ID。
核心概念:季节性任务与游戏事件(Event)关联。此表不仅记录任务完成状态,还绑定event字段,支持多个事件独立重置。
表结构
| 字段名 | 数据类型 | 默认值 | 说明 |
|---|---|---|---|
| guid | INT UNSIGNED | 0 | 角色GUID,关联 → characters.guid |
| quest | INT UNSIGNED | 0 | 任务ID,关联 → quest_template.ID |
| event | INT UNSIGNED | 0 | 事件ID,关联 → game_event.eventEntry |
重要字段详解
event - 事件ID
详细说明:关联到 game_event 表中的事件ID,标识任务属于哪个季节性活动。
- 美酒节事件对应ID
- 冬幕节事件对应ID
- 火焰节事件对应ID
- 事件结束后,重置任务完成状态
季节性重置机制
详细说明:不同事件有不同的重置机制。重置方式
- 按event字段过滤,可单独重置某个事件的任务
- 事件开始时自动清空该事件对应的所有记录
- 比简单的全表清空更灵活
SQL示例:重置美酒节任务 →
DELETE FROM character_queststatus_seasonal WHERE event=美酒节事件ID;SQL查询示例
-- 查看角色完成的所有季节性任务及事件
SELECT cqs.quest, cqs.event, qt.Title
FROM character_queststatus_seasonal cqs
LEFT JOIN world.quest_template qt ON cqs.quest = qt.ID
WHERE cqs.guid = 1;-- 统计各季节性事件的完成人数
SELECT event, COUNT(DISTINCT guid) AS player_count
FROM character_queststatus_seasonal
GROUP BY event;常见问题
Q: 季节性任务和年度任务的区别?
季节性任务在事件开始时会自动重置(如每年美酒节时可以重新完成),而一次性任务(queststatus_rewarded)只能做一次。重复周期由 game_event 表的调度控制。
Q: 如何手动让角色重新完成某季节性任务?
DELETE FROM character_queststatus_seasonal WHERE guid=角色GUID AND quest=任务ID;