character_skills 技能等级表
存储角色的专业技能和武器技能等级数据
官方文档来源表概述
character_skills 表记录角色的所有技能(Skill)的当前等级和最大等级。包括两大类:专业技能(如采矿、炼金、附魔)和武器技能(如剑、斧、弓)。
每行代表一个角色的一个技能。联合主键 (guid, skill) 确保每个角色每种技能只有一条记录。value 表示当前技能点数,max 表示可达到的最大值,此表与 SkillLine.dbc 配合使用来确定技能的具体名称和类别。
value 不能超过 max,max 受角色等级限制。当提升技能等级时 value 增加;当升级时 max 随之提高。
表结构
| 字段名 | 类型 | 说明 |
|---|---|---|
| guid | INT UNSIGNED | 角色全局唯一标识符(联合主键) |
| skill | SMALLINT UNSIGNED | 技能ID(联合主键,对应 SkillLine.dbc 的 ID) |
| value | SMALLINT UNSIGNED | 当前技能点数(熟练度) |
| max | SMALLINT UNSIGNED | 当前可达到的最大技能点数 |
核心字段说明
value 和 max 的区别
| value | max | 说明 |
|---|---|---|
| 1 | 75 | 刚学了采矿(初级),当前1点,最高75点 |
| 250 | 300 | 采矿练到250/300 |
| 300 | 375 | 采矿到300并突破上限到375(外域阶段) |
| 450 | 450 | 采矿已满级(450/450,WLK上限) |
角色每升一级,技能 max 值会自动提升。例如角色5级时 max=75,20级时 max=150。300-375 和 375-450 分别需要购买突破技能书。
常用专业技能ID
| 技能ID | 技能名称 | 类别 | WLK上限 |
|---|---|---|---|
| 129 | 急救 | 辅助技能 | 450 |
| 164 | 锻造 | 主要专业技能 | 450 |
| 165 | 制皮 | 主要专业技能 | 450 |
| 171 | 炼金术 | 主要专业技能 | 450 |
| 182 | 草药学 | 采集专业 | 450 |
| 185 | 烹饪 | 辅助技能 | 450 |
| 186 | 采矿 | 采集专业 | 450 |
| 197 | 裁缝 | 主要专业技能 | 450 |
| 202 | 工程学 | 主要专业技能 | 450 |
| 333 | 附魔 | 主要专业技能 | 450 |
| 356 | 钓鱼 | 辅助技能 | 450 |
| 393 | 剥皮 | 采集专业 | 450 |
| 755 | 珠宝加工 | 主要专业技能 | 450 |
| 762 | 骑术 | 辅助技能 | 300 |
| 773 | 铭文 | 主要专业技能 | 450 |
常用武器技能ID
| 技能ID | 武器类型 | 常见使用职业 |
|---|---|---|
| 43 | 剑 | 战士、圣骑士、盗贼 |
| 44 | 斧 | 战士、圣骑士、萨满 |
| 54 | 锤 | 战士、圣骑士、萨满 |
| 95 | 防御 | 战士、圣骑士 |
| 136 | 法杖 | 法师、术士、牧师、德鲁伊 |
| 162 | 徒手 | 所有职业 |
| 173 | 匕首 | 盗贼、法师、术士 |
| 228 | 魔杖 | 法师、术士、牧师 |
实际案例
查看角色的专业技能
-- 查询指定角色的专业技能,排除武器技能
SELECT skill, value, max,
ROUND(value / max * 100, 1) AS 进度百分比
FROM character_skills
WHERE guid = 1
AND skill IN (171, 333, 186, 164)
ORDER BY value DESC;设置角色的技能等级
-- 将某个角色的采矿技能设为满级(需离线执行)
INSERT INTO character_skills (guid, skill, value, max)
VALUES (1, 186, 1, 450)
ON DUPLICATE KEY UPDATE value = 450, max = 450;统计服务器中满级专业角色的数量
-- 统计采矿达到450满级的角色数量
SELECT COUNT(DISTINCT guid) AS 满级采矿角色数
FROM character_skills
WHERE skill = 186 AND value >= 450;常见问题
Q1: value 超过 max 值是否正常?
通常情况下 value 不应超过 max。但某些种族/职业的初始技能加成可能造成短暂的不一致。发现 value > max 应通过游戏内机制(如遗忘再学习)来修复。
Q2: 为什么有些角色的技能 max 值不同?
max 值主要取决于角色等级。1-300 段每升一级提升5点上限;300-375 和 375-450 分别需要购买外域和诺森德的专业技能书来解锁。
Q3: 一个角色最多能学几个主要专业技能?
魔兽世界限制每个角色最多2个主要专业技能(锻造、制皮、炼金等)。辅助技能(钓鱼、烹饪、急救)和骑术没有数量限制。如果通过数据库强行添加超过2个,服务器核心可能会在角色登录时检测并修正。