All scripts
Материал из YTDB DataBase
NeatElves (Обсуждение | вклад) (→OtherFields) |
KiriX (Обсуждение | вклад) (→OtherFields) |
||
Строка 256: | Строка 256: | ||
====OtherFields==== | ====OtherFields==== | ||
- | * ''buddy_entry'' - | + | * ''buddy_entry'' - поле содержит entry "buddy" (цели) (зависит от команды, может быть как [[gameobject_template#entry|gameobject_template.entry]] так и [[creature_template#entry|creature_template.entry]]) |
- | * ''search_radius'' - | + | * ''search_radius'' - радиус, в котором цель, указанная в buddy_entry будет искаться |
- | * ''data_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 | 0x08 | Only 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 |
---|---|
0 | SAY |
1 | YELL |
2 | TEXT_EMOTE |
3 | BOSS_EMOTE |
4 | WHISPER |
5 | BOSS_WHISPER |
6 | ZONE_YELL |
- datalong2: Выбор языка.
ID | Название | 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 |
- 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
- datalong: Идентификатор флага существа. См. creature_template.npcflag.
- datalong2:
flag | Описание | value |
---|---|---|
flag_toggle | По умолчанию | 0x00 |
flag_add | Установить | 0x01 |
flag_remove | Убрать | 0x02 |
comments
Коментарии.