Spawn tracking: различия между версиями

Материал из Uwow
Перейти к навигации Перейти к поиску
(Новая страница: «Для работы нужно заполнить три таблицы. Первая spawn_tracking_template. SpawnTrackingId можно найти в снифе или в таблице quest_poi в привязанном обжективе. PhaseId будет применяться после состояния, если указан. ===== spawn_tracking_template ===== DELETE FROM `spawn_tracking_template` WHERE `SpawnTrackingId` IN (1019259,1019322...»)
 
Нет описания правки
Строка 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);