Scene template

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

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