Smart scripts
Таблица 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
link
Связка (цепочка) со строкой id = link. Обычно используется так:
- у первой строки ставят
link(например, 1); - у «связанной» строки
link = 0; - обе строки имеют один и тот же (entryorguid, source_type).
Пример: 1
Difficulties
Ограничение по сложностям (как правило, список через запятую). Если пусто — выполняется на всех сложностях.
| Пример | Смысл |
|---|---|
| Все сложности | |
| 1 | Только сложность 1 |
| 1,2 | Только сложности 1 и 2 |
Пример: "1,2"
event_type
Тип события (что запускает строку). Параметры события задаются в event_param1…event_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_param1…action_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_param1…target_param4 и координатах target_x…target_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"