Бой
Макросы для помощи танку:Самый простой макрос для атаки цели которую атакует выбранный заранее танк:
/assist %t /script AttackTarget();
Этот макрос слишком простой и не может покрыть всего того функционала который необходим зачастую в быстро протекающем бое, попробуем сделать более сложный вариант макроса, разделив при этом часть автоматической выборки подходящего танка, и часть фокуса на цели выбранного танка:
Для выбора танка
/script LeaderPlayerName = UnitName("target") or UnitName("party1") or "";
/script DEFAULT_CHAT_FRAME:AddMessage("######## Set main assist to: " .. LeaderPlayerName);
Для атаки цели танка
/script AssistByName(LeaderPlayerName or UnitName("party1") or UnitName("player"));
/script DEFAULT_CHAT_FRAME:AddMessage("######## Assisting ".. LeaderPlayerName .. " with target " .. (UnitName("target") or "NO TARGET"));
При использовании первого макроса, в памяти интерфейса запоминается ник выбранного игрока, что бы при нажатии второго макроса, выбиралась цель ранее запомненного танка, не зависимо от того где он находится, не нужно использовать первый макрос каждый раз, только один раз для начальной установки танка.
Но это два макроса, они будут занимать два слота на вашем интерфейсе, хотя они и очень удобные. Попробуем совместить оба макроса в один не потеряв при этом функциональности. Макрос будет выглядеть следующим образом:
/script p=PAsi or""u=UnitName;t="target"c=IsControlKeyDown()if(c)then p=u(t)or u("party1")or""else AssistByName(p)end;DEFAULT_CHAT_FRAME:AddMessage("######## "..(c and("Set assist: "..p)or("Assisting "..p.." with "..(u(t)or"NO TARGET"))))PAsi=p
Тот же макрос в более удобном для чтения виде, так как выше приведенный, не читаем из за оптимизации под длину в 255 символов:
/scriptp=PAsi or"";u=UnitName;t="target";c=IsControlKeyDown(); if(c) thenp=u(t) or u("party1") or ""elseAssistByName(p)end; DEFAULT_CHAT_FRAME:AddMessage("######## "..(c and("Set assist: "..p)or("Assisting "..p.." with "..(u(t) or "NO TARGET")))); PAsi=p;
Итак, как же пользоваться этим макросом:
Для установки нужного танка, удерживая Ctrl кликните на иконку использования макроса. Обычный клик на иконку использования макроса выберет необходимую цель.
Модификация этого макроса с возможностью колдовства разных заклинаний на цель выбранного танка (выбрано заклинание Полиморф, что может быть заменено на любое другое):
/script t=Tg1 or""c=IsControlKeyDown()if(c)then t=UnitName("target")or""else TargetByName(t)if(IsShiftKeyDown())then CastSpellByName('Polymorph')end end ChatFrame1:AddMessage("######## "..(c and("Tg1 set to: "..t)or("Targeting: "..t)))Tg1=t
Тот же макрос в удобном виде:
/scriptt=Tg1 or""
c=IsControlKeyDown()
if(c) then
t=UnitName("target")or""
else
TargetByName(t)
if(IsShiftKeyDown()) then
CastSpellByName('Polymorph')
end
end
DEFAULT_CHAT_FRAME:AddMessage("######## "..
(c and
("Tg1 set to: "..t)
or
("Targeting: "..t)))
Tg1=t
Итак, как же пользоваться этим макросом:
Для установки нужного танка, удерживая Ctrl кликните на иконку использования макроса. Обычный клик на иконку использования макроса выберет необходимую цель. Если удерживая Shift кликнуть на иконку использования макроса, то персонаж начнет колдовать выбранное заклинание (полиморф) на текущую цель выбранного ранее танка.
Макросы для уничтожения тотемов:
Простейший вариант:
/target Totem
/cast Moonfire(Rank 1)
Более сложный вариант:
/script u=UnitName;
s=strfind;
t="target";
for i = 1,10,1 do TargetNearestEnemy()
if (not UnitCanAttack("player",t))then
break;
end;
if ((s(u(t),"Totem") or s(u(t),"Ward")) and not s(UnitCreatureType(t),"Human")) then
CastSpellByName("Shoot");
break;
end;
end;
Таймер:
/script if IsAltKeyDown() then L1="Instance Start"; T1=GetTime();
M=format("Timer Set [%s]“,L1); else N=GetTime(); D=N-T1;
M=format(”Time Elapsed - [%s]: %02dh:%02dm:%02ds”,L1, D/3600,mod((D/60),60), mod(D,60)); end
SendChatMessage(M,”SAY”);
Макрос отсчитывает время с момента установки начального времени отсчета, что бы установить оное, нужно зажав Alt кликнуть на иконку использования макроса. При использовании макроса, выдается искомое время с точностью до секунды.
Макросы для петов
Атака петом:Простой макрос атаки пета по выбранной цели
/script PetAttack();
Более продвинутый вариант:
/target player
/assist
/script PetAttack();
Атака специальным заклинанием пета (например Dash):
/script PetAttack(); CastPetAction(4);
Команды для пета:
Список всех команд пету
/script PetAggressiveMode();
/script PetDefensiveMode();
/script PetPassiveMode();
/script PetFollow();
/script PetAttack();
/script PetStopAttack();
/script CastPetAction(X);
Для последней строки, X – номер заклинания пета в панели управления петом.
Примеры макросов
Серверное время:Макрос выдает на экран серверное время
/script hour,min=GetGameTime()
/script DEFAULT_CHAT_FRAME:AddMessage(format("Server time is %s:%s",hour,min));
Координаты и локация:
/script px,py=GetPlayerMapPosition("player")
/script DEFAULT_CHAT_FRAME:AddMessage(format("[ %s ] %s , %s”,GetZoneText(),px,py));
Макрос печатающий цели квеста в пати-чат:
/script i = GetNumQuestLeaderBoards(); for j = 1, i, 1 do a1, a2, a3 = GetQuestLogLeaderBoard(j); SendChatMesssage(a1, "PARTY"); end;
Макрос автоматической сдачи квеста неограниченное кол-во раз:
/script SelectGossipAvailableQuest(1); CompleteQuest(); GetQuestReward();
Макрос часто используют для неоднократного выполнения квеста – Dark Iron Residue
Макрос лечения 2 строки Эмерженси монитора, аддона CT_raid:
Очень полезный для любого лекаря макрос, спам которого позволяет сократить оверхил, и четко и быстро реагировать на повреждения рейда
/script CT_RA_Emergency_TargetMember(1)
/script CT_RA_Emergency_TargetMember(2)
/cast Lesser Healing Wave(Rank 6);
/script TargetLastTarget();
Макрос выбирает 2 строчку монитора, если такой нет, то первую, и кастует на цель Lesser healing wave rank 6.
Заключение
Макросы экстремально полезны для вашей боеспособности или оптимизации игры, так как реакция человека не совершенна, макросы позволяют нам сократить кол-во действий необходимых для выполнения тех или иных необходимостей как в рейдах так и в ПвП.P.S не забывайте, что разнообразие макросов ограничено только вашей фантазией и длинной в 255 символов.