All scripts

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

(Различия между версиями)
Перейти к: навигация, поиск
(OtherFields)
(OtherFields)
Строка 256: Строка 256:
====OtherFields====
====OtherFields====
-
* ''buddy_entry'' - field to store the entry of a "buddy" (depending on command can be both [[gameobject_template#entry|gameobject_template.entry]] and [[creature_template#entry|creature_template.entry]])
+
* ''buddy_entry'' - поле содержит entry "buddy" (цели) (зависит от команды, может быть как [[gameobject_template#entry|gameobject_template.entry]] так и  [[creature_template#entry|creature_template.entry]])
-
* ''search_radius'' - range in which the buddy defined in buddy_entry will be searched
+
* ''search_radius'' - радиус, в котором цель, указанная в buddy_entry будет искаться
-
* ''data_flags'' - Field which holds a combination of these flags:
+
* ''data_flags'' - поле содержит комбинацию флагов:
{| border=1 cellpadding=2 cellspacing=0
{| border=1 cellpadding=2 cellspacing=0
! Description !! Описание !! flag !! Comment
! Description !! Описание !! flag !! Comment

Версия 10:01, 9 апреля 2012

Содержание

К описанию таблиц базы данных 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
buddy_entry mediumint(8) unsigned NO 0
search_radius mediumint(8) 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 Заставить существо бежать.
26 ATTACK_START Заставить существо атаковать.
27 SCRIPT_COMMAND_GO_LOCK_STATE
28 SCRIPT_COMMAND_STAND_STATE Заставить существо сменить стойку (стоять, сесть, лечь...).
29 SCRIPT_COMMAND_MODIFY_NPC_FLAGS Заставить существо сменить creature_template.npcflag.

OtherFields

  • buddy_entry - поле содержит entry "buddy" (цели) (зависит от команды, может быть как gameobject_template.entry так и creature_template.entry)
  • search_radius - радиус, в котором цель, указанная в buddy_entry будет искаться
  • data_flags - поле содержит комбинацию флагов:
Description Описание flag Comment
SCRIPT_FLAG_BUDDY_AS_TARGET 0x01
SCRIPT_FLAG_REVERSE_DIRECTION 0x02
SCRIPT_FLAG_SOURCE_TARGETS_SELF 0x04
SCRIPT_FLAG_COMMAND_ADDITIONAL 0x08Only for some commands possible

Detailed meaning described below!


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

  • SCRIPT_COMMAND_TALK = 0

Side note: resultingSource = WorldObject, resultingTarget = Unit/none

    • datalong: Выбор типа.
flag Description
0SAY
1YELL
2TEXT_EMOTE
3BOSS_EMOTE
4WHISPER
5BOSS_WHISPER
6ZONE_YELL
    • datalong2: Выбор языка.
IDНазваниеInternal NameDescription
0УниверсальныйUNIVERSALText in this language is understood by ALL Races.
1Оркский(Орда)ORCISHText in this language is understood ONLY by Horde Races.
2ДарнасскийDARNASSIANText in this language is understood ONLY by the Night Elf Race.
3Язык таурахэ(таурены)TAURAHEText in this language is understood ONLY by the Tauren Race.
6ДворфийскийDWARVISHText in this language is understood ONLY by the Dwarf Race.
7Общий(Альянс)COMMONText in this language is understood ONLY by Alliance Races.
8ДемоническийDEMONICText in this language is understood ONLY by the Demon Race (Not Implimented).
9Наречие титановTITANThis language was used by Sargeras to speak with other Titians (Not Implemented).
10ТалассийскийTHALASSIANText in this language is understood ONLY by the Blood Elf Race.
11ДрагонийDRACONICText in this language is understood ONLY by the Dragon Race.
12Язык стихий – КалимагKALIMAGText will display as Kalimag (not readable by players, language of all elementals)
13ГномскийGNOMISHText in this language is understood ONLY by the Gnome Race.
14Наречие троллейTROLLText in this language is understood ONLY by the Troll Race.
33Наречие нежитиGUTTERSPEAKText in this language is understood ONLY by the Undead Race.
35ДренейскийDRAENEIText in this language is understood ONLY by the Draenai Race.
36Язык зомбиZOMBIE(not currently used?)
37Гномский бинарныйGNOMISH BINARYBinary language used by Alliance when drinking Binary Brew
38Гоблинский бинарныйGOBLIN BINARYBinary language used by Horce when drinking Binary Brew
    • dataint-dataint4: Идентификатор текста, который будет произнесен. См db_script_string. Идентификатор должен быть в диапазоне от 2000000000 до 2000010000.
    • dataint2-dataint4: Опционально, для выбора случайного текста.


  • SCRIPT_COMMAND_EMOTE = 1

Side note: resultingSource = Unit, resultingTarget = Unit/none

    • datalong: Идентификатор воспроизводимой эмоции.


  • SCRIPT_COMMAND_FIELD_SET = 2

Side note: source = any

    • datalong: Идентификатор поля.
    • datalong2: Значение поля.


  • SCRIPT_COMMAND_MOVE_TO = 3

Side note: resultingSource = Creature, if position is very near to current position, or x=y=z=0, then only orientation is changed

    • datalong2: travel time.
    • x: Координата x.
    • y: Координата y.
    • z: Координата z.
    • o: Ориентация.


  • SCRIPT_COMMAND_FLAG_SET = 4

Side note: source = any

    • datalong: Идентификатор поля.
    • datalong2: Битмаска.


  • SCRIPT_COMMAND_FLAG_REMOVE = 5

Side note: source = any

    • datalong: Идентификатор поля.
    • datalong2: Битмаска.


  • SCRIPT_COMMAND_TELEPORT_TO = 6

Side note: source or target with Player

    • datalong: Идентификатор карты. См. Maps.dbc
    • x: Координата x.
    • y: Координата y.
    • z: Координата z.
    • o: Ориентация.


  • SCRIPT_COMMAND_QUEST_EXPLORED = 7

Side note: one from source or target must be Player, another GO/Creature

    • datalong: Идентификатор задания. См. quest_template.entry.
    • datalong2: Дистанция от NPC/object до игрока, для срабатывания эффекта или 0.


  • SCRIPT_COMMAND_KILL_CREDIT = 8

Side note: source or target with Player

    • datalong: Идентификатор существа. См. quest_template.ReqCreatureOrGOId.
    • datalong2: 0=персональный зачет, 1=групповой зачет


  • SCRIPT_COMMAND_RESPAWN_GAMEOBJECT = 9

Side note: source = any, target = any

    • datalong: Идентификатор объекта(can be skipped for buddy). См. gameobject.guid.
    • datalong2: Время деспавна в секундах. Если значение поля < 5 сек: значение 5 ставится автоматически.


  • SCRIPT_COMMAND_TEMP_SUMMON_CREATURE = 10

Side note: source = any, target = any

    • datalong: Идентификатор существа creature_template.entry.
    • datalong2: Время деспавна в миллисекундах.
    • data_flags & SCRIPT_FLAG_COMMAND_ADDITIONAL: summon as active object
    • x: Координата x.
    • y: Координата y.
    • z: Координата z.
    • o: Ориентация.


  • SCRIPT_COMMAND_OPEN_DOOR = 11

Side note: source = any

    • datalong: Идентификатор объекта. См. gameobject.guid.
    • datalong2: Время закрытия объекта в секундах. Если значение поля < 5 сек: значение 5 ставится автоматически.


  • SCRIPT_COMMAND_CLOSE_DOOR = 12

Side note: source = any

    • datalong: Идентификатор объекта. См. gameobject.guid.
    • datalong2: Время открытия объекта в секундах. Если значение поля < 5 сек: значение 5 ставится автоматически.


  • SCRIPT_COMMAND_ACTIVATE_OBJECT = 13

Side note: source = unit, target=GO


  • SCRIPT_COMMAND_REMOVE_AURA = 14

Side note: resultingSource = Unit

    • datalong: Идентификатор заклинания. См. Spell.dbc.


  • SCRIPT_COMMAND_CAST_SPELL = 15

Side note: resultingSource = Unit, cast spell at resultingTarget = Unit

    • datalong: Идентификатор заклинания. См. Spell.dbc.
    • data_flags & SCRIPT_FLAG_COMMAND_ADDITIONAL: cast triggered


  • SCRIPT_COMMAND_PLAY_SOUND = 16

Side note: source = any object, target=any/player

    • datalong: Идентификатор звука. См. SoundEntries.dbc.
    • datalong2: Битмаска: 0/1=anyone/target, 0/2=with distance dependent, so 1|2 = 3 is target with distance dependent.


  • SCRIPT_COMMAND_CREATE_ITEM = 17

Side note: source or target must be player

    • datalong: Идентификатор предмета. См. item_template.entry.
    • datalong2: Количество.


  • SCRIPT_COMMAND_DESPAWN_SELF = 18

Side note: resultingSource = Creature

    • datalong: Время деспавна в миллисекундах.


  • SCRIPT_COMMAND_PLAY_MOVIE = 19

Side note: target can only be a player

    • datalong: Идентификатор видео. См. Movie.dbc.


  • SCRIPT_COMMAND_MOVEMENT = 20

Side note: Команда начать движение источнику скрипта. Если источник - не существо, но цель - да, то применяем к цели.

    • datalong: может быть 0:без движения, 1:случайное, 2:точки передвижения. Если 2, то у существа должна быть запись в creature_movement_template.


  • SCRIPT_COMMAND_SET_ACTIVEOBJECT = 21

Side note: resultingSource = Creature

    • datalong: Значение: 0=выкл, 1=вкл.


  • SCRIPT_COMMAND_SET_FACTION = 22

Side note: resultingSource = Creature

    • datalong: Идентификатор фракции. См. FactionTemplate.dbc. Если значение 0 - то ставится значение по умолчанию из Creature_template.faction_A.
    • datalong2 = Значение флага
flag Описание value
TEMPFACTION_NONE Требует ручного возврата 0x00
TEMPFACTION_RESTORE_RESPAWN Возврат при респавне 0x01
TEMPFACTION_RESTORE_COMBAT_STOP Возврат по окончании боя 0x02
TEMPFACTION_RESTORE_REACH_HOME Возврат при эвейде 0x04


  • SCRIPT_COMMAND_MORPH_TO_ENTRY_OR_MODEL = 23

Side note: resultingSource = Creature

    • datalong: Идентификатор существа(см. creature_template.entry) или модели(см. creature_model_info.modelid), зависит от флага.
    • data_flags: значение 0x01 - в поле datalong идентификатор модели.


  • SCRIPT_COMMAND_MOUNT_TO_ENTRY_OR_MODEL = 24

Side note: resultingSource = Creature

    • datalong: Идентификатор существа(см. creature_template.entry) или модели(см. creature_model_info.modelid), зависит от флага.
    • data_flags: значение 0x01 - в поле datalong идентификатор модели.


  • SCRIPT_COMMAND_SET_RUN = 25

Side note: resultingSource = Creature

    • datalong: Значение: 0=выкл, 1=вкл.


  • SCRIPT_COMMAND__ATTACK_START = 26

Side note: resultingSource = Creature, resultingTarget = Unit


  • SCRIPT_COMMAND_GO_LOCK_STATE = 27

Side note: resultingSource = GO

    • datalong: 0x01=lock, 0x02=unlock, 0x04=set not-interactable, 0x08=set interactable


  • SCRIPT_COMMAND_STAND_STATE = 28

Side note: resultingSource = Creature

    • datalong: Идентификатор позиции существа
flag Name Description
0 UNIT_STAND_STATE_STAND Стоять
1 UNIT_STAND_STATE_SIT Сидеть на земле
2 UNIT_STAND_STATE_SIT_CHAIR
3 UNIT_STAND_STATE_SLEEP Имитировать сон
4 UNIT_STAND_STATE_SIT_LOW_CHAIR Сидеть на маленьком стуле
5 UNIT_STAND_STATE_SIT_MEDIUM_CHAIR Сидеть на среднем стуле
6 UNIT_STAND_STATE_SIT_HIGH_CHAIR Сидеть на большом стуле
7 UNIT_STAND_STATE_DEAD Имитировать смерть (имитировать отсутствие жизни можно при помощи (dynamicflags = 32) и серое имя при помощи (dynamicflags = 4))
8 UNIT_STAND_STATE_KNEEL Встать на колено
9 UNIT_STAND_STATE_CUSTOM В зависимости от модели анимации


  • SCRIPT_COMMAND_MODIFY_NPC_FLAGS = 29

Side note: source = resultingSource = Creature

flag Описание value
flag_toggle По умолчанию 0x00
flag_add Установить 0x01
flag_remove Убрать 0x02

comments

Коментарии.

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