Smart scripts: различия между версиями

Материал из Uwow
Перейти к навигации Перейти к поиску
Нет описания правки
 
(не показано 47 промежуточных версий этого же участника)
Строка 2: Строка 2:


== source_type ==
== source_type ==
0 - creature - 'SmartAI' (creature_template)
    0 - creature - 'SmartAI' (creature_template)
 
    1 - gameobject - 'SmartGameObjectAI' (gameobject_template)
1 - gameobject - 'SmartGameObjectAI' (gameobject_template)
    2 - AreaTrigger (client)
 
    3 - AreaTrigger (spell) - 'SmartTrigger' (areatrigger_scripts)
2 - AreaTrigger (client)
    9 - TimedActionList
 
    10 - EventObject - 'SmartEventObject' (eventobject_template)
3 - AreaTrigger (spell) - 'SmartTrigger ' (areatrigger_scripts)
 
9 - TimedActionList
 
10 - EventObject - 'SmartEventObject' (eventobject_template)


== event_flags ==
    SMART_EVENT_FLAG_NOT_REPEATABLE        = 1,
    SMART_EVENT_FLAG_DIFFICULTY_0          = 2,
    SMART_EVENT_FLAG_DIFFICULTY_1          = 4,
    SMART_EVENT_FLAG_DIFFICULTY_2          = 8,
    SMART_EVENT_FLAG_DIFFICULTY_3          = 16,
    SMART_EVENT_FLAG_ALLOW_EVENT_NON_COMBAT = 32,
    SMART_EVENT_FLAG_ONCE_PER_INVOKER      = 64,
    SMART_EVENT_FLAG_DEBUG_ONLY            = 128,
    SMART_EVENT_FLAG_DONT_RESET            = 256,
    SMART_EVENT_FLAG_NOT_IN_COMBAT          = 512,
    SMART_EVENT_FLAG_IN_COMBAT              = 1024,
    SMART_EVENT_FLAG_IGNORE_PHASES          = 2048,
    SMART_EVENT_FLAG_DEBUG_ACTIONS          = 4096,


== cast_flags ==
    SMARTCAST_INTERRUPT_PREVIOUS    = 1,                    //Interrupt any spell casting
    SMARTCAST_TRIGGERED              = 2,                    //Triggered (this makes spell cost zero mana and have no cast time)
    CAST_FORCE_TARGET_SELF          = 16,                    //Forces the target to cast this spell on itself
    SMARTCAST_AURA_NOT_PRESENT      = 32,                    //Only casts the spell if the target does not have an aura from the spell


== action_delay ==
== action_delay ==
Задержка для запуска экшена(в мс)
    Задержка для запуска экшена (в мс)
 


== event_type ==
== event_type ==


==== SMART_EVENT_UPDATE_IC                 = 0, ====
==== 0 = SMART_EVENT_UPDATE_IC ====
Таймер в бою.
    Таймер в бою.
    1. Время начального таймера (мин)
    2. Время начального таймера (макс)
    3. Время повтора таймера (мин)
    4. Время повтора таймера (макс)


1. Время начального таймера (мин)
== event_type ==


2. Время начального таймера (макс)
==== 1 = SMART_EVENT_UPDATE_OOC ====
 
    Таймер вне боя.
3. Время повтора таймера (мин)
    1. Время начального таймера (мин)
 
    2. Время начального таймера (макс)
4. Время повтора таймера (макс)
    3. Время повтора таймера (мин)
 
    4. Время повтора таймера (макс)
==== SMART_EVENT_UPDATE_OOC                = 1, ====
==== 2 = SMART_EVENT_HEALT_PCT ====
Таймер вне боя.
    При достижении NPC определенного значения HP.
    1. Значение HP (мин)
    2. Значение HP (макс)
    3. Время повтора проверки (мин)
    4. Время повтора проверки (макс)
==== 3 = SMART_EVENT_MANA_PCT ====
    При достижении NPC определенного значения MP.
    1. Значение MP (мин)
    2. Значение MP (макс)
    3. Время повтора проверки (мин)
    4. Время повтора проверки (макс)
==== 4 = SMART_EVENT_AGGRO ====
    При входе в бой.
==== 5 = SMART_EVENT_KILL ====
    При убийстве.
    1. Время повтора проверки (мин)
    2. Время повтора проверки (макс)
    3. Только игрок (=1), иначе
    4. Идентификатор NPC
==== 6 = SMART_EVENT_DEATH ====
    При смерти.
==== 7 = SMART_EVENT_EVADE ====
    При ивейде.
==== 8 = SMART_EVENT_SPELLHIT ====
    При попадании спеллом по NPC / объекту.
    1. Идентификатор спелла
    2. Школа спелла
    3. Время повтора проверки (мин)
    4. Время повтора проверки (макс)
==== 9 = SMART_EVENT_RANGE ====
    При нахождении игрока в радиусе.
    1. Радиус (мин)
    2. Радиус (макс)
    3. Время повтора проверки (мин)
    4. Время повтора проверки (макс)
==== 10 = SMART_EVENT_OOC_LOS ====
    При нахождении игрока в радиусе вне боя.
    1. Дружелюбный (=1) или нет
    2. Радиус (макс)
    3. Время повтора проверки (мин)
    4. Время повтора проверки (макс)
==== 11 = SMART_EVENT_RESPAWN ====
    При респавне NPC / объекта.
    1. Тип респавна (1 = Map, 2 = Area)
    2. Map
    3. Area
==== 12 = SMART_EVENT_TARGET_HEALTH_PCT ====
    При достижении целью определенного значения HP.
    1. Значение HP (мин)
    2. Значение HP (макс)
    3. Время повтора проверки (мин)
    4. Время повтора проверки (макс)
==== 13 = SMART_EVENT_TARGET_CASTING ====
    Если цель кастует спелл.
    1. Время повтора проверки (мин)
    2. Время повтора проверки (макс)
==== 14 = SMART_EVENT_FRIENDLY_HEALTH ====
    Если у друга не хватает HP.
    1. Сколько должно не хватать
    2. Радиус проверки
    3. Время повтора проверки (мин)
    4. Время повтора проверки (макс)
==== 15 = SMART_EVENT_FRIENDLY_IS_CC ====
    Если друг сражается.
    1. Радиус проверки
    2. Время повтора проверки (мин)
    3. Время повтора проверки (макс)
==== 16 = SMART_EVENT_FRIENDLY_MISSING_BUFF ====
    Если у друга нет баффа.
    1. Идентификатор спелла
    2. Радиус проверки
    3. Время повтора проверки (мин)
    4. Время повтора проверки (макс)
==== 17 = SMART_EVENT_SUMMONED_UNIT ====
    При призыве NPC.
    1. Идентификатор суммона
    2. Время повтора проверки (мин)
    3. Время повтора проверки (макс)
==== 18 = SMART_EVENT_TARGET_MANA_PCT ====
    При достижении целью определенного значения MP.
    1. Значение MP (мин)
    2. Значение MP (макс)
    3. Время повтора проверки (мин)
    4. Время повтора проверки (макс)
==== 19 = SMART_EVENT_ACCEPTED_QUEST ====
    При принятии задания игроком. Так же добавлена возможность установки кулдауна для срабатывания ивента.
    1. Идентификатор задания
    2. Кулдаун проверки (мин)
    3. Кулдаун проверки (макс)
==== 20 = SMART_EVENT_REWARD_QUEST ====
    При завершении задания игроком. Так же добавлена возможность установки кулдауна для срабатывания ивента.
    1. Идентификатор задания
    2. Кулдаун проверки (мин)
    3. Кулдаун проверки (макс)
==== 21 = SMART_EVENT_REACHED_HOME ====
    При возвращении в изначальное положение.
==== 22 = SMART_EVENT_RECEIVE_EMOTE ====
    При получении эмоции.
    1. Идентификатор эмоции
    2. Кулдаун проверки (мин)
    3. Кулдаун проверки (макс)
==== 23 = SMART_EVENT_HAS_AURA ====
    При наличии ауры.
    1. Идентификатор спелла
    2. Количество стаков
    3. Кулдаун проверки (мин)
    4. Кулдаун проверки (макс)
==== 24 = SMART_EVENT_TARGET_BUFFED ====
    При бафе таргета.
    1. Идентификатор спелла
    2. Количество стаков
    3. Кулдаун проверки (мин)
    4. Кулдаун проверки (макс)
==== 25 = SMART_EVENT_RESET ====
    При иведе, при спавне и при респавне.
==== 26 = SMART_EVENT_IC_LOS ====
    При нахождении игрока в радиусе в бою.
    1. Дружелюбный (=1) или нет
    2. Радиус (макс)
    3. Время повтора проверки (мин)
    4. Время повтора проверки (макс)
==== 27 = SMART_EVENT_PASSENGER_BOARDED ====
    При посадке на себя пассажира.
    1. Время повтора проверки (мин)
    2. Время повтора проверки (макс)
    3. Тип пассажира (0 - all, 1 - creature, 2 - player)
==== 28 = SMART_EVENT_PASSENGER_REMOVED ====
    При высадке пассажира.
    1. Время повтора проверки (мин)
    2. Время повтора проверки (макс)
    3. Тип пассажира (0 - all, 1 - creature, 2 - player)
==== 29 = SMART_EVENT_CHARMED ====
    При подчинении себя.
==== 30 = SMART_EVENT_CHARMED_TARGET ====
    При подчинении цели.
==== 31 = SMART_EVENT_SPELLHIT_TARGET ====
    При попадании спеллом по цели.
    1. Идентификатор спелла
    2. Школа спелла
    3. Время повтора проверки (мин)
    4. Время повтора проверки (макс)
==== 32 = SMART_EVENT_DAMAGED ====
    При получении урона.
    1. Урон (мин)
    2. Урон (макс)
    3. Время повтора проверки (мин)
    4. Время повтора проверки (макс)
==== 33 = SMART_EVENT_DAMAGED_TARGET ====
    При нанесении урона.
    1. Урон (мин)
    2. Урон (макс)
    3. Время повтора проверки (мин)
    4. Время повтора проверки (макс)
==== 34 = SMART_EVENT_MOVEMENTINFORM ====
    При достижении точки.
    1. Тип точки
    2. Идентификатор точки
==== 35 = SMART_EVENT_SUMMON_DESPAWNED ====
    При деспавне суммона.
    1. Идентификатор суммона
    2. Время повтора проверки (мин)
    3. Время повтора проверки (макс)
==== 36 = SMART_EVENT_CORPSE_REMOVED ====
    При пропаже тела.
==== 37 = SMART_EVENT_AI_INIT ====
    При инициализации.
==== 38 = SMART_EVENT_DATA_SET ====
    При получении переменной.
    1. Идентификатор переменной
    2. Значение переменной
    3. Время повтора проверки (мин)
    4. Время повтора проверки (макс)
==== 39 = SMART_EVENT_WAYPOINT_START ====
    При начале пути.
    1. Идентификатор пути (waypoints)
==== 40 = SMART_EVENT_WAYPOINT_REACHED ====
    При достижении точки.
    1. Идентификатор точки
    2. Идентификатор пути (waypoints)
==== 41 = SMART_EVENT_TRANSPORT_ADDPLAYER ====
    При посадке игрока на транспорт.
==== 42 = SMART_EVENT_TRANSPORT_ADDCREATURE ====
    При посадке NPC на транспорт.
    1. Идентификатор NPC
==== 43 = SMART_EVENT_TRANSPORT_REMOVE_PLAYER ====
    При высадке игрока.
==== 44 = SMART_EVENT_TRANSPORT_RELOCATE ====
    При достижении транспортом точки.
    1. Идентификатор точки
==== 45 = SMART_EVENT_INSTANCE_PLAYER_ENTER ====
    При попадании игрока в инст.
    1. Фракция игрока
    2. Время повтора проверки (мин)
    3. Время повтора проверки (макс)
==== 46 = SMART_EVENT_AREATRIGGER_ONTRIGGER ====
    При входе в арея триггер.
    1. Идентификатор арея триггера
    2. Время повтора проверки (мин)
    3. Время повтора проверки (макс)
==== 47 = SMART_EVENT_QUEST_ACCEPTED ====
    При взятии квеста (любого).
==== 48 = SMART_EVENT_QUEST_OBJ_COPLETETION ====
    Выключен.
==== 49 = SMART_EVENT_QUEST_COMPLETION ====
    Выключен.
==== 50 = SMART_EVENT_QUEST_REWARDED ====
    При сдаче квеста (любого).
==== 51 = SMART_EVENT_QUEST_FAIL ====
    Выключен.
==== 52 = SMART_EVENT_TEXT_OVER ====
    При триггере после текста (запускается 1 экшином).
    1. Идентификатор группы текстов
    2. Идентификатор NPC кто говорил
==== 53 = SMART_EVENT_RECEIVE_HEAL ====
    При получении исцеления.
    1. Значение (мин)
    2. Значение (макс)
    3. Время повтора проверки (мин)
    4. Время повтора проверки (макс)
==== 54 = SMART_EVENT_JUST_SUMMONED ====
    При суммоне.
==== 55 = SMART_EVENT_WAYPOINT_PAUSED ====
    При паузе пути.
    1. Идентификатор точки
    2. Идентификатор пути (waypoints)
==== 56 = SMART_EVENT_WAYPOINT_RESUMED ====
    При продолжении пути.
    1. Идентификатор точки
    2. Идентификатор пути (waypoints)
==== 57 = SMART_EVENT_WAYPOINT_STOPPED ====
    При остановке пути.
    1. Идентификатор точки
    2. Идентификатор пути (waypoints)


==== 58 = SMART_EVENT_WAYPOINT_ENDED ====
    При окончании пути.
    1. Идентификатор точки
    2. Идентификатор пути (waypoints)
==== 59 = SMART_EVENT_TIMED_EVENT_TRIGGERED ====
    При триггере ивента (создаётся 67 экшином).
    1. Идентификатор ивента
==== 60 = SMART_EVENT_UPDATE ====
    Таймер.
     1. Время начального таймера (мин)
     1. Время начального таймера (мин)
     2. Время начального таймера (макс)
     2. Время начального таймера (макс)
     3. Время повтора таймера (мин)
     3. Время повтора таймера (мин)
     4. Время повтора таймера (макс)
     4. Время повтора таймера (макс)
==== 61 = SMART_EVENT_LINK ====
    При линке из другого смарта (запускается через колонку link).
==== 62 = SMART_EVENT_GOSSIP_SELECT ====
    При использовнии госсип меню.
    1. menuID
    2. optionID
    3. Время повтора проверки (мин)
    4. Время повтора проверки (макс)
==== 63 = SMART_EVENT_JUST_CREATED ====
    При инициализации скрипта.
==== 64 = SMART_EVENT_GOSSIP_HELLO ====
    При открытии госсип меню.
==== 65 = SMART_EVENT_FOLLOW_COMPLETED ====
    При выключении следования.
==== 66 = SMART_EVENT_DUMMY_EFFECT ====
    При думми эффектах спелла.
==== 67 = SMART_EVENT_IS_BEHIND_TARGET ====
    При нахождении у цели за спиной.
==== 68 = SMART_EVENT_GAME_EVENT_START ====
    При начале гейм ивента.
==== 69 = SMART_EVENT_GAME_EVENT_END ====
    При окончании гейм ивента.
