Game event

Материал из World of WarCraft Developers Wiki
Перейти к навигации Перейти к поиску

Таблица game_event

Таблица game_event из базы данных world хранит определения игровых событий (Game Event System), которые автоматически включаются/выключаются сервером по расписанию. 2

PRIMARY KEY: (eventEntry).

Field Type Attributes Key Null Default Extra
eventEntry tinyint UNSIGNED PRIMARY NO
start_time timestamp YES NULL
end_time timestamp YES NULL
occurence bigint UNSIGNED NO 5184000
length bigint UNSIGNED NO 2592000
holiday int UNSIGNED NO 0
holidayStage tinyint UNSIGNED NO 0
WorldStateId int YES NULL
description varchar(255) utf8mb4_unicode_ci YES NULL
world_event tinyint UNSIGNED NO 0
announce tinyint UNSIGNED YES 2

eventEntry

ID события (используется во всех связанных таблицах game_event_*).

Пример: 7

start_time

Абсолютная дата/время, раньше которой событие не начнётся. Если NULL — без “нижней границы” (зависит от ядра). 3

Пример: "2025-12-24 00:00:00"

end_time

Абсолютная дата/время, позже которой событие не должно начинаться. Если NULL — без “верхней границы” (поведение может отличаться в разных ядрах). 4

Пример: "2026-01-10 00:00:00"

occurence

Период (в минутах) между повторениями события. Важно: значение не должно быть 0 (в некоторых ядрах это приводит к крашу). 5

Пример: 1440 (раз в сутки)

length

Длительность (в минутах) одного “включения” события после старта. Должна быть меньше occurence, иначе событие может никогда не выключаться. 6

Пример: 180 (3 часа)

holiday

Client-side Holiday ID (из Holidays.db2/dbc) — нужен, чтобы клиент показывал событие в календаре/праздниках. 7

Пример: 374

holidayStage

Индекс основной стадии праздника (см. HolidayDuration). Используется у некоторых праздников (например, ярмарка Новолуния имеет подготовительную стадию). 8

Пример: 1

WorldStateId

Опциональный WorldState ID (WorldState), который ядро может использовать для клиентских/серверных переключателей, связанных с событием (если поддерживается вашей сборкой). В схеме допускается NULL. 9

Пример: 20001

description

Описание/название события (обычно выводится в консоль при старте/остановке). 10

Пример: "Darkmoon Faire"

world_event

Флаг “world event”:

Value Описание
0 обычное событие
1 world event (для условий/прогресса обычно требуется game_event_condition / game_event_quest_condition)

11

Пример: 0

announce

Как анонсировать событие:

Value Описание
0 не анонсировать
1 анонсировать (текст из description)
2 брать значение из конфигурации сервера (Event.Announce)

12

Пример: 2