This site makes extensive use of JavaScript.
Please enable JavaScript in your browser.
Live
PTR
10.2.7
PTR
10.2.6
Beta
[MASTER LIST] Common Macro requests
Post Reply
Return to board index
Post by
RedwoodElf
I'll edit this post as I get more and more of the "Most popular macro requests"
---Gear/Spec related macros---
/equipset Tank;DPS
/usetalents 2;1Toggles between your equipment manager gear sets "Tank" and "DPS", and switches between your two specs (Assumes DPS is talent set 1...adjust accordingly)
/equipset DPS;Tank
/stopmacro
/usetalents 2;1
Fury Warrior/Enh shaman version: Because of the difficulty with changing your spec allowing your dual wields, these classes will need to hold down ALT once they get in their dual wield spec and use this one.#showtooltip
/use 1
/use 16
/equipset Tank;Fish
/stopmacro
/cast Fishing;CookingApplies fishing lure to your fishing pole if you hold down Ctrl and have the Weather Beaten Fishing hat. Toggles Between your fishing outfit (Presumably fishing pole and hat if you have one) and your gear set "Tank" if you hold down alt, otherwise casts your fishing pole if you have one, and opens the cooking menu if you don't have a fishing pole equipped.
---Tradeskill Macros---
/run local L=GetTradeSkillListLink()if L then if SpamTime==nil then SpamTime={}SpamTime=0 end if time()-SpamTime>120 then SendChatMessage(L.." Your Mats, for tips.","CHANNEL",nil,"2")SpamTime=time()end endThis will chat-advertise whatever tradeskill you have open at the time. If no tradeskill is open, or if it is less than 2 minutes since you last advertised that tradeskill, it will do nothing.
---Mount Macros---
Random Mounts
/run if IsMounted()then Dismount() else local t={1,2,6}if(GetWintergraspWaitTime()or GetZoneText()~="Wintergrasp")and IsFlyableArea()then t={3,4,5,7}end CallCompanion("MOUNT",t) endFirst set of {
numbers in brackets
} are the slot numbers of walking mounts, second set is slot numbers of flying mounts.
#showtooltip
/castrandom <FlyingMountName>,<FlyingMountName>,<FlyingMountName>;<WalkingMountName>,<WalkingMountName> Need to hold down a modifier in Wintergrasp during battle to force a walking mount, but easier if you're not comfortable with /run scripts.
---Inventory Macros---
/run for b=0,4 do for s=1,GetContainerNumSlots(b)do local i,q=GetContainerItemLink(b,s) if i then _,_,q=GetItemInfo(i) if q==0 then if GetMerchantItemInfo(1) then UseContainerItem(b,s) else PickupContainerItem(b,s) DeleteCursorItem() end end end end end
If you are in a merchant window, will sell all grey items in your bags. if you are NOT in a merchant window, it will destroy them instead. Used to gain bag space for better loot if you're not near a merchant, and quickly sell all grey items if you're at one.
/run for bag = 20,23 do local bank = 48+bag;PickupInventoryItem(bag);PickupInventoryItem(bank) endSwaps your first four bank bag slots with the ones in your inventory.
/run local itemType, itemID, itemLink = GetCursorInfo() if itemID then SendChatMessage("WTS "..(select(2,GetItemInfo(itemID))).." - PST with offer","channel",nil,2) end Will say "WTS - PST with offer" on the trade chat channel, for whatever item is on your mouse cursor, and do nothing if you don't have an item on your cursor.
---Targetting/focus setting Macros---
/tar focus
/targetlasttarget
/focus
/targetlasttargetSwaps your target and your focus.
/run SetRaidTarget("target", 8) SetRaidTarget("focus",7)Puts a raid target icon (In this case, a skull) on your current target, and a different one (X) on your focus. replace 8 and 7 with the numbers of the icons you want to place, and "target" or "focus"with any valid unitID for a raid icon.
(1 = star, 2 = Circle, 3 = Diamond, 4 = Triangle, 5 = Moon, 6 = Square, 7= X, 8 = Skull)
/run if not(MyRaidTarget) or (MyRaidTarget==1) then MyRaidTarget=8 else MyRaidTarget=MyRaidTarget-1 end SetRaidTarget("target",MyRaidTargetCount)Cycles through raid target icons each time you press it, starting with the skull and working backwards.
---Pet Control/Command macros---
Hunter Pet Examples:#showtooltip
/castsequence reset=combat Call Pet,Revive Pet;Mend PetThis one will heal your pet if you have one out, and otherwise try to call your pet out. if your pet is dead, if you click it again it will cast revive pet.
#showtooltip
/petautocaston Cower;Growl
/petautocastoff Growl;Cower
This one keeps your pet from cowering while you're soloing, and keeps it from growling when you're in party, keeping it from grabbing agro off the tank.
Warlock pet ability examples:
#showtooltip
/cast Spell Lock;Devour Magic;Fire ShieldFelhunter/Imp example. Holding down alt will use the pets' abilities on your focus(if valid), normal keypress uses it on your target (if valid) or yourself (this example uses helpful spells)
#showtooltip
/cast Seduction;InterceptSuccubus/Felguard example
---Utility Macros---
/script local itemType, itemID, itemLink = GetCursorInfo() if itemLink then print("item:"..itemID) endDisplays the item code number for the item you are holding on your cursor.
/run local px,py=GetPlayerMapPosition("player") DEFAULT_CHAT_FRAME:AddMessage(format("( %s,%s ) %i,%i",GetZoneText(),GetSubZoneText(),px*100,py*100))Displays your zone, location, and coordinates.
---Role-Playing/silly macros---
/run local S={"<Random Thing To Say>","Another Random Thing>","<Yet another random thing>","",""} SendChatMessage(S)Picks a random thing from the list to say. Empty strings ("") mean that you occasionally won't say anything.
/run local S,N={{"e","LAUGH"},{"SAY","Fooled you!"},{"e","POINT"},{"e","SILLY"},{"e","FLIRT"},{"e","BURP"},{"SAY","I'm not so think as you drunk I am!"}}N=random(#S)if S=="e" then DoEmote(S)else SendChatMessage(S,S)endA more complex variant on the random say macro that lets you use emotes and chat says mixed ("e" in one of the matched pairs tells the macro to use the DoEmote command with the second argument, while "SAY","YELL" and so on will use the Chatmessage command instead.
#showtooltip
/use Brewfest Brew
/wave
/say That was great, gimme another!Target a brewmaiden and spam this to get completely smashed./run local i=GetNumCompanions("CRITTER")print("You have "..i.." pets")CallCompanion("CRITTER", math.random(i))Summons a random pet from your critter pet list
Post by
RedwoodElf
---Rogue Specific Macros---
#showtooltip
/script SetCVar("AutoLootDefault",1)
/cast Pick Pocket
/stopmacro
/script SetCVar("AutoLootDefault",0)
Will turn autoloot on, attempt to pick pocket, and then (if you aren't stealthed or in combat) turn autoloot back off.
---Warrior Specific Macros---
#showtooltip
/equipset Tank;DPS
/cast Defensive Stance;Berserker Stance;Battle StanceWhat this will do is,
1) holding down alt will put you in defensive stance from either of the other two stances and equip your shield/sword Tank set. If you're in Defensive stance already, it will put you in Battle stance with your Tank set.
2) Hitting the key with no alt held will switch you back and forth between Berserker stance and battle stance, and equip your DPS gear if it's not already equipped.
---Paladin Specific macros---
#showtooltip
/cast Righteous Defense;Judgement of Light,Hand of Reckoning
Uses Righteous Defense on your (friendly) target, your targets' target if it's another party member(both in combat), or alternate between JOL and HOR otherwise.
---Druid Specific macros---
#showtooltip
/castsequence Rebirth;Revive;Abolish Poison;Remove Curse;Tranquility;reset=target Rejuvenation,Regrowth,Healing TouchIf your target is dead, it will cast Rebirth in combat or Revive out of combat. If your target is alive, it will cast Abolish Curse, Remove Poison, or Tranquility on various mods, and otherwise rotate Rejuvenation, Regrowth, and Healing Touch, either on your help-able target, or on yourself.
#showtooltip Aquatic Form;Fast Flight Form;Travel Form
/cast !Shadowmeld
/cast Aquatic Form;Fast Flight Form;Travel FormYou may have seen this one in action. It only works for Night Elf Druids. If you're in combat, you will try to shadowmeld (which will turn combat off momentarily) and then shapeshift to flying form or travel form and fly/run away, and in the water, you will use aquatic form and swim away.
Balance Druid:
#showtooltip
/cast Cat Form;Moonkin Form;Bear Form;Aquatic Form;Flight Form;Travel Form
Restoration Druid:
#showtooltip
/cast Cat Form;Tree of Life;Bear Form;Aquatic Form;Flight Form;Travel Form
Feral Druid:
#showtooltip
/cast Cat Form;Bear Form;Aquatic Form;Flight Form;Travel Form
In general, in combat just clicking the macro will toggle between bear and your special form if you have one, and cat form for Feral Druids. If you have Dire Bear Form, just replace Bear Form with that.
Mod: Shift will turn on your special form for resto/Balance Druids if you're not in it.
Mod:alt will turn on Cat Form if you're not in it.
Mod: ctrl will turn on Bear form if you're not in it.
Out of combat, hitting the macro will give you Flight form (if you can fly), Aquatic form (If you're swimming), and Travel form otherwise.
For these macros, it is recommended you use the auto-cancelform function, which can be found in your game options. Casting any spell that will not work in your current form will, by default, un-shapeshift you to casterform.
Post by
HighFive
The mount macro could be shortened a bit (won't be a problem unless you have a shitload of mounts) and the dismount function is capitalized.
You might want to change the castrandom mount macro to something like this:/userandom <FlyingMountName>,<FlyingMountName>;<WalkingMountName>,<WalkingMountName>
The rest looks pretty solid besides an overuse of modifiers (preference) and an unclosed bracket or two.
Post by
HighFive
For example:IsFlyableArea() and (WintergraspWaitTime() or GetZoneText()~="Wintergrasp")You don't need to check if you're in WG you're not in a flyable area in the first place, and you don't need to know if you're in WG if it's not during a battle.
Post by
Wanderingfox
Also, just as an FYI Redwood, ALL function names are written in camel notation starting with a capital letter. At least they are in WoW, and it's pretty much the defacto standard naming convention these days (someVariable, SomeFunction, etc.)
Post by
Wanderingfox
time isn't capitalized because it's not a WoW function. It's a Lua function, and an alias of a Lua function at that :P
Post by
Wanderingfox
Speaking of that tradeskill macro... the SpamTime={} is not needed. You can avoid the table creation by simply doing:
/run local l=GetTradeSkillListLink()if l then if SpamTime == nil then SpamTime = 0 end if time() - SpamTime > 120 then SendChatMessage(l.." Your Mats, for tips.","CHANNEL",nil,"2") SpamTime = time() end end
Post by
Corveroth
Here's a nice "Loot the dog!" spam macro, a relic of the MC days...
/run local f,S,c=SendChatMessage,"",{"raid","raid_warning","guild","yell","say","emote"}for a=1,GetNumRaidMembers()+6 do S=a==6 and"wants you to l"..S:sub(2)or"Loot the "..UnitName"target".."!" f(S,cor"whisper",nil,UnitName("raid"..(a-6)))end
You can customize the message for more general purposes. Find this bit in the macro:
"wants you to l"..S:sub(2)or"Loot the "..UnitName"target".."!"
And change everything after the
or
to the message of your choosing, and also change the last letter of the first string to match. For example, I created this variant to make sure that everyone notices that it's repair time.
Jeeves Macro
/run local f,S,c=SendChatMessage,"",{"raid","raid_warning","guild","yell","say","emote"}for a=1,GetNumRaidMembers()+6 do S=a==6 and"wants you to
r"..S:sub(2)or"Repair now!"
f(S,cor"whisper",nil,UnitName("raid"..(a-6)))end
/use jeeves
Let's see, what else... I wrote this one to auto-remove pumpkin-headedness. Not sure it worked, but it doesn't do anything terrible.
/run local F=CreateFrame"Frame" F:RegisterEvent"COMBAT_LOG_EVENT_UNFILTERED" F:SetScript("OnEvent",function(f,e,t,c,...) local s=select(7,...) if strfind(c,"SPELL_AURA") and s==44212 then CancelUnitBuff("player","Jack-o'-Lanterned!") end end)
Mark Hodir's Mages and Shamans:
/targetexact Veesha Blazeweaver
/run SetRaidTarget("target",1)
/targetexact Amira Blazeweaver
/run SetRaidTarget("target",2)
/targetexact Spiritwalker Yona
/run SetRaidTarget("target",3)
/targetexact Spiritwalker Tara
/run SetRaidTarget("target",4)
Print experience, since I frequently find that some addon or another has disabled my experience bar on new characters:
/run local a,b,m=UnitXP("player"),UnitXPMax("player") m=a.." / "..b..": "..(math.floor((100*a*100/b)+.5)/100).."%".." ::: "..(GetXPExhaustion() or 0).." rested" print(m) SendChatMessage(m,"party")
Print the quantity of the WotLK herbs you have in the format "#total : (#inBank, #inBags)":
/run local f,s,a,i=GetItemCount,{"Goldclover","Adder's Tongue","Fire Leaf","Deadnettle","Tiger Lily","Talandra's Rose","Icethorn","Lichbloom","Frost Lotus"}for _,v in pairs(s)do a,i=f(v,1),f(v)print(v.." : "..a.." ("..a-i..", "..i..")")end
I think that's all I've got... aside from a
really
evil set of spam macros that I simply will not distribute. The rest are just typical targeted casts and "blow cooldowns" sorts of things.
Post by
RedwoodElf
Speaking of that tradeskill macro... the SpamTime={} is not needed. You can avoid the table creation by simply doing:
/run local l=GetTradeSkillListLink()if l then if SpamTime == nil then SpamTime = 0 end if time() - SpamTime > 120 then SendChatMessage(l.." Your Mats, for tips.","CHANNEL",nil,"2") SpamTime = time() end end
I wanted it to have a seperate cooldown for different tradeskills, so I simply used the Trade Skill Link as an index to store each cooldown separately in a table. Yours would prevent you from linking your second tradeskill until the 2 minutes had expired.
Post by
RedwoodElf
Here's a nice "Loot the dog!" spam macro, a relic of the MC days...
(Snip)
Interesting, but hardly the kind of thing for the "Most requested" list...did you really spam entire raids with the name of each raid member on all those channels, AND your guild chat?
I mean, you could have at least checked to see whose loot the targetted mob was, and just send THAT character a whisper...
Post by
Corveroth
Fair enough. I was tired and just saw macros being dumped, and decided to join in. As far as checking the loot owner, I wish I could find a good way to do that, but the only way seems to be scanning a tooltip and that's a hell of a lot of work for a macro.
Post by
RedwoodElf
Wouldn't it just be a string match on each raid member's name and your target's tooltip info?
I haven't got the time to search for it right now, but I'm sure there's a function somewhere that will return a tooltip if you pass it the target's unitID...Just store that in a local variable at the beginning, put the UnitName("raid",a-6) in a local variable at the start of the loop (so you can use it twice with just one character) and put the whisper telling bit inside an if block that String-compares UnitName variable with the stored tooltip one. You can dump all the channels and just do a whisper.
Post by
Wildhorn
You should put a note for your ---Gear/Spec related macros---. Enh shaman wont be able to use it because they cant dual wield without switching spec first. Same for Fury warrior and 2h dual wield.
Post by
ignis86
i simply use a macro to swap specs and have all my outfits bound to a wheel in opie, i like it
Post by
pelf
God I love OPie. It's so fracking amazing.
Post by
ignis86
God I love OPie. It's so fracking amazing.
QFT
Post by
HighFive
Re-reported.
Post by
Wildhorn
Wonder if this will ever get a sticky? It's not in Helpful Threads yet...
Personally, I do not find this thread very helpful. It is just a bunch of macro meltpoted in a post. Most of these macro are way too specific (especially those using modifier) to serve the mass.
Post by
RedwoodElf
Wonder if this will ever get a sticky? It's not in Helpful Threads yet...
Personally, I do not find this thread very helpful. It is just a bunch of macro meltpoted in a post. Most of these macro are way too specific (especially those using modifier) to serve the mass.
It's meant to be helpful in a "Here are common macro requests, so look here first and you can save creating the 500th thread asking for a random mount macro, or equipment swapping macros, or shapeshifting macros....or..." kind of way.
Not to be helpful to guys who already know how to make their own macros. So of COURSE you wouldn't, personally, find it useful, since you know how to make your own. Right?
Post by
323965
This post was from a user who has deleted their account.
Post Reply
You are not logged in. Please
log in
to post a reply or
register
if you don't already have an account.