Smart scripts

Материал из World of WarCraft Developers Wiki
Перейти к навигации Перейти к поиску

Таблица smart_scripts

Таблица smart_scripts из базы данных world — основная таблица SmartAI / Smart Scripts (SAI). Содержит сценарии в формате «СобытиеДействиеЦель» для существ (creature), игровых объектов (gameobject), ареа-триггеров, квестов, госсипа, заклинаний и др.

Ключ составной: (entryorguid, source_type, id, link).

Field Type Attributes Key Null Default Extra
entryorguid bigint PRIMARY NO 0
source_type tinyint UNSIGNED PRIMARY NO 0
id smallint UNSIGNED PRIMARY NO 0
link smallint UNSIGNED PRIMARY NO 0
Difficulties varchar(100) utf8mb4_unicode_ci NO
event_type tinyint UNSIGNED NO 0
event_phase_mask smallint UNSIGNED NO 0
event_chance tinyint UNSIGNED NO 100
event_flags smallint UNSIGNED NO 0
event_param1 int UNSIGNED NO 0
event_param2 int UNSIGNED NO 0
event_param3 int UNSIGNED NO 0
event_param4 int UNSIGNED NO 0
event_param5 int UNSIGNED NO 0
event_param_string varchar(255) utf8mb4_unicode_ci NO
action_type tinyint UNSIGNED NO 0
action_param1 int UNSIGNED NO 0
action_param2 int UNSIGNED NO 0
action_param3 int UNSIGNED NO 0
action_param4 int UNSIGNED NO 0
action_param5 int UNSIGNED NO 0
action_param6 int UNSIGNED NO 0
action_param7 int UNSIGNED NO 0
action_param_string varchar(255) utf8mb4_unicode_ci YES NULL
target_type tinyint UNSIGNED NO 0
target_param1 int UNSIGNED NO 0
target_param2 int UNSIGNED NO 0
target_param3 int UNSIGNED NO 0
target_param4 int UNSIGNED NO 0
target_param_string varchar(255) utf8mb4_unicode_ci YES NULL
target_x float NO 0
target_y float NO 0
target_z float NO 0
target_o float NO 0
comment mediumtext utf8mb4_unicode_ci NO COMMENT 'Event Comment'

entryorguid

Идентификатор «объекта-источника» сценария. Смысл зависит от source_type:

  • чаще всего это Entry (например, creature_template.entry / gameobject_template.entry);
  • иногда это GUID (как правило, используют отрицательное значение: -creature.guid / -gameobject.guid), если нужен скрипт только на конкретный спавн.

Пример: 12345

source_type

Тип источника сценария (что именно «скриптуется»).

Value Name Описание
0 SMART_SCRIPT_TYPE_CREATURE Скрипт для NPC/существ (entryorguid = Entry или -GUID)
1 SMART_SCRIPT_TYPE_GAMEOBJECT Скрипт для GO (entryorguid = Entry или -GUID)
2 SMART_SCRIPT_TYPE_AREATRIGGER Скрипт для AreaTrigger (ID зависит от реализации/шаблона)
3 SMART_SCRIPT_TYPE_EVENT Скрипт, привязанный к «событийному» источнику (event scripts)
4 SMART_SCRIPT_TYPE_GOSSIP Скрипт для gossip-логики
5 SMART_SCRIPT_TYPE_QUEST Скрипт на события квеста
6 SMART_SCRIPT_TYPE_SPELL Скрипт на события заклинания
7 SMART_SCRIPT_TYPE_TRANSPORT Скрипт для транспорта
8 SMART_SCRIPT_TYPE_INSTANCE Скрипт для инстанса
9 SMART_SCRIPT_TYPE_TIMED_ACTIONLIST Тайм-лист действий (ActionList)
10 SMART_SCRIPT_TYPE_SCENE Сцены (Scene)
11 SMART_SCRIPT_TYPE_AREATRIGGER_ENTITY AreaTrigger Entity (объектный AT)
12 SMART_SCRIPT_TYPE_TIMED_EVENT Timed Event (временные события)

Пример: 0

id

Номер строки сценария внутри одного (entryorguid, source_type). Используется для упорядочивания и для привязки через link.

