All scripts
Материал из YTDB DataBase
NeatElves (Обсуждение | вклад) |
Burned (Обсуждение | вклад) (→command: Перевод команд, добавлена новая [10487] Implement SCRIPT_COMMAND_MOVEMENT(20)) |
||
Строка 154: | Строка 154: | ||
====command==== | ====command==== | ||
- | + | Тип действия скрипта по прошествии [[#delay|delay]] секунд. Значение этого поля влияет на то, каким образом нужно заполнять поля рядом. | |
- | + | Можно использовать такие команды: | |
{| border=1 cellpadding=3 cellspacing=0 | {| border=1 cellpadding=3 cellspacing=0 | ||
- | ! | + | ! Комманда !! Имя !! Описание |
|- | |- | ||
- | | 0 || TALK || | + | | 0 || TALK || Сказать/прошептать/крикнуть/текстовая эмоция. |
|- | |- | ||
- | | 1 || EMOTE || | + | | 1 || EMOTE || Проиграть эмоцию у существа. |
|- | |- | ||
- | | 2 || FIELD_SET || | + | | 2 || FIELD_SET || Сменить значение по индексу у игрока. |
|- | |- | ||
- | | 3 || MOVE_TO || | + | | 3 || MOVE_TO || Переместить существо по адресу. |
|- | |- | ||
- | | 4 || FLAG_SET || | + | | 4 || FLAG_SET || Включает биты в поле флагов по индексу у игрока. |
|- | |- | ||
- | | 5 || FLAG_REMOVE || | + | | 5 || FLAG_REMOVE || Выключает биты в поле флагов по индексу у игрока. |
|- | |- | ||
- | | 6 || TELEPORT_TO || | + | | 6 || TELEPORT_TO || Телпеортирует игрока в локацию. |
|- | |- | ||
- | | 7 || QUEST_EXPLORED || | + | | 7 || QUEST_EXPLORED || Защитывает открытие для квеста. |
|- | |- | ||
- | | 8 || KILL_CREDIT || | + | | 8 || KILL_CREDIT || Защитывает убийство для квеста. |
|- | |- | ||
- | | 9 || RESPAWN_GAMEOBJECT || | + | | 9 || RESPAWN_GAMEOBJECT || Спавнит незаспавненное ГО. |
|- | |- | ||
- | | 10 || TEMP_SUMMON_CREATURE || | + | | 10 || TEMP_SUMMON_CREATURE || Временно вызывает существо. |
|- | |- | ||
- | | 11 || OPEN_DOOR || | + | | 11 || OPEN_DOOR || Открывает дверь. (type == 0). |
|- | |- | ||
- | | 12 || CLOSE_DOOR || | + | | 12 || CLOSE_DOOR || Закрывает дверь. (type == 0). |
|- | |- | ||
- | | 13 || ACTIVATE_OBJECT || | + | | 13 || ACTIVATE_OBJECT || Активирует объект. |
|- | |- | ||
- | | 14 || REMOVE_AURA || | + | | 14 || REMOVE_AURA || Убирает ауру наложенную заклинанием. |
|- | |- | ||
- | | 15 || CAST_SPELL || | + | | 15 || CAST_SPELL || Кастует заклинание. |
|- | |- | ||
- | | 16 || PLAY_SOUND || | + | | 16 || PLAY_SOUND || Играет звук. |
|- | |- | ||
- | | 17 || CREATE_ITEM || | + | | 17 || CREATE_ITEM || Создает предмет. |
|- | |- | ||
- | | 18 || DESPAWN_SELF || | + | | 18 || DESPAWN_SELF || Деспавнит нпц с задержкой. |
|- | |- | ||
- | | 19 || PLAY_MOVIE || | + | | 19 || PLAY_MOVIE || Показывает видео. |
+ | |- | ||
+ | | 20 || MOVEMENT || Начинает движение или сменяет его тип. | ||
|} | |} | ||
Версия 15:11, 15 сентября 2010
|
К описанию таблиц базы данных 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
Delay in seconds before this current step of the script activates. 0 = instant.
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.