All scripts

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

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

Содержание

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


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

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

  • gameobject_scripts: Содержит информация для активации скриптов предназначенных для игровых объектов (ИО) типа GAMEOBJECT_TYPE_DOOR (0) и 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
dataint2 int(11) NO 0
dataint3 int(11) NO 0
dataint4 int(11) NO 0
x float NO 0
y float NO 0
z float NO 0
o float NO 0
comments varchar(255) 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 Начинает движение или сменяет его тип.
21 SET_ACTIVEOBJECT
22 SET_FACTION Изменить фракцию существа.
23 MORPH_TO_ENTRY_OR_MODEL
24 MOUNT_TO_ENTRY_OR_MODEL
25 SET_RUN Заставить существо бежать.

OtherFields

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

  • SCRIPT_COMMAND_TALK = 0
    • datalong:
flag Description
0SAY
1YELL
2TEXT_EMOTE
3BOSS_EMOTE
4WHISPER
5BOSS_WHISPER
6ZONE_YELL
    • datalong2: creature entry (searching for a buddy, closest to source)
    • datalong3: creature search radius
    • datalong4: Выбор языка.
# Internal Name Description
0 UNIVERSAL Text in this language is understood by ALL Races.
1 ORCISH Text in this language is understood ONLY by Horde Races.
2 DARNASSIAN Text in this language is understood ONLY by the Night Elf Race.
3 TAURAHE Text in this language is understood ONLY by the Tauren Race.
6 DWARVISH Text in this language is understood ONLY by the Dwarf Race.
7 COMMON Text in this language is understood ONLY by Alliance Races.
8 DEMONIC Text in this language is understood ONLY by the Demon Race (Not Implimented).
9 TITAN This language was used by Sargeras to speak with other Titians (Not Implemented).
10 THALASSIAN Text in this language is understood ONLY by the Blood Elf Race.
11 DRACONIC Text in this language is understood ONLY by the Dragon Race.
12 KALIMAG Text will display as Kalimag (not readable by players, language of all elementals)
13 GNOMISH Text in this language is understood ONLY by the Gnome Race.
14 TROLL Text in this language is understood ONLY by the Troll Race.
33 GUTTERSPEAK Text in this language is understood ONLY by the Undead Race.
35 DRAENEI Text in this language is understood ONLY by the Draenai Race.
36 ZOMBIE (not currently used?)
37 GNOMISH BINARY Binary language used by Alliance when drinking Binary Brew
38 GOBLIN BINARY Binary language used by Horce when drinking Binary Brew
    • data_flags:
flag value
flag_target_player_as_source 0x01
flag_original_source_as_target 0x02
flag_buddy_as_target 0x04
    • dataint-dataint4: Идентификатор текста, который будет произнесен. См db_script_string. Идентификатор должен быть в диапазоне от 2000000000 до 2000010000.
    • dataint2-dataint4: Опционально, для выбора случайного текста.


  • 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.
    • data_flags: summon as active object = 0x01
    • 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: Source/target cast spell at target/source ( 0: s->t 1: s->s 2: t->t 3: t->s 4: cast triggered).


  • 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).


  • SCRIPT_COMMAND_SET_ACTIVEOBJECT = 21
    • datalong: bool 0=off, 1=on.
    • datalong2: creature entry.
    • datalong3: search radius.


  • SCRIPT_COMMAND_SET_FACTION = 22
    • datalong: factionId.
    • datalong2: creature entry.
    • datalong3: search radius.


  • SCRIPT_COMMAND_MORPH_TO_ENTRY_OR_MODEL = 23
    • datalong: creature entry/modelid (depend on data_flags).
    • datalong2: creature entry.
    • datalong3: search radius.
    • data_flags: 0x01 to use datalong value as modelid explicit.


  • SCRIPT_COMMAND_MOUNT_TO_ENTRY_OR_MODEL = 24
    • datalong: creature entry/modelid (depend on data_flags).
    • datalong2: creature entry.
    • datalong3: search radius.
    • data_flags: 0x01 to use datalong value as modelid explicit.


  • SCRIPT_COMMAND_SET_RUN = 25
    • datalong: bool 0=off, 1=on.
    • datalong2: creature entry.
    • datalong3: search radius.

comments

Коментарии.

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