Пример: 0

Связка (цепочка) со строкой id = link. Обычно используется так:

  • у первой строки ставят link (например, 1);
  • у «связанной» строки link = 0;
  • обе строки имеют один и тот же (entryorguid, source_type).

Пример: 1

Difficulties

Ограничение по сложностям (как правило, список через запятую). Если пусто — выполняется на всех сложностях.

Пример Смысл
Все сложности
1 Только сложность 1
1,2 Только сложности 1 и 2

Пример: "1,2"

event_type

Тип события (что запускает строку). Параметры события задаются в event_param1event_param5 и event_param_string.

Value Name Кратко (параметры)
0 SMART_EVENT_UPDATE_IC Таймер в бою (Initial/Repeat)
1 SMART_EVENT_UPDATE_OOC Таймер вне боя (Initial/Repeat)
2 SMART_EVENT_HEALTH_PCT HP% в диапазоне (Min/Max + Repeat)
3 SMART_EVENT_MANA_PCT Power% в диапазоне (Min/Max + Repeat)
4 SMART_EVENT_AGGRO Агро (без параметров)
5 SMART_EVENT_KILL Убийство (Cooldown + playerOnly + entry)
6 SMART_EVENT_DEATH Смерть (без параметров)
7 SMART_EVENT_EVADE Эвейд (без параметров)
8 SMART_EVENT_SPELLHIT Получен спелл (SpellID/School + Cooldown)
9 SMART_EVENT_RANGE Цель в радиусе (Min/Max + Repeat)
10 SMART_EVENT_OOC_LOS LOS вне боя (hostility + range + cooldown + playerOnly)
11 SMART_EVENT_RESPAWN Респ/спавн (Type + Map/Zone)
12 SMART_EVENT_TARGET_HEALTH_PCT UNUSED, DO NOT REUSE
13 SMART_EVENT_VICTIM_CASTING Цель кастует (Repeat + SpellID)
14 SMART_EVENT_FRIENDLY_HEALTH UNUSED, DO NOT REUSE
15 SMART_EVENT_FRIENDLY_IS_CC Союзник в CC (Radius + Repeat)
16 SMART_EVENT_FRIENDLY_MISSING_BUFF Нет баффа (SpellID + Radius + Repeat)
17 SMART_EVENT_SUMMONED_UNIT Призван юнит (entry + cooldown)
18 SMART_EVENT_TARGET_MANA_PCT UNUSED, DO NOT REUSE
19 SMART_EVENT_ACCEPTED_QUEST Принят квест (QuestID + Repeat)
20 SMART_EVENT_REWARD_QUEST Сдан квест (QuestID + Repeat)
21 SMART_EVENT_REACHED_HOME Вернулся домой (без параметров)
22 SMART_EVENT_RECEIVE_EMOTE Получен emote (EmoteID + cooldown)
23 SMART_EVENT_HAS_AURA Есть аура (SpellID + stacks + repeat)
24 SMART_EVENT_TARGET_BUFFED Цель баффнута (SpellID + stacks + repeat)
25 SMART_EVENT_RESET Сброс (после боя/на спавне)
26 SMART_EVENT_IC_LOS LOS в бою (hostility + range + cooldown + playerOnly)
27 SMART_EVENT_PASSENGER_BOARDED Посадка пассажира (cooldown)
28 SMART_EVENT_PASSENGER_REMOVED Удаление пассажира (cooldown)
29 SMART_EVENT_CHARMED Чарм apply/remove (0/1)
30 SMART_EVENT_CHARMED_TARGET UNUSED, DO NOT REUSE
31 SMART_EVENT_SPELLHIT_TARGET Цель получила спелл (SpellID/School + repeat)
32 SMART_EVENT_DAMAGED Получен урон (Min/Max + repeat)
33 SMART_EVENT_DAMAGED_TARGET Цель получила урон (Min/Max + repeat)
34 SMART_EVENT_MOVEMENTINFORM MovementInform (MoveType + PointID)
35 SMART_EVENT_SUMMON_DESPAWNED Саммон исчез (entry + cooldown)
36 SMART_EVENT_CORPSE_REMOVED Удаление трупа
37 SMART_EVENT_AI_INIT Инициализация AI
38 SMART_EVENT_DATA_SET SetData (Field/Value + cooldown)
39 SMART_EVENT_WAYPOINT_START UNUSED, DO NOT REUSE
40 SMART_EVENT_WAYPOINT_REACHED WP reached (NodeId/PathId)
41 SMART_EVENT_TRANSPORT_ADDPLAYER Not yet implemented
42 SMART_EVENT_TRANSPORT_ADDCREATURE Not yet implemented
43 SMART_EVENT_TRANSPORT_REMOVE_PLAYER Not yet implemented
44 SMART_EVENT_TRANSPORT_RELOCATE Not yet implemented
45 SMART_EVENT_INSTANCE_PLAYER_ENTER Not yet implemented
46 SMART_EVENT_AREATRIGGER_ENTER Вход в AT
47 SMART_EVENT_QUEST_ACCEPTED Квест принят (на цели)
48 SMART_EVENT_QUEST_OBJ_COMPLETION Objective выполнен (quest_objectives.ID)
49 SMART_EVENT_QUEST_COMPLETION Квест завершён
50 SMART_EVENT_QUEST_REWARDED Награда получена
51 SMART_EVENT_QUEST_FAIL Провал квеста
52 SMART_EVENT_TEXT_OVER После TALK (GroupID + CreatureID)
53 SMART_EVENT_RECEIVE_HEAL Получено лечение (Min/Max + cooldown)
54 SMART_EVENT_JUST_SUMMONED Только что призван
55 SMART_EVENT_WAYPOINT_PAUSED WP paused (NodeId/PathId)
56 SMART_EVENT_WAYPOINT_RESUMED WP resumed (NodeId/PathId)
57 SMART_EVENT_WAYPOINT_STOPPED WP stopped (NodeId/PathId)
58 SMART_EVENT_WAYPOINT_ENDED WP ended (NodeId/PathId)
59 SMART_EVENT_TIMED_EVENT_TRIGGERED TimedEvent (Id)
60 SMART_EVENT_UPDATE Универсальный таймер (Initial/Repeat)
61 SMART_EVENT_LINK Событие-ссылка (через link)
62 SMART_EVENT_GOSSIP_SELECT Выбор gossip (MenuID/OptionID)
63 SMART_EVENT_JUST_CREATED Создан/заспавнен
64 SMART_EVENT_GOSSIP_HELLO Gossip hello / report use (0/1/2)
65 SMART_EVENT_FOLLOW_COMPLETED Follow завершён
66 SMART_EVENT_EVENT_PHASE_CHANGE UNUSED, DO NOT REUSE
67 SMART_EVENT_IS_BEHIND_TARGET UNUSED, DO NOT REUSE
68 SMART_EVENT_GAME_EVENT_START GameEvent start (eventEntry)
69 SMART_EVENT_GAME_EVENT_END GameEvent end (eventEntry)
70 SMART_EVENT_GO_LOOT_STATE_CHANGED LootState changed (0-3)
71 SMART_EVENT_GO_EVENT_INFORM GO EventInform (EventId)
72 SMART_EVENT_ACTION_DONE Action done (ActionId)
73 SMART_EVENT_ON_SPELLCLICK Spellclick
74 SMART_EVENT_FRIENDLY_HEALTH_PCT Союзник HP% (Min/Max + repeat + radius)
75 SMART_EVENT_DISTANCE_CREATURE Дистанция до creature (guid/entry + dist + interval)
76 SMART_EVENT_DISTANCE_GAMEOBJECT Дистанция до GO (guid/entry + dist + interval)
77 SMART_EVENT_COUNTER_SET Counter = value (CounterID/Value + cooldown)
78 SMART_EVENT_SCENE_START Scene start
79 SMART_EVENT_SCENE_TRIGGER Scene trigger (TriggerName в ParamString)
80 SMART_EVENT_SCENE_CANCEL Scene cancel
81 SMART_EVENT_SCENE_COMPLETE Scene complete
82 SMART_EVENT_SUMMONED_UNIT_DIES Саммон умер
83 SMART_EVENT_ON_SPELL_CAST Каст спелла (SpellID + cooldown)
84 SMART_EVENT_ON_SPELL_FAILED Фейл каста (SpellID + cooldown)
85 SMART_EVENT_ON_SPELL_START Старт каста (SpellID + cooldown)
86 SMART_EVENT_ON_DESPAWN Деспавн
87 SMART_EVENT_SEND_EVENT_TRIGGER Триггер GameEvent (без параметров)
88 SMART_EVENT_AREATRIGGER_EXIT Выход из AT
89 SMART_EVENT_ON_AURA_APPLIED Аура применена (SpellID + cooldown)
90 SMART_EVENT_ON_AURA_REMOVED Аура снята (SpellID + cooldown)

