What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal

[Plugin] Milling

Added wait timer if you have lag.

Added jump action if you are milling longer than 1 minute, so you don't go AFK.
 
I got some problem with it, it dont seem to mill some herb, example, i got 220 Sansam, but its just say finnish in honorbuddy window.
And The herb it does mill, it mills some, then the whole honorbuddy freeze. I tried to press the scroll window of the milling plugin, but after a while it just flip and be preses the scroll alot of times. Any idea?
 
I got some problem with it, it dont seem to mill some herb, example, i got 220 Sansam, but its just say finnish in honorbuddy window.
And The herb it does mill, it mills some, then the whole honorbuddy freeze. I tried to press the scroll window of the milling plugin, but after a while it just flip and be preses the scroll alot of times. Any idea?

Raise the wait time.

And for easy working, be sure you have all stacks of 20 and keep the lower stack at the end in your bags.
 
Download latest version. SVN added for easier update.
 
Option for milling all herbs would be nice

here's a list from AllRounder, i couldn't tell where the list internally was, so here's a copy, i had to add a few to the list over time, so here's an Updated (tm) version.

i usually end up vendoring the rare pigments and inks below cataclysm level, even the old icy pigment/snowfall ink, no sales, and you only get the odd numbers of pigments.

Code:
public static void milling()
        {
            foreach (WoWItem item in Me.BagItems)
            {
                List<uint> HerbList = new List<uint>
                {
    //Classic Herbs
// Alabaster (ivory & moonglow)
                2449, //Earthroot
                2447, //Peacebloom
                765, //Silverleaf
// Dusky & Verdant (Midnight / Hunter's)
                785,  //MageRoyal
                2450, //Briarthorn
                2453, //Bruiseweed
                3820, //Stranglekelp
                2452, //Swiftthistle
// Golden & Burnt (Lion's / Dawnstar)
                3369, //Grave Moss
                3356, //Kingsblood
                3357, //Liferoot
                3355, //Wild Steelbloom
// Emerald  & Indigo (Jadefire / Royal)
                3819, //Dragonsteeth
                3818, //Fadeleaf
                3821, //Goldthorn
                3358, //Khadgar's Whisker
// Violet & Ruby (Celestial / Fiery)
                8836, //Arthas Tear
                8839, //Blindweed
                4625, //Firebloom
                8846, //Gromsblood
                8831, //Purple Lotus
                8838, //Sungrass
                8845, //Ghost Mushroom
//Silvery & Sapphire (Shimmering / IOfThe Sky)
                13463, //Dreamfoil
                13464, //Golden Sansam
                13467, //Icecap
                13465, //Mountain Silversage
                13466, //Sorrowmoss
    // BC Herbs
// Nether & Ebon (Ethereal / Darkflame)
                22790, //Ancient Lichen
                22785, //Felweed
                22786, //Dreaming Glory
                22793, //Mana Thistle
                22791, //Netherbloom
                22792, //Nightmare vine
                22787, //Rageveil
                22789, //Terocone
    //WOTLK Herbs
// Azure & Icy (IOfThe Sea / Snowfall)
                36907, //Talandra's Rose
                36903, //Adder's Tongue
                36906, //Icethorn
                36904, //Tiger Lily
                36905, //Lichbloom
                36901, //Goldclover
                39970,//Fire Leaf
                37921,//Deadnettle
    //Cata Herbs
// Ashen & Burning (Blackfallow / Inferno)
                52983,//Cinderbloom
                52987,//Twilight Jasmine
                52984,//Stormvine
                52986,//Heartblossom
                52985,//Azshara's Veil
                52988,//Whiptail
    //MoP Herbs
// Shadow & Misty (Dreams / Starlight)
                72234,//Green Tea Leaf
                79010,//Snow Lily
                72235,//Silkweed
                72237,//Rain Poppy
                79011,//Fool's Cap
		89639,//Desecrated Herb
                };

                while (HerbList.Contains(item.Entry) && item.StackCount >= 5 && item.BagSlot != -1)
                {
                    WoWMovement.MoveStop();
                    Thread.Sleep(250);
                    Logging.Write(Colors.RoyalBlue, "[Milling]:Milling {0} I have {1}", item.Name, NumOfItemsInBag(item.Entry));
                    SpellManager.Cast(51005);
                    Lua.DoString(string.Format("UseContainerItem({0}, {1})", item.BagIndex + 1, item.BagSlot + 1));
                    Thread.Sleep(2500);
                }
                if (StyxWoW.Me.FreeNormalBagSlots <= 2)
                {
                    Logging.Write(Colors.Red, "Stopping Because Free Bagspace");
                    break;
                }
            }


and here's one for the inks, which requires a bit of space management as well.

Code:
        public static List<uint> _Inklist = new List<uint>
        {
            // INKS
            39151, //Alabaster Pigment
            39334, //Dusky Pigment
            43103, //Verdant Pigment
            39338, //Golden Pigment
            43104, //Burnt Pigment
            39339, //Emerald Pigment
            43105, //Indigo Pigment
            39340, //Violet Pigment
            43106, //Ruby Pigment
            39341, //Silvery Pigment
            43107, //Sapphire Pigment
            39342, //Nether Pigment
            43108, //Ebon Pigment = Pig16
            39343, //Azure Pigment
            43109, //Icy Pigment
            61979, //Ashen Pigment
            61980, //Burning Embers
            79253, //Misty Pigment = Pig17
            79251, //Shadow Pigment = Pig18
        };

here's the excerpt from Allrounder for how it manages ink creation,
it doesn't use nested loops, so it can be made smaller with dictionaries & lists (or arrays)

(but i'm terrible with C# ) and,

to be honest, i have no idea why Allrounder uses this line (i have a feeling it's redundant) in the ink production,

Lua.DoString(string.Format("UseContainerItem({0}, {1})", item.BagIndex + 1, item.BagSlot + 1));

because as far as i can tell, there's nothing that happens if you "use" the pigment, it just puts the current pigment into the bank or vendor to sell.

From experience, it does.

Code:
public static void Inkingspell()
        {
            foreach (WoWItem item in StyxWoW.Me.BagItems)
            {
                if (_Inklist.Contains(item.Entry))
                {
                    if (item.Entry == 39343 && item.StackCount >= 2)
                    {

                        WoWMovement.MoveStop();
                        Thread.Sleep(250);
                        while (NumOfItemsInBag(item.Entry) >= 2)

                        {
                            WoWSpell Pig = WoWSpell.FromId(57715);
                            SpellManager.Cast(Pig);
                            Logging.Write(Colors.Purple, "[Inking]:Inking {0} I have {1}", item.Name, NumOfItemsInBag(item.Entry));
                            // Lua.DoString(string.Format("UseContainerItem({0}, {1})", item.BagIndex + 1, item.BagSlot + 1));
                            Thread.Sleep(2500);
                        }

here's some Dictionaries, to link the SpellID to cast for each ink, linked to the item.Entry.
Code:
{
	public static Inks // dictionary (uint Item, uint SpellID)
        {  // INKS 
            // this dictionary can be used inside the loop for Item.Entry and SpellManager.Cast() to save code.
            [39151, 52738}, //"Alabaster Pigment"
            {39334, 53462}, //"Dusky Pigment"
            {43103, 57703}, //"Verdant Pigment"
            {39338, 57704}, //"Golden Pigment"
            {43104, 57706}, //"Burnt Pigment"
            {39339, 57707}, //"Emerald Pigment"
            {43105, 57708}, //"Indigo Pigment"
            {39340, 57709}, //"Violet Pigment"
            {43106, 57710}, //"Ruby Pigment"
            {39341, 57711}, //"Silvery Pigment"
            {43107, 57712}, //"Sapphire Pigment"
            {39342, 57713}, //"Nether Pigment"
            {43108, 57714}, //"Ebon Pigment"
            {39343, 57715}, //"Azure Pigment"
            {43109, 57716}, //"Icy Pigment"
            {61979, 86004}, //"Ashen Pigment"
            {61980, 86005}, //"Burning Embers"
            {79253, 111646}, //"Misty Pigment"
            {79251, 111645}, //"Shadow Pigment"
	}
}
	
public var Pigments = new Dictionary<int, string>
    {  // for reference use, and logging of data.
	{39151, "Alabaster Pigment"},
        {39334, "Dusky Pigment"},
        {43103, "Verdant Pigment"},
        {39338, "Golden Pigment"},
        {43104, "Burnt Pigment"},
        {39339, "Emerald Pigment"},
        {43105, "Indigo Pigment"},
        {39340, "Violet Pigment"},
        {43106, "Ruby Pigment"},
        {39341, "Silvery Pigment"},
        {43107, "Sapphire Pigment"},
        {39342, "Nether Pigment"},
        {43108, "Ebon Pigment"},
        {39343, "Azure Pigment"},
        {43109, "Icy Pigment"},
        {61979, "Ashen Pigment"},
        {61980, "Burning Embers"},
        {79253, "Misty Pigment"},
        {79251, "Shadow Pigment"},
    };
 
Thx for the lists. Will see what I can do with it to make Multi WoWClient.
 
SVN to latest version.

I changed the GUI and after a 1st test, it was working nice.

So, test it out and let me know if you want something more.

You can choose all the herbs you want to mill. So, it will not mill herbs that worth alot on the AH (GoldThorn for example). Herbs you want to keep, let it on false.

I tested with a few herbs, need testers with alot of herbs :)
 
SVN to latest version.

I changed the GUI and after a 1st test, it was working nice.

So, test it out and let me know if you want something more.

You can choose all the herbs you want to mill. So, it will not mill herbs that worth alot on the AH (GoldThorn for example). Herbs you want to keep, let it on false.

I tested with a few herbs, need testers with alot of herbs :)

I'll give it a whirl, but seriously it needs a tickbox to mill everything, I if am stupid enough to mill valuable herbs then it's my fault, not yours, picking them one by one means I have to pay attention, I just wanna go away and do something else while all my herbs get milled.

G
 
I'll give it a whirl, but seriously it needs a tickbox to mill everything, I if am stupid enough to mill valuable herbs then it's my fault, not yours, picking them one by one means I have to pay attention, I just wanna go away and do something else while all my herbs get milled.

G


With the new version you can check everything. Put everything on true and he will mill all your herbs and you still have the option to put some herbs on false to keep them.
 
Back
Top