bueno hay muchas formas tanto en core como en db,
este es un ejemplo como puedes hacerte tu evento en la db
en la tabla game_event creas el evento
eventEntry = 999 ejemplo puede ser cualquier numero mientras no exista la eventEntry
start_time = la fecha y hora cuando inicia el evento 2020-04-30 00:30:00
end_time = fecha hasta cuando quieres que finalice el evento 2025-04-30 00:30:00
occurence = cada cuanto quieres que suceda el evento (cantidad en minutos por ejemplo 7 dias(10080), 1dia(1440)
length = es lo que dura el evento y tienes que colocar la cantidad en minutos por ejemplo 7 dias(10080), 1dia(1440)
description = y ya lo demas en comentario
INSERT INTO `game_event` (`eventEntry`, `start_time`, `end_time`, `occurence`, `length`, `holiday`, `description`, `world_event`) VALUES ('999', '2020-04-30 00:30:00', '2025-04-30 00:30:00', '10080', '1440', '0', 'evento wowcreador', '0');
para que los npc, gameobject se activen cuando comiense el evento, es en las tablas - game_event_creature, game_event_gameobject
spawntimesecs = el tiempo en segundos 5 minutos (300), 30min (1800), 1hora(3600)
id = entry del npc
REPLACE INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `modelid`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `currentwaypoint`, `curhealth`, `curmana`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`) VALUES
('3000999', '18683', '1', '1', '1', '0', '0', '1594.71', '-4404.57', '7.03082', '2.01403', '300', '0', '0', '6495', '0', '0', '0', '0', '0');
game_event_creature
eventEntry = 999 el eentry del evento que creo
guid = el guid del npc que agrego que esta en la tabla creature
INSERT INTO `game_event_creature` (`eventEntry`, `guid`) VALUES ('999', '3000999');
spawntimesecs = el tiempo en segundos 5 minutos (300), 30min (1800), 1hora(3600)
REPLACE INTO `gameobject` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`) VALUES
(4111999, 500094, 1, 1, 1, 7399.34, -1483.85, 228.764, 4.05058, 0, 0, 0.898483, -0.439009, 300, 0, 1);
game_event_gameobject
eventEntry = 999 el eentry del evento que creo
guid = el guid del objeto que agrego que esta en la tabla gameobject
INSERT INTO `game_event_gameobject` (`eventEntry`, `guid`) VALUES ('999', '4111999');
Bueno es algo breve para que entienda una forma facil de crear el evento espero le sea de ayuda, saludo