All scripts

Материал из YTDB DataBase

Перейти к: навигация, поиск

Содержание

К описанию таблиц базы данных mangos.


Таблицы вида `*_scripts`

Этот формат таблицы используется для 7 различных таблиц, чтобы управлять возможными скриптами, активизированными различными действиями:

  • gameobject_scripts: Содержит информация для активации скриптов предназначенных для игровых объектов (ИО) типа GAMEOBJECT_TYPE_BUTTON (1).
  • spell_scripts: Содержит информацию для активации скриптов предназначенных для заклинаний с эффектом SPELL_EFFECT_SCRIPT_EFFECT (77).
  • quest_start_scripts: Содержит информацию для активации скриптов после того, как игрок взял указанный квест.
  • quest_end_scripts: Содержит информацию для активации скриптов после того, как игрок сдал указанный квест.
  • event_scripts: Содержит скрипты активирующиеся всякий раз, когда происходит указанный случай, будь это объект или эффект заклинания SPELL_EFFECT_SEND_EVENT (61).
  • gossip_scripts: Содержит скрипты активирующиеся всякий раз, когда происходит указанный случай в госсип меню.
  • creature_movement_scripts: Содержит скрипты активирующиеся всякий раз при движении нпц.

ПРИМЕЧЕНИЕ: У скриптов в этой таблицы может быть больше чем одна запись, поскольку скрипт может сделать больше чем только одно действие. Также каждому действию, которое может сделать скрипт, можно указать отдельную задержку к нему. В этом случае, ядро активизирует соответствующее действие после правильной задержки.


Структура

Field Type Attributes Null Key Default Comments
id mediumint(8) unsigned NO 0
delay int(10) unsigned NO 0
command mediumint(8) unsigned NO 0
datalong mediumint(8) unsigned NO 0
datalong2 int(10) unsigned NO 0
datalong3 int(10) unsigned NO 0
datalong4 int(10) unsigned NO 0
data_flags tinyint(3) unsigned NO 0
dataint int(11) NO 0
x float NO 0
y float NO 0
z float NO 0
o float NO 0


Описание полей

id

Для gameobject_scripts, это глобальный номер (GUID) кнопок/рычагов. Смотри gameobject.guid.
Для spell_scripts, это номер заклинания. Смотри Spell.dbc
Для quest_*_scripts, этот номер берется из StartScript или CompleteScript в таблицы с шаблонами квестов.
Для event_scripts, это номер события. В настоящее время не существует полного списка событий. В любом случае, номера событий взяты непосредственно из WDB данных игровых объектов (ИО) или данных эффектов заклинаний. Если игровой объект (ИО) и заклинания активизируют то же самое событие, то номера записей будут соответствовать.
Для gossip_scripts, этот номер берется из action_script_id в таблице с шаблонами меню.
Для creature_movement_scripts, этот номер берется из script_id в таблице с точками передвижения существ.

delay

Задержка в секундах, перед тем как скрипт активируется. 0 = сразу.

command

Тип действия скрипта по прошествии delay секунд. Значение этого поля влияет на то, каким образом нужно заполнять поля рядом.

Можно использовать такие команды:

Комманда Имя Описание
0 TALK Сказать/прошептать/крикнуть/текстовая эмоция.
1 EMOTE Проиграть эмоцию у существа.
2 FIELD_SET Сменить значение по индексу у игрока.
3 MOVE_TO Переместить существо по адресу.
4 FLAG_SET Включает биты в поле флагов по индексу у игрока.
5 FLAG_REMOVE Выключает биты в поле флагов по индексу у игрока.
6 TELEPORT_TO Телпеортирует игрока в локацию.
7 QUEST_EXPLORED Защитывает открытие для квеста.
8 KILL_CREDIT Защитывает убийство для квеста.
9 RESPAWN_GAMEOBJECT Спавнит незаспавненное ГО.
10 TEMP_SUMMON_CREATURE Временно вызывает существо.
11 OPEN_DOOR Открывает дверь. (type == 0).
12 CLOSE_DOOR Закрывает дверь. (type == 0).
13 ACTIVATE_OBJECT Активирует объект.
14 REMOVE_AURA Убирает ауру наложенную заклинанием.
15 CAST_SPELL Кастует заклинание.
16 PLAY_SOUND Играет звук.
17 CREATE_ITEM Создает предмет.
18 DESPAWN_SELF Деспавнит нпц с задержкой.
19 PLAY_MOVIE Показывает видео.
20 MOVEMENT Начинает движение или сменяет его тип.

OtherFields

Depending on what command was used, the meaning and use for the following fields varies.

  • SCRIPT_COMMAND_TALK = 0
    • datalong: 0=say, 1=whisper, 2=yell, 3=text emote
    • datalong2: creature entry (searching for a buddy, closest to source)
    • datalong3: creature search radius
    • data_flags:
