Macro for Milling and Prospecting

Professions
So I've been working on a macro for JC and Inscription to make getting pigments and gems a little more efficient. But I've come across a problem when using it, heres the macro:

/use Milling
/use Cinderbloom
/use Azshara's Veil
/use Whiptail
/use Twilight Jasmine
/use Heartblossom
And so on, same with prospecting.
The problem I'm encountering is when I do not have exactly 5, for example:
Say I have 30 Cinderbloom, 22 Azshara's Veil and 15 Whiptail.
When I click the macro I mill Cinderbloom, once the stack of Cinderbloom runs out when I click the macro it mills the Azshara's Veil, but, when I get down to 2 Left, it tells me the error "Requires 5 Azshara's Veil" and won't let me mill past it, unless I switch the macro around or delete the extra Azshara's Veil.
If anyone can help me write this macro a little better to bypass this problem I would appreciate it.
Simple, put the extra herbs in your bank or mail them to an alt. Only way to work around that really.
01/08/2012 02:44 PMPosted by Dottìe
Simple, put the extra herbs in your bank or mail them to an alt. Only way to work around that really.


this
Alrighty, thank you for the help :)
or you can just download this

http://www.curse.com/addons/wow/prospect

then the only ones that show up to prospect are stacks of 5+
or only buy stacks of 5
I use one for my JC, and I found if I moved the stacks around in my bag (for instance if I have 23 stacks, I move the 3 stack after the 20 stack) it will work.

So in your bag it should be: itemstackx20 itemstackx3

The macro just calls forth the first stack of items in your bag.
I use one for my JC, and I found if I moved the stacks around in my bag (for instance if I have 23 stacks, I move the 3 stack after the 20 stack) it will work.

So in your bag it should be: itemstackx20 itemstackx3

The macro just calls forth the first stack of items in your bag.

taht only works if your milling/prospecting one type of item if you have multiple types then even if an item farther down the macro is a legal target as long as one above it isnt it wont work
Panda is an addon accomplishes the same thing pretty easily. I use it for milling and prospecting.
I use an add on called "Breakables". It works with milling, prospecting and enchanting. When I have less than 5 of an item I put it in the last bag slot. Works like a charm.
Just found this post after milling a bunch of cinderbloom, and I have to say that this macro is a godsend. Thanks for posting this!

-Kelpret
Run this before the start of a milling session:

/run function FnH() for i=0,4 do for j=1,GetContainerNumSlots(i) do local t={GetItemInfo(GetContainerItemLink(i,j) or 0)} if t[7]=="Herb" and select(2,GetContainerItemInfo(i,j))>=5 then return i.." "..j,t[1] end end end end

Then use this as your milling button:

/run local f,l,n=AuM or CreateFrame("Button","AuM",nil,"SecureActionButtonTemplate") f:SetAttribute("type","macro") l,n=FnH() if l then f:SetAttribute("macrotext","/cast Milling\n/use "..l) SetMacroItem("Macro Name",n) end
/click AuM

(change "Macro Name" to the name of the macro)

It will skip over stacks less than 5 and it will also change the macro's icon to the current herb you're milling and how many of that herb you have left.
Run this before the start of a milling session:

/run function FnH() for i=0,4 do for j=1,GetContainerNumSlots(i) do local t={GetItemInfo(GetContainerItemLink(i,j) or 0)} if t[7]=="Herb" and select(2,GetContainerItemInfo(i,j))>=5 then return i.." "..j,t[1] end end end end

Then use this as your milling button:

/run local f,l,n=AuM or CreateFrame("Button","AuM",nil,"SecureActionButtonTemplate") f:SetAttribute("type","macro") l,n=FnH() if l then f:SetAttribute("macrotext","/cast Milling\n/use "..l) SetMacroItem("Macro Name",n) end
/click AuM

(change "Macro Name" to the name of the macro)

It will skip over stacks less than 5 and it will also change the macro's icon to the current herb you're milling and how many of that herb you have left.

Do you have one similar to this for prospecting?
10/17/2012 06:24 PMPosted by Bluhdrayne
Do you have one similar to this for prospecting?


I imagine you can change the words Herb to Ore, and milling to prospecting. Just guessing though.
I'm surprised that no one has mentioned Enchantrix, which comes bundled with Auctioneer. It has milling/prospecting (as well as the obvious disenchanting) functionality.
10/18/2012 03:03 AMPosted by Blucket
I'm surprised that no one has mentioned Enchantrix, which comes bundled with Auctioneer. It has milling/prospecting (as well as the obvious disenchanting) functionality.
No one has mentioned TradeSkillMaster_Destroying either :O that's what I use.
10/17/2012 06:24 PMPosted by Bluhdrayne
Do you have one similar to this for prospecting?

Sorry didn't see this bump. Change "Herb" to "Metal & Stone" and change Milling to Prospecting:

First macro to hit once before the start of a session (safe to hit multiple times if you forgot if you hit it):

/run function FnO() for i=0,4 do for j=1,GetContainerNumSlots(i) do local t={GetItemInfo(GetContainerItemLink(i,j) or 0)} if t[7]=="Metal & Stone" and select(2,GetContainerItemInfo(i,j))>=5 then return i.." "..j,t[1] end end end end

Second macro to use as your prospecting button:

/run local f,l,n=AuP or CreateFrame("Button","AuP",nil,"SecureActionButtonTemplate") f:SetAttribute("type","macro") l,n=FnO() if l then f:SetAttribute("macrotext","/cast Prospecting\n/use "..l) SetMacroItem("Macro Name",n) end
/click AuP

Remember to change "Macro Name" to the name of your second macro, so it will update the icon with the ore you're working on and how many is left.
/run function FnO() for i=0,4 do for j=1,GetContainerNumSlots(i) do local t={GetItemInfo(GetContainerItemLink(i,j) or 0)} if t[7]=="Metal & Stone" and select(2,GetContainerItemInfo(i,j))>=5 then return i.." "..j,t[1] end end end end

Second macro to use as your prospecting button:

/run local f,l,n=AuP or CreateFrame("Button","AuP",nil,"SecureActionButtonTemplate") f:SetAttribute("type","macro") l,n=FnO() if l then f:SetAttribute("macrotext","/cast Prospecting\n/use "..l) SetMacroItem("Macro Name",n) end
/click AuP


Ro,
Thanks for posting these.

Join the Conversation

Return to Forum