creature_formations表是AzerothCore中控制生物队形和群体行为的核心表格。它允许多个生物组成一个队形,共同移动、战斗,并保持特定的相对位置关系。这个系统常用于巡逻队、护卫队等场景。
字段名 | 数据类型 | 默认值 | 说明 |
---|---|---|---|
leaderGUID | INT UNSIGNED | 0 | 队长的GUID,对应creature.guid |
memberGUID | INT UNSIGNED | 0 | 队员的GUID,对应creature.guid |
dist | FLOAT | 0 | 与队长的距离 |
angle | FLOAT | 0 | 相对于队长的角度(弧度) |
groupAI | INT UNSIGNED | 0 | 群体AI标志 |
point_1 | SMALLINT UNSIGNED | 0 | 路径点1 |
point_2 | SMALLINT UNSIGNED | 0 | 路径点2 |
指定队形的领导者。队长控制整个队形的移动方向和行为。
指定队形的成员。可以是队长本身(自引用)或其他生物。
队员与队长之间的距离(游戏单位)。常见值:
队员相对于队长的角度,以弧度为单位:
控制队形的AI行为:
用于定义队形在特定路径点的行为变化。
-- 队长(自引用)
INSERT INTO creature_formations (leaderGUID, memberGUID, dist, angle, groupAI)
VALUES (12345, 12345, 0, 0, 3);
-- 队员跟在队长右后方
INSERT INTO creature_formations (leaderGUID, memberGUID, dist, angle, groupAI)
VALUES (12345, 12346, 3, 2.36, 3);
-- 队长
INSERT INTO creature_formations (leaderGUID, memberGUID, dist, angle, groupAI)
VALUES (10001, 10001, 0, 0, 3);
-- 左侧护卫
INSERT INTO creature_formations (leaderGUID, memberGUID, dist, angle, groupAI)
VALUES (10001, 10002, 3, 4.71, 3);
-- 右侧护卫
INSERT INTO creature_formations (leaderGUID, memberGUID, dist, angle, groupAI)
VALUES (10001, 10003, 3, 1.57, 3);
-- 后方护卫
INSERT INTO creature_formations (leaderGUID, memberGUID, dist, angle, groupAI)
VALUES (10001, 10004, 5, 3.14, 3);
-- 队长(前方)
INSERT INTO creature_formations (leaderGUID, memberGUID, dist, angle, groupAI)
VALUES (20001, 20001, 0, 0, 1);
-- 左翼
INSERT INTO creature_formations (leaderGUID, memberGUID, dist, angle, groupAI)
VALUES (20001, 20002, 4, 3.93, 1);
-- 右翼
INSERT INTO creature_formations (leaderGUID, memberGUID, dist, angle, groupAI)
VALUES (20001, 20003, 4, 2.36, 1);
所有成员排成一条直线:
成员围绕队长形成圆形:
适合冲锋的楔形阵型:
SELECT * FROM creature_formations
WHERE leaderGUID = 队长GUID
ORDER BY angle;
DELETE FROM creature_formations
WHERE leaderGUID = 队长GUID;
.reload creature_formations