You Will Become a Mill Master
*Moderators... I had a tough time deciding whether to put this in the guides or Tools forum... eventually I decided this felt much more like a guide, so please move if I should've placed over there. TY*
First things first. What makes this different then all of the other milling bots or auto clickers out there? Simple, this does NOT just auto mill. It will actually do things in this order: MILL all the herbs in your full bags, create all inferno inks, create all blackfallow inks, Pull more herbs from the mailbox into your bags, then it will re-cycle the sequence again in milling/creating inks again with the timing adjusted appropriately to compensate for less bag space, and THEN, with even less bag space, it will pull more herbs from the mailbox, and repeat again! All in all, if you have room for 80 stacks of herbs, with at least 2 extra spaces in your pack, and then hit START on the script, it will run for exactly 1 hour and 20 minutes and will Mill and create inks for exactly 180 stacks of herbs for you and stops before running completely out of bag room for inks, all the while you were afk. Pretty sweet right?
I want to say this coming from someone who has tested this with probably 5000+ stacks of herbs now, that the timers and averages in my script are pretty close to being ironed out. If any of you are scribes. you know, milling even just a small 100 stacks of herbs, then making the inks can take a good 1.5 to 2 hours of constant attention. It's pretty irritating honestly lol. But, being someone who hit gold cap with the help of inscription, I stuck at it, often devoting hours a day just to milling and such. Finally, I got fed up with all of that and did a little research, and what I am presenting you is what I have tired over endlessly so that I can not be so tired from inscription in the future! Please note, I have NEVER programmed before in my life, and what I put together here is pretty basic and took a little ironing out, but it works flawlessly. With the help of the internetz I was able to teach myself some commands that made this all possible. There MAY be better scripts written for this type of thing. If there are, I have not found it yet. All I could find was either milling only bots or PAY FOR BOTS that use code injection that I refuse to do on my main account
**DISCLAIMER**
This program purely works so it is the same as just you pushing the keys on your keyboard to do it all, BUT, with that being said, it IS still a fully automated setup, and while it being a borderline harmless one, it is STILL automated and therefore against WOW's TOS and could be bannable, however unlikely that might be. Remember, Blizz's policy is 1 button, 1 action. I can't personally foresee any reason why this would possibly draw any attention though, just giving you a friendly warning. I do it on an alt on my main's account and I am not worried at all personally.
THE GUIDE
STEP #1 - MACROS SETUP & 1 Keybind Needed
You are going to create 4 Macros & 1 keybind. I will put them in Order for you to copy/paste, but what you need to do is place them on the same exact action bar in positions 1,2,3, & 4
MACRO #1 - Milling
Code:
/cast Milling
/use Azshara's Veil
/use Cinderbloom
/use Heartblossom
/use Stormvine
/use Twilight Jasmine
/use Whiptail
*NOTE* : I personally just use Whiptail as it sells for 25g a stack on my server with massive supply, and produces more yield than Cinderbloom, which sells for 20g a stack. All other herbs are still upwards of 60-80g a stack on my server. It's your call really, especially if you do your own farming...
MACRO #2 - Inferno Inks
Code:
#show Burning Embers
/cast Inscription
/run for i=1,GetNumTradeSkills() do if GetTradeSkillInfo(i)=="Inferno Ink" then DoTradeSkill(i, GetItemCount("Burning Embers")/2) break end end
*NOTE* : This macro will select "CREATE ALL" for the inferno inks.
MACRO #3 - Blackfallow Inks
Code:
#show Ashen Pigment
/cast Inscription
/run for i=1,GetNumTradeSkills() do if GetTradeSkillInfo(i)=="Blackfallow Ink" then DoTradeSkill(i, GetItemCount("Ashen Pigment")/2) break end end
*NOTE* : This macro will select "CREATE ALL" for the Blackfallow Inks.
MACRO #4 - Mailbox Item Retrieval
Code:
/script CheckInbox() for m = GetInboxNumItems(), 1, -1 do TakeInboxItem( m ) end
*NOTE* : This macro will pull any item that is in your mailbox out of it. It can be pressed semi-rapidly, but not too rapidly or it will error. Please note, if you have stuff other than herbs it will grab them too. It is STRONGLY advised that you clear your mailbox before it stuffs with herbs from the AH or those that were mailed to you or you will lose some valuable bag space unwantingly.
KEYBIND #1 - THE JUMP BUTTON
*NOTE* : This one is simple. All that you need to do is keybind the 2nd action button for JUMP to be the right bracket "]" So, normally people have the spacebar key-bound as their jump button for Keybind 1. Just add a 2nd keybind. This is ONLY because in my limited programming knowledge I could not figure out how to actually call upon the spacebar, only specific keys lol. If you know how, let me know and I'll update this. Here is an example of the code where I use it, so if you wish to keybind a completely different key, that is fine, just find all instances of it in the code and change:
STEP #2 - AC TOOL
Now this is where the tricky stuff is, at least it was for me. But now that it's written, it should be easy as pie for you. You need to download AC TOOL. If anyone of you have heard of Asheron's Call, that is where this originates from. I just figured out that it doesn't actually need to be associated with AC but can be used with any program. You can find the link on THIS PAGE HERE Oh and, please, if any of you know of a better program that I can exact copy my code to let me know, but until then guys, this one still gets the job done effortlessly and flawlessly, so it may be unnecessary.
TL;DR : Just put at least 80-82 stacks(no more) of herbs in your mailbag and ignore the following wall of text. It is merely explaining how to adjust the code if someone has mega bags and wants to adjust the code. If you are ok with 180 stacks a time before needing to restart the program, then just hop to the code and copy/paste and stop wasting time! lol
*What the script looks like in the program*
*NOTE* : I don't expect you to fully understand this script, but you SHOULD note that it is based upon starting with about 80-82 stacks of herbs. I particularly enjoy the results of Whiptail compared with their cost, but it WILL work with any other herb. Also, you NEED to understand this one thing. As a miller you understand that it is never 100% consistent on how many pigments you get, but you generally are within a ballpark area. Thus, when I have delays in the script for it to take another action, I often give about an extra 1-2 min delay over what the normal average time would to ink what you mill, just in case you get super lucky and loot a lot. This in turn sacrifices some time compared to you doing it manually, but we are talking maybe 5 minutes extra from an hours worth of work you didn't have to do. Worth it? I think so
Also, if you decided that you want to mill MORE than 80-82 stacks of herbs, you will need to go in and update the timers a little bit to be a little longer than what I have already setup. If you are milling less, this will run fine, but you may also wish to reduce the delay timers a bit to make it speedier, as it is taking into consideration the delays needed for 80 stacks and would run the exact same time for 80 stacks, even if you had less. If you don't wish to hassle with it, just load up about 80 stacks of herbs in your bags or less and hit start. Imo, since this is already tweaked completely for 180 stacks, be aware that adjusting timers in the first part of the script is like a domino effect and you will need to tweak the timers for the entire code or else it will be off by the end. Therefore, I wouldn't bother with it unless you really know what you are doing . If you DO want to, then please keep reading. The timers are easy to spot. Let me show you:
One thing that makes it VERY simple to find to find total crafting times is the QUARTZ ADDON HERE If I have 400 inks to make, it will actually total up the CDs with a full length timer and countdown as it crafts. Find your own timers and feel free to adjust the ones I used for 80-82 stacks of high-end Cata herbs. Also, be aware that Quartz HAS been bugged since 4.2, even though it says it was updated. Sometimes it can bug out your crafting. They are usually good at fixing bugs quick. Priceless addon when working.
*THE EXACT CODE, JUST COPY AND PASTE INTO AC TOOL*
Code:
// This macro is for Milling/ink making (This is for High lvl Cata Herbs)
// PLEASE READ: You MUST have the mailbox open and your bags already filled with herbs BEFORE starting script.
// ALSO, whenever you read "delay" it is based off my original numbers of about 80 stacks of Whiptail, adjust accordingly.
SetActiveWindow World of Warcraft // This brings WOW to top of the programs.
delay 2000 // 2 sec
loop 335 // Number of times to Mill -- Basically #of stacks x 4 (+5 to be safe).
keys 1
delay 3300 // 3.3 sec - Adjust this time according to your connection speed with server
end
keys 2 // Inferno Inks
delay 270000 // 4 min 30 sec. About 1 min more than avg needed for crafting.
SetActiveWindow World of Warcraft
delay 2000 // 2 sec
keys ] // Jump - Just to break crafting on rare occasion delay was too short so next step is not hit with "You are busy" error
delay 2000 // 2 sec
keys 3 // Blackfallow Ink
delay 1200000 // 20 min -- about 1.5 to 2 min longer than avg needed for crafting (Need bigger cushion for error on huge quantity
//ROUND 2
SetActiveWindow World of Warcraft
delay 2000 // 2 sec
keys ] // Keybind this to jump to break crafting in case my delay was off so next loop will work
delay 2000 // 2 sec
loop 50 // Adjusted number herbs to take from mailbox (Max is 50 at a time if single item letters)
keys 4 // mailbox item pulling macro
delay 1000 // 1 sec
end
// Back to milling again and the cycle repeats
loop 205 // Adjusted milling for 50 stacks (+5 just for error cushion)
keys 1
delay 3300 // 3.3 sec
end
keys 2
delay 210000 // 3 min 30 sec - Up to 1 min longer than avg needed to craft inferno.
SetActiveWindow World of Warcraft
delay 2000 // 2 sec
keys ] // Jump
delay 2000 // 2 sec
keys 3
delay 810000 // 13min 30 sec - Roughly 1 to 1.5 min cushion for error.
// ROUND 3
SetActiveWindow World of Warcraft
delay 2000 // 2 sec
keys ]
delay 2000 // 2 sec
loop 30 // Reduced numbers of stacks to pull from mailbox
keys 4 // mailbox item pulling macro
delay 1000 // 1 sec
end
// Milling with increased diminishing amounts
loop 125 // Adjusted milling for 30 stacks (+5 for error cushion)
keys 1
delay 3300 // 3.3 sec
end
keys 2
delay 120000 // 2 min - 1 min longer than avg time needed at this stage.
SetActiveWindow World of Warcraft
delay 2000 // 2 sec
keys ] // Jump
delay 2000 // 2 sec
keys 3
delay 540000 // 9 min - Roughly 1 - 1.5 min cushion for error.
// ROUND 4 and FINAL ROUND
SetActiveWindow World of Warcraft
delay 2000 // 2 sec
keys ]
delay 2000 // 2 sec
loop 20 // Reduced numbers of stacks to pull from mailbox
keys 4 // mailbox item pulling macro
delay 1000 // 1 sec
end
// Milling with increased diminishing amounts
loop 85 // Adjusted milling for 20 stacks (+5 just in case)
keys 1
delay 3300 // 3.3 sec
end
keys 2
delay 90000 // 1 min 30 sec -45 sec longer than avg time needed at this stage.
SetActiveWindow World of Warcraft
delay 2000 // 2 sec
keys ] // Jump
delay 2000 // 2 sec
keys 3
// No delay needed as script ends after key 3 is pushed.
// You CAN take this even further if you wish, just gets harder to guess the avg numebers the further you go on.
* I know the code looks a little funky here, but if you just copy it and paste it into AC Tool it pastes perfectly*
STEP #3 - LAST INFO YOU NEED TO RUN IT
Ok, so at this point you should have 4 macros setup, each placed on bars 1,2,3, and 4; the jump keybind 2 should be to the right bracket; you should have AC TOOL installed on your PC with the code above copied into it. Lastly, these are the final steps you need to do before you hit the start on the script.
[1] If you have made no adjustments to the timer, you should place 80 stacks or less in bags with minimum 2 free spaces
[2] You absolutely need to be standing by a mailbox with the mailbox refreshed and open before starting.
[3]Your profession window does NOT need to be open, this will do it for you.
[4] I recommend changing settings to "Block trade when mailbox open."
[5]All your herbs must be in perfect stacks divisible by 5, as all scribes know, milling does not work and will get stuck if it tries to mill something less.
[6] Run AC TOOL, if you are in Win 7/Vista, as administrator for it to work.
[6] You need to be playing the game "Windowed" in your graphics settings.
Finally, remember this ONE last thing. Because this is purely just like you yourself punching the buttons on the keyboard, the World of Warcraft window needs to be open while this script is running. WOW cannot be minimized and you cannot be tabbed on another page. The only exception is during the long delays when the ink is being made, you can be tabbed out doing something else, and I did include in the script for it to reset the main window back to WOW when it is ready to continue... I personally have the wow windowed to about 1/3rd of my screen when I do this and I'll watch a tv show or something on the other half of the screen, just making sure to have clicked and brought the WOW window to the front before starting my show. I ALSO will hit start, then go play my PS3 KZ3 for an hour. It is a very nice feeling to come back and find my bags filled with ink with no work!
ENJOY
PS I think I covered everything. Please let me know if I missed anything lol... it's 2am right now
UPDATE!!! I HAVE added a "Noob Helper" feature as advised by BattleBlade below. Basically I just added in for the script to bring the WOW window back to the front when it is going to do certain things. In other words, sometimes it takes 10-20 min to create inks... While making inks is the ONLY time you can actually be tabbed out and doing something else. So, if you are tabbed out and not paying attention to time or forgot to tab back, this will force WOW to the main screen when the delay is over and it is ready to make the next action so you don't miss it. Please note, if it is milling or pulling stuff from mailbox you absolutely need to have WOW open and the top screen.