Scene template
Таблица scene_template
Таблица scene_template из базы данных world хранит **параметры сцен (Scenes)**: привязку к клиентскому ScriptPackage, поведение через флаги, а также (опционально) имя серверного скрипта.
| Field | Type | Attributes | Key | Null | Default | Extra |
|---|---|---|---|---|---|---|
| SceneId | int | UNSIGNED | PRIMARY | NO | ||
| Flags | int | UNSIGNED | NO | 0 | ||
| ScriptPackageID | int | UNSIGNED | NO | 0 | ||
| Encrypted | tinyint | UNSIGNED | NO | 0 | ||
| ScriptName | varchar(64) | utf8mb4_unicode_ci | NO |
SceneId
ID сцены. В ядре часто используется как SceneId, который приходит от аур с эффектом SPELL_AURA_SCENE_PLAY (430), либо запускается скриптами.
Пример: 1000
Flags
Битовая маска, управляющая поведением сцены.
| Value | Bit | Name | Описание |
|---|---|---|---|
| 0 | 0x00000000 | SCENEFLAG_NONE | Без флагов |
| 1 | 0x00000001 | SCENEFLAG_UNK1 | NYI (не реализовано) |
| 2 | 0x00000002 | SCENEFLAG_UNK2 (SCENEFLAG_CANCEL_AT_END) | Сцена отменяется при SceneComplete (NYI) |
| 4 | 0x00000004 | SCENEFLAG_NOT_CANCELABLE | Игрок не может отменить сцену (кинематографичные сцены) |
| 8 | 0x00000008 | SCENEFLAG_UNK8 | NYI |
| 16 | 0x00000010 | SCENEFLAG_UNK16 | NYI |
| 32 | 0x00000020 | SCENEFLAG_UNK32 | NYI |
Примечание: значения суммируются как битовая маска (например, 4 + 2).
Пример: 4
ScriptPackageID
ID клиентского пакета сцены (SceneScriptPackage.db2). Без корректного ScriptPackage сцена не запустится корректно на клиенте.
Пример: 250
Encrypted
Флаг (0/1). Обычно используется как техническая пометка для некоторых сцен/пакетов.
| Value | Описание |
|---|---|
| 0 | Не помечено как encrypted |
| 1 | Помечено как encrypted |
Пример: 0
ScriptName
Имя серверного C++-скрипта (обработчика сцены), если требуется логика на стороне сервера.
Если скрипт не нужен — оставляют пустую строку .
Пример: "scene_example_script"