Spawn tracking: различия между версиями
User1 (обсуждение | вклад) (Новая страница: «Для работы нужно заполнить три таблицы. Первая spawn_tracking_template. SpawnTrackingId можно найти в снифе или в таблице quest_poi в привязанном обжективе. PhaseId будет применяться после состояния, если указан. ===== spawn_tracking_template ===== DELETE FROM `spawn_tracking_template` WHERE `SpawnTrackingId` IN (1019259,1019322...») |
User1 (обсуждение | вклад) Нет описания правки |
||
| Строка 4: | Строка 4: | ||
DELETE FROM `spawn_tracking_template` WHERE `SpawnTrackingId` IN (1019259,1019322,1019353); | DELETE FROM `spawn_tracking_template` WHERE `SpawnTrackingId` IN (1019259,1019322,1019353); | ||
INSERT INTO `spawn_tracking_template` (`SpawnTrackingId`, `MapId`, `PhaseId`, `PhaseGroup`, `PhaseUseFlags`, `VerifiedBuild`) VALUES | INSERT INTO `spawn_tracking_template` (`SpawnTrackingId`, `MapId`, `PhaseId`, `PhaseGroup`, `PhaseUseFlags`, `VerifiedBuild`) VALUES | ||
(1019259, 1220, 1046, 0, 0, 63834), | (1019259, 1220, 1046, 0, 0, 63834), | ||
(1019322, 1220, 1046, 0, 0, 63834), | (1019322, 1220, 1046, 0, 0, 63834), | ||
| Строка 21: | Строка 20: | ||
DELETE FROM `spawn_tracking` WHERE `SpawnTrackingId` IN (1019259,1019322,1019353); | DELETE FROM `spawn_tracking` WHERE `SpawnTrackingId` IN (1019259,1019322,1019353); | ||
INSERT INTO `spawn_tracking` (`SpawnTrackingId`, `SpawnType`, `SpawnId`, `QuestObjectiveIds`) VALUES | INSERT INTO `spawn_tracking` (`SpawnTrackingId`, `SpawnType`, `SpawnId`, `QuestObjectiveIds`) VALUES | ||
(1019259, 1, 105691, '278523'), | (1019259, 1, 105691, '278523'), | ||
(1019322, 1, 105503, '278524'), | (1019322, 1, 105503, '278524'), | ||
| Строка 37: | Строка 35: | ||
DELETE FROM `spawn_tracking_state` WHERE `SpawnType` = 1 AND `SpawnId` IN (105691,105503,105566); | DELETE FROM `spawn_tracking_state` WHERE `SpawnType` = 1 AND `SpawnId` IN (105691,105503,105566); | ||
INSERT INTO `spawn_tracking_state` (`SpawnType`, `SpawnId`, `State`, `Visible`, `StateSpellVisualId`, `StateAnimId`, `StateAnimKitId`, `StateWorldEffects`) VALUES | INSERT INTO `spawn_tracking_state` (`SpawnType`, `SpawnId`, `State`, `Visible`, `StateSpellVisualId`, `StateAnimId`, `StateAnimKitId`, `StateWorldEffects`) VALUES | ||
(1, 105691, 0, 0, 0, 0, 0, '2099'), | (1, 105691, 0, 0, 0, 0, 0, '2099'), | ||
(1, 105691, 1, 1, 0, 0, 0, '2099'), | (1, 105691, 1, 1, 0, 0, 0, '2099'), | ||
(1, 105691, 2, 0, 0, 0, 3761, NULL), | (1, 105691, 2, 0, 0, 0, 3761, NULL), | ||
(1, 105503, 0, 0, 0, 0, 0, '2099'), | (1, 105503, 0, 0, 0, 0, 0, '2099'), | ||
(1, 105503, 1, 1, 0, 0, 0, '2099'), | (1, 105503, 1, 1, 0, 0, 0, '2099'), | ||
(1, 105503, 2, 0, 0, 0, 3761, NULL), | (1, 105503, 2, 0, 0, 0, 3761, NULL), | ||
(1, 105566, 0, 0, 0, 0, 0, '2099'), | (1, 105566, 0, 0, 0, 0, 0, '2099'), | ||
(1, 105566, 1, 1, 0, 0, 0, '2099'), | (1, 105566, 1, 1, 0, 0, 0, '2099'), | ||
(1, 105566, 2, 0, 0, 0, 3761, NULL); | (1, 105566, 2, 0, 0, 0, 3761, NULL); | ||
Версия от 15:07, 30 июня 2026
Для работы нужно заполнить три таблицы. Первая spawn_tracking_template. SpawnTrackingId можно найти в снифе или в таблице quest_poi в привязанном обжективе. PhaseId будет применяться после состояния, если указан.
spawn_tracking_template
DELETE FROM `spawn_tracking_template` WHERE `SpawnTrackingId` IN (1019259,1019322,1019353);
INSERT INTO `spawn_tracking_template` (`SpawnTrackingId`, `MapId`, `PhaseId`, `PhaseGroup`, `PhaseUseFlags`, `VerifiedBuild`) VALUES
(1019259, 1220, 1046, 0, 0, 63834),
(1019322, 1220, 1046, 0, 0, 63834),
(1019353, 1220, 1046, 0, 0, 63834);
Дальше состояния привязываются к гуидам и к обжективам
enum SpawnObjectType
SPAWN_TYPE_CREATURE = 0, // TITLE Creature SPAWN_TYPE_GAMEOBJECT = 1, // TITLE Gameobject SPAWN_TYPE_AREATRIGGER = 2,// TITLE AreaTrigger NUM_SPAWN_TYPES_WITH_DATA, // SKIP NUM_SPAWN_TYPES = NUM_SPAWN_TYPES_WITH_DATA // SKIP
spawn_tracking
DELETE FROM `spawn_tracking` WHERE `SpawnTrackingId` IN (1019259,1019322,1019353); INSERT INTO `spawn_tracking` (`SpawnTrackingId`, `SpawnType`, `SpawnId`, `QuestObjectiveIds`) VALUES (1019259, 1, 105691, '278523'), (1019322, 1, 105503, '278524'), (1019353, 1, 105566, '278525');
Дальше указывается визуал в зависимости от состояния стейта.
enum class SpawnTrackingState
None = 0, Active = 1, Complete = 2, Max
spawn_tracking_state
DELETE FROM `spawn_tracking_state` WHERE `SpawnType` = 1 AND `SpawnId` IN (105691,105503,105566); INSERT INTO `spawn_tracking_state` (`SpawnType`, `SpawnId`, `State`, `Visible`, `StateSpellVisualId`, `StateAnimId`, `StateAnimKitId`, `StateWorldEffects`) VALUES (1, 105691, 0, 0, 0, 0, 0, '2099'), (1, 105691, 1, 1, 0, 0, 0, '2099'), (1, 105691, 2, 0, 0, 0, 3761, NULL), (1, 105503, 0, 0, 0, 0, 0, '2099'), (1, 105503, 1, 1, 0, 0, 0, '2099'), (1, 105503, 2, 0, 0, 0, 3761, NULL), (1, 105566, 0, 0, 0, 0, 0, '2099'), (1, 105566, 1, 1, 0, 0, 0, '2099'), (1, 105566, 2, 0, 0, 0, 3761, NULL);