表概述

playercreateinfo_skills表使用种族掩码(raceMask)职业掩码(classMask)来控制新角色初始拥有的武器技能专业技能和其他技能。

主键为 (raceMask, classMask, skill),通过位掩码方式可以一条记录覆盖多种种族/职业组合,实现高效批量配置。

表结构

字段名数据类型默认值说明
raceMaskINT UNSIGNEDNOT NULL种族位掩码
classMaskINT UNSIGNEDNOT NULL职业位掩码
skillSMALLINT UNSIGNEDNOT NULL技能ID,对应SkillLine.dbc
rankSMALLINT UNSIGNED0初始技能等级
commentVARCHAR(255)NULL技能说明注释

重要字段详解

raceMask (种族位掩码)

通过位掩码指定适用种族,一条记录可同时适用于多个种族:

  • 1 (0x001) - 人类
  • 2 (0x002) - 兽人
  • 4 (0x004) - 矮人
  • 8 (0x008) - 暗夜精灵
  • 16 (0x010) - 亡灵
  • 32 (0x020) - 牛头人
  • 64 (0x040) - 侏儒
  • 128 (0x080) - 巨魔
  • 1024 (0x400) - 血精灵
  • 2048 (0x800) - 德莱尼
  • 1791 - 所有联盟种族
  • 690 - 所有部落种族
classMask (职业位掩码)

通过位掩码指定适用职业:

  • 1 - 战士
  • 2 - 圣骑士
  • 4 - 猎人
  • 8 - 盗贼
  • 16 - 牧师
  • 32 - 死亡骑士
  • 64 - 萨满
  • 128 - 法师
  • 256 - 术士
  • 1024 - 德鲁伊
skill (技能ID)

对应SkillLine.dbc中的技能ID。常用初始技能:

  • 武器技能 - 单手剑(43)、双手剑(55)、匕首(173)等
  • 种族技能 - 人类剑专精、兽人斧专精等
  • 语言技能 - 通用语(98)、兽人语(109)等

实战案例

查询所有职业的初始技能配置:
SELECT raceMask, classMask, skill, rank, comment
FROM playercreateinfo_skills
ORDER BY classMask, skill;
为所有职业添加新的初始技能:
INSERT INTO playercreateinfo_skills (raceMask, classMask, skill, rank, comment)
VALUES (4095, 2047, 999, 1, '新增通用初始技能');
为联盟所有职业添加新语言:
INSERT INTO playercreateinfo_skills (raceMask, classMask, skill, rank, comment)
VALUES (1791, 2047, 1, 300, '联盟通用语言');

常见问题

Q: 如何计算raceMask/classMask的值?

将需要包含的种族/职业对应的掩码值相加即可。如包含人类(1)和矮人(4)的raceMask = 1+4 = 5。

Q: 新建角色缺少某技能,如何排查?

检查playercreateinfo_skills表中raceMask和classMask是否覆盖该角色的种族和职业。