character_inventory表

表格概述

character_inventory表记录了角色物品栏位的分配信息,定义了每个物品实例在角色背包、装备栏、银行等不同容器中的具体位置。这个表是连接角色和物品实例的桥梁,管理着物品的存储位置和组织结构。

🎯 表格作用

完整字段列表

序号 字段名 数据类型 默认值 是否为空 键类型 说明
1 guid int(10) unsigned 0 NOT NULL PRIMARY KEY 角色GUID,关联characters表,复合主键之一
2 bag tinyint(3) unsigned 0 NOT NULL PRIMARY KEY 容器ID,标识物品所在的背包或容器,复合主键之一
3 slot tinyint(3) unsigned 0 NOT NULL PRIMARY KEY 槽位编号,物品在容器中的具体位置,复合主键之一
4 item int(10) unsigned 0 NOT NULL INDEX 物品实例GUID,关联item_instance表的guid字段

字段详细说明

👤 guid - 角色标识符

中文意思:角色全局唯一标识符

作用:标识拥有此物品栏位的角色

常见值:1, 2, 3, 4, 5... (对应characters表中的guid)

示例应用:查询指定角色的所有物品栏位分配,角色删除时清理相关数据

🎒 bag - 容器标识符

中文意思:背包或容器编号

作用:标识物品存放的容器类型和位置

常见值:

示例应用:区分物品是在背包、银行还是装备栏中

📍 slot - 槽位编号

中文意思:容器内的槽位位置

作用:定义物品在指定容器中的具体位置

常见值:

示例应用:确定物品在界面中的显示位置,装备限制检查

📦 item - 物品实例标识符

中文意思:物品实例全局唯一标识符

作用:关联到具体的物品实例,获取物品的详细信息

常见值:1, 2, 3, 4, 5... (对应item_instance表中的guid)

示例应用:通过此ID查询物品的属性、耐久度、附魔等详细信息

容器系统详解

🎒 背包系统说明

装备槽位详解

⚔️ 装备栏槽位说明

装备栏使用特殊的bag值255,slot值对应不同的装备部位:

使用注意事项

⚠️ 重要提醒

常用查询示例

💡 SQL查询示例

-- 查询角色的所有装备
SELECT ci.slot, ii.itemEntry, it.name
FROM character_inventory ci
JOIN item_instance ii ON ci.item = ii.guid
JOIN world.item_template it ON ii.itemEntry = it.entry
WHERE ci.guid = 1 AND ci.bag = 255
ORDER BY ci.slot;

-- 查询角色背包中的所有物品
SELECT ci.bag, ci.slot, ii.itemEntry, it.name, ii.count
FROM character_inventory ci
JOIN item_instance ii ON ci.item = ii.guid
JOIN world.item_template it ON ii.itemEntry = it.entry
WHERE ci.guid = 1 AND ci.bag BETWEEN 0 AND 22
ORDER BY ci.bag, ci.slot;

-- 查询银行中的物品
SELECT ci.slot, ii.itemEntry, it.name
FROM character_inventory ci
JOIN item_instance ii ON ci.item = ii.guid
JOIN world.item_template it ON ii.itemEntry = it.entry
WHERE ci.guid = 1 AND ci.bag BETWEEN 23 AND 45
ORDER BY ci.bag, ci.slot;

-- 统计角色的背包使用情况
SELECT
    CASE
        WHEN bag = 0 THEN '主背包'
        WHEN bag BETWEEN 19 AND 22 THEN '额外背包'
        WHEN bag BETWEEN 23 AND 38 THEN '银行'
        WHEN bag = 255 THEN '装备栏'
        ELSE '其他'
    END as container_type,
    COUNT(*) as used_slots
FROM character_inventory
WHERE guid = 1
GROUP BY container_type;
                

相关表格