Six gold-making macros that will save you hours

As you start spending more time making money, you start to realize how much time you waste. Have you ever had to mail every single item in your bag to another of your characters? It's a lot of right-clicking. There are a bunch of tasks like this, including selling to vendors, buying from vendors, prospecting, posting for sale, and crafting.
First, know that only some things can be really automated. If there's a cast time, for example, the best you can do with a macro is shorten multiple clicks into a single macro that can be clicked or hotkeyed. Luckily, there's no cast time on vendor and mailbox interactions!
Vendors
The first macro I'll share is one you can use to sell every grey item in your bag. There are addons for this; however, a macro takes no memory and doesn't need to be updated every patch.
/run for bag=0,4 do for slot=1,GetContainerNumSlots(bag) do local item=GetContainerItemLink(bag,slot) if item and item:find("ff9d9d9d") then UseContainerItem(bag,slot) end end end
What this is actually doing is right-clicking on every gray item in your bag, so don't do it in front of your bank unless you want to deposit all your grays into it.
The next vendor macro you might find useful is a hotkeyable macro for buying vendor goods. If you have TSM (or some other addon that queues crafts and gives you an auto-buy button at the vendor), this won't be as useful. I still use it for some things, though. Sometimes you just need to buy a lot of something from a vendor.
/run BuyMerchantItem(6,20)
Those numbers indicate what you want to buy and how many of them. The first number is the slot at the merchant; 1 is the top left, 2 is the top right, 3 is just below 1, and it continues on that way. Be careful not to use the wrong index, or else you could find yourself stuck with a lot of the wrong item. The second number is how many you want to buy. Some items are sold in stacks, but this will specify a precise number (just like shift-clicking on the item).
Next, we consider the mailbox. Mailing between characters can be tedious if you have to right-click each time. While TSM can be set up to auto-mail items to alts based on groups (which is handy if you don't list what you make on the character that makes it), it can be intimidating to set up. Also, it won't help you if you're looking to do a one-time mass mail. There are a few things I find myself mailing a lot, and sometimes I want to mail everything of a particular quality, and sometimes I want to do it by name.
This macro will right click everything matching the name "Elementium Ore." Simply open your mail, type the name into it (and a subject, if you want), and then click this macro. It will put 12 items into the mail and then warn you that you can't attach more than 12 items per mail for each item in your bag.
/run for bag=0,4 do for slot=1,GetContainerNumSlots(bag) do local item=GetContainerItemLink(bag,slot) if item and item:find("Elementium Ore") then UseContainerItem(bag,slot) end end end
It's not going to work if you type "Elementium ore" because it's case sensitive. If you want, you can just say "Ore" if you want to mail all your ore. Be careful with this type of matching, though. If you tell it to mail all your "Obsidium," it will also match a lot of green gear you may have in your bags.
Here is a macro that will right-click based on item quality:
/run for bag=0,4 do for slot=1,GetContainerNumSlots(bag) do local texture,itemCount,locked,quality=GetContainerItemInfo(bag,slot) if (quality==2) then UseContainerItem(bag,slot) end end end
That "quality==2" is what determines what gets clicked on. Leave it at 2 to mail greens, change it to 3 for blue quality items, and change it to 4 for epic. This macro is useful if you're using an addon to buy items that can be disenchanted for a profit. Be careful, though, as it will click on everything in your bag that matches the quality, even if it's soulbound. Also, if it's bind on equip and you don't want to bind it, you should be extra careful not to press this macro away from a mailbox. It will at least ask you before equipping it, of course.
Milling, prospecting, and disenchanting
Some things can't be completely automated, especially things such as milling, prospecting, and disenchanting that are designed to take time. That said, the default interface for these abilities is rather clunky. Without a macro, you need to hit the ability, find the item in your bag, and click on it. It's error prone (ever disenchanted your offset?) and clunky. With a macro, you can make one button that will only work on the items you've specified. For example:
/cast Disenchant
/use Stormforged Legguards
Or even:
/cast Disenchant
/use item:52306
/use item:52307
/use item:52308
/use item:52309
The first one is pretty obvious, and it will disenchant with one click (or key press) only Stormforged Legguards. (Obviously, I wrote this one when that was still profitable.) If you craft for disenchanting, this is the way you want to disenchant.
What about jewelcrafters, though? It's one of the best professions for crafting cheap greens. Here's the problem: If you are making Jasper Rings, each one has its own name. They all have the same item ID, though, so you can /use an item number instead of a name.
Click anything
The last trick I'll post here is how to click anything with a keybindable macro. Whether you want to press space bar to click "craft next," shift-mousewheel up to click the post your next auction button, or press 1 to hit Heroic Will on Ultraxion, you can write a macro and keybind anything.First off, you need to know the name of whatever it is you want to click. Save this macro, and keybind it to something so you have the use of your mouse:
/run local f = GetMouseFocus(); if f then DEFAULT_CHAT_FRAME:AddMessage(f:GetName()) end
Now hover your mouse over what you really want to click with your keyboard, and press that macro. It'll give you the name of the object in the chat frame, and you can now macro a click. Here are some I have looked up and keybound:
- This one will click Heroic Will on Ultraxion, as well as Ysera's damage mitigation from phase 2 of Madness: /click ExtraActionButton1
- This one will click the TSM post button, and TSM will even bind it to the mousewheel for you if you ask it to: /click TSMAuctioningPostButton
Filed under: Gold Capped






Reader Comments (Page 1 of 3)
Lignar Feb 24th 2012 2:13PM
Auto selling grays and autobuying vendor items can also easily be done with an addon called reagent restocker. You can also add items to the 'sell list' such as flipped fortune cards etc.
Moeru Feb 24th 2012 2:43PM
Also SellJunk
Basil Berntsen Feb 24th 2012 2:48PM
Of course, but as I mentioned, this way you don't add to the list of addons you need to update every patch, as well as try turning off next time something breaks.
Pyromelter Feb 24th 2012 3:44PM
I'd rather have an addon than another macro clogging up my action bars. Those vendor addons are pretty lightweight too.
Camo Feb 25th 2012 8:00AM
Addons don't need an update every patch.
Only if Blizzard changes their code, but in that case the macro might stop, too.
The "updates" that most addons get is a bump to the updated client version, so they don't appear as out-of-date in the addon tab.
JakeDaSnake Feb 24th 2012 2:22PM
The "sell all gray items" macro sounds nice, but I don't want to lose my Tear Stained Handkerchief. http://www.wowhead.com/item=18233
It is still the best response in-game to whiners in a dungeon or raid, now made especially useful in LFR.
Lignar Feb 24th 2012 2:28PM
In the addon I mentioned, you can put exceptions to the auto sell (light feathers if you're not glyphed for levitate on your priest, for example).
Basil Berntsen Feb 24th 2012 2:50PM
You can link that without having one- in game, simply type (or macro and click) the following for a link:
/script DEFAULT_CHAT_FRAME:AddMessage("\124cff9d9d9d\124Hitem:18233:0:0:0:0:0:0:0:0\124h[Tear Stained Handkerchief]\124h\124r");
Also, almost any item or ability, whether you have it on you or not, can be linked in game. There are several places to get these scripts, wowhead is one (click the link button).
Anyways, if you have any sentimental greys, put them in your bank :)
Aaron Feb 24th 2012 2:51PM
SellJunk works similarly. You can create an exception list to ignore specific greys, or to autosell specific non-greys (like the Smallfish and Mud Snappers I catch while doing fishing dailies). If you're looking for a really quick and easy solution, though, Basil's macro works great, and I've used something similar for several months.
Evelinda Feb 24th 2012 6:13PM
Haha... Basil... "simply type the following incredibly long, incomprehensible and impossible to remember code" ;)
JattTheRogue Feb 24th 2012 6:48PM
I'm more partial to the Vial of Tears (http://www.wowhead.com/item=32727). I found them when I was farming Netherwing rep. It's nice to be able to mail them to a QQ-er with a message saying, "Did you misplace this?"
Dea ex Machina Feb 24th 2012 10:27PM
And I'm on a Roleplay Server, and you never know which grays are going to auction well. Most crud you want to get rid of, but you never know whether someone's going to need a skull, or a bottle of cologne, or a flower, or Steamy Romance Novels, or a treasure map, or....
Basil Berntsen Feb 24th 2012 11:11PM
Ok, by "type", I meant "paste". Wowhead has a button that generates one of these for anything in their database.
ThatguyfromNZ Feb 26th 2012 8:41PM
I'm quite partial to breaking out the http://www.wowhead.com/item=18227 myself
Michelle.Hospedales Feb 24th 2012 2:40PM
These macros all sound great! On the same note (time-saving, money-making macros), I am looking for a macro that will place all of an item (say, all the netherweave cloth) from my guild tab into my bags. Any ideas how I'd write that one?
Basil Berntsen Feb 24th 2012 2:55PM
I use an addon, but you might find use from this thread on the forums: http://us.battle.net/wow/en/forum/topic/3053897021
joelafrite84+wowinsider Feb 24th 2012 3:14PM
Not tested, but something like this should work:
/run do for tab=1,GetNumGuildBankTabs() do for slot=1,98 do local item=GetGuildBankItemLink(tab,slot) if item and item:find("Netherweave Cloth") then PickupGuildBankItem(tab,slot) end end end
sckeener Feb 24th 2012 2:47PM
Re selling gray items, I use auctioneer already and it comes with such a feature. It also allows you to setup rules for non-gray items to auto-vendor.
Re mailing, maybe if I was mailing the same thing every day a macro would make sense, but I just (shift?alt?ctrl?) click mail all my items to my alts. The cost is the same whether I mail 4 items or 1 item. I use postal, so I grab all my mail in mass.
Basil Berntsen Feb 24th 2012 2:58PM
You can only open 50 mails a minute. And you still have to click everything. I use the macro to click a twelfth as often, and get twelve times as much stock into a 50 mail batch.
Josh Feb 24th 2012 3:31PM
"you still have to click everything" - presumably you are referring to clicking when sending things. I just wanted to clarify, that when you are opening your mail with Postal, you click once and all mails are opened.