playercreateinfo_item 表
playercreateinfo_item表定义新角色创建时背包中的初始物品,包括装备、消耗品和特殊道具。
表概述
playercreateinfo_item表控制新角色创建时获得的初始物品。每种种族-职业组合可以有独立的物品配置,为角色提供起始装备(如武器、防具)和消耗品(如食物、水)。
主键为 (race, class, itemid),通过amount控制物品数量,Note提供备注说明。
表结构
| 字段名 | 数据类型 | 默认值 | 说明 |
|---|---|---|---|
| race | TINYINT UNSIGNED | 0 | 种族ID |
| class | TINYINT UNSIGNED | 0 | 职业ID |
| itemid | INT UNSIGNED | 0 | 物品ID,对应item_template.entry |
| amount | INT | 1 | 物品数量 |
| Note | VARCHAR(255) | NULL | 物品说明备注 |
重要字段详解
itemid (物品ID)
对应item_template表中的物品entry。常见初始物品类型:
- 武器:新手短剑、新手法杖等
- 防具:新手衬衣、新手裤子等
- 食物/水:硬肉干(117)、清凉的泉水(159)等
- 特殊物品:炉石(6948)、职业特有物品等
所有种族-职业通常都至少获得一个炉石(6948)。
amount (物品数量)
角色创建时获得的物品数量。消耗品通常为多个(如食物×20),装备通常为1个。
实战案例
查询人类战士的初始物品:
SELECT pci.itemid, it.name, pci.amount, pci.Note
FROM playercreateinfo_item pci
JOIN item_template it ON pci.itemid = it.entry
WHERE pci.race = 1 AND pci.class = 1
ORDER BY pci.itemid;
为所有种族添加初始物品(炉石):
INSERT IGNORE INTO playercreateinfo_item (race, class, itemid, amount, Note)
SELECT DISTINCT pci2.race, pci2.class, 6948, 1, '炉石'
FROM playercreateinfo pci2;
为所有新角色添加新手礼包:
INSERT INTO playercreateinfo_item (race, class, itemid, amount, Note)
SELECT DISTINCT race, class, 99999, 1, '新手礼包'
FROM playercreateinfo
WHERE (race, class, 99999) NOT IN (SELECT race, class, itemid FROM playercreateinfo_item);
常见问题
Q: 新建角色背包中没有物品,如何排查?
检查playercreateinfo_item表中是否存在该(race, class)组合的itemid记录。注意某些职业特有的itemid可能只存在于特定种族-职业组合中。
Q: 如何给新角色添加自定义物品?
在playercreateinfo_item表中INSERT对应race/class/itemid/amount的记录即可。