lfg_data - 随机副本查找器数据
基于 AzerothCore Characters 数据库 · 角色LFG(随机副本查找器)状态表
📋 表概述
lfg_data 表存储每个角色在随机副本查找器(Looking For Group)系统中的状态。记录了角色当前正在排队等待哪个地下城以及排队状态,是LFG系统的核心数据表。
- 随机地下城排队管理
- 角色LFG状态追踪
- 地下城ID关联
- 排队/等待/就绪状态
主键为 guid,每个角色在LFG系统中只有一条状态记录。dungeon 字段指定排队的目标地下城ID。
📊 表结构
| 字段名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| guid | int UNSIGNED | 0 | 角色全局唯一ID(主键) |
| dungeon | int UNSIGNED | 0 | 排队的地下城ID(0=未排队) |
| state | tinyint UNSIGNED | 0 | LFG状态码 |
🔍 重要字段详解
🏰 dungeon - 地下城ID
详细说明:指定角色正在排队等待的副本/地下城。
- 0 = 未排队或已完成(角色不在LFG中)
- 具体ID值对应 LFGDungeons.dbc 中的地下城ID
- 随机英雄地下城、随机普通地下城等有各自的专有ID
- 常见值:258=随机WLK英雄地下城,261=随机WLK普通地下城
📊 state - LFG状态
详细说明:角色在LFG系统中的当前状态。
- 0 = 空闲/未排队
- 1 = 正在排队等待中
- 2 = 已匹配到队伍,等待确认
- 3 = 已确认进入(正在传送进副本)
💡 清理所有排队状态:
UPDATE lfg_data SET dungeon = 0, state = 0 WHERE dungeon > 0;💡 SQL示例
示例1:查询正在排队的角色
SELECT
l.guid, c.name, c.level, c.class,
l.dungeon, l.state
FROM lfg_data l
JOIN characters c ON c.guid = l.guid
WHERE l.state > 0
ORDER BY l.state;示例2:清除指定角色的排队状态
UPDATE lfg_data
SET dungeon = 0, state = 0
WHERE guid = 100;❓ 常见问题
Q1: 角色卡在LFG排队状态无法取消怎么办?
直接重置该角色的 lfg_data 记录:
UPDATE lfg_data SET dungeon=0, state=0 WHERE guid=X;Q2: lfg_data 与 LFGDungeons.dbc 的关系是什么?
lfg_data.dungeon 存储的是 LFGDungeons.dbc 中定义的地下城组ID,不是地图ID。每个DBC条目对应一个排队选项(如"随机WLK英雄本")。