表概述

playercreateinfo_item表控制新角色创建时获得的初始物品。每种种族-职业组合可以有独立的物品配置,为角色提供起始装备(如武器、防具)和消耗品(如食物、水)。

主键为 (race, class, itemid),通过amount控制物品数量,Note提供备注说明。

表结构

字段名数据类型默认值说明
raceTINYINT UNSIGNED0种族ID
classTINYINT UNSIGNED0职业ID
itemidINT UNSIGNED0物品ID,对应item_template.entry
amountINT1物品数量
NoteVARCHAR(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的记录即可。