playercreateinfo_action - 玩家创建动作表

玩家创建动作表定义了新创建的玩家角色在进入游戏时自动执行的动作。这些动作可以包括学习法术、获得技能、执行特定行为等,用于为不同种族和职业的新角色提供初始化设置。

表结构

字段名 类型 描述
race tinyint unsigned 种族ID
详细说明:指定这个动作适用的种族。对应CharRaces.dbc文件中的种族ID,决定了哪个种族的新角色会执行这个动作。
取值范围:1 - 255 (tinyint unsigned的范围)
常用种族ID:
  • 1 - 人类 (Human)
  • 2 - 兽人 (Orc)
  • 3 - 矮人 (Dwarf)
  • 4 - 暗夜精灵 (Night Elf)
  • 5 - 亡灵 (Undead)
  • 6 - 牛头人 (Tauren)
  • 7 - 侏儒 (Gnome)
  • 8 - 巨魔 (Troll)
  • 10 - 血精灵 (Blood Elf)
  • 11 - 德莱尼 (Draenei)

注意:必须与playercreateinfo表中的race字段对应
class tinyint unsigned 职业ID
详细说明:指定这个动作适用的职业。对应CharClasses.dbc文件中的职业ID,与种族ID组合确定具体的角色类型。
取值范围:1 - 255 (tinyint unsigned的范围)
常用职业ID:
  • 1 - 战士 (Warrior)
  • 2 - 圣骑士 (Paladin)
  • 3 - 猎人 (Hunter)
  • 4 - 盗贼 (Rogue)
  • 5 - 牧师 (Priest)
  • 6 - 死亡骑士 (Death Knight)
  • 7 - 萨满 (Shaman)
  • 8 - 法师 (Mage)
  • 9 - 术士 (Warlock)
  • 11 - 德鲁伊 (Druid)

组合限制:种族和职业的组合必须是游戏中允许的有效组合
button smallint unsigned 动作栏位置
详细说明:指定动作在玩家动作栏中的位置。动作栏是玩家界面底部的技能快捷栏,这个字段决定了动作被放置在哪个位置。
取值范围:0 - 143 (对应动作栏的不同位置)
位置分布:
  • 0-11 - 主动作栏 (底部第一排)
  • 12-23 - 第二动作栏 (底部第二排)
  • 24-35 - 右侧动作栏1
  • 36-47 - 右侧动作栏2
  • 48-59 - 底部动作栏1
  • 60-71 - 底部动作栏2
  • 72-83 - 其他扩展位置

设计建议:将重要的基础技能放在主动作栏的前几个位置(0-5)
action int unsigned 动作ID
详细说明:指定要执行的动作的ID。这个ID的含义取决于type字段的值,可以是法术ID、物品ID、宏ID等。
取值范围:0 - 4294967295 (int unsigned的范围)
根据type字段的不同含义:
  • type=0 (法术) - 对应Spell.dbc中的法术ID
  • type=64 (宏) - 宏的ID
  • type=128 (物品) - 对应item_template中的物品ID

常用法术示例:
  • 6603 - 自动攻击
  • 78 - 英勇打击 (战士)
  • 1752 - 邪恶攻击 (盗贼)

注意:确保action ID与type字段匹配,且在对应的数据表中存在
type smallint unsigned 动作类型
详细说明:定义动作的类型,决定了action字段应该如何解释。不同的类型对应不同的游戏功能。
取值范围:0 - 65535 (smallint unsigned的范围)
常用动作类型:
  • 0 - 法术 (Spell) - action字段为法术ID
  • 64 - 宏 (Macro) - action字段为宏ID
  • 128 - 物品 (Item) - action字段为物品ID

使用场景:
  • 法术类型 - 为新角色预设基础技能
  • 物品类型 - 为新角色预设可使用的物品快捷键
  • 宏类型 - 为新角色预设复杂的操作宏

注意:最常用的是type=0(法术),用于设置新角色的初始技能栏

功能说明

主要用途

工作机制

当玩家创建新角色时,系统会:

  1. 根据选择的种族和职业查找对应的记录
  2. 将指定的动作放置到动作栏的指定位置
  3. 确保玩家已经学会了对应的法术或拥有对应的物品
  4. 在玩家首次登录时应用这些设置

配置示例

人类战士的基础配置

-- 为人类战士设置基础动作栏
INSERT INTO playercreateinfo_action (race, class, button, action, type) VALUES
(1, 1, 0, 6603, 0),  -- 自动攻击放在位置0
(1, 1, 1, 78, 0),    -- 英勇打击放在位置1
(1, 1, 2, 2457, 0);  -- 战斗姿态放在位置2

暗夜精灵猎人的配置

-- 为暗夜精灵猎人设置动作栏
INSERT INTO playercreateinfo_action (race, class, button, action, type) VALUES
(4, 3, 0, 6603, 0),   -- 自动攻击
(4, 3, 1, 75, 0),     -- 自动射击
(4, 3, 2, 2973, 0),   -- 猛禽一击
(4, 3, 3, 1494, 0),   -- 追踪野兽
(4, 3, 4, 58984, 0);  -- 影遁 (暗夜精灵种族技能)

查询示例

查看特定种族职业的动作配置

SELECT pca.*, s.SpellName
FROM playercreateinfo_action pca
LEFT JOIN spell_template s ON pca.action = s.ID AND pca.type = 0
WHERE pca.race = 1 AND pca.class = 1  -- 人类战士
ORDER BY pca.button;

查找所有职业的通用技能

SELECT action, COUNT(*) as class_count
FROM playercreateinfo_action
WHERE type = 0
GROUP BY action
HAVING class_count > 5  -- 超过5个职业都有的技能
ORDER BY class_count DESC;

注意事项

⚠️ 重要提醒