Game event
Таблица 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