玩家创建技能表定义了新创建的玩家角色在进入游戏时自动获得的技能。这些技能包括武器技能、专业技能、语言技能等,为不同种族和职业的新角色提供基础的技能配置。
字段名 | 类型 | 描述 |
---|---|---|
raceMask | int unsigned | 种族掩码 |
详细说明:使用位掩码表示适用的种族。可以同时指定多个种族,使用位运算组合不同种族的掩码值。
取值范围:1 - 4294967295 (int unsigned的范围) 种族掩码值:
组合示例:
计算方法:将需要的种族掩码值相加,或使用位运算OR操作 |
||
classMask | int unsigned | 职业掩码 |
详细说明:使用位掩码表示适用的职业。可以同时指定多个职业,使用位运算组合不同职业的掩码值。
取值范围:1 - 4294967295 (int unsigned的范围) 职业掩码值:
组合示例:
注意:职业掩码必须与种族掩码形成有效的种族职业组合 |
||
skill | smallint unsigned | 技能ID |
详细说明:指定要给予的技能ID。对应SkillLine.dbc文件中的技能定义,决定了角色将学会哪种技能。
取值范围:1 - 65535 (smallint unsigned的范围) 常用技能类型:
常用技能ID示例:
注意:确保技能ID在SkillLine.dbc中存在且适合指定的种族职业 |
||
rank | smallint unsigned | 技能等级 |
详细说明:指定技能的初始等级。决定了角色在获得技能时的熟练度水平。
取值范围:1 - 65535 (smallint unsigned的范围,但实际受技能最大等级限制) 等级设置原则:
等级限制:
建议设置:
|
||
comment | varchar(255) | 备注说明 |
详细说明:可选的备注字段,用于记录这个技能配置的说明、用途或特殊注意事项。这个字段不影响游戏功能,仅用于开发和维护时的参考。
字符限制:最大255个字符,可以为空(NULL) 建议用途:
示例备注:
注意:良好的备注有助于团队协作和后续维护 |
当玩家创建新角色时,系统会:
-- 所有种族都会通用语
INSERT INTO playercreateinfo_skills (raceMask, classMask, skill, rank, comment) VALUES
(1023, 1535, 98, 300, '通用语 - 所有种族母语级别');
-- 战士可以使用多种武器
INSERT INTO playercreateinfo_skills (raceMask, classMask, skill, rank, comment) VALUES
(1023, 1, 43, 1, '剑类武器 - 战士基础武器'),
(1023, 1, 44, 1, '斧类武器 - 战士基础武器'),
(1023, 1, 45, 1, '弓类武器 - 战士远程武器'),
(1023, 1, 95, 1, '防御技能 - 战士核心技能');
-- 兽人种族的兽人语
INSERT INTO playercreateinfo_skills (raceMask, classMask, skill, rank, comment) VALUES
(2, 1535, 109, 300, '兽人语 - 兽人种族母语');
-- 矮人种族的矮人语
INSERT INTO playercreateinfo_skills (raceMask, classMask, skill, rank, comment) VALUES
(4, 1535, 113, 300, '矮人语 - 矮人种族母语');
-- 查看人类战士的技能 (raceMask包含1, classMask包含1)
SELECT pcs.*, sl.name as skill_name
FROM playercreateinfo_skills pcs
LEFT JOIN skillline_template sl ON pcs.skill = sl.ID
WHERE (pcs.raceMask & 1) > 0 AND (pcs.classMask & 1) > 0
ORDER BY pcs.skill;
SELECT skill, COUNT(*) as usage_count,
GROUP_CONCAT(DISTINCT comment) as descriptions
FROM playercreateinfo_skills
GROUP BY skill
ORDER BY usage_count DESC;
SELECT skill, rank, comment
FROM playercreateinfo_skills
WHERE raceMask = 1023 -- 所有种族
ORDER BY skill;