Пример: 4

event_phase_mask

Маска фаз событий (1–12). Используется вместе с действиями смены фаз (например, SET_EVENT_PHASE / RANDOM_PHASE).

Value Name Описание
0 SMART_EVENT_PHASE_ALWAYS Всегда (все фазы)
1 SMART_EVENT_PHASE_1 Фаза 1
2 SMART_EVENT_PHASE_2 Фаза 2
4 SMART_EVENT_PHASE_3 Фаза 3
8 SMART_EVENT_PHASE_4 Фаза 4
16 SMART_EVENT_PHASE_5 Фаза 5
32 SMART_EVENT_PHASE_6 Фаза 6
64 SMART_EVENT_PHASE_7 Фаза 7
128 SMART_EVENT_PHASE_8 Фаза 8
256 SMART_EVENT_PHASE_9 Фаза 9
512 SMART_EVENT_PHASE_10 Фаза 10
1024 SMART_EVENT_PHASE_11 Фаза 11
2048 SMART_EVENT_PHASE_12 Фаза 12

Пример: 1

event_chance

Шанс срабатывания события (0–100). При 100 событие срабатывает всегда (если остальные условия выполнены).

Пример: 50

event_flags

Флаги события (битовая маска).

Value Name Описание
1 SMART_EVENT_FLAG_NOT_REPEATABLE Событие не повторяется
2 SMART_EVENT_FLAG_DIFFICULTY_0 Только сложность 0
4 SMART_EVENT_FLAG_DIFFICULTY_1 Только сложность 1
8 SMART_EVENT_FLAG_DIFFICULTY_2 Только сложность 2
16 SMART_EVENT_FLAG_DIFFICULTY_3 Только сложность 3
32 SMART_EVENT_FLAG_RESERVED_5 Зарезервировано
64 SMART_EVENT_FLAG_RESERVED_6 Зарезервировано
128 SMART_EVENT_FLAG_DEBUG_ONLY Только debug-сборка
256 SMART_EVENT_FLAG_DONT_RESET Не сбрасывать при reset
512 SMART_EVENT_FLAG_WHILE_CHARMED Срабатывает даже под charm

