📊 表结构

字段名 数据类型 默认值 说明
leaderGUID INT UNSIGNED 0 队长GUID (主键1)
memberGUID INT UNSIGNED 0 队员GUID (主键2)
dist FLOAT 0 与队长的距离
angle FLOAT 0 相对队长角度(弧度)
groupAI INT UNSIGNED 0 群体AI标志
point_1 SMALLINT UNSIGNED 0 路径点1
point_2 SMALLINT UNSIGNED 0 路径点2

🔑 核心字段详解

👑 leaderGUID - 队长GUID

详细说明:队形的领导者GUID,对应creature.guid。 取值范围:对应creature.guid
  • 队长控制整个队形的移动
  • 队长必须有自引用记录(memberGUID=leaderGUID)
  • 队长通常有移动路径

👥 memberGUID - 队员GUID

详细说明:队形成员的GUID,可以是队长本身或其他生物。 取值范围:对应creature.guid
  • 队长自引用:memberGUID=leaderGUID
  • 队员跟随队长移动
  • 一个队长可有多名队员

📏 dist - 距离

详细说明:队员与队长的距离(游戏码)。 取值范围:0.0 - 50.0+
  • 2-5 - 紧密队形
  • 5-10 - 标准队形
  • 10-20 - 松散队形
  • 队长自引用时dist=0

📐 angle - 角度

详细说明:队员相对于队长的角度,以弧度为单位。 取值范围:0.0 - 6.28 (0-2π)
  • 0 - 正前方
  • 1.57 (π/2) - 右侧
  • 3.14 (π) - 正后方
  • 4.71 (3π/2) - 左侧

🤖 groupAI - 群体AI标志

详细说明:控制队形的AI行为模式。
  • 0 - 无特殊AI
  • 1 - 跟随队长移动
  • 2 - 战斗时协同作战
  • 3 - 完全同步行为(跟随+协同)

📍 point_1/point_2 - 路径点

详细说明:定义队形在特定路径点的行为变化。
  • 对应waypoint_data的point编号
  • 0表示不使用路径点限制
  • 可在特定路径点改变队形

💡 实际案例

双人巡逻 创建两人巡逻队

leaderGUID=12345, 队员跟在队长右后方

-- 队长自引用 INSERT INTO creature_formations VALUES( 12345, 12345, 0, 0, 3, 0, 0 ); -- 队员跟在右后方(angle=2.36) INSERT INTO creature_formations VALUES( 12345, 12346, 3, 2.36, 3, 0, 0 );

四人护卫 创建四人护卫队形

leaderGUID=10001, 左右后方各一名护卫

-- 队长 INSERT INTO creature_formations VALUES(10001, 10001, 0, 0, 3, 0, 0); -- 左侧护卫(angle=4.71) INSERT INTO creature_formations VALUES(10001, 10002, 3, 4.71, 3, 0, 0); -- 右侧护卫(angle=1.57) INSERT INTO creature_formations VALUES(10001, 10003, 3, 1.57, 3, 0, 0); -- 后方护卫(angle=3.14) INSERT INTO creature_formations VALUES(10001, 10004, 5, 3.14, 3, 0, 0);

V字形 创建V字形冲锋队形

leaderGUID=20001, 左右翼各一名队员

-- 队长(前方尖兵) INSERT INTO creature_formations VALUES(20001, 20001, 0, 0, 1, 0, 0); -- 左翼(angle=3.93) INSERT INTO creature_formations VALUES(20001, 20002, 4, 3.93, 1, 0, 0); -- 右翼(angle=2.36) INSERT INTO creature_formations VALUES(20001, 20003, 4, 2.36, 1, 0, 0);

圆形 创建圆形保护队形

leaderGUID=30001, 四名队员围绕队长

-- 队长(中心) INSERT INTO creature_formations VALUES(30001, 30001, 0, 0, 3, 0, 0); -- 前方(angle=0) INSERT INTO creature_formations VALUES(30001, 30002, 5, 0, 3, 0, 0); -- 右方(angle=1.57) INSERT INTO creature_formations VALUES(30001, 30003, 5, 1.57, 3, 0, 0); -- 后方(angle=3.14) INSERT INTO creature_formations VALUES(30001, 30004, 5, 3.14, 3, 0, 0); -- 左方(angle=4.71) INSERT INTO creature_formations VALUES(30001, 30005, 5, 4.71, 3, 0, 0);

⚡ 快速参考

角度换算

0正前方
1.57右侧(π/2)
3.14正后方(π)
4.71左侧(3π/2)

距离建议

2-5紧密队形
5-10标准队形
10-20松散队形

groupAI标志

0无特殊AI
1跟随移动
2协同战斗
3完全同步

队形要点

队长自引用必须添加
队长路径waypoint_data
队员跟随groupAI=3

🔗 相关表格

❓ 常见问题

Q1: 队长自引用记录必须吗?
是的,队长必须有自引用记录(memberGUID=leaderGUID, dist=0, angle=0)。
Q2: 队形不工作怎么办?
检查队长是否有移动路径,groupAI设置是否正确,GUID是否有效。
Q3: 如何解散队形?
DELETE FROM creature_formations WHERE leaderGUID = 队长GUID。
Q4: 修改后需要重启吗?
不需要,使用命令 .reload creature_formations 重新加载。