flag value
flag_target_player_as_source 0x01
flag_original_source_as_target 0x02
flag_buddy_as_target 0x04
    • dataint: The text ID that the creature will say. See db_script_string. ID must be between 2000000000 and 2000010000.


  • SCRIPT_COMMAND_EMOTE = 1
    • datalong: The emote ID to play.


  • SCRIPT_COMMAND_FIELD_SET = 2
    • datalong: Index of the field.
    • datalong2: Value to place at the index.


  • SCRIPT_COMMAND_MOVE_TO = 3
    • datalong2: Length of the motion.
    • x: X position to move to.
    • y: Y position to move to.
    • z: Z position to move to.
    • o: Orientation to face.


  • SCRIPT_COMMAND_FLAG_SET = 4
    • datalong: Field index to be set.
    • datalong2: Flag bit(s) to set.


  • SCRIPT_COMMAND_FLAG_REMOVE = 5
    • datalong: Field index to be unset.
    • datalong2: Flag bit(s) to unset.


  • SCRIPT_COMMAND_TELEPORT_TO = 6
    • datalong: Target Map ID. See Maps.dbc
    • x: Teleport target x coordinate.
    • y: Teleport target y coordinate.
    • z: Teleport target z coordinate.
    • o: Teleport target orientation.


  • SCRIPT_COMMAND_QUEST_EXPLORED = 7
    • datalong: Quest ID whose external status should be satisfied
    • datalong2: Distance away from the NPC/object that the player can be and have the script still take effect


  • SCRIPT_COMMAND_KILL_CREDIT = 8
    • datalong: Kill credit entry for quest (entry in quest_template.ReqCreatureOrGOId)
    • datalong2: 0=personal credit, 1=group credit


  • SCRIPT_COMMAND_RESPAWN_GAMEOBJECT = 9
    • datalong: Guid of the gameobject to respawn. See gameobject.guid.
    • datalong2: Despawn time in seconds. If the value is < 5 seconds: 5 is used instead.


  • SCRIPT_COMMAND_TEMP_SUMMON_CREATURE = 10
    • datalong: Entry of the summoned creature from creature_template.entry.
    • datalong2: Despawn time in ms.
    • x: Summon target x coordinate.
    • y: Summon target y coordinate.
    • z: Summon target z coordinate.
    • o: Summon target orientation.


  • SCRIPT_COMMAND_OPEN_DOOR = 11
    • datalong: Guid of the activated door. It's a gameobject.guid.
    • datalong2: Delay before closing again the door. If the value is < 5 seconds: 5 is used instead.


  • SCRIPT_COMMAND_CLOSE_DOOR = 12
    • datalong: Guid of the activated door. It's a gameobject.guid.
    • datalong2: Delay before opening again the door. If the value is < 5 seconds: 5 is used instead.


  • SCRIPT_COMMAND_ACTIVATE_OBJECT = 13
    • The source must be a unit and the target a game object.


  • SCRIPT_COMMAND_REMOVE_AURA = 14
    • datalong: Spell ID.
    • datalong2: If value > 0, then cast on the source; otherwise cast on the target.


  • SCRIPT_COMMAND_CAST_SPELL = 15
    • datalong: Spell ID.
    • datalong2: If value > 0, then cast on the source; otherwise cast on the target.


  • SCRIPT_COMMAND_PLAY_SOUND = 16
    • datalong: Sound ID.
    • datalong2: bitmask: 0/1=anyone/target, 0/2=with distance dependent, so 1|2 = 3 is target with distance dependent.

Side note: Source may be any object/npc. Target may be any player.


  • SCRIPT_COMMAND_CREATE_ITEM = 17
    • datalong: Item ID.
    • datalong2: Amount.

Side note: Source or target have to be a player.


  • SCRIPT_COMMAND_DESPAWN_SELF = 18
    • datalong: despawn delay.

Side note: Source or target must be creature.


  • SCRIPT_COMMAND_PLAY_MOVIE = 19
    • datalong: movie_id. See Movie.dbc.


  • SCRIPT_COMMAND_MOVEMENT = 20
    • datalong: может быть 0:без движения, 1:случайное, 2:точки передвижения. Если 2, то у существа должна быть запись в creature_movement_template.
    • datalong2: Опционально entry существа.
    • datalong3: Радиус поиска существа, если используем datalong2.

Side note:Команда начать движение источнику скрипта. Если источник - не существо, но цель - да, то применяем к цели. Можно указать entry существа в datalong2 и начать его движение, если оно находится рядом (радиус поиска указан в datalong3).

Личные инструменты