Доброго времени суток дорогие друзья, в этой статье будут затронуты основные моменты, связанные с макросами

Начнем с основного вопроса:
- Что же такое макрос?

Макрос - это комплекс скриптовых команд для "облегчения" игры в том или ином аспекте.

Макросы бывают двух видов:
1. Общие макросы - это макросы, которые привязываются ко всему аккаунту игрока.
2. Персональные макросы - макросы, которые привязываются к определённому персонажу.

Для того чтобы начать работу с макросами, необходимо обратиться к окну написания макросов. Это можно сделать либо через команду в чате /macro, либо через главное меню >> макросы.

Стоит понимать, когда пишется тот или иной макрос, необходимо учитывать ГКД — Global Cooldown, время глобальной перезарядки. Но в данной теме не будут рассматриваться базовые макросы, которые, наверняка давно уже всем известны. Однако, из базовых, пожалуй, стоит отметить лишь несколько:

/reload - перезагрузка интерфейса, необходим если у игрока что-то возникают неполадки связанные с интерфейсом, обычно эти неполадки возникают с модификациями(аддонами).

/server info - макрос отображает стандартную полезную информацию, а -ля последняя дата обновления сервера, онлайн сервера, какая версия клиента стоит и т.д.

Итак, вот так выглядит макрос не в совершенной форме:
#showtooltip Вспышка света
/cast [@mouseover] Вспышка света


Где #showtooltip Вспышка света - строка с командой, которая отображает нужную иконку на панели команд,
/cast [@mouseover] Вспышка света - непосредственно сам макрос, благодаря которому, игрок может не беря в target - выбранная цель использовать заклинание "Вспышка света" .
Если в первой строке не дописывать ее(#show/#showtooltip) и оставить в первоначальном виде, то иконка на панели команд будет использоваться та, какое заклинание или предмет будет прописан во второй строке (надеюсь не слишком сложно объяснил).

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

Также у макросов разумеется множество различных условий и модификаторов, но вижу смысл отметить лишь одно условие, которое на мой взгляд наиболее полезное -
[@cursor].
Это условие позволит поставить тотем шаманам в место, куда указывается курсор дивайса, при условии, что этот тотем нуждается в выборе места расположения, а также этот макрос полезен не только для шаманов, а любому классу с лужами и тому подобное, например вентирская лужа у паладинов. Это условие никак не привязано к классовым механикам, так что его можно использовать с различными предметами, с подходящим условием.

В случае, если игроку нужно разлить лужу, поставить тотем под себя, а игрок не успевает уследить за курсором, да да, такое бывает поможет условие [@player] - позволяет поставить тотем и т.д. непосредственно в место где игрок находится при использовании макроса.

пример макроса


#show
/cast [@player] Тотем оков земли
[свернуть]

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


Перечислю несколько, на мой взгляд обязательных к использованию макросов:

#showtooltip
/targetenemy
/cast Огненный шок - Данный макрос позволит игроку использовать "огненный шок" на соседнюю цель от target - не выбирая ее в цель
/targetlasttarget Огненный шок выбран для примера, можно использовать любое заклинания, чаще всего такой макрос используется для накидывания различных дот


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

/run LoadAddOn"Blizzard_TrainerUI" f=ClassTrainerTrainButton f.e = 0 if f:GetScript"OnUpdate" then f:SetScript("OnUpdate", nil)else f:SetScript("OnUpdate", function(f,e) f.e=f.e+e if f.e>.01 then f.e=0 f:Click() end end)end
[свернуть]

Макрос позволит быстро и эффективно выйти из любой группы

/script LeaveParty ()
[свернуть]

Макрос позволит быстро и без возни обновить подземелья и рейды

/script ResetInstances()
[свернуть]

Макрос на удаление камеры на максимальное значение

/run SetCVar('cameraDistanceMaxZoomFactor','2.6');CameraZoomOut('255')
[свернуть]


Однако есть и не совсем полезные, и даже иногда "опасные" макросы
Я бы не советовал пользоваться макросами а-ля:
/script ClearCursor()local g,i,j,s,a,b=gsub;for i=0,4 do for j=1,GetContainerNumSlots(i)do s=GetContainerItemLink(i,j)if(s)then a,b,s=GetItemInfo(g(g(s,".*\124H",""),"\124h.*","" ))if(s==0)then PickupContainerItem(i,j)DeleteCursorItem()end;end; end;end - макрос на удаление вещей, есть различные виды данного макроса, как удаление зеленых, белых, серых и т.д предметов. Этот макрос просто удаляет все предметы того или иного цвета А зачем удалять, если можно продать? .
И конечно в интернете уйма достойных модификаций(аддонов) способствующих продаже предметов, как на аукционе, так и любому вендору. Например "auctioneer" обладает простейшим интерфейсом и позволяет игроку быстрее продать на аукционе нужный предмет. А так же я бы отметил аддон AAP(Azerote auto pilote), благодаря которому можно не только продавать серые предметы, а также автоматически чиниться у вендора, если конечно у вендора есть такая функция. И одним большим плюсом этого аддона является авто принятие / авто сдача заданий. Приятно не правда ли?

Макро на очищение журнала заданий

/run for i=1,C_QuestLog.GetNumQuestLogEntries() do C_QuestLog.SetSelectedQuest(C_QuestLog.GetInfo(i).questID); C_QuestLog.SetAbandonQuest(); C_QuestLog.AbandonQuest() end;
[свернуть]

Иакрос удаляет все иконки с панель команд

/run for i = 1,120 do PickupAction(i) PutItemInBackpack() ClearCursor() end;
[свернуть]


На этом думаю стоит завершить супер-мини руководство по макросам.

Источником являются различные форумы, в том числе и этот, а также свой опыт игры.