Примечание: значения суммируются как битовая маска (например, 1 + 4).

Пример: 1

event_param1

Параметр события №1. Смысл зависит от event_type.

Пример: 0

event_param2

Параметр события №2. Смысл зависит от event_type.

Пример: 0

event_param3

Параметр события №3. Смысл зависит от event_type.

Пример: 0

event_param4

Параметр события №4. Смысл зависит от event_type.

Пример: 0

event_param5

Параметр события №5. Используется только теми событиями, которым нужен дополнительный аргумент (прочие ставят 0).

Пример: 0

event_param_string

Строковый параметр события (когда событию нужен текст/имя/строка). По умолчанию пустая строка.

Пример: "MyTriggerName"

action_type

Тип действия (что выполнить при срабатывании события). Параметры действия задаются в action_param1action_param7 и action_param_string.

Value Name Кратко
0 SMART_ACTION_NONE Ничего не делать
1 SMART_ACTION_TALK Сказать текст (creature_text.GroupID)
2 SMART_ACTION_SET_FACTION Сменить фракцию
3 SMART_ACTION_MORPH_TO_ENTRY_OR_MODEL Морф (entry/model)
4 SMART_ACTION_SOUND Проиграть звук
5 SMART_ACTION_PLAY_EMOTE Эмоут
6 SMART_ACTION_FAIL_QUEST Завалить квест
7 SMART_ACTION_OFFER_QUEST Выдать квест
8 SMART_ACTION_SET_REACT_STATE ReactState
9 SMART_ACTION_ACTIVATE_GOBJECT Активировать GO
10 SMART_ACTION_RANDOM_EMOTE Случайный эмоут (1..6)
11 SMART_ACTION_CAST Каст SpellID
12 SMART_ACTION_SUMMON_CREATURE Саммон существа
13 SMART_ACTION_THREAT_SINGLE_PCT Изменить threat (цель)
14 SMART_ACTION_THREAT_ALL_PCT Изменить threat (всем)
15 SMART_ACTION_CALL_AREAEXPLOREDOREVENTHAPPENS UNUSED, DO NOT REUSE
16 SMART_ACTION_SET_INGAME_PHASE_ID Установить PhaseID
17 SMART_ACTION_SET_EMOTE_STATE Постоянный эмоут
18 SMART_ACTION_SET_UNIT_FLAG Добавить UnitFlags
19 SMART_ACTION_REMOVE_UNIT_FLAG Удалить UnitFlags
20 SMART_ACTION_AUTO_ATTACK Автоатака (0/1)
21 SMART_ACTION_ALLOW_COMBAT_MOVEMENT Движение в бою (0/1)
22 SMART_ACTION_SET_EVENT_PHASE Установить фазу
23 SMART_ACTION_INC_EVENT_PHASE Инкремент фазы
24 SMART_ACTION_EVADE Уйти в evade
25 SMART_ACTION_FLEE_FOR_ASSIST Убежать за помощью
26 SMART_ACTION_CALL_GROUPEVENTHAPPENS UNUSED, DO NOT REUSE
27 SMART_ACTION_COMBAT_STOP Остановить бой
28 SMART_ACTION_REMOVEAURASFROMSPELL Снять ауру SpellID
29 SMART_ACTION_FOLLOW Follow
30 SMART_ACTION_RANDOM_PHASE Случайная фаза
31 SMART_ACTION_RANDOM_PHASE_RANGE Фаза в диапазоне
32 SMART_ACTION_RESET_GOBJECT Reset GO
33 SMART_ACTION_CALL_KILLEDMONSTER Кредит за убийство
34 SMART_ACTION_SET_INST_DATA Instance data
35 SMART_ACTION_SET_INST_DATA64 Instance data64
36 SMART_ACTION_UPDATE_TEMPLATE Сменить template
37 SMART_ACTION_DIE Умереть
38 SMART_ACTION_SET_IN_COMBAT_WITH_ZONE В бой со всей зоной
39 SMART_ACTION_CALL_FOR_HELP Позвать на помощь
40 SMART_ACTION_SET_SHEATH Оружие в руках
41 SMART_ACTION_FORCE_DESPAWN Деспавн/респавн таймер
42 SMART_ACTION_SET_INVINCIBILITY_HP_LEVEL Неуязвимость до HP
43 SMART_ACTION_MOUNT_TO_ENTRY_OR_MODEL Маунт
44 SMART_ACTION_SET_INGAME_PHASE_MASK Phase mask
45 SMART_ACTION_SET_DATA SetData
46 SMART_ACTION_ATTACK_STOP Stop attack
47 SMART_ACTION_SET_VISIBILITY Видимость (0/1)
48 SMART_ACTION_SET_ACTIVE Active (0/1)
49 SMART_ACTION_ATTACK_START Начать атаку
50 SMART_ACTION_SUMMON_GO Саммон GO
51 SMART_ACTION_KILL_UNIT Убить юнита
52 SMART_ACTION_ACTIVATE_TAXI Такси
53 SMART_ACTION_WP_START Старт WP
54 SMART_ACTION_WP_PAUSE Пауза WP
55 SMART_ACTION_WP_STOP Стоп WP
56 SMART_ACTION_ADD_ITEM Дать предмет
57 SMART_ACTION_REMOVE_ITEM Забрать предмет
58 SMART_ACTION_INSTALL_AI_TEMPLATE Установить AI template
59 SMART_ACTION_SET_RUN Бег (0/1)
60 SMART_ACTION_SET_DISABLE_GRAVITY Гравитация (0/1)
61 SMART_ACTION_SET_SWIM Плавание
62 SMART_ACTION_TELEPORT Телепорт
63 SMART_ACTION_SET_COUNTER Счётчик
64 SMART_ACTION_STORE_TARGET_LIST Сохранить список целей
65 SMART_ACTION_WP_RESUME Продолжить WP
66 SMART_ACTION_SET_ORIENTATION Повернуть
67 SMART_ACTION_CREATE_TIMED_EVENT Timed event
68 SMART_ACTION_PLAYMOVIE Movie
69 SMART_ACTION_MOVE_TO_POS Move to pos
70 SMART_ACTION_ENABLE_TEMP_GOBJ Temp GO
71 SMART_ACTION_EQUIP Экипировка
72 SMART_ACTION_CLOSE_GOSSIP Закрыть gossip
73 SMART_ACTION_TRIGGER_TIMED_EVENT Триггер timed event
74 SMART_ACTION_REMOVE_TIMED_EVENT Удалить timed event
75 SMART_ACTION_ADD_AURA Добавить ауру
76 SMART_ACTION_OVERRIDE_SCRIPT_BASE_OBJECT Override base object
77 SMART_ACTION_RESET_SCRIPT_BASE_OBJECT Reset base object
78 SMART_ACTION_CALL_SCRIPT_RESET Script reset
79 SMART_ACTION_SET_RANGED_MOVEMENT Рейндж позиция
80 SMART_ACTION_CALL_TIMED_ACTIONLIST Вызвать actionlist
81 SMART_ACTION_SET_NPC_FLAG Установить npcflag
82 SMART_ACTION_ADD_NPC_FLAG Добавить npcflag
83 SMART_ACTION_REMOVE_NPC_FLAG Удалить npcflag
84 SMART_ACTION_SIMPLE_TALK Simple talk
85 SMART_ACTION_SELF_CAST Каст на себя
86 SMART_ACTION_CROSS_CAST Cross cast
87 SMART_ACTION_CALL_RANDOM_TIMED_ACTIONLIST Случайный actionlist (1..6)
88 SMART_ACTION_CALL_RANDOM_RANGE_TIMED_ACTIONLIST Случайный actionlist (диапазон)
89 SMART_ACTION_RANDOM_MOVE Random move
90 SMART_ACTION_SET_UNIT_FIELD_BYTES_1 Bytes1 set
91 SMART_ACTION_REMOVE_UNIT_FIELD_BYTES_1 Bytes1 remove
92 SMART_ACTION_INTERRUPT_SPELL Interrupt spell
93 SMART_ACTION_SEND_GO_CUSTOM_ANIM GO anim
94 SMART_ACTION_SET_DYNAMIC_FLAG Dynamic flag set
95 SMART_ACTION_ADD_DYNAMIC_FLAG Dynamic flag add
96 SMART_ACTION_REMOVE_DYNAMIC_FLAG Dynamic flag remove
97 SMART_ACTION_JUMP_TO_POS Прыжок к точке
98 SMART_ACTION_SEND_GOSSIP_MENU Открыть gossip menu
99 SMART_ACTION_GO_SET_LOOT_STATE Loot state
100 SMART_ACTION_SEND_TARGET_TO_TARGET Переназначить цель
101 SMART_ACTION_SET_HOME_POS Home position
102 SMART_ACTION_SET_HEALTH_REGEN Regen (0/1)
103 SMART_ACTION_SET_ROOT Root (0/1)
104 SMART_ACTION_SET_GO_FLAG GO flag set
105 SMART_ACTION_ADD_GO_FLAG GO flag add
106 SMART_ACTION_REMOVE_GO_FLAG GO flag remove
107 SMART_ACTION_SUMMON_CREATURE_GROUP Summon group
108 SMART_ACTION_SET_POWER Set power
109 SMART_ACTION_ADD_POWER Add power
110 SMART_ACTION_REMOVE_POWER Remove power
111 SMART_ACTION_GAME_EVENT_STOP GameEvent stop
112 SMART_ACTION_GAME_EVENT_START GameEvent start
113 SMART_ACTION_START_CLOSEST_WAYPOINT Closest WP
114 SMART_ACTION_MOVE_OFFSET Move offset
115 SMART_ACTION_RANDOM_SOUND Random sound
116 SMART_ACTION_SET_CORPSE_DELAY Corpse delay
117 SMART_ACTION_DISABLE_EVADE Disable evade
118 SMART_ACTION_GO_SET_GO_STATE GO state
119 SMART_ACTION_SET_CAN_FLY Can fly (0/1)
120 SMART_ACTION_REMOVE_AURAS_BY_TYPE Remove auras by type
121 SMART_ACTION_SET_SIGHT_DIST Sight dist
122 SMART_ACTION_FLEE Flee
123 SMART_ACTION_ADD_THREAT Add threat
124 SMART_ACTION_LOAD_EQUIPMENT Load equipment
125 SMART_ACTION_TRIGGER_RANDOM_TIMED_EVENT Random timed event
126 SMART_ACTION_REMOVE_ALL_GAMEOBJECTS Remove all GOs
127 SMART_ACTION_PAUSE_MOVEMENT Pause movement
128 SMART_ACTION_PLAY_ANIMKIT AnimKit
129 SMART_ACTION_SCENE_PLAY Scene play
130 SMART_ACTION_SCENE_CANCEL Scene cancel
131 SMART_ACTION_SPAWN_SPAWNGROUP Spawn spawngroup
132 SMART_ACTION_DESPAWN_SPAWNGROUP Despawn spawngroup
133 SMART_ACTION_RESPAWN_BY_SPAWNID Respawn by spawnId
134 SMART_ACTION_INVOKER_CAST Invoker cast
135 SMART_ACTION_PLAY_CINEMATIC Cinematic
136 SMART_ACTION_SET_MOVEMENT_SPEED Movement speed
137 SMART_ACTION_PLAY_SPELL_VISUAL_KIT Spell visual kit
138 SMART_ACTION_OVERRIDE_LIGHT Override light
139 SMART_ACTION_OVERRIDE_WEATHER Override weather
140 SMART_ACTION_SET_AI_ANIM_KIT AI anim kit
141 SMART_ACTION_SET_HOVER Hover (0/1)
142 SMART_ACTION_SET_HEALTH_PCT Set HP%
143 SMART_ACTION_CREATE_CONVERSATION Conversation
144 SMART_ACTION_SET_IMMUNE_PC Immune PC (0/1)
145 SMART_ACTION_SET_IMMUNE_NPC Immune NPC (0/1)
146 SMART_ACTION_SET_UNINTERACTIBLE Uninteractible (0/1)
147 SMART_ACTION_ACTIVATE_GAMEOBJECT Activate GO (actions)
148 SMART_ACTION_ADD_TO_STORED_TARGET_LIST Add stored list
149 SMART_ACTION_BECOME_PERSONAL_CLONE_FOR_PLAYER Personal clone
150 SMART_ACTION_TRIGGER_GAME_EVENT Trigger game event
151 SMART_ACTION_DO_ACTION DoAction
152 SMART_ACTION_COMPLETE_QUEST Complete quest
153 SMART_ACTION_CREDIT_QUEST_OBJECTIVE_TALK_TO Credit objective
154 SMART_ACTION_DESTROY_CONVERSATION Destroy conversation
155 SMART_ACTION_ENTER_VEHICLE Enter vehicle
156 SMART_ACTION_BOARD_PASSENGER Board passenger
157 SMART_ACTION_EXIT_VEHICLE Exit vehicle
158 SMART_ACTION_RESUME_MOVEMENT UNUSED NEEDS CHERRYPICK
159 SMART_ACTION_FALL Fall