==== 70 = SMART_EVENT_GO_STATE_CHANGED ====
    При изменении состояния объекта. (https://wiki.uwow.biz/Gameobject_template#LootState)


==== SMART_EVENT_HEALT_PCT                  = 2, ====
==== 71 = SMART_EVENT_GO_EVENT_INFORM ====
При достижении NPC определенного уровня HP.
    Используется в ядре.
 
==== 72 = SMART_EVENT_ACTION_DONE ====
1. Уровень HP (мин)
    Используется в ядре.
 
==== 73 = SMART_EVENT_ON_SPELLCLICK ====
2. Уровень HP (макс)
    При спеллклике.
 
    1. Время повтора проверки (мин)
3. Время повтора проверки (мин)
    2. Время повтора проверки (макс)
 
    3. Только игрок (=1)
4. Время повтора проверки (макс)
==== 74 = SMART_EVENT_CHECK_DIST_TO_HOME ====
 
    Если расстояние до изначальной позиции больше значения.
 
    1. Значение
==== SMART_EVENT_ACCEPTED_QUEST            = 2, ====
    2.
При принятии задания игроком. Так же добавлена возможность установки кулдауна для срабатывания ивента.
    3. Время повтора проверки (мин)
    4. Время повтора проверки (макс)
questID - id задания
==== 75 = SMART_EVENT_EVENTOBJECT_ONTRIGGER ====
 
    При входе в ивент обжект.
repeatMin;
    1. Идентификатор ивент обжекта
 
    2. Время повтора проверки (мин)
repeatMax;
    3. Время повтора проверки (макс)
Минимальное и максимальное время до повтора.
==== 76 = SMART_EVENT_ON_TAXIPATHTO ====
 
    При начале такси.
==== SMART_EVENT_REWARD_QUEST          = 20, ====
    1. Идентификатор такси
При завершении задания игроком. Так же добавлена возможность установки кулдауна для срабатывания ивента.
==== 77 = SMART_EVENT_EVENTOBJECT_OFFTRIGGER ====
    При выходе из ивент обжекта.
questID - id задания
    1. Идентификатор ивент обжекта
 
    2. Время повтора проверки (мин)
repeatMin;
    3. Время повтора проверки (макс)
 
==== 78 = SMART_EVENT_ON_APPLY_OR_REMOVE_AURA ====
repeatMax;
    При наложении или снятии ауры.
Минимальное и максимальное время до повтора.
    1. Идентификатор спелла
 
    2. Режим (https://wiki.uwow.biz/MISC#AuraRemoveMode)
==== SMART_EVENT_GOSSIP_SELECT          = 62, ====
    3. Наложение (=1) или снятие (=0)
При использовнии госсип меню
    4. Время повтора проверки
menuID - id меню
 
optionID - id опции
 
repeatMin;
 
repeatMax;
Минимальное и максимальное время до повтора.
 
==== SMART_EVENT_ON_SPELLCLICK          = 73, ====
При спеллклике
 
repeatMin;
 
repeatMax;
Минимальное и максимальное время до повтора.
 
==== SMART_EVENT_CHECK_DIST_TO_HOME       = 74, ====
Проверяет расстояние до позиции "спауна" (home). Если находится в пределах расстояния, указанного в maxDist, то делает действие.
'''maxDist - Максимальная дистанция, при которой будет срабатывать смарт'''
 
'''param 2; // пустое значение'''
 
'''repeatMin;'''
 
'''repeatMax;'''
Минимальное и максимальное время до повтора.
 
==== SMART_EVENT_EVENTOBJECT_ONTRIGGER       = 75, ====
При достижении ивент объекта
'''param1; // пустое значение'''
 
'''repeatMin;'''
 
'''repeatMax;'''
Минимальное и максимальное время до повтора.
 
==== SMART_EVENT_EVENTOBJECT_OFFTRIGGER       = 77, ====
При выходе из ивент объекта
'''param1; // пустое значение'''
 
'''repeatMin;'''


'''repeatMax;'''
==== 79 = SMART_EVENT_ON_FIND_OBJECT_IN_RANGE ====
Минимальное и максимальное время до повтора.
    При нахождении в радиусе объекта.
    1. Расстояние
    2. Тип объекта (1 - player, 2 - NPC, 3 - GO)
    3. Идентификатор NPC / GO
    4. Время повтора проверки
    5. Кулдаун проверки
==== 80 = SMART_EVENT_ON_SPECIAL_DATA ====
    Когда специальная переменная равна значению.
    1. Значение
    2. Время повтора проверки
==== 81 = SMART_EVENT_ON_OWNER_HAS_QUEST ====
    Если у суммонера есть квест.
    1. Идентификатор квеста
    2. Есть квест (=0) или нет квеста (=1)
    3. Время повтора проверки
==== 82 = SMART_EVENT_ON_SPECIAL_DATA_SET ====
    При изменении специальной переменной.
    1. Время повтора проверки (мин)
    2. Время повтора проверки (макс)
==== 83 = SMART_EVENT_ON_OWNER_HAS_COMPLETED_QUEST ====
    Если у суммонера есть завершенный обжектив.
    1. Идентификатор квеста
    2. Идентификатор обжективы
    3. Количество обжектив
    4. Время повтора проверки (мин)
    5. Время повтора проверки (макс)


==== SMART_EVENT_ON_APPLY_OR_REMOVE_AURA       = 78, ====
==== 84 = SMART_EVENT_ON_ENTER_VEHICLE ====
При наложении или снятии ауры с нпц
    При посадке на вехикл.
'''param1; // SpellId'''
==== 85 = SMART_EVENT_ON_EXIT_VEHICLE ====
    При высадке с вехикла.
==== 86 = SMART_EVENT_ON_RANDOM_DATA ====
    При получении рандомной переменной (запускается 239 ивентом).
    1. Идентификатор переменной
==== 87 = SMART_EVENT_ON_LAST_HIT ====
    Перед получением смертельного удара.
==== 88 = SMART_EVENT_ON_SPELL_FINISH_CAST ====
    Перед завершении каста.
    1. Идентификатор спелла
==== 89 = SMART_EVENT_FRIENDLY_HP_PCT ====
    Если у друга не хватает HP.
    1. Сколько должно не хватать (в %)
    2. Радиус проверки
    3. Время повтора проверки (мин)
    4. Время повтора проверки (макс)
    5. Тип друга (all units = 0, only creature = 1, only player = 2)
==== 90 = SMART_EVENT_ON_LOOT_RELEASE ====
    При закрытии окна лута.
==== 91 = SMART_EVENT_ON_SUMMON_DIES ====
    При смерти суммона.
    1. Идентификатор NPC
==== 92 = SMART_EVENT_ON_OWNER_RECEIVE_KILLCREDIT ====
    При получении владельцем килкредита.
    1. Идентификатор килкредита
==== 93 = SMART_EVENT_ON_AT_ENTER ====
    При входе в арея триггер.
    1. Время повтора проверки (мин)
    2. Время повтора проверки (макс)
    3. Тип вошедшего объекта (player = 1, creature = 2)
    4. Идентификатор NPC
    5. GUID NPC
==== 94 = SMART_EVENT_ON_AT_LEAVE ====
    При выходе с арея триггера.
    1. Время повтора проверки (мин)
    2. Время повтора проверки (макс)
    3. Тип вышедшего объекта (player = 1, creature = 2)
    4. Идентификатор NPC
    5. GUID NPC
==== 95 = SMART_EVENT_ON_AT_DESTINATION_REACH ====
    При достижении арея триггером пункта назначения.
==== 96 = SMART_EVENT_ON_AT_REMOVE ====
    При деспавне арея триггера.
==== 97 = SMART_EVENT_APPLY_OR_REMOVE_CONTROL_AURA ====
    При деспавне арея триггера.
    1. Наложение (=1) или снятие (=0)
    2. Идентификатор спелла
    3. Время повтора проверки (мин)
    4. Время повтора проверки (макс)
==== 98 = SMART_EVENT_ON_DESPAWN ====
    Перед деспавном.
==== 99 = SMART_EVENT_ON_INTERRUPT ====
    При прерывании каста.
    1. Идентификатор спелла
    2. Тип сбившего каст объекта (all = 0, player = 1, creature = 2)
    3. Время повтора проверки (мин)
    4. Время повтора проверки (макс)
==== 100 = SMART_EVENT_ON_SPELLCLICK_FINISH_CAST ====
    При завершении каста спеллклика.
    1. Идентификатор спелла


'''param2; // режим снятия ауры(AURA_REMOVE_NONE = 0, AURA_REMOVE_BY_DEFAULT = 1, AURA_REMOVE_BY_CANCEL= 2,AURA_REMOVE_BY_ENEMY_SPELL, AURA_REMOVE_BY_EXPIRE, AURA_REMOVE_BY_DEATH,AURA_REMOVE_BY_MECHANIC,AURA_REMOVE_BY_DROP_CHARGERS,    AURA_REMOVE_BY_INTERRUPT'''
==== 101 = SMART_EVENT_AFTER_HP_PERCENT ====
    При достижении здоровья в % (между минимумом и максимумом)
    1. Минимум
    2. Максимум
    3. Повторная проверка минимум
    4. Повторная проверка максимум


'''param3; // при наложении = 1, при удалении = 0'''
== action_type ==
 
'''param4; // КД на возможность повтора в мс'''
 
==== SMART_EVENT_ON_FIND_OBJECT_IN_RANGE    = 79, ====
При обнаружении объекта в радиусе
'''param1; // Радиус'''
 
'''param2; // Тип(1 - игрок, 2 - НПЦ, 3 - ГО)'''
'''param3; // Энтри(НПЦ ИД, ИД ГО, 0 - если игрок) Если игрок, то тут можно указать ид квеста и ивент будет срабатывать только если у найденного игрока взят этот квест'''
 
'''param4; // Время до повторной проверки'''
 
'''param5; // Время до повторного срабатывания, если объект был найден'''
 
==== SMART_EVENT_ON_SPECIAL_DATA    = 80, ====
При получении кастом даты. Пример использования: если по квесту суммонит волны аддов и необходимо чтобы только после убийства всех мобов первой волны суммонило следующую, то используйте этот ивент вместе с экшеном SMART_ACTION_SET_SPECIAL_DATA. Когда нпц из волны аддов погибает, то кидается кастом дата мобу, далее при накоплении нужного кол-ва дат происходит нужное вам действие.
 
'''param1; // Значение'''
'''param2; // Повторная проверка в мс'''
 
==== SMART_EVENT_ON_OWNER_HAS_QUEST    = 81, ====
При наличии(отсутствии) квеста у призывателя(овнера). Проверяется по указанному таймеру.
 
'''param1; // Id квеста'''
'''param2; // Негатив. То есть если указанный квест отсутствует у игрока'''
'''param3; // Таймер. Интервал с которым будет идти проверка. По дефолту выставлено в ядре 1500 мс(меньше не поставить, чтобы избежать фризов)'''
'''param4; // Время до повторного срабатывания'''
 
==== SMART_EVENT_ON_SPECIAL_DATA_SET = 82, ====
При получении спешл даты
 
==== SMART_EVENT_ON_OWNER_HAS_COMPLETED_QUEST = 83, ====
Если у владельца выполнен квест
 
парам1 = квест ид
парам2 = обжектива
парам3 = кол-во обжектив
парам4 = таймер проверки в мс
парам5 = повторная проверка при срабатывании в мс
 
==== SMART_EVENT_ON_ENTER_VEHICLE  = 84, ====
При входе в вехикл
 
==== SMART_EVENT_ON_EXIT_VEHICLE = 85, ====
При выходе из вехикла
 
==== SMART_EVENT_ON_RANDOM_DATA = 86, ====
При случайной дате
парам1 - значение, полученное при 239 экшине
 
==== SMART_EVENT_ON_LAST_HIT = 87, ====
При получении смертельного удара. Упрощает использование таргетов: все цели в аггро-листе, 1 цель в аггро-листе и тд. - так как запускается перед киллом нпц
 
 
== event_type ==
 
    SMART_EVENT_UPDATE_IC                = 0,      // InitialMin, InitialMax, RepeatMin, RepeatMax
    SMART_EVENT_UPDATE_OOC              = 1,      // InitialMin, InitialMax, RepeatMin, RepeatMax
    SMART_EVENT_HEALT_PCT                = 2,      // HPMin%, HPMax%,  RepeatMin, RepeatMax
    SMART_EVENT_MANA_PCT                = 3,      // ManaMin%, ManaMax%, RepeatMin, RepeatMax
    SMART_EVENT_AGGRO                    = 4,      // NONE
    SMART_EVENT_KILL                    = 5,      // CooldownMin0, CooldownMax1, playerOnly2, else creature entry3
    SMART_EVENT_DEATH                    = 6,      // NONE
    SMART_EVENT_EVADE                    = 7,      // NONE
    SMART_EVENT_SPELLHIT                = 8,      // SpellID, School, CooldownMin, CooldownMax
    SMART_EVENT_RANGE                    = 9,      // MinDist, MaxDist, RepeatMin, RepeatMax
    SMART_EVENT_OOC_LOS                  = 10,      // NoHostile, MaxRnage, CooldownMin, CooldownMax
    SMART_EVENT_RESPAWN                  = 11,      // type, MapId, ZoneId
    SMART_EVENT_TARGET_HEALTH_PCT        = 12,      // HPMin%, HPMax%, RepeatMin, RepeatMax
    SMART_EVENT_TARGET_CASTING          = 13,      // RepeatMin, RepeatMax
    SMART_EVENT_FRIENDLY_HEALTH          = 14,      // HPDeficit, Radius, RepeatMin, RepeatMax
    SMART_EVENT_FRIENDLY_IS_CC          = 15,      // Radius, RepeatMin, RepeatMax
    SMART_EVENT_FRIENDLY_MISSING_BUFF    = 16,      // SpellId, Radius, RepeatMin, RepeatMax
    SMART_EVENT_SUMMONED_UNIT            = 17,      // CreatureId(0 all), CooldownMin, CooldownMax
    SMART_EVENT_TARGET_MANA_PCT          = 18,      // ManaMin%, ManaMax%, RepeatMin, RepeatMax
    SMART_EVENT_ACCEPTED_QUEST          = 19,      // QuestID(0any), RepeatMin, RepeatMax
    SMART_EVENT_REWARD_QUEST            = 20,      // QuestID(0any)
    SMART_EVENT_REACHED_HOME            = 21,      // NONE
    SMART_EVENT_RECEIVE_EMOTE            = 22,      // EmoteId, CooldownMin, CooldownMax, condition, val1, val2, val3
    SMART_EVENT_HAS_AURA                = 23,      // Param1 = SpellID, Param2 = Number of Time STacked, Param3/4 RepeatMin, RepeatMax
    SMART_EVENT_TARGET_BUFFED            = 24,      // Param1 = SpellID, Param2 = Number of Time STacked, Param3/4 RepeatMin, RepeatMax
    SMART_EVENT_RESET                    = 25,      // Called after combat, when the creature respawn and spawn.
    SMART_EVENT_IC_LOS                  = 26,      // NoHostile, MaxRnage, CooldownMin, CooldownMax
    SMART_EVENT_PASSENGER_BOARDED        = 27,      // CooldownMin, CooldownMax
    SMART_EVENT_PASSENGER_REMOVED        = 28,      // CooldownMin, CooldownMax
    SMART_EVENT_CHARMED                  = 29,      // NONE
    SMART_EVENT_CHARMED_TARGET          = 30,      // NONE
    SMART_EVENT_SPELLHIT_TARGET          = 31,      // SpellID, School, CooldownMin, CooldownMax
    SMART_EVENT_DAMAGED                  = 32,      // MinDmg, MaxDmg, CooldownMin, CooldownMax
    SMART_EVENT_DAMAGED_TARGET          = 33,      // MinDmg, MaxDmg, CooldownMin, CooldownMax
    SMART_EVENT_MOVEMENTINFORM          = 34,      // MovementType(any), PointID
    SMART_EVENT_SUMMON_DESPAWNED        = 35,      // Entry, CooldownMin, CooldownMax
    SMART_EVENT_CORPSE_REMOVED          = 36,      // NONE
    SMART_EVENT_AI_INIT                  = 37,      // NONE
    SMART_EVENT_DATA_SET                = 38,      // Id, Value, CooldownMin, CooldownMax
    SMART_EVENT_WAYPOINT_START          = 39,      // PointId(0any), pathID(0any)
    SMART_EVENT_WAYPOINT_REACHED        = 40,      // PointId(0any), pathID(0any)
    SMART_EVENT_TRANSPORT_ADDPLAYER      = 41,      // NONE
    SMART_EVENT_TRANSPORT_ADDCREATURE    = 42,      // Entry (0 any)
    SMART_EVENT_TRANSPORT_REMOVE_PLAYER  = 43,      // NONE
    SMART_EVENT_TRANSPORT_RELOCATE      = 44,      // PointId
    SMART_EVENT_INSTANCE_PLAYER_ENTER    = 45,      // Team (0 any), CooldownMin, CooldownMax
    SMART_EVENT_AREATRIGGER_ONTRIGGER    = 46,      // TriggerId(0 any), CooldownMin, CooldownMax
    SMART_EVENT_QUEST_ACCEPTED          = 47,      // none
    SMART_EVENT_QUEST_OBJ_COPLETETION    = 48,      // none
    SMART_EVENT_QUEST_COMPLETION        = 49,      // none
    SMART_EVENT_QUEST_REWARDED          = 50,      // none
    SMART_EVENT_QUEST_FAIL              = 51,      // none
    SMART_EVENT_TEXT_OVER                = 52,      // GroupId from creature_text,  creature entry who talks (0 any)
    SMART_EVENT_RECEIVE_HEAL            = 53,      // MinHeal, MaxHeal, CooldownMin, CooldownMax
    SMART_EVENT_JUST_SUMMONED            = 54,      // none
    SMART_EVENT_WAYPOINT_PAUSED          = 55,      // PointId(0any), pathID(0any)
    SMART_EVENT_WAYPOINT_RESUMED        = 56,      // PointId(0any), pathID(0any)
    SMART_EVENT_WAYPOINT_STOPPED        = 57,      // PointId(0any), pathID(0any)
    SMART_EVENT_WAYPOINT_ENDED          = 58,      // PointId(0any), pathID(0any)
    SMART_EVENT_TIMED_EVENT_TRIGGERED    = 59,      // id
    SMART_EVENT_UPDATE                  = 60,      // InitialMin, InitialMax, RepeatMin, RepeatMax
    SMART_EVENT_LINK                    = 61,      // INTERNAL USAGE, no params, used to link together multiple events, does not use any extra resources to iterate event lists needlessly
    SMART_EVENT_GOSSIP_SELECT            = 62,      // menuID, actionID, cooldown min, cooldown max
    SMART_EVENT_JUST_CREATED            = 63,      // none
    SMART_EVENT_GOSSIP_HELLO            = 64,      // none
    SMART_EVENT_FOLLOW_COMPLETED        = 65,      // none
    SMART_EVENT_DUMMY_EFFECT            = 66,      // spellId, effectIndex
    SMART_EVENT_IS_BEHIND_TARGET        = 67,      // cooldownMin, CooldownMax
    SMART_EVENT_GAME_EVENT_START        = 68,      // game_event.Entry
    SMART_EVENT_GAME_EVENT_END          = 69,      // game_event.Entry
    SMART_EVENT_GO_STATE_CHANGED        = 70,      // go state
    SMART_EVENT_GO_EVENT_INFORM          = 71,      // eventId
    SMART_EVENT_ACTION_DONE              = 72,      // eventId (SharedDefines.EventId)
    SMART_EVENT_ON_SPELLCLICK            = 73,      // cooldown min, cooldown max, IsPlayer( 0 / 1) if clicker is player
    SMART_EVENT_CHECK_DIST_TO_HOME      = 74,      // clicker (unit)
    SMART_EVENT_EVENTOBJECT_ONTRIGGER    = 75,      // EventObject(0 any), CooldownMin, CooldownMax
    SMART_EVENT_ON_TAXIPATHTO            = 76,      // clicker (unit)
    SMART_EVENT_EVENTOBJECT_OFFTRIGGER  = 77,      // EventObject(0 any), CooldownMin, CooldownMax
    SMART_EVENT_ON_APPLY_OR_REMOVE_AURA  = 78,      // SpellId, Mode, ApplyOrRemove(1/0), Cooldown
    SMART_EVENT_ON_FIND_OBJECT_IN_RANGE  = 79,      // On find nearest object in range. Distance, Type(1 - player, 2 - NPC, 3 - GO), Entry(npcId, goId), RepeatTimer
    SMART_EVENT_ON_SPECIAL_DATA          = 80,      // On received special data and repeat it on timer
    SMART_EVENT_ON_OWNER_HAS_QUEST      = 81,      // Misc1 = QuestId, Misc2 = Negative(if owner doesn't have quest), Misc3 = CheckTimer
    SMART_EVENT_ON_SPECIAL_DATA_SET      = 82,      // On just set special data
    SMART_EVENT_ON_OWNER_HAS_COMPLETED_QUEST = 83,  // If owner has completed quest. QuestId, Check timer, Next check timer
    SMART_EVENT_ON_ENTER_VEHICLE        = 84,      // On enter vehicle
    SMART_EVENT_ON_EXIT_VEHICLE          = 85,      // On exit vehicle
    SMART_EVENT_ON_RANDOM_DATA          = 86,      // On random data value. Misc1 - value
    SMART_EVENT_ON_LAST_HIT              = 87,      // Handle after npc take >= dmg of his health
    SMART_EVENT_ON_SPELL_FINISH_CAST    = 88,      // Call after finish cast
    SMART_EVENT_FRIENDLY_HP_PCT          = 89,      // HP deficit pct, radius, repeat min, repeat max, target type(all units = 0, only creature = 1, only player = 2). When find friendly unit with HP pct.
    SMART_EVENT_ON_LOOT_RELEASE          = 90,      // On close loot window
    SMART_EVENT_ON_SUMMON_DIES          = 91,      // On summoned creature dies. Misc1 = creature entry
    SMART_EVENT_ON_OWNER_RECEIVE_KILLCREDIT    = 92,      // On owner receive killcredit when he or his group kill some creatures. Misc1 = creature entry
    SMART_EVENT_ON_AT_ENTER                    = 93,      // On unit enter AT. CooldownMin, CooldownMax
    SMART_EVENT_ON_AT_LEAVE                    = 94,      // On unit leave AT. CooldownMin, CooldownMax
    SMART_EVENT_ON_AT_DESTINATION_REACH        = 95,      // On AT destination reached.
    SMART_EVENT_ON_AT_REMOVE                    = 96,      // On AT remove.
=== action_type ===


==== SMART_ACTION_TALK                              = 1,      // misc1 - groupID из creature_text, misc2 - задержка до срабатывания TEXT_OVER ивента, misc3 - 1 - персональный текст, текст будет виден только таргету(игроку) ====
==== SMART_ACTION_TALK                              = 1,      // misc1 - groupID из creature_text, misc2 - задержка до срабатывания TEXT_OVER ивента, misc3 - 1 - персональный текст, текст будет виден только таргету(игроку) ====
Строка 292: Строка 462:
==== SMART_ACTION_SET_FACTION                        = 2,      // FactionId (or 0 for default) ====
==== SMART_ACTION_SET_FACTION                        = 2,      // FactionId (or 0 for default) ====
==== SMART_ACTION_MORPH_TO_ENTRY_OR_MODEL            = 3,      // Creature_template entry(param1) OR ModelId (param2) (or 0 for both to demorph) ====
==== SMART_ACTION_MORPH_TO_ENTRY_OR_MODEL            = 3,      // Creature_template entry(param1) OR ModelId (param2) (or 0 for both to demorph) ====
==== SMART_ACTION_SOUND                              = 4,      // SoundId, TextRange ====
==== SMART_ACTION_SOUND                              = 4,      // SoundId, OnlySelf, isDistance ====
 
==== SMART_ACTION_PLAY_EMOTE                        = 5,      // EmoteId ====
==== SMART_ACTION_PLAY_EMOTE                        = 5,      // EmoteId ====
==== SMART_ACTION_FAIL_QUEST                        = 6,      // QuestID ====
==== SMART_ACTION_FAIL_QUEST                        = 6,      // QuestID ====
==== SMART_ACTION_ADD_QUEST                          = 7,      // QuestID ====
==== SMART_ACTION_ADD_QUEST                          = 7,      // QuestID ====
==== SMART_ACTION_SET_REACT_STATE                    = 8,      // state ====
==== SMART_ACTION_SET_REACT_STATE                    = 8,      // state ====
    REACT_DELAY      = -1,
    REACT_PASSIVE    = 0,
    REACT_DEFENSIVE  = 1,
    REACT_AGGRESSIVE = 2,
    REACT_HELPER    = 3,
    REACT_ATTACK_OFF = 4
==== SMART_ACTION_ACTIVATE_GOBJECT                  = 9,      // ====
==== SMART_ACTION_ACTIVATE_GOBJECT                  = 9,      // ====
==== SMART_ACTION_RANDOM_EMOTE                      = 10,    // EmoteId1, EmoteId2, EmoteId3... ====
==== SMART_ACTION_RANDOM_EMOTE                      = 10,    // EmoteId1, EmoteId2, EmoteId3... ====
Строка 323: Строка 501:
==== SMART_ACTION_FLEE_FOR_ASSIST                    = 25,    // With Emote ====
==== SMART_ACTION_FLEE_FOR_ASSIST                    = 25,    // With Emote ====
==== SMART_ACTION_CALL_GROUPEVENTHAPPENS            = 26,    // QuestID ====
==== SMART_ACTION_CALL_GROUPEVENTHAPPENS            = 26,    // QuestID ====
==== SMART_ACTION_PLAY_SPELL_VISUAL_KIT              = 27,    // KitType ====
==== SMART_ACTION_PLAY_SPELL_VISUAL_KIT              = 27,    // id, duration, KitRecID ====
 
==== SMART_ACTION_REMOVEAURASFROMSPELL              = 28,    // Spellid, 0 removes all auras ====
==== SMART_ACTION_REMOVEAURASFROMSPELL              = 28,    // Spellid, 0 removes all auras ====
==== SMART_ACTION_FOLLOW                            = 29,    // Distance (0 = default), Angle (0 = default), EndCreatureEntry, credit, creditType (0monsterkill, 1event) ====
==== SMART_ACTION_FOLLOW                            = 29,    // Distance (0 = default), Angle (0 = default), EndCreatureEntry, credit, creditType (0monsterkill, 1event) ====
==== SMART_ACTION_RANDOM_PHASE                      = 30,    // PhaseId1, PhaseId2, PhaseId3... ====
==== SMART_ACTION_RANDOM_PHASE                      = 30,    // PhaseId1, PhaseId2, PhaseId3... ====
==== SMART_ACTION_RANDOM_PHASE_RANGE                = 31,    // PhaseMin, PhaseMax ====
==== SMART_ACTION_RANDOM_PHASE_RANGE                = 31,    // PhaseMin, PhaseMax ====
==== SMART_ACTION_RESET_GOBJECT                      = 32,    //
==== SMART_ACTION_RESET_GOBJECT                      = 32,    // ====
 
==== SMART_ACTION_CALL_KILLEDMONSTER                = 33,    // CreatureId, ====
==== SMART_ACTION_CALL_KILLEDMONSTER                = 33,    // CreatureId, ====
==== SMART_ACTION_SET_INST_DATA                      = 34,    // Field, Data ====
==== SMART_ACTION_SET_INST_DATA                      = 34,    // Field, Data ====
Строка 337: Строка 517:
==== SMART_ACTION_CALL_FOR_HELP                      = 39,    // Radius ====
==== SMART_ACTION_CALL_FOR_HELP                      = 39,    // Radius ====
==== SMART_ACTION_SET_SHEATH                        = 40,    // Sheath (0-unarmed, 1-melee, 2-ranged) ====
==== SMART_ACTION_SET_SHEATH                        = 40,    // Sheath (0-unarmed, 1-melee, 2-ranged) ====
==== SMART_ACTION_FORCE_DESPAWN                     = 41,     // timer ====
==== SMART_ACTION_FORCE_DESPAWN = 41, ====
Деспавн
'''misc1 = задержка до деспавна '''
'''misc2 = время респавна '''
'''misc3 = (для ГОшек) выставить лут стейт GO_JUST_DEACTIVATED '''
 
==== SMART_ACTION_SET_INVINCIBILITY_HP_LEVEL        = 42,    // MinHpValue(+pct, -flat) ====
==== SMART_ACTION_SET_INVINCIBILITY_HP_LEVEL        = 42,    // MinHpValue(+pct, -flat) ====
==== SMART_ACTION_MOUNT_TO_ENTRY_OR_MODEL            = 43,    // Creature_template entry(param1) OR ModelId (param2) (or 0 for both to dismount) ====
==== SMART_ACTION_MOUNT_TO_ENTRY_OR_MODEL            = 43,    // Creature_template entry(param1) OR ModelId (param2) (or 0 for both to dismount) ====
Строка 372: Строка 557:
==== SMART_ACTION_WP_RESUME                          = 65,    // none ====
==== SMART_ACTION_WP_RESUME                          = 65,    // none ====
==== SMART_ACTION_SET_ORIENTATION                    = 66,    // ====
==== SMART_ACTION_SET_ORIENTATION                    = 66,    // ====
    Повернуться к таргету (в таргетах указываешь к кому повернуться. SMART_TARGET_SELF = повернуться как в хоум позиции)
    1. Таргет, кто повернётся (0 = текущий моб)
    2. targetParam1
    3. targetParam2
    4. targetParam3
==== SMART_ACTION_CREATE_TIMED_EVENT                = 67,    // id, InitialMin, InitialMax, RepeatMin(only if it repeats), RepeatMax(only if it repeats), chance ====
==== SMART_ACTION_CREATE_TIMED_EVENT                = 67,    // id, InitialMin, InitialMax, RepeatMin(only if it repeats), RepeatMax(only if it repeats), chance ====
==== SMART_ACTION_PLAYMOVIE                          = 68,    // entry ====
==== SMART_ACTION_PLAYMOVIE                          = 68,    // entry ====
==== SMART_ACTION_PLAYMOVIE                          = 68,    // entry ====


Строка 395: Строка 585:
==== SMART_ACTION_ADD_NPC_FLAG                      = 82,    // Flags ====
==== SMART_ACTION_ADD_NPC_FLAG                      = 82,    // Flags ====
==== SMART_ACTION_REMOVE_NPC_FLAG                    = 83,    // Flags ====
==== SMART_ACTION_REMOVE_NPC_FLAG                    = 83,    // Flags ====
==== SMART_ACTION_SIMPLE_TALK                        = 84,    // groupID, can be used to make players say groupID, Text_over event is not triggered, whisper can not be used (Target units will say the text) ====
==== SMART_ACTION_SIMPLE_TALK                        = 84,    // Talk text by target. param1 - TextId. param3 - personal text target type(like cross cast). param4 - targetParam1. param5 - targetParam2. param6 - targetParam3. ====
 
==== SMART_ACTION_INVOKER_CAST                      = 85,    // spellID, castFlags,  if avaliable, last used invoker will cast spellId with castFlags on targets ====
==== SMART_ACTION_INVOKER_CAST                      = 85,    // spellID, castFlags,  if avaliable, last used invoker will cast spellId with castFlags on targets ====
==== SMART_ACTION_CROSS_CAST                        = 86,    // spellID, castFlags, CasterTargetType, CasterTarget param1, CasterTarget param2, CasterTarget param3, ( + the origonal target fields as Destination target),  CasterTargets will cast spellID on all Targets (use with caution if targeting multiple * multiple units) ====
==== SMART_ACTION_CROSS_CAST                        = 86,    // spellID, castFlags, CasterTargetType, CasterTarget param1, CasterTarget param2, CasterTarget param3, ( + the origonal target fields as Destination target),  CasterTargets will cast spellID on all Targets (use with caution if targeting multiple * multiple units) ====
Строка 433: Строка 624:
==== SMART_ACTION_GAME_EVENT_STOP                    = 111,    // GameEventId ====
==== SMART_ACTION_GAME_EVENT_STOP                    = 111,    // GameEventId ====
==== SMART_ACTION_GAME_EVENT_START                  = 112,    // GameEventId ====
==== SMART_ACTION_GAME_EVENT_START                  = 112,    // GameEventId ====
==== SMART_ACTION_START_CLOSEST_WAYPOINT            = 113,    // wp1, wp2, wp3, wp4, wp5, wp6, wp7 ====
==== SMART_ACTION_START_CLOSEST_WAYPOINT            = 113,    // run?, wp1, wp2, wp3, wp4, wp5 ====
 
==== SMART_ACTION_RISE_UP                            = 114,    // distance ====
==== SMART_ACTION_RISE_UP                            = 114,    // distance ====
==== SMART_ACTION_MOVE_TO_HOME_POSITION              = 115,    // Target move to home pos. PointID, 0/1 - Run mode ====
==== SMART_ACTION_START_WAYPOINT_BETWEEN            = 116,    // Wp1, Wp2, Is Closest(1 = yes, 0 = no), run ====
==== SMART_ACTION_DISABLE_EVADE                      = 117,    // 0/1 (1 = disabled, 0 = enabled) ====
==== SMART_ACTION_DISABLE_EVADE                      = 117,    // 0/1 (1 = disabled, 0 = enabled) ====
==== SMART_ACTION_SET_GO_STATE                      = 118,    // state ====
==== SMART_ACTION_SET_CAN_FLY                        = 119,    // 0/1 (0 = disabled, 1 = enabled) ====
==== SMART_ACTION_SET_CAN_FLY                        = 119,    // 0/1 (0 = disabled, 1 = enabled) ====
==== SMART_ACTION_SET_IN_COMBAT_WITH_PLAYERS        = 120,    // Range ====
==== SMART_ACTION_SET_PVP                            = 121,    // 0/1 (0 = disabled, 1 = enabled) ====
==== SMART_ACTION_SET_CAN_ATTACK_IGNORE_CHECK        = 122,    // Can Attack Every Targets ====
==== SMART_ACTION_PLAY_ANIMKIT                      = 128,    // id, type (0 = oneShot, 1 = aiAnim, 2 = meleeAnim, 3 = movementAnim) ====
==== SMART_ACTION_PLAY_ANIMKIT                      = 128,    // id, type (0 = oneShot, 1 = aiAnim, 2 = meleeAnim, 3 = movementAnim) ====


Строка 532: Строка 736:
==== SMART_ACTION_JOIN_LFG  = 209 ====
==== SMART_ACTION_JOIN_LFG  = 209 ====
Присоеденить игрока к лфг
Присоеденить игрока к лфг
==== SMART_ACTION_CAST_CUSTOM = 210 ====
SpellId, CastFlags, damageMin, damageMax, bp1, bp2
==== SMART_ACTION_CLEAR_QUEST = 211 ====
Clear rewarded quest from player (quest ID)
====SMART_ACTION_SUMMON_SCENE = 212 ====
Summon Scene
====SMART_ACTION_UNLEARN_SPELL = 213 ====
Unlearn spells from player
==== SMART_ACTION_LEARN_SPELL = 214 ====
Learn spells to player
==== SMART_ACTION_MOD_CURRENCY = 215 ====
Modify currency to player by ID and count
==== SMART_ACTION_CIRCLE_PATH = 216 ====
Radius, Clockwise, StepCount
==== SMART_ACTION_SET_OVERRIDE_ZONE_LIGHT = 217 ====
zone Id, light Id, timer in milliseconds.
==== SMART_ACTION_SET_SPEED = 218 ====
speedType, speed


==== SMART_ACTION_IGNORE_PATHFINDING    = 219, ====  
==== SMART_ACTION_IGNORE_PATHFINDING    = 219, ====  
Строка 638: Строка 869:
  '''misc1; // значение 1'''
  '''misc1; // значение 1'''
  '''misc2; // значение 2'''
  '''misc2; // значение 2'''
==== SMART_ACTION_SET_QUEST_COMPLETITION_PHASE = 240, ====
Вкл\выкл опцию для применения CONDITION_QUEST_COMPLETITION для фазировок квестов. При отмене квеста автоматически сбрасывает эту опцию.
'''misc1; // квест ид'''
'''misc2; // 1 - вкл, 0 - выкл'''


==== SMART_ACTION_RESET_DELAYED_ACTIONS = 241, ====
==== SMART_ACTION_RESET_DELAYED_ACTIONS = 241, ====
Строка 665: Строка 891:
''' // Go to point near object. Range, Walk(0 walk, 1 run) '''
''' // Go to point near object. Range, Walk(0 walk, 1 run) '''


    SMART_ACTION_SET_TRACK_OWNER_QUEST_FOR_DESPAWN  = 247,    // QuestId(there may be a several ids), AddOrRemove(1 - add, 0 - remove).
==== SMART_ACTION_SET_TRACK_OWNER_QUEST_FOR_DESPAWN  = 247,    // QuestId(there may be a several ids), AddOrRemove(1 - add, 0 - remove). ====
    SMART_ACTION_SET_SCALE                          = 248,    // Set object scale. Value in action_param_float column
==== SMART_ACTION_SET_SCALE                          = 248,    // Set object scale. Value in action_param_float column ====
    SMART_ACTION_MOD_SCALE                          = 249,    // Mod object scale. Value in action_param_float column
==== SMART_ACTION_MOD_SCALE                          = 249,    // Mod object scale. Value in action_param_float column ====
    SMART_ACTION_SET_CAN_DESPAWN_WHEN_LEAVE_VEHICLE = 250,    // Creature can despawn when owner leave vehicle. 1 - can / 0 - can't despawn
==== SMART_ACTION_SET_CAN_DESPAWN_WHEN_LEAVE_VEHICLE = 250,    // Creature can despawn when owner leave vehicle. 1 - can / 0 - can't despawn ====
    SMART_ACTION_SET_PLAYER_CAN_ENTER_VEHICLE_ON_SUM= 251,    // When player summons that vehicle he can instantly enter it. Can be used by event JUST_SUMMONED. 1 - can / 0 - can't insta enter
==== SMART_ACTION_SET_PLAYER_CAN_ENTER_VEHICLE_ON_SUM= 251,    // When player summons that vehicle he can instantly enter it. Can be used by event JUST_SUMMONED. 1 - can / 0 - can't insta enter ====
    SMART_ACTION_SET_PAUSE_ON_WAYPOINT_DATA        = 252,    // Make pause on waypoints_data. 1 - can / 0 - can't move. param 2 pause time ms
==== SMART_ACTION_SET_PAUSE_ON_WAYPOINT_DATA        = 252,    // Make pause on waypoints_data. 1 - can / 0 - can't move. param 2 pause time ms ====
    SMART_ACTION_SET_PLAYER_CAN_UPDATE_PHASE        = 253,    // ZoneId. PhaseId. 0 - can't update, 1 - can update
==== SMART_ACTION_SET_PLAYER_CAN_UPDATE_PHASE        = 253,    // ZoneId. PhaseId. 0 - can't update, 1 - can update ====
    SMART_ACTION_PLAY_EMOTE_PERSONAL                = 254,    // EmoteId, EmoteId, EmoteId, EmoteId, EmoteId, EmoteId. Play personal emote for targets. If more than emote id = play random emote
==== SMART_ACTION_PLAY_EMOTE_PERSONAL                = 254,    // EmoteId, EmoteId, EmoteId, EmoteId, EmoteId, EmoteId. Play personal emote for targets. If more than emote id = play random emote ====
    SMART_ACTION_SET_EVENT_PHASE_MASK              = 255,    // Value. Set event phase mask (1, 2, 4, 8...). Also can be multi, like 9, 12...
==== SMART_ACTION_SET_EVENT_PHASE_MASK              = 255,    // Value. Set event phase mask (1, 2, 4, 8...). Also can be multi, like 9, 12... ====
    SMART_ACTION_ADD_OR_REMOVE_EVENT_PHASE_MASK    = 256,    // param1 - Add event phase mask, param2 - Remove event phase mask
==== SMART_ACTION_ADD_OR_REMOVE_EVENT_PHASE_MASK    = 256,    // param1 - Add event phase mask, param2 - Remove event phase mask ====
    SMART_ACTION_SET_PLAY_HOVER_ANIM                = 257,    // Play hover anim. 0 - off / 1 - on
==== SMART_ACTION_SET_PLAY_HOVER_ANIM                = 257,    // Play hover anim. 0 - off / 1 - on ====
    SMART_ACTION_CAN_ENTER_SPECIAL_EVADE            = 258,    // Makes creature can enter special evade(boss like). Param1 - 1 - Enable / 0 - Disable special evade. Param2 - invisibility timer ms
==== SMART_ACTION_CAN_ENTER_SPECIAL_EVADE            = 258,    // Makes creature can enter special evade(boss like). Param1 - 1 - Enable / 0 - Disable special evade. Param2 - invisibility timer ms ====
    SMART_ACTION_SET_VEHICLE_EXIT_POSITION          = 259,    // Set custom vehicle exit position. Param1 - UnitType(0 - all, 1 - creature, 2 - player). Param2 - Entry(0 for player). XYZO coordinates
==== SMART_ACTION_SET_VEHICLE_EXIT_POSITION          = 259,    // Set custom vehicle exit position. Param1 - UnitType(0 - all, 1 - creature, 2 - player). Param2 - Entry(0 for player). XYZO coordinates ====
    SMART_ACTION_SET_CAN_FOLLOW_ON_SUMMON          = 260,    // 0 - off / 1 - on follow when creature summons
==== SMART_ACTION_SET_CAN_FOLLOW_ON_SUMMON          = 260,    // 0 - off / 1 - on follow when creature summons ====
    SMART_ACTION_SET_FIELD_STATE_ANIM_ID            = 261,    // Set UNIT_FIELD_STATE_ANIM_ID to units. Param1 - state anim ID
==== SMART_ACTION_SET_FIELD_STATE_ANIM_ID            = 261,    // Set UNIT_FIELD_STATE_ANIM_ID to units. Param1 - state anim ID ====
    SMART_ACTION_MOVE_BACKWARD                      = 262,    // Move backwards. param1 - pointId. x, y, z - point. action_param_float - move speed. (EFFECT_MOTION_TYPE)
==== SMART_ACTION_MOVE_BACKWARD                      = 262,    // Move backwards. param1 - pointId. x, y, z - point. action_param_float - move speed. (EFFECT_MOTION_TYPE) ====
    SMART_ACTION_MOVE_CHARGE                        = 263,    // Move charge. param1 - pointId. param2 - move target type. param3-5 - move target param. x, y, z - point. action_param_float - move speed. (EFFECT_MOTION_TYPE)
==== SMART_ACTION_MOVE_CHARGE                        = 263,    // Move charge. param1 - pointId. param2 - move target type. param3-5 - move target param. x, y, z - point. action_param_float - move speed. (EFFECT_MOTION_TYPE) ====
    SMART_ACTION_GO_SEND_CUSTOM_ANIM                = 264,    // animId, playAsDespawn
==== SMART_ACTION_GO_SEND_CUSTOM_ANIM                = 264,    // animId, playAsDespawn ====
    SMART_ACTION_SET_CUSTOM_ATTACK_DISTANCE        = 265,    // Distance
==== SMART_ACTION_SET_CUSTOM_ATTACK_DISTANCE        = 265,    // Distance ====
    SMART_ACTION_MOVE_CIRCLE                        = 266,    // Radius, Walk, StepCount, Clockwise, Cyclic, PointId. action_param_float - Speed. X, Y, Z circle center
==== SMART_ACTION_MOVE_CIRCLE                        = 266,    // Radius, Walk, StepCount, Clockwise, Cyclic, PointId. action_param_float - Speed. X, Y, Z circle center ====
    SMART_ACTION_SET_CAN_STOP_COMBAT_WHEN_EMPTY_THREAT = 267, // (0 - off, 1 - on) NPC combat stop when threatlist is empty
==== SMART_ACTION_SET_CAN_STOP_COMBAT_WHEN_EMPTY_THREAT = 267, // (0 - off, 1 - on) NPC combat stop when threatlist is empty ====
    SMART_ACTION_COMBAT_STOP                        = 268,    // No param
==== SMART_ACTION_COMBAT_STOP                        = 268,    // No param ====
 
==== SMART_ACTION_ADD_QUEST_OBJECTIVE                = 269,    // QuestId, ObjectiveID(ID), AddCount, NeedSendPacket ====
==== SMART_ACTION_REMOVE_QUEST_OBJECTIVE            = 270,    // QuestId, ObjectiveID(ID), RemoveCount, NeedSendPacket ====
==== SMART_ACTION_DESTROY_FOR_PLAYER                = 271,    // Destroy for player SMSG_UPDATE_OBJECT ====
==== SMART_ACTION_PLAYER_ADD_TO_QUEST_HIDE_LIST      = 272,    // Hide for player target until he have quest. Quest ID. ====


==== SMART_ACTION_GO_PLAY_VISUAL_KIT                = 273,    // WorldEffectID, SpellVisualID, SpellStateVisualID, SpellStateAnimID, SpellStateAnimKitID, StateWorldEffectID ====


== target_type ==
== target_type ==


    SMART_TARGET_NONE                           = 0,   // NONE, defaulting to invoket
==== 0 = SMART_TARGET_NONE ====
    SMART_TARGET_SELF                           = 1,    // Self cast
То же самое, что и SMART_TARGET_ACTION_INVOKER
    SMART_TARGET_VICTIM                         = 2,    // Our current target (ie: highest aggro)
==== 1 = SMART_TARGET_SELF ====
    SMART_TARGET_HOSTILE_SECOND_AGGRO           = 3,    // Second highest aggro
Сам объект
    SMART_TARGET_HOSTILE_LAST_AGGRO             = 4,    // Dead last on aggro
==== 2 = SMART_TARGET_VICTIM ====
    SMART_TARGET_HOSTILE_RANDOM                 = 5,    // Just any random target on our threat list
Таргет объекта
    SMART_TARGET_HOSTILE_RANDOM_NOT_TOP         = 6,   // Any random target except top threat
==== 3 = SMART_TARGET_HOSTILE_SECOND_AGGRO ====
    SMART_TARGET_ACTION_INVOKER                 = 7,   // Unit who caused this Event to occur
Второй в списке угроз
    SMART_TARGET_POSITION                       = 8,    // use xyz from event params
==== 4 = SMART_TARGET_HOSTILE_LAST_AGGRO ====
    SMART_TARGET_CREATURE_RANGE                 = 9,    // CreatureEntry(0any), minDist, maxDist, Number of target (0 = all targets)
Последний в списке угроз
     SMART_TARGET_CREATURE_GUID                 = 10,  // guid, entry
==== 5 = SMART_TARGET_HOSTILE_RANDOM ====
     SMART_TARGET_CREATURE_DISTANCE             = 11,  // CreatureEntry(0any), maxDist
Случайный из списка угроз
     SMART_TARGET_STORED                         = 12,   // id, uses pre-stored target(list)
==== 6 = SMART_TARGET_HOSTILE_RANDOM_NOT_TOP ====
     SMART_TARGET_GAMEOBJECT_RANGE               = 13,  // entry(0any), minDist, maxDist, Number of target (0 = all targets)
Случайный из списка угроз, кроме цели
     SMART_TARGET_GAMEOBJECT_GUID               = 14,  // guid, entry
==== 7 = SMART_TARGET_ACTION_INVOKER ====
     SMART_TARGET_GAMEOBJECT_DISTANCE           = 15,  // entry(0any), maxDist
Инвокер (тот, кто вызвал ивент смарта)
     SMART_TARGET_INVOKER_PARTY                 = 16,  // invoker's party members
==== 8 = SMART_TARGET_POSITION ====
    SMART_TARGET_PLAYER_RANGE                   = 17,  // min, max
Точка на карте
     SMART_TARGET_PLAYER_DISTANCE               = 18,  // maxDist
==== 9 = SMART_TARGET_CREATURE_RANGE ====
     SMART_TARGET_CLOSEST_CREATURE               = 19,  // CreatureEntry(0any), maxDist, dead?
NPC в кольце
     SMART_TARGET_CLOSEST_GAMEOBJECT            = 20,  // entry(0any), maxDist
    1. ID NPC
    SMART_TARGET_CLOSEST_PLAYER                = 21,  // maxDist
    2. Минимальное расстояние
    SMART_TARGET_ACTION_INVOKER_VEHICLE        = 22,  // Unit's vehicle who caused this Event to occur
    3. Максимальное расстояние
    SMART_TARGET_OWNER_OR_SUMMONER              = 23,  // Unit's owner or summoner
     4. Количество целей
    SMART_TARGET_THREAT_LIST                    = 24,  // All units on creature's threat list
==== 10 = SMART_TARGET_CREATURE_GUID ====
    SMART_TARGET_CLOSEST_ENEMY                  = 25,  // maxDist
NPC по гуиду
    SMART_TARGET_CLOSEST_FRIENDLY              = 26,  // maxDist
     1. GUID NPC
     SMART_TARGET_HOSTILE_RANDOM_PLAYER          = 125,  // Just any random target on our threat list player
==== 11 = SMART_TARGET_CREATURE_DISTANCE ====
     SMART_TARGET_HOSTILE_RANDOM_NOT_TOP_PLAYER  = 126,  // Any random target except top threat player
NPC в радиусе
     SMART_TARGET_HOSTILE_RANDOM_AURA            = 127,  // Any random target with aura (entry, dist, topornot)
    1. ID NPC
    SMART_TARGET_RANDOM_POSITION                = 128,  // Any random position (range, angle, distance)
     2. Радиус
     SMART_TARGET_TARGETUNIT                    = 129,  // Target unit by GetTargetUnit()
==== 12 = SMART_TARGET_STORED ====
    SMART_TARGET_INVOKERS_OWNER                = 130,  // Owner of unit who caused this event to occur
Сохранённый объект до этого (Через SMART_ACTION_STORE_VARIABLE_DECIMAL и SMART_ACTION_STORE_TARGET_LIST, а также 6-й параметр в SMART_ACTION_SUMMON_CREATURE и SMART_ACTION_SUMMON_CREATURE_IN_PERS_VISIBILITY)
    SMART_TARGET_INVOKERS_SUMMON_WITH_ENTRY    = 131,  // NPC Id. Invokers summon with entry
     1. ID из действий выше
    SMART_TARGET_INVOKERS_PASSENGER            = 132,  // SeatId.
==== 13 = SMART_TARGET_GAMEOBJECT_RANGE ====
     SMART_TARGET_SUMMONERS_SUMMON_WITH_ENTRY    = 133,  // NPC Id. Summoners summon with entry
GO в кольце
    SMART_TARGET_SUMMON_WITH_ENTRY              = 134,  // NPC Id. Target summon with entry
    1. ID GO
    SMART_TARGET_VEHICLE_ACCESSORY              = 135,  // Seat id
    2. Минимальное расстояние
    SMART_TARGET_ALL_PLAYERS_IN_MAP            = 136,  // All players in map
    3. Максимальное расстояние
    SMART_TARGET_RANDOM_CREATURE_BY_ENTRY      = 137,  // Select random creature by entry in range. entry, distance, searchType( SEARCH_ALL = 0, SEARCH_ALIVE = 1,  SEARCH_DEAD = 2)
     4. Количество целей
     SMART_TARGET_RANDOM_PLAYER_IN_RANGE        = 138,  // Select random player in range.
==== 14 = SMART_TARGET_GAMEOBJECT_GUID ====
    SMART_TARGET_RANDOM_POS_TO_PLAYER_IN_RANGE  = 139,  // Select random pos to player in range.
GO по гуиду
     SMART_TARGET_RANDOM_CREATURE_BETWEEN_ENTRIES= 140,  // Select random creature between entries. Param 0-4 entry. Target_x as range
     1. GUID GO
 
==== 15 = SMART_TARGET_GAMEOBJECT_DISTANCE ====
 
GO в радиусе
    1. ID GO
     2. Радиус
==== 16 = SMART_TARGET_INVOKER_PARTY ====
Группа инвокера
==== 17 = SMART_TARGET_PLAYER_RANGE ====
Игроки в кольце
    1. Минимальное расстояние
     2. Максимальное расстояние
==== 18 = SMART_TARGET_PLAYER_DISTANCE ====
Игроки в радиусе
    1. Радиус
     2. Аура на игроках
==== 19 = SMART_TARGET_CLOSEST_CREATURE ====
Ближайший NPC
    1. ID NPC
    2. Расстояние
     3. Живой (=0) или мёртвый (=1)
==== 20 = SMART_TARGET_CLOSEST_GAMEOBJECT ====
Ближайший GO
     1. ID GO
     2. Расстояние
     3. Живой (=0) или мёртвый (=1)
==== 21 = SMART_TARGET_CLOSEST_PLAYER ====
Ближайший игрок
     1. Расстояние
==== 22 = SMART_TARGET_ACTION_INVOKER_VEHICLE ====
Транспорт инвокера
==== 23 = SMART_TARGET_OWNER_OR_SUMMONER ====
Создатель или суммонер объекта
==== 24 = SMART_TARGET_THREAT_LIST ====
Весь список угрозы
==== 25 = SMART_TARGET_CLOSEST_ENEMY ====
Ближайший враг
     1. Расстояние
==== 26 = SMART_TARGET_CLOSEST_FRIENDLY ====
Ближайший друг
     1. Расстояние
==== 27 = SMART_TARGET_SAVED_THREAT_LIST ====
Список угрозы в течении всей жизни
     1. Удалить игроков из списка


==== SMART_TARGET_INVOKER_OWNER  = 130, ====
==== 28 = SMART_TARGET_PLAYER_INVOKER_SUMMON ====
Суммон игрока по ID. Используется, инвокер = моб, владелец которого является игрок
    1. NPC ID


'''Пример использования: если призванный игроком нпц(Х) суммонит нпц(У) и необходимо, чтобы нпц(У) взаимодействовало напрямую с игроком-призывателем нпц(Х), то юзается этот таргет.'''
==== 125 = SMART_TARGET_HOSTILE_RANDOM_PLAYER ====
Случайный игрок в списке угрозы
==== 126 = SMART_TARGET_HOSTILE_RANDOM_NOT_TOP_PLAYER ====
Случайный игрок в списке угрозы, кроме цели
==== 127 = SMART_TARGET_HOSTILE_RANDOM_AURA ====
Случайный игрок в списке угрозы с аурой
    1. ID ауры
    2. Расстояние до цели
    3. Верхний в списке угрозы (=1) или нет (=0)
==== 128 = SMART_TARGET_RANDOM_POSITION ====
Случайная позиция по параметрам (Работает для SMART_ACTION_SUMMON_CREATURE, SMART_ACTION_SUMMON_GO, SMART_ACTION_MOVE_TO_POS, SMART_ACTION_SUMMON_CREATURE_IN_PERS_VISIBILITY)
    https://egammi.com/image/qLZv
    1. Расстояние от выбранной точки
    2. Угол расстояния
    3. Расстояние до точки
==== 129 = SMART_TARGET_TARGETUNIT ====
Цель цели
==== 130 = SMART_TARGET_INVOKERS_OWNER ====
Создатель инвокера
==== 131 = SMART_TARGET_INVOKERS_SUMMON_WITH_ENTRY ====
Суммон инвокера
    1. ID NPC
==== 132 = SMART_TARGET_INVOKERS_PASSENGER ====
Пассажиры инвокера
    1. Место в транспорте
==== 133 = SMART_TARGET_SUMMONERS_SUMMON_WITH_ENTRY ====
Суммон суммонера
    1. ID NPC
==== 134 = SMART_TARGET_SUMMON_WITH_ENTRY ====
Суммон
    1. ID NPC
==== 135 = SMART_TARGET_VEHICLE_ACCESSORY ====
Место в транспорте
    1. Место в транспорте
==== 136 = SMART_TARGET_ALL_PLAYERS_IN_MAP ====
Все игроки на карте
==== 137 = SMART_TARGET_RANDOM_CREATURE_BY_ENTRY ====
Случайный NPC
    1. ID NPC
    2. Расстояние
    3. Тип поиска (0 = все, 1 = живые, 2 = мёртвые)
==== 138 = SMART_TARGET_RANDOM_PLAYER_IN_RANGE ====
Случайный игрок в радиусе
    1. Минимальное расстояние
    2. Максимальное расстояние
==== 139 = SMART_TARGET_RANDOM_POS_TO_PLAYER_IN_RANGE ====
Случайная позиция по отношению к игроку
==== 140 = SMART_TARGET_RANDOM_CREATURE_BETWEEN_ENTRIES ====
Случайный NPC
    1. ID NPC
    2. ID NPC
    3. ID NPC
    4. ID NPC
==== 141 = SMART_TARGET_VEHICLE ====
Транспорт
==== 142 = SMART_TARGET_INVOKERS_GO_SUMMON_WITH_ENTRY ====
Суммон инвокера
    1. ID GO


==== SMART_TARGET_INVOKERS_SUMMON_WITH_ENTRY  = 131, ====
Таргет суммон инвокера по энтри(ид нпц)
'''target_param1 = id NPC'''


==== SMART_TARGET_INVOKERS_PASSENGER  = 132, ====
{| class="wikitable"
Таргет пассажир инвокера
! name
'''target_param1 = id сиденья'''
! id
 
! comment
==== SMART_TARGET_SUMMONERS_SUMMON_WITH_ENTRY  = 133, ====
|-
Таргет нпц-суммон призывателя по энтри
| TEMPSUMMON_TIMED_OR_DEAD_DESPAWN
'''target_param1 = id нпц'''
| 1
 
| despawns after a specified time OR when the creature disappears
==== SMART_TARGET_SUMMON_WITH_ENTRY  = 134, ====
|-
Таргет нпц-суммон по энтри
| TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN
'''target_param1 = id нпц'''
| 2
 
| despawns after a specified time OR when the creature dies
 
|-
 
| TEMPSUMMON_TIMED_DESPAWN
 
| 3
 
| despawns after a specified time
    MovementType
|-
{
| TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT
    IDLE_MOTION_TYPE      = 0,                              // IdleMovementGenerator.h
| 4
    RANDOM_MOTION_TYPE    = 1,                              // RandomMovementGenerator.h
| despawns after a specified time after the creature is out of combat
    WAYPOINT_MOTION_TYPE  = 2,                              // WaypointMovementGenerator.h
|-
    MAX_DB_MOTION_TYPE    = 3,                              // *** this and below motion types can't be set in DB.
| TEMPSUMMON_CORPSE_DESPAWN
    ANIMAL_RANDOM_MOTION_TYPE = MAX_DB_MOTION_TYPE,        // AnimalRandomMovementGenerator.h
| 5
    CONFUSED_MOTION_TYPE  = 4,                              // ConfusedMovementGenerator.h
| despawns instantly after death
    CHASE_MOTION_TYPE    = 5,                              // TargetedMovementGenerator.h
|-
    HOME_MOTION_TYPE      = 6,                              // HomeMovementGenerator.h
| TEMPSUMMON_CORPSE_TIMED_DESPAWN
    FLIGHT_MOTION_TYPE    = 7,                              // WaypointMovementGenerator.h
| 6
    POINT_MOTION_TYPE    = 8,                              // PointMovementGenerator.h
| despawns after a specified time after death
    FLEEING_MOTION_TYPE  = 9,                              // FleeingMovementGenerator.h
|-
    DISTRACT_MOTION_TYPE  = 10,                            // IdleMovementGenerator.h
| TEMPSUMMON_DEAD_DESPAWN
    ASSISTANCE_MOTION_TYPE= 11,                            // PointMovementGenerator.h (first part of flee for assistance)
| 7
    ASSISTANCE_DISTRACT_MOTION_TYPE = 12,                  // IdleMovementGenerator.h (second part of flee for assistance)
| despawns when the creature disappears
    TIMED_FLEEING_MOTION_TYPE = 13,                        // FleeingMovementGenerator.h (alt.second part of flee for assistance)
|-
    FOLLOW_MOTION_TYPE    = 14,
| TEMPSUMMON_MANUAL_DESPAWN
    FETCH_MOTION_TYPE    = 15,
| 8
    ROTATE_MOTION_TYPE    = 16,
| despawns when UnSummon() is called
    EFFECT_MOTION_TYPE    = 17,
|-
    NULL_MOTION_TYPE      = 18,
| TEMPSUMMON_TIMED_OR_OWNER_DESPAWNS
    MAX_MOTION_TYPE,
| 9
};
| despawns after a specified time or when owner despawns
 
|-
 
| TEMPSUMMON_TIMED_KILL_AND_DESPAWN
'''event_flags'''
| 10
    SMART_EVENT_FLAG_NOT_REPEATABLE        = 1,                    //Event can not repeat
| kills after specified time, then despawns after death timer
    SMART_EVENT_FLAG_DIFFICULTY_0          = 2,                    //Event only occurs in instance difficulty 0
|}
    SMART_EVENT_FLAG_DIFFICULTY_1          = 4,                     //Event only occurs in instance difficulty 1
    SMART_EVENT_FLAG_DIFFICULTY_2          = 8,                    //Event only occurs in instance difficulty 2
    SMART_EVENT_FLAG_DIFFICULTY_3          = 16,                    //Event only occurs in instance difficulty 3
    SMART_EVENT_FLAG_ALLOW_EVENT_NON_COMBAT = 32,
    SMART_EVENT_FLAG_RESERVED_6            = 64,
    SMART_EVENT_FLAG_DEBUG_ONLY            = 128,                    //Event only occurs in debug build
    SMART_EVENT_FLAG_DONT_RESET            = 256,                    //Event will not reset in SmartScript::OnReset()
    SMART_EVENT_FLAG_NOT_IN_COMBAT          = 512,                    //Event only occurs only not in combat
    SMART_EVENT_FLAG_IN_COMBAT              = 1024,                    //Event only occurs only in combat

Текущая версия от 15:56, 23 апреля 2026

smart_scripts - таблица всевозможных действий существ/GO/AT

source_type

   0 - creature - 'SmartAI' (creature_template)
   1 - gameobject - 'SmartGameObjectAI' (gameobject_template)
   2 - AreaTrigger (client)
   3 - AreaTrigger (spell) - 'SmartTrigger' (areatrigger_scripts)
   9 - TimedActionList
   10 - EventObject - 'SmartEventObject' (eventobject_template)

event_flags

   SMART_EVENT_FLAG_NOT_REPEATABLE         = 1,
   SMART_EVENT_FLAG_DIFFICULTY_0           = 2,
   SMART_EVENT_FLAG_DIFFICULTY_1           = 4,
   SMART_EVENT_FLAG_DIFFICULTY_2           = 8,
   SMART_EVENT_FLAG_DIFFICULTY_3           = 16,
   SMART_EVENT_FLAG_ALLOW_EVENT_NON_COMBAT = 32,
   SMART_EVENT_FLAG_ONCE_PER_INVOKER       = 64,
   SMART_EVENT_FLAG_DEBUG_ONLY             = 128,
   SMART_EVENT_FLAG_DONT_RESET             = 256,
   SMART_EVENT_FLAG_NOT_IN_COMBAT          = 512,
   SMART_EVENT_FLAG_IN_COMBAT              = 1024,
   SMART_EVENT_FLAG_IGNORE_PHASES          = 2048,
   SMART_EVENT_FLAG_DEBUG_ACTIONS          = 4096,

cast_flags

   SMARTCAST_INTERRUPT_PREVIOUS     = 1,                     //Interrupt any spell casting
   SMARTCAST_TRIGGERED              = 2,                     //Triggered (this makes spell cost zero mana and have no cast time)
   CAST_FORCE_TARGET_SELF           = 16,                     //Forces the target to cast this spell on itself
   SMARTCAST_AURA_NOT_PRESENT       = 32,                     //Only casts the spell if the target does not have an aura from the spell

action_delay

   Задержка для запуска экшена (в мс)

event_type

0 = SMART_EVENT_UPDATE_IC

   Таймер в бою.
   1. Время начального таймера (мин)
   2. Время начального таймера (макс)
   3. Время повтора таймера (мин)
   4. Время повтора таймера (макс)

event_type

1 = SMART_EVENT_UPDATE_OOC

   Таймер вне боя.
   1. Время начального таймера (мин)
   2. Время начального таймера (макс)
   3. Время повтора таймера (мин)
   4. Время повтора таймера (макс)

2 = SMART_EVENT_HEALT_PCT

   При достижении NPC определенного значения HP.
   1. Значение HP (мин)
   2. Значение HP (макс)
   3. Время повтора проверки (мин)
   4. Время повтора проверки (макс)

3 = SMART_EVENT_MANA_PCT

   При достижении NPC определенного значения MP.
   1. Значение MP (мин)
   2. Значение MP (макс)
   3. Время повтора проверки (мин)
   4. Время повтора проверки (макс)

4 = SMART_EVENT_AGGRO

   При входе в бой.

5 = SMART_EVENT_KILL

   При убийстве.
   1. Время повтора проверки (мин)
   2. Время повтора проверки (макс)
   3. Только игрок (=1), иначе
   4. Идентификатор NPC

6 = SMART_EVENT_DEATH

   При смерти.

7 = SMART_EVENT_EVADE

   При ивейде.

8 = SMART_EVENT_SPELLHIT

   При попадании спеллом по NPC / объекту.
   1. Идентификатор спелла
   2. Школа спелла
   3. Время повтора проверки (мин)
   4. Время повтора проверки (макс)

9 = SMART_EVENT_RANGE

   При нахождении игрока в радиусе.
   1. Радиус (мин)
   2. Радиус (макс)
   3. Время повтора проверки (мин)
   4. Время повтора проверки (макс)

10 = SMART_EVENT_OOC_LOS

   При нахождении игрока в радиусе вне боя.
   1. Дружелюбный (=1) или нет
   2. Радиус (макс)
   3. Время повтора проверки (мин)
   4. Время повтора проверки (макс)

11 = SMART_EVENT_RESPAWN

   При респавне NPC / объекта.
   1. Тип респавна (1 = Map, 2 = Area)
   2. Map
   3. Area

12 = SMART_EVENT_TARGET_HEALTH_PCT

   При достижении целью определенного значения HP.
   1. Значение HP (мин)
   2. Значение HP (макс)
   3. Время повтора проверки (мин)
   4. Время повтора проверки (макс)

13 = SMART_EVENT_TARGET_CASTING

   Если цель кастует спелл.
   1. Время повтора проверки (мин)
   2. Время повтора проверки (макс)

14 = SMART_EVENT_FRIENDLY_HEALTH

   Если у друга не хватает HP.
   1. Сколько должно не хватать
   2. Радиус проверки
   3. Время повтора проверки (мин)
   4. Время повтора проверки (макс)

15 = SMART_EVENT_FRIENDLY_IS_CC

   Если друг сражается.
   1. Радиус проверки
   2. Время повтора проверки (мин)
   3. Время повтора проверки (макс)

16 = SMART_EVENT_FRIENDLY_MISSING_BUFF

   Если у друга нет баффа.
   1. Идентификатор спелла
   2. Радиус проверки
   3. Время повтора проверки (мин)
   4. Время повтора проверки (макс)

17 = SMART_EVENT_SUMMONED_UNIT

   При призыве NPC.
   1. Идентификатор суммона
   2. Время повтора проверки (мин)
   3. Время повтора проверки (макс)

18 = SMART_EVENT_TARGET_MANA_PCT

   При достижении целью определенного значения MP.
   1. Значение MP (мин)
   2. Значение MP (макс)
   3. Время повтора проверки (мин)
   4. Время повтора проверки (макс)

19 = SMART_EVENT_ACCEPTED_QUEST

   При принятии задания игроком. Так же добавлена возможность установки кулдауна для срабатывания ивента.
   1. Идентификатор задания
   2. Кулдаун проверки (мин)
   3. Кулдаун проверки (макс)

20 = SMART_EVENT_REWARD_QUEST

   При завершении задания игроком. Так же добавлена возможность установки кулдауна для срабатывания ивента.
   1. Идентификатор задания
   2. Кулдаун проверки (мин)
   3. Кулдаун проверки (макс)

21 = SMART_EVENT_REACHED_HOME

   При возвращении в изначальное положение.

22 = SMART_EVENT_RECEIVE_EMOTE

   При получении эмоции.
   1. Идентификатор эмоции
   2. Кулдаун проверки (мин)
   3. Кулдаун проверки (макс)

23 = SMART_EVENT_HAS_AURA

   При наличии ауры.
   1. Идентификатор спелла
   2. Количество стаков
   3. Кулдаун проверки (мин)
   4. Кулдаун проверки (макс)

24 = SMART_EVENT_TARGET_BUFFED

   При бафе таргета.
   1. Идентификатор спелла
   2. Количество стаков
   3. Кулдаун проверки (мин)
   4. Кулдаун проверки (макс)

25 = SMART_EVENT_RESET

   При иведе, при спавне и при респавне.

26 = SMART_EVENT_IC_LOS

   При нахождении игрока в радиусе в бою.
   1. Дружелюбный (=1) или нет
   2. Радиус (макс)
   3. Время повтора проверки (мин)
   4. Время повтора проверки (макс)

27 = SMART_EVENT_PASSENGER_BOARDED

   При посадке на себя пассажира.
   1. Время повтора проверки (мин)
   2. Время повтора проверки (макс)
   3. Тип пассажира (0 - all, 1 - creature, 2 - player)

28 = SMART_EVENT_PASSENGER_REMOVED

   При высадке пассажира.
   1. Время повтора проверки (мин)
   2. Время повтора проверки (макс)
   3. Тип пассажира (0 - all, 1 - creature, 2 - player)

29 = SMART_EVENT_CHARMED

   При подчинении себя.

30 = SMART_EVENT_CHARMED_TARGET

   При подчинении цели.

31 = SMART_EVENT_SPELLHIT_TARGET

   При попадании спеллом по цели.
   1. Идентификатор спелла
   2. Школа спелла
   3. Время повтора проверки (мин)
   4. Время повтора проверки (макс)

32 = SMART_EVENT_DAMAGED

   При получении урона.
   1. Урон (мин)
   2. Урон (макс)
   3. Время повтора проверки (мин)
   4. Время повтора проверки (макс)

33 = SMART_EVENT_DAMAGED_TARGET

   При нанесении урона.
   1. Урон (мин)
   2. Урон (макс)
   3. Время повтора проверки (мин)
   4. Время повтора проверки (макс)

34 = SMART_EVENT_MOVEMENTINFORM

   При достижении точки.
   1. Тип точки
   2. Идентификатор точки

35 = SMART_EVENT_SUMMON_DESPAWNED

   При деспавне суммона.
   1. Идентификатор суммона
   2. Время повтора проверки (мин)
   3. Время повтора проверки (макс)

36 = SMART_EVENT_CORPSE_REMOVED

   При пропаже тела.

37 = SMART_EVENT_AI_INIT

   При инициализации.

38 = SMART_EVENT_DATA_SET

   При получении переменной.
   1. Идентификатор переменной
   2. Значение переменной
   3. Время повтора проверки (мин)
   4. Время повтора проверки (макс)

39 = SMART_EVENT_WAYPOINT_START

   При начале пути.
   1. Идентификатор пути (waypoints)

40 = SMART_EVENT_WAYPOINT_REACHED

   При достижении точки.
   1. Идентификатор точки
   2. Идентификатор пути (waypoints)

41 = SMART_EVENT_TRANSPORT_ADDPLAYER

   При посадке игрока на транспорт.

42 = SMART_EVENT_TRANSPORT_ADDCREATURE

   При посадке NPC на транспорт.
   1. Идентификатор NPC

43 = SMART_EVENT_TRANSPORT_REMOVE_PLAYER

   При высадке игрока.

44 = SMART_EVENT_TRANSPORT_RELOCATE

   При достижении транспортом точки.
   1. Идентификатор точки

45 = SMART_EVENT_INSTANCE_PLAYER_ENTER

   При попадании игрока в инст.
   1. Фракция игрока
   2. Время повтора проверки (мин)
   3. Время повтора проверки (макс)

46 = SMART_EVENT_AREATRIGGER_ONTRIGGER

   При входе в арея триггер.
   1. Идентификатор арея триггера
   2. Время повтора проверки (мин)
   3. Время повтора проверки (макс)

47 = SMART_EVENT_QUEST_ACCEPTED

   При взятии квеста (любого).

48 = SMART_EVENT_QUEST_OBJ_COPLETETION

   Выключен.

49 = SMART_EVENT_QUEST_COMPLETION

   Выключен.

50 = SMART_EVENT_QUEST_REWARDED

   При сдаче квеста (любого).

51 = SMART_EVENT_QUEST_FAIL

   Выключен.

52 = SMART_EVENT_TEXT_OVER

   При триггере после текста (запускается 1 экшином).
   1. Идентификатор группы текстов
   2. Идентификатор NPC кто говорил

53 = SMART_EVENT_RECEIVE_HEAL

   При получении исцеления.
   1. Значение (мин)
   2. Значение (макс)
   3. Время повтора проверки (мин)
   4. Время повтора проверки (макс)

54 = SMART_EVENT_JUST_SUMMONED

   При суммоне.

55 = SMART_EVENT_WAYPOINT_PAUSED

   При паузе пути.
   1. Идентификатор точки
   2. Идентификатор пути (waypoints)

56 = SMART_EVENT_WAYPOINT_RESUMED

   При продолжении пути.
   1. Идентификатор точки
   2. Идентификатор пути (waypoints)

57 = SMART_EVENT_WAYPOINT_STOPPED

   При остановке пути.
   1. Идентификатор точки
   2. Идентификатор пути (waypoints)

58 = SMART_EVENT_WAYPOINT_ENDED

   При окончании пути.
   1. Идентификатор точки
   2. Идентификатор пути (waypoints)

59 = SMART_EVENT_TIMED_EVENT_TRIGGERED

   При триггере ивента (создаётся 67 экшином).
   1. Идентификатор ивента

60 = SMART_EVENT_UPDATE

   Таймер.
   1. Время начального таймера (мин)
   2. Время начального таймера (макс)
   3. Время повтора таймера (мин)
   4. Время повтора таймера (макс)

61 = SMART_EVENT_LINK

   При линке из другого смарта (запускается через колонку link).

62 = SMART_EVENT_GOSSIP_SELECT

   При использовнии госсип меню.
   1. menuID
   2. optionID
   3. Время повтора проверки (мин)
   4. Время повтора проверки (макс)

63 = SMART_EVENT_JUST_CREATED

   При инициализации скрипта.

64 = SMART_EVENT_GOSSIP_HELLO

   При открытии госсип меню.

65 = SMART_EVENT_FOLLOW_COMPLETED

   При выключении следования.

66 = SMART_EVENT_DUMMY_EFFECT

   При думми эффектах спелла.

67 = SMART_EVENT_IS_BEHIND_TARGET

   При нахождении у цели за спиной.

68 = SMART_EVENT_GAME_EVENT_START

   При начале гейм ивента.

69 = SMART_EVENT_GAME_EVENT_END

   При окончании гейм ивента.

70 = SMART_EVENT_GO_STATE_CHANGED

   При изменении состояния объекта. (https://wiki.uwow.biz/Gameobject_template#LootState)

71 = SMART_EVENT_GO_EVENT_INFORM

   Используется в ядре.

72 = SMART_EVENT_ACTION_DONE

   Используется в ядре.

73 = SMART_EVENT_ON_SPELLCLICK

   При спеллклике.
   1. Время повтора проверки (мин)
   2. Время повтора проверки (макс)
   3. Только игрок (=1)

74 = SMART_EVENT_CHECK_DIST_TO_HOME

   Если расстояние до изначальной позиции больше значения.
   1. Значение
   2. 
   3. Время повтора проверки (мин)
   4. Время повтора проверки (макс)

75 = SMART_EVENT_EVENTOBJECT_ONTRIGGER

   При входе в ивент обжект.
   1. Идентификатор ивент обжекта
   2. Время повтора проверки (мин)
   3. Время повтора проверки (макс)

76 = SMART_EVENT_ON_TAXIPATHTO

   При начале такси.
   1. Идентификатор такси

77 = SMART_EVENT_EVENTOBJECT_OFFTRIGGER

   При выходе из ивент обжекта.
   1. Идентификатор ивент обжекта
   2. Время повтора проверки (мин)
   3. Время повтора проверки (макс)

78 = SMART_EVENT_ON_APPLY_OR_REMOVE_AURA

   При наложении или снятии ауры.
   1. Идентификатор спелла
   2. Режим (https://wiki.uwow.biz/MISC#AuraRemoveMode)
   3. Наложение (=1) или снятие (=0)
   4. Время повтора проверки

79 = SMART_EVENT_ON_FIND_OBJECT_IN_RANGE

   При нахождении в радиусе объекта.
   1. Расстояние
   2. Тип объекта (1 - player, 2 - NPC, 3 - GO)
   3. Идентификатор NPC / GO
   4. Время повтора проверки
   5. Кулдаун проверки

80 = SMART_EVENT_ON_SPECIAL_DATA

   Когда специальная переменная равна значению.
   1. Значение
   2. Время повтора проверки

81 = SMART_EVENT_ON_OWNER_HAS_QUEST

   Если у суммонера есть квест.
   1. Идентификатор квеста
   2. Есть квест (=0) или нет квеста (=1)
   3. Время повтора проверки

82 = SMART_EVENT_ON_SPECIAL_DATA_SET

   При изменении специальной переменной.
   1. Время повтора проверки (мин)
   2. Время повтора проверки (макс)

83 = SMART_EVENT_ON_OWNER_HAS_COMPLETED_QUEST

   Если у суммонера есть завершенный обжектив.
   1. Идентификатор квеста
   2. Идентификатор обжективы
   3. Количество обжектив
   4. Время повтора проверки (мин)
   5. Время повтора проверки (макс)

84 = SMART_EVENT_ON_ENTER_VEHICLE

   При посадке на вехикл.

85 = SMART_EVENT_ON_EXIT_VEHICLE

   При высадке с вехикла.

86 = SMART_EVENT_ON_RANDOM_DATA

   При получении рандомной переменной (запускается 239 ивентом).
   1. Идентификатор переменной

87 = SMART_EVENT_ON_LAST_HIT

   Перед получением смертельного удара.

88 = SMART_EVENT_ON_SPELL_FINISH_CAST

   Перед завершении каста.
   1. Идентификатор спелла

89 = SMART_EVENT_FRIENDLY_HP_PCT

   Если у друга не хватает HP.
   1. Сколько должно не хватать (в %)
   2. Радиус проверки
   3. Время повтора проверки (мин)
   4. Время повтора проверки (макс)
   5. Тип друга (all units = 0, only creature = 1, only player = 2)

90 = SMART_EVENT_ON_LOOT_RELEASE

   При закрытии окна лута.

91 = SMART_EVENT_ON_SUMMON_DIES

   При смерти суммона.
   1. Идентификатор NPC

92 = SMART_EVENT_ON_OWNER_RECEIVE_KILLCREDIT

   При получении владельцем килкредита.
   1. Идентификатор килкредита

93 = SMART_EVENT_ON_AT_ENTER

   При входе в арея триггер.
   1. Время повтора проверки (мин)
   2. Время повтора проверки (макс)
   3. Тип вошедшего объекта (player = 1, creature = 2)
   4. Идентификатор NPC
   5. GUID NPC

94 = SMART_EVENT_ON_AT_LEAVE

   При выходе с арея триггера.
   1. Время повтора проверки (мин)
   2. Время повтора проверки (макс)
   3. Тип вышедшего объекта (player = 1, creature = 2)
   4. Идентификатор NPC
   5. GUID NPC

95 = SMART_EVENT_ON_AT_DESTINATION_REACH

   При достижении арея триггером пункта назначения.

96 = SMART_EVENT_ON_AT_REMOVE

   При деспавне арея триггера.

97 = SMART_EVENT_APPLY_OR_REMOVE_CONTROL_AURA

   При деспавне арея триггера.
   1. Наложение (=1) или снятие (=0)
   2. Идентификатор спелла
   3. Время повтора проверки (мин)
   4. Время повтора проверки (макс)

98 = SMART_EVENT_ON_DESPAWN

   Перед деспавном.

99 = SMART_EVENT_ON_INTERRUPT

   При прерывании каста.
   1. Идентификатор спелла
   2. Тип сбившего каст объекта (all = 0, player = 1, creature = 2)
   3. Время повтора проверки (мин)
   4. Время повтора проверки (макс)

100 = SMART_EVENT_ON_SPELLCLICK_FINISH_CAST

   При завершении каста спеллклика.
   1. Идентификатор спелла

101 = SMART_EVENT_AFTER_HP_PERCENT

   При достижении здоровья в % (между минимумом и максимумом)
   1. Минимум
   2. Максимум
   3. Повторная проверка минимум
   4. Повторная проверка максимум

action_type

SMART_ACTION_TALK = 1, // misc1 - groupID из creature_text, misc2 - задержка до срабатывания TEXT_OVER ивента, misc3 - 1 - персональный текст, текст будет виден только таргету(игроку)

SMART_ACTION_SET_FACTION = 2, // FactionId (or 0 for default)

SMART_ACTION_MORPH_TO_ENTRY_OR_MODEL = 3, // Creature_template entry(param1) OR ModelId (param2) (or 0 for both to demorph)

SMART_ACTION_SOUND = 4, // SoundId, OnlySelf, isDistance

SMART_ACTION_PLAY_EMOTE = 5, // EmoteId

SMART_ACTION_FAIL_QUEST = 6, // QuestID

SMART_ACTION_ADD_QUEST = 7, // QuestID

SMART_ACTION_SET_REACT_STATE = 8, // state

   REACT_DELAY      = -1,
   REACT_PASSIVE    = 0,
   REACT_DEFENSIVE  = 1,
   REACT_AGGRESSIVE = 2,
   REACT_HELPER     = 3,
   REACT_ATTACK_OFF = 4

SMART_ACTION_ACTIVATE_GOBJECT = 9, //

SMART_ACTION_RANDOM_EMOTE = 10, // EmoteId1, EmoteId2, EmoteId3...

SMART_ACTION_CAST = 11, // SpellId, CastFlags

SMART_ACTION_SUMMON_CREATURE = 12

misc1 = id npc 
misc2 = тип суммона 
misc3 = длительность(мс) 
misc4 = атаковать призывателя  
misc5 =  взять фазы цели 
misc6 = добавить в лист суммонов (storageID - 12 target_type) 

SMART_ACTION_THREAT_SINGLE_PCT = 13, // Threat%

SMART_ACTION_THREAT_ALL_PCT = 14, // Threat%

SMART_ACTION_CALL_AREAEXPLOREDOREVENTHAPPENS = 15, // QuestID

SMART_ACTION_SEND_CASTCREATUREORGO = 16, // QuestID, SpellId

SMART_ACTION_SET_EMOTE_STATE = 17, // emoteID

SMART_ACTION_SET_UNIT_FLAG = 18, // Flags (may be more than one field OR'd together), Target

SMART_ACTION_REMOVE_UNIT_FLAG = 19, // Flags (may be more than one field OR'd together), Target

SMART_ACTION_AUTO_ATTACK = 20, // AllowAttackState (0 = stop attack, anything else means continue attacking)

SMART_ACTION_ALLOW_COMBAT_MOVEMENT = 21, // AllowCombatMovement (0 = stop combat based movement, anything else continue attacking)

SMART_ACTION_SET_EVENT_PHASE = 22, // Phase

SMART_ACTION_INC_EVENT_PHASE = 23, // Value (may be negative to decrement phase, should not be 0)

SMART_ACTION_EVADE = 24, // No Params

SMART_ACTION_FLEE_FOR_ASSIST = 25, // With Emote

SMART_ACTION_CALL_GROUPEVENTHAPPENS = 26, // QuestID

SMART_ACTION_PLAY_SPELL_VISUAL_KIT = 27, // id, duration, KitRecID

SMART_ACTION_REMOVEAURASFROMSPELL = 28, // Spellid, 0 removes all auras

SMART_ACTION_FOLLOW = 29, // Distance (0 = default), Angle (0 = default), EndCreatureEntry, credit, creditType (0monsterkill, 1event)

SMART_ACTION_RANDOM_PHASE = 30, // PhaseId1, PhaseId2, PhaseId3...

SMART_ACTION_RANDOM_PHASE_RANGE = 31, // PhaseMin, PhaseMax

SMART_ACTION_RESET_GOBJECT = 32, //

SMART_ACTION_CALL_KILLEDMONSTER = 33, // CreatureId,

SMART_ACTION_SET_INST_DATA = 34, // Field, Data

SMART_ACTION_SET_INST_DATA64 = 35, // Field,

SMART_ACTION_UPDATE_TEMPLATE = 36, // Entry, Team

SMART_ACTION_DIE = 37, // No Params

SMART_ACTION_SET_IN_COMBAT_WITH_ZONE = 38, // No Params

SMART_ACTION_CALL_FOR_HELP = 39, // Radius

SMART_ACTION_SET_SHEATH = 40, // Sheath (0-unarmed, 1-melee, 2-ranged)

SMART_ACTION_FORCE_DESPAWN = 41,

Деспавн

misc1 = задержка до деспавна 
misc2 = время респавна 
misc3 = (для ГОшек) выставить лут стейт GO_JUST_DEACTIVATED 

SMART_ACTION_SET_INVINCIBILITY_HP_LEVEL = 42, // MinHpValue(+pct, -flat)

SMART_ACTION_MOUNT_TO_ENTRY_OR_MODEL = 43, // Creature_template entry(param1) OR ModelId (param2) (or 0 for both to dismount)

SMART_ACTION_SET_INGAME_PHASE_MASK = 44, // mask

SMART_ACTION_SET_DATA = 45, // Field, Data (only creature TODO)

misc1 = data misc2 = value misc3 = передать инвокера цели(целью инвокера станет существо или го, которое кидает дату)

SMART_ACTION_MOVE_FORWARD = 46

Движение вперед

misc1 = Расстояние 
misc2 = 1 вкл бег, 0 выкл бег

SMART_ACTION_SET_VISIBILITY = 47, // on/off

SMART_ACTION_SET_ACTIVE = 48, // No Params

SMART_ACTION_ATTACK_START = 49, //

SMART_ACTION_SUMMON_GO = 50, // GameObjectID, DespawnTime in ms,

SMART_ACTION_KILL_UNIT = 51, //

SMART_ACTION_ACTIVATE_TAXI = 52, // TaxiID

SMART_ACTION_WP_START = 53, // run/walk, pathID, canRepeat, quest, despawntime, reactState

SMART_ACTION_WP_PAUSE = 54, // time

SMART_ACTION_WP_STOP = 55, // despawnTime, quest, fail?

SMART_ACTION_ADD_ITEM = 56, // itemID, count

SMART_ACTION_REMOVE_ITEM = 57, // itemID, count

SMART_ACTION_INSTALL_AI_TEMPLATE = 58, // AITemplateID

SMART_ACTION_SET_RUN = 59, // 0/1

SMART_ACTION_SET_FLY = 60, // 0/1

SMART_ACTION_SET_SWIM = 61, // 0/1

SMART_ACTION_TELEPORT = 62, // mapID,

SMART_ACTION_STORE_VARIABLE_DECIMAL = 63, // varID, number

SMART_ACTION_STORE_TARGET_LIST = 64, // varID,

SMART_ACTION_WP_RESUME = 65, // none

SMART_ACTION_SET_ORIENTATION = 66, //

   Повернуться к таргету (в таргетах указываешь к кому повернуться. SMART_TARGET_SELF = повернуться как в хоум позиции)
   1. Таргет, кто повернётся (0 = текущий моб)
   2. targetParam1
   3. targetParam2
   4. targetParam3

SMART_ACTION_CREATE_TIMED_EVENT = 67, // id, InitialMin, InitialMax, RepeatMin(only if it repeats), RepeatMax(only if it repeats), chance

SMART_ACTION_PLAYMOVIE = 68, // entry

SMART_ACTION_MOVE_TO_POS = 69

Движение в точку

misc1 = pointid(не обязательно)
misc2 = 1 вкл бег, 0 выкл бег

SMART_ACTION_RESPAWN_TARGET = 70, //

SMART_ACTION_EQUIP = 71, // entry, slotmask slot1, slot2, slot3 , only slots with mask set will be sent to client, bits are 1, 2, 4, leaving mask 0 is defaulted to mask 7 (send all), slots1-3 are only used if no entry is set

SMART_ACTION_CLOSE_GOSSIP = 72, // none

SMART_ACTION_TRIGGER_TIMED_EVENT = 73, // id(>1)

SMART_ACTION_REMOVE_TIMED_EVENT = 74, // id(>1)

SMART_ACTION_ADD_AURA = 75, // spellid, targets

SMART_ACTION_OVERRIDE_SCRIPT_BASE_OBJECT = 76, // WARNING: CAN CRASH CORE, do not use if you dont know what you are doing

SMART_ACTION_RESET_SCRIPT_BASE_OBJECT = 77, // none

SMART_ACTION_CALL_SCRIPT_RESET = 78, // none

SMART_ACTION_SET_RANGED_MOVEMENT = 79, // Distance, angle

SMART_ACTION_CALL_TIMED_ACTIONLIST = 80, // ID (overwrites already running actionlist), stop after combat?(0/1), timer update type(0-OOC, 1-IC, 2-ALWAYS)

SMART_ACTION_SET_NPC_FLAG = 81, // Flags

SMART_ACTION_ADD_NPC_FLAG = 82, // Flags

SMART_ACTION_REMOVE_NPC_FLAG = 83, // Flags

SMART_ACTION_SIMPLE_TALK = 84, // Talk text by target. param1 - TextId. param3 - personal text target type(like cross cast). param4 - targetParam1. param5 - targetParam2. param6 - targetParam3.

SMART_ACTION_INVOKER_CAST = 85, // spellID, castFlags, if avaliable, last used invoker will cast spellId with castFlags on targets

SMART_ACTION_CROSS_CAST = 86, // spellID, castFlags, CasterTargetType, CasterTarget param1, CasterTarget param2, CasterTarget param3, ( + the origonal target fields as Destination target), CasterTargets will cast spellID on all Targets (use with caution if targeting multiple * multiple units)

SMART_ACTION_CALL_RANDOM_TIMED_ACTIONLIST = 87, // script9 ids 1-9

SMART_ACTION_CALL_RANDOM_RANGE_TIMED_ACTIONLIST = 88, // script9 id min, max

SMART_ACTION_RANDOM_MOVE = 89

Случайное передвижение

misc1 = расстояние
misc2 = 1 вкл бег, 0 выкл бег НЕ РАБОТАЕТ. ЮЗАТЬ МИСК 3
misc3 = Random Move Type - RANDOM_MOVE_DEFAULT = 0, RANDOM_MOVE_WALK_AND_RUN = 1, RANDOM_MOVE_WALK_ONLY = 2, RANDOM_MOVE_RUN_ONLY = 3

SMART_ACTION_SET_UNIT_FIELD_BYTES_1 = 90, // bytes, type (UNIT_BYTES_1_OFFSET_STAND_STATE = 0, UNIT_BYTES_1_OFFSET_PET_TALENTS = 1, UNIT_BYTES_1_OFFSET_VIS_FLAG = 2, UNIT_BYTES_1_OFFSET_ANIM_TIER = 3)

SMART_ACTION_REMOVE_UNIT_FIELD_BYTES_1 = 91, // bytes, type (UNIT_BYTES_1_OFFSET_STAND_STATE = 0, UNIT_BYTES_1_OFFSET_PET_TALENTS = 1, UNIT_BYTES_1_OFFSET_VIS_FLAG = 2, UNIT_BYTES_1_OFFSET_ANIM_TIER = 3)

SMART_ACTION_INTERRUPT_SPELL = 92,

SMART_ACTION_SEND_GO_CUSTOM_ANIM = 93, // anim id

SMART_ACTION_SET_DYNAMIC_FLAG = 94, // Flags

SMART_ACTION_ADD_DYNAMIC_FLAG = 95, // Flags

SMART_ACTION_REMOVE_DYNAMIC_FLAG = 96, // Flags

SMART_ACTION_JUMP_TO_POS = 97, // speedXY, speedZ, targetX, targetY, targetZ

SMART_ACTION_SEND_GOSSIP_MENU = 98, // menuId, optionId

SMART_ACTION_GO_SET_LOOT_STATE = 99, // state

SMART_ACTION_SEND_TARGET_TO_TARGET = 100, // id

SMART_ACTION_SET_HOME_POS = 101, // none

SMART_ACTION_SET_HEALTH_REGEN = 102, // 0/1

SMART_ACTION_SET_ROOT = 103, // off/on

SMART_ACTION_SET_GO_FLAG = 104, // Flags

SMART_ACTION_ADD_GO_FLAG = 105, // Flags

SMART_ACTION_REMOVE_GO_FLAG = 106, // Flags

SMART_ACTION_SUMMON_CREATURE_GROUP = 107, // Group, attackInvoker

SMART_ACTION_SET_POWER = 108, // PowerType, newPower

SMART_ACTION_ADD_POWER = 109, // PowerType, newPower

SMART_ACTION_REMOVE_POWER = 110, // PowerType, newPower

SMART_ACTION_GAME_EVENT_STOP = 111, // GameEventId

SMART_ACTION_GAME_EVENT_START = 112, // GameEventId

SMART_ACTION_START_CLOSEST_WAYPOINT = 113, // run?, wp1, wp2, wp3, wp4, wp5

SMART_ACTION_RISE_UP = 114, // distance

SMART_ACTION_MOVE_TO_HOME_POSITION = 115, // Target move to home pos. PointID, 0/1 - Run mode

SMART_ACTION_START_WAYPOINT_BETWEEN = 116, // Wp1, Wp2, Is Closest(1 = yes, 0 = no), run

SMART_ACTION_DISABLE_EVADE = 117, // 0/1 (1 = disabled, 0 = enabled)

SMART_ACTION_SET_GO_STATE = 118, // state

SMART_ACTION_SET_CAN_FLY = 119, // 0/1 (0 = disabled, 1 = enabled)

SMART_ACTION_SET_IN_COMBAT_WITH_PLAYERS = 120, // Range

SMART_ACTION_SET_PVP = 121, // 0/1 (0 = disabled, 1 = enabled)

SMART_ACTION_SET_CAN_ATTACK_IGNORE_CHECK = 122, // Can Attack Every Targets

SMART_ACTION_PLAY_ANIMKIT = 128, // id, type (0 = oneShot, 1 = aiAnim, 2 = meleeAnim, 3 = movementAnim)

SMART_ACTION_DESPAWN_SUMMONS = 129, // timerMs, byEntry

SMART_ACTION_SET_CONTROLLED = 130, // state, apply|remove

SMART_ACTION_MOVE_TO_POS_TARGET = 131, // pointId. Smart target move to position

SMART_ACTION_EXIT_VEHICLE = 132, // none

SMART_ACTION_SET_UNIT_MOVEMENT_FLAGS = 133, // flags

SMART_ACTION_SET_COMBAT_DISTANCE = 134, // combatDistance

SMART_ACTION_SET_CASTER_COMBAT_DIST = 135, // followDistance, resetToMax

SMART_ACTION_SET_LOOT_MODE = 136, // mode mask

SMART_ACTION_SET_HOVER = 141, // 0/1

SMART_ACTION_ADD_IMMUNITY = 142, // type, id, value

SMART_ACTION_REMOVE_IMMUNITY = 143, // type, id, value

SMART_ACTION_FALL = 144, //

SMART_ACTION_SET_EVENT_FLAG_RESET = 145, // 0/1

SMART_ACTION_ZONE_UNDER_ATTACK = 149,

SMART_ACTION_LOAD_GRID = 150,

SMART_ACTION_STOP_MOVING = 151,

SMART_ACTION_BOSS_EVADE = 200

Заставляет босса эвейднуться. Не имеет параметров.

SMART_ACTION_BOSS_ANOUNCE = 201

Делает анонс от лица босса в указанной локации указанного текста

tesxid - ид текста из trinity_strings, который будет заанонсен
area - арея, в которой будет анонс (по желанию). Если босс не в той арее, то анонса не будет
local - локализация
idsample - то, что будет указано перед самим текстом, так сказать, автор. Напрмер, если 3, то будет [SERVER]: {текст из tesxid}, если 4, то [Event Message]: {текст из tesxid}

SMART_ACTION_MOVE_Z  = 202

Своего рода передвижение "по воздуху", то есть, полёт или движение в указанную точку

target X
target Y
target Z

Координаты, куда переместится моб

flymode если 1 - полетит, если 0 - побежит.

SMART_ACTION_SET_KD = 203

"Вручает" игрокам в инсте, где происходят событие, КД на этот инст. Не имеет параметров

SMART_ACTION_SET_SCENATIO_ID = 204

Если в первом параметре выставить ид нужного сценария и использовать на игрока (таргет), то при попадании игроком в инст, где должен происходить указанный сценарий, сценарий запустится автоматически.

Как найти ИД сценарий?
  1. В снифах в пакете SMSG_SCENARIO_STATE идет его ИД
  2. В дбц LfgDungeons.db2(но тут сложнее так как там их много)

SMART_ACTION_UPDATE_ACHIEVEMENT_CRITERIA = 205

Активирует обновление критерия ачивки. Эту штуку можно использовать посути вообще для всего: как засчет шагов в сценарии, так и комплит каких-либо других критериев.

Параметры:
uint32 type; - тип критерия
  • ACHIEVEMENT_CRITERIA_TYPE_UPGRADE_GARRISON_BUILDING     = 168,
  • ACHIEVEMENT_CRITERIA_TYPE_CONSTRUCT_GARRISON_BUILDING   = 169,
  • ACHIEVEMENT_CRITERIA_TYPE_UPGRADE_GARRISON              = 170,
  • ACHIEVEMENT_CRITERIA_TYPE_START_GARRISON_MISSION        = 171,

Или которые используются иногда для сценариев, если там нету засчета по килу моба или касту спела

  • ACHIEVEMENT_CRITERIA_TYPE_SCRIPT_EVENT                  = 73
  • ACHIEVEMENT_CRITERIA_TYPE_SCRIPT_EVENT_2                = 92
uint32 misc1;
uint32 misc2;
uint32 misc3;

Это всевозможные параметры засчета. В основном misc1 - это количество, например убито мобов 1, 2 или 3

SMART_ACTION_SUMMON_CONVERSATION = 206

Принудительно-кастомный сумон конверсейшина. Как показала практика, не все они сумонятся из спелов.

Параметры:
uint32 id; ид конверсейшина. Берется только из снифов

Координаты, куда суммонить конверсейшин. Если они не указаны, то суммон идет под игрока (таргет).

int32 targetX;
int32 targetY;
int32 targetZ;

Зачем координаты?

В инсте суммон идет строго в одну точку. (вдруг близы забыли про спелл))) Если это всплывающая табличка, то координаты лучше не указывать, тогда будет суммон под игрока.

SMART_ACTION_SUMMON_ADD_PLR_PERSONNAL_VISIBILE  = 207

добавляет игрока в персональную фазу для этого моба. Иначе говоря, если использовать этот смарт на игрока, то ТОЛЬКО этот игрок сможет видеть данного моба.

SMART_ACTION_SUMMON_ARIATRIGGER  = 208

Параметры такие же, что и в 206 (конверсатион)

SMART_ACTION_JOIN_LFG  = 209

Присоеденить игрока к лфг

SMART_ACTION_CAST_CUSTOM = 210

SpellId, CastFlags, damageMin, damageMax, bp1, bp2

SMART_ACTION_CLEAR_QUEST = 211

Clear rewarded quest from player (quest ID)

SMART_ACTION_SUMMON_SCENE = 212

Summon Scene

SMART_ACTION_UNLEARN_SPELL = 213

Unlearn spells from player

SMART_ACTION_LEARN_SPELL = 214

Learn spells to player

SMART_ACTION_MOD_CURRENCY = 215

Modify currency to player by ID and count

SMART_ACTION_CIRCLE_PATH = 216

Radius, Clockwise, StepCount

SMART_ACTION_SET_OVERRIDE_ZONE_LIGHT = 217

zone Id, light Id, timer in milliseconds.

SMART_ACTION_SET_SPEED = 218

speedType, speed

SMART_ACTION_IGNORE_PATHFINDING = 219,

Вкл/откл игнорирование поиска путей

SMART_ACTION_SUMMON_CREATURE_IN_PERS_VISIBILITY  = 220

Суммон моба с инстантным добавлением игрока(суммонера) в персональную видимость. Важно! Таргет у данного смарта всегда 7(т.е. игрок). Моб суммонится строго по координатам из данных - targetX, targetY, targetZ, targetO.

Параметры:
uint32 misc1; id npc
uint32 misc2; тип призыва. пример: TEMPSUMMON_TIMED_DESPAWN
uint32 misc3; таймер(в мс).
uint32 misc4; добавить в лист суммонов(StorageID - 12 target_type)
uint32 misc5; взять фазы призывателя при суммоне. вряд ли пригодится, так как суммон находится в персональной фазе с игроком.
uint32 misc6; 1 - суммонить в точку где стоит нпц. 0 - будут браться координаты из 7 таргета

SMART_ACTION_START_TIMED_ACHIEVEMENT = 221,

Запуск таймера у ачивмента

misc1 = Тип таймед критерии

misc2 - id критерии

SMART_ACTION_SEND_GO_VISUAL_ID = 222,

Отправка GO визуала по ид

misc1 = visual id

misc1 - misc6 = quest ID's

SMART_ACTION_COMPLETE_QUEST = 223,

Выполнить квест(условия). Больше нужно для комплита хайден квестов.

misc1 - misc6 = quest ID's

SMART_ACTION_SET_HEALTH_IN_PERCENT = 224,

Установить значение ХП от максимального в процентах

misc1 = значение

SMART_ACTION_UPDATE_PLAYER_PHASES = 225,

Принудительное обновление фаз у игрока. Например для применение кондишена для какой-то фазы, которая еще не применена у игрока, но условия(например есть аура) для ее применения выполнены.

SMART_ACTION_SET_SPECIAL_DATA = 226,

Описание в 80 ивенте

misc1; // значение
misc2; // добавить +1 к текущему значению кастом даты у таргета


SMART_ACTION_SEND_LAST_INVOKER = 227,

отправить последнего инвокера указанной цели. пример: вы берете квест у нпц Х и вам необходимо, чтобы нпц У мог юзать вас в качестве таргета #7. Соответственно вы юзаете 227 экшн при взятии квеста у нпц Х и указываете в качестве таргета нпц У.

SMART_ACTION_KILLCREDIT_GO = 228,

Засчитать в квест использование ГО. Пример квеста: q38934

misc1; // ИД ГО

SMART_ACTION_MAKE_CASTER_AND_CAST_SPELL = 229,

на данный момент бесполезен

SMART_ACTION_MEET_QUEST_OBJECTIVE_AREATRIGGER = 230,

Использовать вместо устаревшего 15 экшена.

misc1; // Id квеста

SMART_ACTION_SUMMON_GO_IN_PERSONAL_VISIBILITY = 231,

суммон го в персональную видимость

misc1; // Id GO
misc2; // despawn timer

SMART_ACTION_SET_PET_MODE = 232,

Set pet mode. Movement speed like player speed and creature can assist in fight

SMART_ACTION_ADD_PHASE_ID = 233,

Добавить фазу PhaseId.

misc1; // PhaseId

SMART_ACTION_REMOVE_PHASE_ID = 234,

Удалить фазу PhaseId.

misc1; // PhaseId

SMART_ACTION_EJECT_PASSENGER = 235,

Высадить пассажира.

misc1; // Ид пассажирского места

SMART_ACTION_MOVE_FALL = 236,

Начать падение

SMART_ACTION_HIDE_FOR_PLAYER = 237,

Исчезнуть для игрока

misc1; // Время до появления в мс

SMART_ACTION_SET_SCENARIO_STEP = 238,

Перейти на этап сценария

misc1; // ид этапа

SMART_ACTION_RUN_RANDOM_DATA = 239,

Отправить случайную дату от 1 до ...

misc1; // значение 1
misc2; // значение 2

SMART_ACTION_RESET_DELAYED_ACTIONS = 241,

Сброс всех дэлэй операций

SMART_ACTION_RESET_TIMED_ACTIONLIST = 242,

Выполнить сброс time action листов

SMART_ACTION_SET_ESCORT_MODE = 243,

misc1; // радиус

Включить эскорт режим. Нпц будет делать паузу на вэйпоинтах до тех пор, пока игрока нет в установленном радиусе.

SMART_ACTION_SET_UPD_NON_AUTOMATIC_PHASE_TIMER = 244,

misc1; // таймер в мс

Смотреть описание 128 флага в Phase_definitions

SMART_ACTION_SET_IGNORE_PHASE_QUEST_UPDATE_MASK = 245,

misc1; // 1 вкл - 0 выкл

Вкл выкл игнорирование изменения статуса задания при обновлении фаз. Например: включаете этот параметр, у фазы 1234 условием является выполненный квест 9000, выполняете задание и фаза 1000 не наложится пока включен параметр. Если необходимо применить фазы, то отключаем параметр и принудительно обновляем фазы в ядре, смарт экшеном или спеллом.

SMART_ACTION_GO_TO_POINT_NEAR_OBJECT = 246,

// Go to point near object. Range, Walk(0 walk, 1 run)

SMART_ACTION_SET_TRACK_OWNER_QUEST_FOR_DESPAWN = 247, // QuestId(there may be a several ids), AddOrRemove(1 - add, 0 - remove).

SMART_ACTION_SET_SCALE = 248, // Set object scale. Value in action_param_float column

SMART_ACTION_MOD_SCALE = 249, // Mod object scale. Value in action_param_float column

SMART_ACTION_SET_CAN_DESPAWN_WHEN_LEAVE_VEHICLE = 250, // Creature can despawn when owner leave vehicle. 1 - can / 0 - can't despawn

SMART_ACTION_SET_PLAYER_CAN_ENTER_VEHICLE_ON_SUM= 251, // When player summons that vehicle he can instantly enter it. Can be used by event JUST_SUMMONED. 1 - can / 0 - can't insta enter

SMART_ACTION_SET_PAUSE_ON_WAYPOINT_DATA = 252, // Make pause on waypoints_data. 1 - can / 0 - can't move. param 2 pause time ms

SMART_ACTION_SET_PLAYER_CAN_UPDATE_PHASE = 253, // ZoneId. PhaseId. 0 - can't update, 1 - can update

SMART_ACTION_PLAY_EMOTE_PERSONAL = 254, // EmoteId, EmoteId, EmoteId, EmoteId, EmoteId, EmoteId. Play personal emote for targets. If more than emote id = play random emote

SMART_ACTION_SET_EVENT_PHASE_MASK = 255, // Value. Set event phase mask (1, 2, 4, 8...). Also can be multi, like 9, 12...

SMART_ACTION_ADD_OR_REMOVE_EVENT_PHASE_MASK = 256, // param1 - Add event phase mask, param2 - Remove event phase mask

SMART_ACTION_SET_PLAY_HOVER_ANIM = 257, // Play hover anim. 0 - off / 1 - on

SMART_ACTION_CAN_ENTER_SPECIAL_EVADE = 258, // Makes creature can enter special evade(boss like). Param1 - 1 - Enable / 0 - Disable special evade. Param2 - invisibility timer ms

SMART_ACTION_SET_VEHICLE_EXIT_POSITION = 259, // Set custom vehicle exit position. Param1 - UnitType(0 - all, 1 - creature, 2 - player). Param2 - Entry(0 for player). XYZO coordinates

SMART_ACTION_SET_CAN_FOLLOW_ON_SUMMON = 260, // 0 - off / 1 - on follow when creature summons

SMART_ACTION_SET_FIELD_STATE_ANIM_ID = 261, // Set UNIT_FIELD_STATE_ANIM_ID to units. Param1 - state anim ID

SMART_ACTION_MOVE_BACKWARD = 262, // Move backwards. param1 - pointId. x, y, z - point. action_param_float - move speed. (EFFECT_MOTION_TYPE)

SMART_ACTION_MOVE_CHARGE = 263, // Move charge. param1 - pointId. param2 - move target type. param3-5 - move target param. x, y, z - point. action_param_float - move speed. (EFFECT_MOTION_TYPE)

SMART_ACTION_GO_SEND_CUSTOM_ANIM = 264, // animId, playAsDespawn

SMART_ACTION_SET_CUSTOM_ATTACK_DISTANCE = 265, // Distance

SMART_ACTION_MOVE_CIRCLE = 266, // Radius, Walk, StepCount, Clockwise, Cyclic, PointId. action_param_float - Speed. X, Y, Z circle center

SMART_ACTION_SET_CAN_STOP_COMBAT_WHEN_EMPTY_THREAT = 267, // (0 - off, 1 - on) NPC combat stop when threatlist is empty

SMART_ACTION_COMBAT_STOP = 268, // No param

SMART_ACTION_ADD_QUEST_OBJECTIVE = 269, // QuestId, ObjectiveID(ID), AddCount, NeedSendPacket

SMART_ACTION_REMOVE_QUEST_OBJECTIVE = 270, // QuestId, ObjectiveID(ID), RemoveCount, NeedSendPacket

SMART_ACTION_DESTROY_FOR_PLAYER = 271, // Destroy for player SMSG_UPDATE_OBJECT

SMART_ACTION_PLAYER_ADD_TO_QUEST_HIDE_LIST = 272, // Hide for player target until he have quest. Quest ID.

SMART_ACTION_GO_PLAY_VISUAL_KIT = 273, // WorldEffectID, SpellVisualID, SpellStateVisualID, SpellStateAnimID, SpellStateAnimKitID, StateWorldEffectID

target_type

0 = SMART_TARGET_NONE

То же самое, что и SMART_TARGET_ACTION_INVOKER

1 = SMART_TARGET_SELF

Сам объект

2 = SMART_TARGET_VICTIM

Таргет объекта

3 = SMART_TARGET_HOSTILE_SECOND_AGGRO

Второй в списке угроз

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

Точка на карте

9 = SMART_TARGET_CREATURE_RANGE

NPC в кольце

   1. ID NPC
   2. Минимальное расстояние
   3. Максимальное расстояние
   4. Количество целей

10 = SMART_TARGET_CREATURE_GUID

NPC по гуиду

   1. GUID NPC

11 = SMART_TARGET_CREATURE_DISTANCE

NPC в радиусе

   1. ID NPC
   2. Радиус

12 = SMART_TARGET_STORED

Сохранённый объект до этого (Через SMART_ACTION_STORE_VARIABLE_DECIMAL и SMART_ACTION_STORE_TARGET_LIST, а также 6-й параметр в SMART_ACTION_SUMMON_CREATURE и SMART_ACTION_SUMMON_CREATURE_IN_PERS_VISIBILITY)

   1. ID из действий выше

13 = SMART_TARGET_GAMEOBJECT_RANGE

GO в кольце

   1. ID GO
   2. Минимальное расстояние
   3. Максимальное расстояние
   4. Количество целей

14 = SMART_TARGET_GAMEOBJECT_GUID

GO по гуиду

   1. GUID GO

15 = SMART_TARGET_GAMEOBJECT_DISTANCE

GO в радиусе

   1. ID GO
   2. Радиус

16 = SMART_TARGET_INVOKER_PARTY

Группа инвокера

17 = SMART_TARGET_PLAYER_RANGE

Игроки в кольце

   1. Минимальное расстояние
   2. Максимальное расстояние

18 = SMART_TARGET_PLAYER_DISTANCE

Игроки в радиусе

   1. Радиус
   2. Аура на игроках

19 = SMART_TARGET_CLOSEST_CREATURE

Ближайший NPC

   1. ID NPC
   2. Расстояние
   3. Живой (=0) или мёртвый (=1)

20 = SMART_TARGET_CLOSEST_GAMEOBJECT

Ближайший GO

   1. ID GO
   2. Расстояние
   3. Живой (=0) или мёртвый (=1)

21 = SMART_TARGET_CLOSEST_PLAYER

Ближайший игрок

   1. Расстояние

22 = SMART_TARGET_ACTION_INVOKER_VEHICLE

Транспорт инвокера

23 = SMART_TARGET_OWNER_OR_SUMMONER

Создатель или суммонер объекта

24 = SMART_TARGET_THREAT_LIST

Весь список угрозы

25 = SMART_TARGET_CLOSEST_ENEMY

Ближайший враг

   1. Расстояние

26 = SMART_TARGET_CLOSEST_FRIENDLY

Ближайший друг

   1. Расстояние

27 = SMART_TARGET_SAVED_THREAT_LIST

Список угрозы в течении всей жизни

   1. Удалить игроков из списка

28 = SMART_TARGET_PLAYER_INVOKER_SUMMON

Суммон игрока по ID. Используется, инвокер = моб, владелец которого является игрок

   1. NPC ID

125 = SMART_TARGET_HOSTILE_RANDOM_PLAYER

Случайный игрок в списке угрозы

126 = SMART_TARGET_HOSTILE_RANDOM_NOT_TOP_PLAYER

Случайный игрок в списке угрозы, кроме цели

127 = SMART_TARGET_HOSTILE_RANDOM_AURA

Случайный игрок в списке угрозы с аурой

   1. ID ауры
   2. Расстояние до цели
   3. Верхний в списке угрозы (=1) или нет (=0)

128 = SMART_TARGET_RANDOM_POSITION

Случайная позиция по параметрам (Работает для SMART_ACTION_SUMMON_CREATURE, SMART_ACTION_SUMMON_GO, SMART_ACTION_MOVE_TO_POS, SMART_ACTION_SUMMON_CREATURE_IN_PERS_VISIBILITY)

   https://egammi.com/image/qLZv
   1. Расстояние от выбранной точки
   2. Угол расстояния
   3. Расстояние до точки

129 = SMART_TARGET_TARGETUNIT

Цель цели

130 = SMART_TARGET_INVOKERS_OWNER

Создатель инвокера

131 = SMART_TARGET_INVOKERS_SUMMON_WITH_ENTRY

Суммон инвокера

   1. ID NPC

132 = SMART_TARGET_INVOKERS_PASSENGER

Пассажиры инвокера

   1. Место в транспорте

133 = SMART_TARGET_SUMMONERS_SUMMON_WITH_ENTRY

Суммон суммонера

   1. ID NPC

134 = SMART_TARGET_SUMMON_WITH_ENTRY

Суммон

   1. ID NPC

135 = SMART_TARGET_VEHICLE_ACCESSORY

Место в транспорте

   1. Место в транспорте

136 = SMART_TARGET_ALL_PLAYERS_IN_MAP

Все игроки на карте

137 = SMART_TARGET_RANDOM_CREATURE_BY_ENTRY

Случайный NPC

   1. ID NPC
   2. Расстояние
   3. Тип поиска (0 = все, 1 = живые, 2 = мёртвые)

138 = SMART_TARGET_RANDOM_PLAYER_IN_RANGE

Случайный игрок в радиусе

   1. Минимальное расстояние
   2. Максимальное расстояние

139 = SMART_TARGET_RANDOM_POS_TO_PLAYER_IN_RANGE

Случайная позиция по отношению к игроку

140 = SMART_TARGET_RANDOM_CREATURE_BETWEEN_ENTRIES

Случайный NPC

   1. ID NPC
   2. ID NPC
   3. ID NPC
   4. ID NPC

141 = SMART_TARGET_VEHICLE

Транспорт

142 = SMART_TARGET_INVOKERS_GO_SUMMON_WITH_ENTRY

Суммон инвокера

   1. ID GO


name id comment
TEMPSUMMON_TIMED_OR_DEAD_DESPAWN 1 despawns after a specified time OR when the creature disappears
TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN 2 despawns after a specified time OR when the creature dies
TEMPSUMMON_TIMED_DESPAWN 3 despawns after a specified time
TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT 4 despawns after a specified time after the creature is out of combat
TEMPSUMMON_CORPSE_DESPAWN 5 despawns instantly after death
TEMPSUMMON_CORPSE_TIMED_DESPAWN 6 despawns after a specified time after death
TEMPSUMMON_DEAD_DESPAWN 7 despawns when the creature disappears
TEMPSUMMON_MANUAL_DESPAWN 8 despawns when UnSummon() is called
TEMPSUMMON_TIMED_OR_OWNER_DESPAWNS 9 despawns after a specified time or when owner despawns
TEMPSUMMON_TIMED_KILL_AND_DESPAWN 10 kills after specified time, then despawns after death timer