News Information Twitch Warcraftlogs
Аватара пользователя
Oldfagot
High Floodlord
Class: Warlock
Nickname: Oldi
Сообщения: 3151
Rank: High Floodlord
High Floodlord
Oldfagot

[MACRO] Oldi

Сообщение Oldfagot » 20 дек 2015, 08:35

Прежде всего устанавливаем аддоны:
-SuperMacro http://addons.us.to/addon/supermacro добавляет +30 макрослотов (каждый длиной до 7000символов) расширяет и упрощает функционал команд, список можно найти в файле functions.txt

1. Спам кнопка автовыстрела с ванды (чтобы не выключить случайно, очень удобно):
Код: Выделить всё
/script if not IsAutoRepeatAction(1) then CastSpellByName("Shoot") end


2. Использует масло в 1 клик, без подтверждения о применении (можно использовать для ядов итд):
Код: Выделить всё
/use Brilliant Wizard Oil
/run PickupInventoryItem(16)
/click StaticPopup1Button1


3. При сумоне выводит в чат "(Ваштаргет) => Местосумона." (надпись можете изменить но желательно поставить ник сумонящегося чела в самое начало и выделить, чтоб остальным локам легче искать в вашей текстовой портянке кого вы там сумоните):
Код: Выделить всё
/script SendChatMessage(" (%t) => "..GetMinimapZoneText()..".", UnitInRaid("player") and "raid" or "party"); CastSpellByName("Ritual of Summoning()");


4. Вызывая думгварда выводит в чат соощение "summoning absolute evil of Burning Legion, All right-click the portal and not move until the ritual is complete. DOOM IS COMING!!!" (надпись можете изменить, но она пригодится т.к. на сумон отводится всего 1 минута, и багается кд (если не был скастован), да и портал еле заметный):
Код: Выделить всё
/script SendChatMessage("summoning absolute evil of Burning Legion, All right-click the portal and not move until the ritual is complete. DOOM IS COMING!!!", UnitInRaid("player") and "raid" or "party")
/cast Ritual of Doom
/yell Right-click the portal!


5. При использовании соулстона выводит в пати\рейдчат "<Ваштаргет> SoulStoned" (если СС уже висит - то не бафает):
Код: Выделить всё
/script if not buffed("Soulstone", 'target') then use("Major Soulstone"); SendChatMessage("<%t> SoulStoned", UnitInRaid("player") and "raid" or "party" or "battleground"); end


6. Диспел на 1 спам-кнопку по следующему приоритету( не меняя вашей текущей цели):
-врага в таргете
-самого себя
-вашу собаку
-всех патимемберов в 30 ярдах//LF инфу как сделать проверку по всему рейду:
Код: Выделить всё
/script CastSpellByName("Devour Magic")
/script local U,T,u=UnitExists,TargetUnit,{"player","pet"} for i=1,2 do if U(u[i]) then T(u[i]) CastSpellByName("Devour Magic") end end for i=1,4 do if U("party"..i) then T("party"..i) CastSpellByName("Devour Magic") end end TargetLastEnemy()
Чтобы сначала диспелить вредоносные эффекты, а потом уже бафы врага - поменяйте местами строчки.

7. Баниш макрос, объединяющий в себе несколько функций:
-если ваш пет бьёт когото, вы будите кастовать баниш в таргет пета
-если пет не бьёт, то вы просто скастуете баниш в вашу цель
-если вы зажмёте Контрол, то баниш будет первого ранга:
Код: Выделить всё
/script if UnitExists("pettarget") then TargetUnit("pettarget") end
/script if IsControlKeyDown() then CastSpellByName("Banish(Rank 1)") else CastSpellByName("Banish") end


