Smart scripts: различия между версиями
User1 (обсуждение | вклад) |
User1 (обсуждение | вклад) |
||
| Строка 145: | Строка 145: | ||
'''uint32 misc5'''; взять фазы призывателя при суммоне. вряд ли пригодится, так как суммон находится в персональной фазе с игроком. | '''uint32 misc5'''; взять фазы призывателя при суммоне. вряд ли пригодится, так как суммон находится в персональной фазе с игроком. | ||
==== SMART_ACTION_SET_HEALTH_IN_PERCENT = 224, ==== | |||
Установить значение ХП от максимального в процентах | |||
misc1 = значение | |||
Версия от 00:40, 31 октября 2018
smart_scripts - таблица всевозможных действий существ. (ниже только наши "специфические")
event_type
SMART_EVENT_ACCEPTED_QUEST = 19,
При принятии задания игроком. Так же добавлена возможность установки кулдауна для срабатывания ивента.
questID - id задания
repeatMin;
repeatMax; Минимальное и максимальное время до повтора.
SMART_EVENT_REWARD_QUEST = 20,
При завершении задания игроком. Так же добавлена возможность установки кулдауна для срабатывания ивента.
questID - id задания
repeatMin;
repeatMax; Минимальное и максимальное время до повтора.
SMART_EVENT_GOSSIP_SELECT = 62,
При использовнии госсип меню
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;
Минимальное и максимальное время до повтора.
action_type
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
Если в первом параметре выставить ид нужного сценария и использовать на игрока (таргет), то при попадании игроком в инст, где должен происходить указанный сценарий, сценарий запустится автоматически.
Как найти ИД сценарий?
- В снифах в пакете SMSG_SCENARIO_STATE идет его ИД
- В дбц 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_SUMMON_CREATURE_IN_PERS_VISIBILITY = 220
Суммон моба с инстантным добавлением игрока(суммонера) в персональную видимость. Важно! Таргет у данного смарта всегда 7(т.е. игрок). Моб суммонится строго по координатам из данных - targetX, targetY, targetZ, targetO.
Параметры:
uint32 misc1; id npc
uint32 misc2; тип призыва. пример: TEMPSUMMON_TIMED_DESPAWN
uint32 misc3; таймер(в мс).
uint32 misc4; атаковать призывателя.
uint32 misc5; взять фазы призывателя при суммоне. вряд ли пригодится, так как суммон находится в персональной фазе с игроком.
SMART_ACTION_SET_HEALTH_IN_PERCENT = 224,
Установить значение ХП от максимального в процентах
misc1 = значение