Пример: 11

action_param1

Параметр действия №1. Смысл зависит от action_type.

Пример: 8921

action_param2

Параметр действия №2. Смысл зависит от action_type.

Пример: 0

action_param3

Параметр действия №3. Смысл зависит от action_type.

Пример: 0

action_param4

Параметр действия №4. Смысл зависит от action_type.

Пример: 0

action_param5

Параметр действия №5. Смысл зависит от action_type.

Пример: 0

action_param6

Параметр действия №6. Смысл зависит от action_type.

Пример: 0

action_param7

Параметр действия №7. Смысл зависит от action_type.

Пример: 0

action_param_string

Строковый параметр действия. Используется только действиями, которым нужен текст/строка; иначе обычно оставляют NULL.

Пример: NULL

target_type

Тип цели (на кого/куда применить действие). Параметры цели задаются в target_param1target_param4 и координатах target_xtarget_o.

Value Name Описание
0 SMART_TARGET_NONE Без цели
1 SMART_TARGET_SELF Сам источник
2 SMART_TARGET_VICTIM Текущая цель/жертва
3 SMART_TARGET_HOSTILE_SECOND_AGGRO 2-й по агро
4 SMART_TARGET_HOSTILE_LAST_AGGRO Последний по агро
5 SMART_TARGET_HOSTILE_RANDOM Случайный враждебный
6 SMART_TARGET_HOSTILE_RANDOM_NOT_TOP Случайный (не топ-агро)
7 SMART_TARGET_ACTION_INVOKER Вызвавший действие (обычно игрок)
8 SMART_TARGET_POSITION Точка (исп. target_x/y/z/o)
9 SMART_TARGET_CREATURE_RANGE Существо по entry в радиусе
10 SMART_TARGET_CREATURE_GUID Существо по GUID
11 SMART_TARGET_CREATURE_DISTANCE Существо по entry на дистанции
12 SMART_TARGET_STORED Сохранённый список (STORE_TARGET_LIST)
13 SMART_TARGET_GAMEOBJECT_RANGE GO по entry в радиусе
14 SMART_TARGET_GAMEOBJECT_GUID GO по GUID
15 SMART_TARGET_GAMEOBJECT_DISTANCE GO по entry на дистанции
16 SMART_TARGET_INVOKER_PARTY Группа/рейд инвокера
17 SMART_TARGET_PLAYER_RANGE Игроки в радиусе
18 SMART_TARGET_PLAYER_DISTANCE Игроки на дистанции
19 SMART_TARGET_CLOSEST_CREATURE Ближайшее существо
20 SMART_TARGET_CLOSEST_GAMEOBJECT Ближайший GO
21 SMART_TARGET_CLOSEST_PLAYER Ближайший игрок
22 SMART_TARGET_ACTION_INVOKER_VEHICLE Vehicle инвокера
23 SMART_TARGET_OWNER_OR_SUMMONER Владелец/саммонер
24 SMART_TARGET_THREAT_LIST Все из threat-листа
25 SMART_TARGET_CLOSEST_ENEMY Ближайший враг
26 SMART_TARGET_CLOSEST_FRIENDLY Ближайший союзник
27 SMART_TARGET_LOOT_RECIPIENTS Лут-реципиенты
28 SMART_TARGET_FARTHEST Самый дальний
29 SMART_TARGET_VEHICLE_ACCESSORY Аксессуар транспорта
30 SMART_TARGET_CLOSEST_UNSPAWNED_GAMEOBJECT Ближайший не-заспавненный GO

Пример: 2

target_param1

Параметр цели №1. Смысл зависит от target_type (например, entry/GUID/радиус/varID).

Пример: 0

target_param2

Параметр цели №2. Смысл зависит от target_type.

Пример: 0

target_param3

Параметр цели №3. Смысл зависит от target_type.

Пример: 0

target_param4

Параметр цели №4. Смысл зависит от target_type.

Пример: 0

target_param_string

Строковый параметр цели (если целевому типу нужен текст/строка). Иначе обычно NULL.

Пример: NULL

target_x

Координата X (используется главным образом при target_type = SMART_TARGET_POSITION и действиях, работающих с точкой).

Пример: 1234.56

target_y

Координата Y.

Пример: 987.65

target_z

Координата Z.

Пример: 12.34

target_o

Ориентация (O). Если не нужна — ставят 0.

Пример: 0

comment

Комментарий к строке сценария (для людей). Рекомендуется описывать, что делает строка и почему.

Пример: "Boss: cast spell on aggro"