8. Проверка CoS, CoE, CoR, Faerie Fire и вывод сообщения в чат "<Ваштаргет> hasn't CoS! hasn't CoE! hasn't CoR! hasn't Faerie Fire!" (в зависимости от того какой курсы нет - те слова и останутся):
Код: Выделить всё
/run str=UnitName("target") b=UnitExists("target") CoS=false for i=1,16,1 do db=UnitDebuff("target",i) if(db~=nil and string.find(db,"Spell_Shadow_CurseOfAchimonde")) then CoS=true end end;
/run if CoS then print("COS true") else if b then str=str .. " hasn't CoS!" end end;
/run CoE=false for i=1,16,1 do db=UnitDebuff("target",i) if(db~=nil and string.find(db,"Spell_Shadow_ChillTouch")) then CoE=true end end;
/run if CoE then print("COE true") else if b then str=str .. " hasn't CoE!" end end;
/run CoR=false for i=1,16,1 do db=UnitDebuff("target",i) if(db~=nil and string.find(db,"Spell_Shadow_UnholyStrength")) then CoR=true end end; 
/run FF=false for i=1,16,1 do db=UnitDebuff("target",i) if(db~=nil and string.find(db,"Spell_Nature_FaerieFire")) then FF=true end end; 
/run if CoR then print("COR true") else if b then str=str .. " hasn't CoR!" end end;
/run if FF then print("FF true") else if b then str=str .. " hasn't Faerie Fire!" end end;
/run --SW=false for i=1,16,1 do db=UnitDebuff("target",i) if(db~=nil and string.find(db,"Spell_Shadow_BlackPlague")) then SW=true end end;
/run --if SW then print("SW true") else if b then str=str .. " hasn't Shadow Weaving!" end end;
/run SendChatMessage(str, "raid" or "party") --made by Imwithstupid


9. Выводит в белый чатик количество брони и резистов вашего таргета (спасибо стилу):
Код: Выделить всё
/script u=UnitResistance y="target" a=u(y ,0) h=u(y ,1) f=u(y ,2) n=u(y ,3) fr=u(y ,4) s=u(y ,5) z=u(y ,6) SendChatMessage(UnitName(y).." has "..a.." Armor, "..h.." HR, "..f.." FR, "..n.." NR, "..fr.." FrR, "..s.." SR and "..z.." AR.", SAY)


10. "01" это номер абилы в спелбуке, этим макросом можно проверить любой номер, чтобы узнать что это за абила (нужен для некоторых макросов использующих не название а номер спела для сокращения, они у всех могут отличаться, так что надо проверять):
Код: Выделить всё
/script SpellNumber=01; SpellName,SpellRank=GetSpellName(SpellNumber,"spel l"); M=format("Spell %d: %s %s",SpellNumber,SpellName,SpellRank); DEFAULT_CHAT_FRAME:AddMessage(M);


11. Использует шедоубёрн в точный ник указанный в макросе (а не в похожий как /target) если в зоне обзора с таким ником никого нет использует в ваш таргет:
Код: Выделить всё
/script if (TargetByName("High Priestess Arlokk", true)) then CastSpellByName("Shadowburn") elseif UnitExists("target") then CastSpellByName("Shadowburn") end


12. Четыре рейдовые курсы на 1 кнопке с модификаторами:
-CoS обычное нажатие
-CoE с контролом
-CoR с шифтом
-CoT с альтом
Код: Выделить всё
/script if IsControlKeyDown() then castCurseOfTheElements()  elseif IsShiftKeyDown() then castCurseOfRecklessness() elseif IsAltKeyDown() then castCurseOfTongues() else CastSpellByName("Curse of Shadow") end


13. Таргетинг моба по точному имени:
Код: Выделить всё
/script TargetByName("High Chief Winterfall", true);


14. Если ваш пет бьет кого-то, то при нажатии он перестанет и последует за вами. Если ваш пет не бьёт никого, то при нажатии будет бить ваш таргет:
Код: Выделить всё
/script if not UnitExists("pettarget") then PetAttack() else PetFollow() end


15. В общем , работает как обычный болт, как только цель срывается на вас, вы отменяете текущий каст и юзаете инвулку:
Код: Выделить всё
/script if (UnitName("targettarget") == UnitName("player")) then SpellStopCasting(); UseItemByName("Limited Invulnerability Potion") end
/script CastSpellByName("Shadow Bolt()")
-для того чтоб этот макрос можно было использовать везде вместо обычного болта: в планах сделать так, чтобы инвулка юзалась только если у вас в таргете определенные босы (у которых имун к таунту), тока я пока не знаю как сделать проверку на имя цели
-и есть еще маленькая проблемка, если после юза инвулки вы продолжаете жоска долбить и набирать агро, и босс на вас опятьс агриться (а инвулка уже в кд), у вас будет прерываться каст болта, тоже не знаю как сделать проверку на кд предмета в обычных макросах

:P.S.) любые идеи и доработки приветствуются
Последний раз редактировалось Oldfagot 13 мар 2017, 00:11, всего редактировалось 7 раз(а).

cron

Вход  •  Регистрация