Macro Index

Discussion in 'UOSteam' started by Weland, Oct 20, 2015.

  1. Weland

    Weland Wandering Squeeler

    Joined:
    Mar 26, 2015
    Messages:
    733
    Likes Received:
    259
    Trophy Points:
    63
    Gender:
    Male
    So as this forum grows over time I'm sure good macros will get buried in requests and flames so I'm going to try to keep this up to date as users post good macros and new macros I'll add them to this index which will be a one stop shop for posted macros. If you make changes or add a future macro that you want added to this index just @ me and I'll add it when I have a chance. Happy macroing :)!!

    ////////////////////////////////////
    // This macro is designed for //
    // training both magery and //
    // resist from 30. It is intended //
    // for characters with 40+ //
    // intelligence. //
    // //
    // Turn on loop and click play! //
    // //
    // ~~Made by kdivers~~ //
    ////////////////////////////////////
    if skill 'magery' < 100
    if @injournal 'insufficient mana'
    clearjournal
    useskill 'meditation'
    while mana < maxmana
    endwhile
    else
    if skill 'magery' < 30
    headmsg 'Buy more skill!'
    stop
    elseif skill 'magery' < 45
    cast 'bless' 'self'
    pause 1000
    elseif skill 'magery' < 55
    cast 'mana drain' 'self'
    pause 1000
    elseif skill 'magery' < 75
    cast 'invisibility' 'self'
    pause 1000
    elseif skill 'magery' < 100
    cast 'mana vampire' 'self'
    pause 1000
    else
    headmsg 'Magery complete!'
    stop
    endif
    endif
    elseif skill 'resisting spells' < 100
    if @injournal 'insufficient mana'
    clearjournal
    useskill 'meditation'
    while mana < maxmana
    endwhile
    else
    cast 'mana vampire' 'self'
    pause 1000
    endif
    else
    headmsg 'Magery and resisting spells complete!'
    stop
    endif
    per Rave GL
    if not @listexists 'Scrolls'
    createlist 'Scrolls'
    pushlist 'Scrolls' 0x1f66
    endif
    if mana < 30
    clearjournal
    useskill 'meditation'
    while mana < maxmana
    endwhile
    else
    if @counttype 0xfbf 0x0 'backpack' < 2
    movetype 0xfbf 'restock' 'backpack' 0 0 0 0x0 3
    pause 1000
    endif
    if not @findtype 0xfbf 0x0 'backpack'
    headmsg 'Get more Pens!'
    stop
    endif
    if not @findobject 'Completed'
    headmsg 'Select your Storage for Finished Goods'
    promptalias 'Completed'
    endif
    if not @findobject 'restock'
    headmsg 'Select the container with your materials'
    promptalias 'restock'
    useobject 'restock'
    endif
    if @counttype 0x1f66 0x0 'backpack' < 1
    movetype 0x1f66 'restock' 'backpack' 0 0 0 0x0 10
    pause 1000
    endif
    if @counttype 0xf88 0x0 'backpack' < 10
    movetype 0xf88 'restock' 'backpack' 0 0 0 0x0 50
    pause 1000
    endif
    if @counttype 0xf86 0x0 'backpack' < 10
    movetype 0xf86 'restock' 'backpack' 0 0 0 0x0 50
    pause 1000
    endif
    if @counttype 0xef3 0x0 'backpack' < 10
    movetype 0xef3 'restock' 'backpack' 0 0 0 0x0 50
    pause 1000
    endif
    if @counttype 0xf7b 0x0 'backpack' < 10
    movetype 0xf7b 'restock' 'backpack' 0 0 0 0x0 50
    pause 1000
    endif
    if @counttype 0xf7a 0x0 'backpack' < 10
    movetype 0xf7a 'restock' 'backpack' 0 0 0 0x0 50
    pause 1000
    endif
    if skill 'Magery' < 88
    headmsg 'Buy more skill!'
    stop
    elseif skill 'Magery' < 101
    if usetype 0xfbf 0x0 'backpack'
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 51
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 51
    waitforgump 0x38920abd 2000
    endif
    else
    headmsg 'Out of Stock!'
    stop
    endif
    if @counttype 0x1f4c 0x0 'backpack' > 10
    movetype 0x1f4c 'backpack' 'Completed'
    pause 1000
    endif
    endif
    pause 600
    per Rave GL
    ////////////////////////////////////
    // Go to any public moongate for //
    // this to work. Also, bring a //
    // ringmail tunic and sleeves. //
    // This macrois designed for //
    // training stealth from 0. //
    // //
    // Turn on loop and click play! //
    // //
    // ~~Made by kdivers~~ //
    ////////////////////////////////////
    if skill 'hiding' < 80
    headmsg 'Train your hiding to 80.0 first!'
    stop
    endif
    if not @findobject 'chest' and not @findtype 0x13ec 'any' 'self'
    headmsg 'Buy a ringmail tunic'
    stop
    else
    setalias 'chest' 'found'
    endif
    if not @findobject 'arms' and not @findtype 0x13ee 'any' 'self'
    headmsg 'Buy ringmail sleeves'
    stop
    else
    setalias 'arms' 'found'
    endif
    if skill 'stealth' < 80
    if usetype 0xf6c 'any' 'ground'
    waitforgump 0xe0e675b8 15000
    replygump 0xe0e675b8 1 1
    pause 10000
    useskill 'stealth'
    pause 600
    endif
    if usetype 0xf6c 'any' 'ground'
    waitforgump 0xe0e675b8 15000
    replygump 0xe0e675b8 1 0
    pause 10000
    useskill 'stealth'
    pause 600
    endif
    elseif skill 'stealth' < 100
    if not @findlayer 'self' 13
    @equipitem 'chest' 13
    pause 600
    endif
    if not @findlayer 'self' 19
    @equipitem 'arms' 19
    pause 600
    endif
    if usetype 0xf6c 'any' 'ground'
    waitforgump 0xe0e675b8 15000
    replygump 0xe0e675b8 1 1
    pause 10000
    useskill 'stealth'
    pause 600
    endif
    if usetype 0xf6c 'any' 'ground'
    waitforgump 0xe0e675b8 15000
    replygump 0xe0e675b8 1 0
    pause 10000
    useskill 'stealth'
    pause 600
    endif
    endif
    per Rave GL
    //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    //$$ Sort Yer Shit
    //$$ By: Amonseti
    //$$ V 2.5
    //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    //
    //?????????????????????????????????????????????????????????????????????
    //??? USAGE GUIDE LINES:
    //??? This macro requires the character to have Item Identification
    //??? skill, it is recomended to be 100. not haveing guranteed id's
    //??? could be costly ..
    //???
    //??? Macro will sort thru all items of one container and separate
    //??? all weapons and armor into 2 bags. A Junk bag and a Keeper Bag.
    //???
    //??? have ready 3 bags the first bag is the source bag containing all
    //??? the items you want sorted. the 2nd bag is the junk bag, any
    //??? weapons or armor that is id'ed and not meeting the keep requirments
    //??? is placed into this bag to be sold or trashed what ever you want
    //??? to do with it.
    //???
    //??? and finally the 3rd bag is the keeper bag.. items placed into
    //??? this bag must meet any 1 of the following conditions:
    //??? A) Any weapons that are Vanquishing.
    //??? B) Any Weapons that are Power.
    //??? C) Any Weapons with a Slayer attribute.
    //??? D) Any armor or shield of Invulnerability.
    //??? E) All leather or studded armor reguardless of quality.
    //???
    //??? Run the Macro and follow the prompting instructions.
    //???
    //?????????????????????????????????????????????????????????????????????
    // !!*** Init Data ***!!
    @clearjournal
    unsetalias 'bagtosort'
    unsetalias 'stufftosell'
    unsetalias 'stufftokeep'
    // !! user Input
    if not @findobject 'bagtosort'
    headmsg 'Select From Bag' '2124'
    promptalias 'bagtosort'
    endif
    pause 700
    // !! user Input
    if not @findobject 'stufftosell'
    headmsg 'Select Junk Bag' '38'
    promptalias 'stufftosell'
    endif
    pause 700
    // !! user Input
    if not @findobject 'stufftokeep'
    headmsg 'Select Keeper Bag' '58'
    promptalias 'stufftokeep'
    endif
    pause 700
    //
    // !! Static Data
    if not listexists 'ItemTypes'
    createlist 'ItemTypes'
    endif
    useobject 'bagtosort'
    useobject 'stufftosell'
    useobject 'stufftokeep'
    clearlist 'ItemTypes'
    //Shields
    @pushlist 'ItemTypes' 0x1b72 //BronzeShields
    @pushlist 'ItemTypes' 0x1b73 //Buckler
    @pushlist 'ItemTypes' 0x1b7b //MetalShield
    @pushlist 'ItemTypes' 0x1b74 //Metal Kite Shield
    @pushlist 'ItemTypes' 0x1b79 //Tear Kite Shield
    @pushlist 'ItemTypes' 0x1b7a //WoodenShield
    @pushlist 'ItemTypes' 0x1b76 //HeaterShield
    //Bone Armor
    @pushlist 'ItemTypes' 0x1451 //Bone Helmet
    @pushlist 'ItemTypes' 0x144f //Bone Armor
    @pushlist 'ItemTypes' 0x1452 //Bone Leggings
    @pushlist 'ItemTypes' 0x144e //Bone Arms
    @pushlist 'ItemTypes' 0x1450 //Bone Gloves
    //Platemail
    @pushlist 'ItemTypes' 0x1408 //Close Helmet
    @pushlist 'ItemTypes' 0x1410 //Platemail Arms
    @pushlist 'ItemTypes' 0x1411 //Platemail Legs
    @pushlist 'ItemTypes' 0x1412 //Plate Helm
    @pushlist 'ItemTypes' 0x1413 //Plate Gorget
    @pushlist 'ItemTypes' 0x1414 //Platemail Gloves
    @pushlist 'ItemTypes' 0x1415 //Plate Chest
    @pushlist 'ItemTypes' 0x140a //Helmet
    @pushlist 'ItemTypes' 0x140c //Bascinet
    @pushlist 'ItemTypes' 0x140e //Norse Helm
    //Chainmail
    @pushlist 'ItemTypes' 0x13bb //Chainmail Coif
    @pushlist 'ItemTypes' 0x13be //Chainmail Leggins
    @pushlist 'ItemTypes' 0x13bf //Chainmail Tunic
    //Ringmail
    @pushlist 'ItemTypes' 0x13ee //Ringmail Sleeves
    @pushlist 'ItemTypes' 0x13eb //Ringmail Gloves
    @pushlist 'ItemTypes' 0x13ec //Ringmail Tunic
    @pushlist 'ItemTypes' 0x13f0 //Ringmail Leggins
    //Studded
    @pushlist 'ItemTypes' 0x13da //Studded Leggings
    @pushlist 'ItemTypes' 0x13db //Studded Tunic
    @pushlist 'ItemTypes' 0x13d5 //Studded Gloves
    @pushlist 'ItemTypes' 0x13d6 //Studded Gorget
    @pushlist 'ItemTypes' 0x13dc //Studded Sleeves
    //Leather
    @pushlist 'ItemTypes' 0x13c6 //Leather Gloves
    @pushlist 'ItemTypes' 0x13cd //Leather Sleeves
    @pushlist 'ItemTypes' 0x13cc //Leather Tunic
    @pushlist 'ItemTypes' 0x13cb //Leather Pants
    @pushlist 'ItemTypes' 0x13c7 //Leather Gorget
    @pushlist 'ItemTypes' 0x1db9 //Leather Cap
    //Female Armor
    @pushlist 'ItemTypes' 0x1c04 //Female Plate
    @pushlist 'ItemTypes' 0x1c0c //Female Studded Bustier
    @pushlist 'ItemTypes' 0x1c02 //Female Studded Armor
    @pushlist 'ItemTypes' 0x1c00 //Female Leather Shorts
    @pushlist 'ItemTypes' 0x1c08 //Female Leather Skirt
    @pushlist 'ItemTypes' 0x1c06 //Female Leather Armor
    @pushlist 'ItemTypes' 0x1c0a //Female Leather Bustier
    //Fencing
    @pushlist 'ItemTypes' 0xf62 //Spear
    @pushlist 'ItemTypes' 0x1403 //Short Spear
    @pushlist 'ItemTypes' 0xe87 //Pitchfork
    @pushlist 'ItemTypes' 0x1405 //Warfork
    @pushlist 'ItemTypes' 0x1401 //Kryss
    @pushlist 'ItemTypes' 0xf52 //Dagger
    //Macing
    @pushlist 'ItemTypes' 0x13b0 //War axe
    @pushlist 'ItemTypes' 0xdf0 //Black Staff
    @pushlist 'ItemTypes' 0x1439 //War Hammer
    @pushlist 'ItemTypes' 0x1407 //War Mace
    @pushlist 'ItemTypes' 0xe89 //Quarter Staff
    @pushlist 'ItemTypes' 0x143d //Hammer Pick
    @pushlist 'ItemTypes' 0x13b4 //Club
    @pushlist 'ItemTypes' 0xe81 //Shepherds Crook
    @pushlist 'ItemTypes' 0x13f8 //Gnarled Staff
    @pushlist 'ItemTypes' 0xf5c //Mace
    @pushlist 'ItemTypes' 0x143b //Maul
    //Swords
    @pushlist 'ItemTypes' 0x13b9 //Viking Sword
    @pushlist 'ItemTypes' 0xf61 //Longsword
    @pushlist 'ItemTypes' 0x1441 //Cutlass
    @pushlist 'ItemTypes' 0x13b6 //Scimitar
    @pushlist 'ItemTypes' 0xec4 //Skinning Knife
    @pushlist 'ItemTypes' 0x13f6 //Butcher Knife
    @pushlist 'ItemTypes' 0xf5e //Broadsword
    @pushlist 'ItemTypes' 0x13ff //Katana
    @pushlist 'ItemTypes' 0xec3 //Cleaver
    //Axes
    @pushlist 'ItemTypes' 0xf43 //Hatchet
    @pushlist 'ItemTypes' 0xf45 //Executioner's Axe
    @pushlist 'ItemTypes' 0xf4d //Bardiche
    @pushlist 'ItemTypes' 0xf4b //Double Axe
    @pushlist 'ItemTypes' 0x143e //Halberd
    @pushlist 'ItemTypes' 0x13fb //Large Battle Axe
    @pushlist 'ItemTypes' 0x1443 //Two Handed Axe
    @pushlist 'ItemTypes' 0xf47 //Battle Axe
    @pushlist 'ItemTypes' 0xf49 //Axe
    @pushlist 'ItemTypes' 0xe85 //Pickaxe
    @pushlist 'ItemTypes' 0xe86 //Pickaxe
    //Bows
    @pushlist 'ItemTypes' 0x13fd //HeavyXbow
    @pushlist 'ItemTypes' 0xf50 //Xbow
    @pushlist 'ItemTypes' 0x13b2 //bow
    // !!*** End of Data Init ***!!
    //
    //
    //
    // !! cycle all items listed in var ItemTypes
    for 0 to 'ItemTypes'
    // !! Process all items found of current cyucled ItemType
    while @findtype 'ItemTypes[]' 'any' 'bagtosort'
    @clearjournal
    moveitem found 'stufftosell'
    // !! Id the item using Item ID Skill
    pause 1500
    useskill 'Item Identification'
    waitfortarget 15000
    target! found
    pause 1500
    //
    // !!*** Item to do conditionals ***!!
    // !!*** If any of these conditions are true
    // !!*** The Item is a keeper , (Sure wish we
    // !!*** Could use switchs bleh )
    // !!*****************************************!!
    if @injournal 'Silver' 'system'
    moveitem found 'stufftokeep'
    headmsg 'Silver' '2213'
    @clearjournal
    elseif @injournal 'Vanquishing' 'system'
    moveitem found 'stufftokeep'
    headmsg 'Vanquishing' '2213'
    @clearjournal
    elseif @injournal 'Power' 'system'
    moveitem found 'stufftokeep'
    headmsg 'Power' '2213'
    @clearjournal
    elseif @injournal 'Exorcism' 'system'
    moveitem found 'stufftokeep'
    headmsg 'Exorcisim' '2213'
    @clearjournal
    elseif @injournal 'Air' 'system'
    moveitem found 'stufftokeep'
    headmsg 'Air' '2213'
    @clearjournal
    elseif @injournal 'Daemon' 'system'
    moveitem found 'stufftokeep'
    headmsg 'Daemon' '2213'
    @clearjournal
    elseif @injournal 'Gargoyle' 'system'
    moveitem found 'stufftokeep'
    headmsg 'Gargoyle' '2213'
    @clearjournal
    elseif @injournal 'Fey' 'system'
    moveitem found 'stufftokeep'
    headmsg 'Fey' '2213'
    @clearjournal
    elseif @injournal 'Respond' 'system'
    moveitem found 'stufftokeep'
    headmsg 'Respond' '2213'
    @clearjournal
    elseif @injournal 'Repond' 'system'
    moveitem found 'stufftokeep'
    headmsg 'Repond' '2213'
    @clearjournal
    elseif @injournal 'Vacuum' 'system'
    moveitem found 'stufftokeep'
    headmsg 'Vacuum' '2213'
    @clearjournal
    elseif @injournal 'Flame' 'system'
    moveitem found 'stufftokeep'
    headmsg 'Flame' '2213'
    @clearjournal
    elseif @injournal 'Elemental' 'system'
    moveitem found 'stufftokeep'
    headmsg 'Elemental' '2213'
    @clearjournal
    elseif @injournal 'Earth' 'system'
    moveitem found 'stufftokeep'
    headmsg 'Earth' '2213'
    @clearjournal
    elseif @injournal 'Water' 'system'
    moveitem found 'stufftokeep'
    headmsg 'Water' '2213'
    @clearjournal
    elseif @injournal 'Ogre' 'system'
    moveitem found 'stufftokeep'
    headmsg 'Ogre' '2213'
    @clearjournal
    elseif @injournal 'Orc' 'system'
    moveitem found 'stufftokeep'
    headmsg 'Orc' '2213'
    @clearjournal
    elseif @injournal 'Arachnid' 'system'
    moveitem found 'stufftokeep'
    headmsg 'Arachnid' '2213'
    @clearjournal
    elseif @injournal 'Spider' 'system'
    moveitem found 'stufftokeep'
    headmsg 'Spider' '2213'
    @clearjournal
    elseif @injournal 'Scorpion' 'system'
    moveitem found 'stufftokeep'
    headmsg 'Scorpion' '2213'
    @clearjournal
    elseif @injournal 'Terathan' 'system'
    moveitem found 'stufftokeep'
    headmsg 'Terathan' '2213'
    @clearjournal
    elseif @injournal 'Reptile' 'system'
    moveitem found 'stufftokeep'
    headmsg 'Reptile' '2213'
    @clearjournal
    elseif @injournal 'Dragon' 'system'
    headmsg 'Dragon' '2213'
    moveitem found 'stufftokeep'
    @clearjournal
    elseif @injournal 'Lizardman' 'system'
    moveitem found 'stufftokeep'
    headmsg 'Lizardman' '2213'
    @clearjournal
    elseif @injournal 'Ophidian' 'system'
    moveitem found 'stufftokeep'
    headmsg 'Ophidan' '2213'
    @clearjournal
    elseif @injournal 'Snake' 'system'
    moveitem found 'stufftokeep'
    headmsg 'Snake' '2213'
    @clearjournal
    elseif @injournal 'Undead' 'system'
    moveitem found 'stufftokeep'
    headmsg 'Undead' '2213'
    @clearjournal
    elseif @injournal 'Blood' 'system'
    moveitem found 'stufftokeep'
    headmsg 'Blood' '2213'
    @clearjournal
    elseif @injournal 'Poison' 'system'
    moveitem found 'stufftokeep'
    headmsg 'Poison' '2213'
    @clearjournal
    elseif @injournal 'Troll' 'system'
    moveitem found 'stufftokeep'
    headmsg 'Troll' '2213'
    @clearjournal
    elseif @injournal 'Fire' 'system'
    moveitem found 'stufftokeep'
    headmsg 'Fire' '2213'
    @clearjournal
    elseif @injournal 'Snow' 'system'
    moveitem found 'stufftokeep'
    headmsg 'Snow' '2213'
    @clearjournal
    elseif @injournal 'Demon' 'system'
    moveitem found 'stufftokeep'
    headmsg 'Demon' '2213'
    @clearjournal
    elseif @injournal 'Balron' 'system'
    moveitem found 'stufftokeep'
    headmsg 'Balron' '2213'
    @clearjournal
    //
    elseif @injournal 'Invulnerability' 'system'
    moveitem found 'stufftokeep'
    headmsg 'Invulnerability' '2213'
    @clearjournal
    elseif @injournal 'Leather Gloves' 'system'
    moveitem found 'stufftokeep'
    headmsg 'Leather Gloves' '2213'
    @clearjournal
    elseif @injournal 'Leather Sleeves' 'system'
    moveitem found 'stufftokeep'
    headmsg 'Leather Sleeves' '2213'
    @clearjournal
    elseif @injournal 'Leather Tunic' 'system'
    moveitem found 'stufftokeep'
    headmsg 'Leather Tunic' '2213'
    @clearjournal
    elseif @injournal 'Leather Leggings' 'system'
    moveitem found 'stufftokeep'
    headmsg 'Leather Leggings' '2213'
    @clearjournal
    elseif @injournal 'Leather Gorget' 'system'
    moveitem found 'stufftokeep'
    headmsg 'Leather Gorget' '2213'
    @clearjournal
    elseif @injournal 'Leather Cap' 'system'
    moveitem found 'stufftokeep'
    headmsg 'Leather Cap' '2213'
    @clearjournal
    elseif @injournal 'studded' 'system'
    moveitem found 'stufftokeep'
    headmsg 'Studded Armor!!' '2213'
    @clearjournal
    endif
    @clearjournal
    endwhile
    endfor
    msg '[e whistle'
    headmsg 'All Done' '2124'
    stop
    per Amonseti
    if not listexists 'home'
    createlist 'home'
    pushlist 'home' 0x401fb957 //serial for runebook for char 1
    pushlist 'home' 0x4048cd67 //serial for runebook for char 2
    pushlist 'home' 0x40725d1b //serial for runebook for char 3
    pushlist 'home' 0x41b25eac //serial for runebook for char 4
    pushlist 'home' 0x4048603a //serial for etc
    endif
    while @findtype 0x22c5 'any' 'backpack'
    ignoreobject 'found'
    for 0 to 'home'
    if @Serial 'found' == serial 'home[]'
    if @Serial 'found' == serial 0x41b25eac //for tamers, remove if statement if your not a tamer
    msg 'all come'
    msg 'all come'
    endif
    cast "Recall"
    waitfortarget 2000
    target! 'found'
    break
    endif
    endfor
    endwhile
    clearignorelist
    per Rave GL
    if not listexists 'swapweapons'

    createlist 'swapweapons'

    endif

    if list 'swapweapons' < 1

    pushlist 'swapweapons' 0x41cebcd4 //set serial here

    pushlist 'swapweapons' 0x41cebe3d //set serial here

    endif

    if findobject 'lefthand'

    clearhands 'both'

    pause 500

    endif

    equipitem swapweapons[0] 1

    poplist 'swapweapons' 'front'
    per Eppy
    // $$$$$$$$ UOF Auto Blacksmith SBOD filler $$$$$$$
    // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    // ?? By Amonseti
    // ?? V3.5
    // ??????????????????????????????????????????????????
    // ??
    // ?? This Macro will fill several Small BODS of any
    // ?? ore type.
    // ??
    // ?? USAGE:
    // ?? Obsiously Blacksmithing skill is required.
    // ?? Mining is a Plus for smelting falez.
    // ?? This macro will auto make tool (Tongs) Required
    // ?? for smithing items.
    // ?? 5 unique/seprate Containers are required
    // ?? as follows:
    // ?? - A Source BOD Container with all the unfilled
    // ?? sbods you want processed.
    // ?? - A Container where the fully completed sbods
    // ?? will be placed.
    // ?? - A Container where any sbod the macro was unable
    // ?? to complete will go.
    // ?? - A Container filled with all types of ingots
    // ?? that will be used to create smithy items to
    // ?? fill bods with.
    // ?? - and finally a trash Container for trash .
    // ??
    // ?? Thats it run the macro and follow the prompts.
    // ??
    // ???????????????????????????????????????
    //
    // !!*** Init Data ***!!
    unsetalias 'sourceBODS'
    if not @findobject 'sourceBODS'
    headmsg 'Select source BODS Bag' '2124'
    promptalias 'sourceBODS'
    endif
    //
    unsetalias 'completedBODS'
    if not @findobject 'completedBODS'
    headmsg 'Select completed BODS Bag' '58'
    promptalias 'completedBODS'
    endif
    //
    unsetalias 'unfinishedBODS'
    if not @findobject 'unfinishedBODS'
    headmsg 'Select unfinished BODS Bag' '48'
    promptalias 'unfinishedBODS'
    endif
    //
    unsetalias 'ingotsbag'
    if not @findobject 'ingotsbag'
    headmsg 'Select ingots Bag' '2124'
    promptalias 'ingotsbag'
    endif
    //
    unsetalias 'trashbag'
    if not @findobject 'trashbag'
    headmsg 'Select trash Bag' '38'
    promptalias 'trashbag'
    endif
    //---------------------------------------------------------
    @clearjournal
    // !!*** Vars for item
    @clearlist 'ingotColor'
    @createlist 'ingotColor'
    //
    @clearlist 'CraftInfoBS'
    @createlist 'CraftInfoBS'
    // !!*** array (object hack)blueprint:
    // !! index [0] is the graphic id
    // !! index [1] is the bs tool gump 1st click (catagory)
    // !! index [2] is the bs tool gump 2nd click (Item)
    // !! index [3] is the ingot color
    // !! index [4] is the number of ingots required
    //---------------------------------------------------------
    //
    // !!*** Cycle thru all BOD's found in the bod source bag.
    while @findtype 0x14ef 'any' 'sourceBODS'
    @setalias 'bod' 'found'
    moveitem 'bod' 'backpack'
    pause 1000
    useobject! 'bod'
    waitforgump 0x5afbd742 5000
    //
    if @ingump 0xa125b54a 'a large'
    moveitem 'bod' 'unfinishedBODS'
    pause 250
    headmsg 'This is a large bod moving to incomplete container' '48'
    unsetalias 'bod'
    else
    // ########### set ore type ###############
    @clearlist 'ingotColor'
    @createlist 'ingotColor'
    pause 250
    // !!*** Check for Tongs and make 1 if needed
    if not @findtype '0xfbb' '0' 'backpack' 'any' '2'
    headmsg 'No Tongs Found' '2498'
    //
    if @movetype 0x1BF2 'ingotsbag' 'backpack' 0 0 0 '0' '1'
    pause 600
    if @usetype 0x1eb8 'any' 'backpack'
    headmsg 'Making Tongs' '2124'
    pause 1000
    useobject 0x405a4d7d
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 86
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 0
    pause 2000
    else
    headmsg 'No tinker tools found' '38'
    headmsg 'BOD Operation stopped' '38'
    stop
    endif
    else
    headmsg 'Totally Out of Iron Ore' '38'
    headmsg 'BOD Operation stopped' '38'
    stop
    endif
    //
    //
    else
    // headmsg 'Tongs avalible'
    endif
    //--------------------------------------------
    // !!*** Open smithing gump to set Ore type
    if usetype 0xfbb 'any' 'backpack'
    if @ingump 0x5afbd742 'dull copper'
    headmsg 'set to dull copper' '1045'
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 7
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 13
    pause 250
    @pushlist 'ingotColor' 1045
    elseif @ingump 0x5afbd742 'shadow'
    headmsg 'set to Shadow Iron' '1109'
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 7
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 20
    pause 250
    @pushlist 'ingotColor' 1109
    elseif @ingump 0x5afbd742 'copper'
    headmsg 'set to Copper' '1119'
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 7
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 27
    pause 250
    @pushlist 'ingotColor' 1119
    elseif @ingump 0x5afbd742 'Bronze'
    headmsg 'set to Bronze' '1752'
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 7
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 34
    pause 250
    @pushlist 'ingotColor' 1752
    elseif @ingump 0x5afbd742 'gold'
    headmsg 'set to Gold' '1719'
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 7
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 41
    pause 250
    @pushlist 'ingotColor' 1719
    elseif @ingump 0x5afbd742 'agapite'
    headmsg 'set to Agapite' '2430'
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 7
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 48
    pause 250
    @pushlist 'ingotColor' 2430
    elseif @ingump 0x5afbd742 'verite'
    headmsg 'set to Verite' '2002'
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 7
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 55
    pause 250
    @pushlist 'ingotColor' 2002
    elseif @ingump 0x5afbd742 'valorite'
    headmsg 'set to Valorite' '1348'
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 7
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 62
    pause 250
    @pushlist 'ingotColor' 1348
    else
    headmsg 'set to Iron' '896'
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 7
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 6
    pause 250
    @pushlist 'ingotColor' 0
    endif
    //
    ////--------
    // !!*** Set Array (Object) Params
    @clearlist 'CraftInfoBS'
    @createlist 'CraftInfoBS'
    //
    if @ingump 0x5afbd742 'ringmail gloves'
    headmsg 'ringmail gloves' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0x13eb
    @pushlist 'CraftInfoBS' 8
    @pushlist 'CraftInfoBS' 2
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 10
    // -------------------------------
    elseif @ingump 0x5afbd742 'ringmail leggings'
    headmsg 'ringmail leggings' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0x13f0
    @pushlist 'CraftInfoBS' 8
    @pushlist 'CraftInfoBS' 9
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 16
    // -------------------------------
    elseif @ingump 0x5afbd742 'ringmail sleeves'
    headmsg 'ringmail sleeves' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0x13ee
    @pushlist 'CraftInfoBS' 8
    @pushlist 'CraftInfoBS' 16
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 14
    // -------------------------------
    elseif @ingump 0x5afbd742 'ringmail tunic'
    headmsg 'ringmail tunic' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0x13ec
    @pushlist 'CraftInfoBS' 8
    @pushlist 'CraftInfoBS' 23
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 18
    // -------------------------------
    //
    //
    // Chainmail
    elseif @ingump 0x5afbd742 'chainmail coif'
    headmsg 'chainmail coif' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0x13bb
    @pushlist 'CraftInfoBS' 15
    @pushlist 'CraftInfoBS' 2
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 10
    // -------------------------------
    elseif @ingump 0x5afbd742 'chainmail leggings'
    headmsg 'chainmail leggings' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0x13be
    @pushlist 'CraftInfoBS' 15
    @pushlist 'CraftInfoBS' 9
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 18
    // -------------------------------
    elseif @ingump 0x5afbd742 'chainmail tunic'
    headmsg 'chainmail tunic' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0x13bf
    @pushlist 'CraftInfoBS' 15
    @pushlist 'CraftInfoBS' 16
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 20
    // -------------------------------
    //
    //
    //
    //
    //
    // Platemail
    elseif @ingump 0x5afbd742 'platemail arms'
    headmsg 'platemail arms' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0x1410
    @pushlist 'CraftInfoBS' 22
    @pushlist 'CraftInfoBS' 2
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 18
    // -------------------------------
    elseif @ingump 0x5afbd742 'platemail gloves'
    headmsg 'platemail gloves' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0x1414
    @pushlist 'CraftInfoBS' 22
    @pushlist 'CraftInfoBS' 9
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 12
    // -------------------------------
    elseif @ingump 0x5afbd742 'platemail gorget'
    headmsg 'platemail gorget' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0x1413
    @pushlist 'CraftInfoBS' 22
    @pushlist 'CraftInfoBS' 16
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 10
    // -------------------------------
    elseif @ingump 0x5afbd742 'platemail legs'
    headmsg 'platemail legs' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0x1411
    @pushlist 'CraftInfoBS' 22
    @pushlist 'CraftInfoBS' 23
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 20
    // -------------------------------
    elseif @ingump 0x5afbd742 'platemail tunic'
    headmsg 'platemail tunic' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0x1415
    @pushlist 'CraftInfoBS' 22
    @pushlist 'CraftInfoBS' 30
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 25
    // -------------------------------
    elseif @ingump 0x5afbd742 'female plate'
    headmsg 'female plate' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0x1c04
    @pushlist 'CraftInfoBS' 22
    @pushlist 'CraftInfoBS' 37
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 20
    // -------------------------------
    //
    // Helmets
    elseif @ingump 0x5afbd742 'bascinet'
    headmsg 'bascinet' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0x140c
    @pushlist 'CraftInfoBS' 29
    @pushlist 'CraftInfoBS' 2
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 15
    // -------------------------------
    elseif @ingump 0x5afbd742 'close helmet'
    headmsg 'close helmet' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0x1408
    @pushlist 'CraftInfoBS' 29
    @pushlist 'CraftInfoBS' 9
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 15
    // -------------------------------
    elseif @ingump 0x5afbd742 'helmet'
    headmsg 'helmet' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0x140a
    @pushlist 'CraftInfoBS' 29
    @pushlist 'CraftInfoBS' 16
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 15
    // -------------------------------
    elseif @ingump 0x5afbd742 'norse helm'
    headmsg 'norse helm' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0x140e
    @pushlist 'CraftInfoBS' 29
    @pushlist 'CraftInfoBS' 23
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 15
    // -------------------------------
    elseif @ingump 0x5afbd742 'plate helm'
    headmsg 'plate helm' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0x1412
    @pushlist 'CraftInfoBS' 29
    @pushlist 'CraftInfoBS' 30
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 15
    // -------------------------------
    //
    // Shields
    elseif @ingump 0x5afbd742 'buckler'
    headmsg 'buckler' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0x1b73
    @pushlist 'CraftInfoBS' 36
    @pushlist 'CraftInfoBS' 2
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 10
    // -------------------------------
    elseif @ingump 0x5afbd742 'bronze shield'
    headmsg 'bronze shield' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0x1b72
    @pushlist 'CraftInfoBS' 36
    @pushlist 'CraftInfoBS' 9
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 12
    // -------------------------------
    elseif @ingump 0x5afbd742 'heater shield'
    headmsg 'heater shield' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0x1b76
    @pushlist 'CraftInfoBS' 36
    @pushlist 'CraftInfoBS' 16
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 18
    // -------------------------------
    elseif @ingump 0x5afbd742 'metal shield'
    headmsg 'metal shield' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0x1b7b
    @pushlist 'CraftInfoBS' 36
    @pushlist 'CraftInfoBS' 23
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 14
    // -------------------------------
    elseif @ingump 0x5afbd742 'metal kite shield'
    headmsg 'metal kite shield' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0x1b74
    @pushlist 'CraftInfoBS' 36
    @pushlist 'CraftInfoBS' 30
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 16
    // -------------------------------
    elseif @ingump 0x5afbd742 'tear kite shield'
    headmsg 'tear kite shield' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0x1b79
    @pushlist 'CraftInfoBS' 36
    @pushlist 'CraftInfoBS' 37
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 8
    // -------------------------------
    //
    // Bladed
    elseif @ingump 0x5afbd742 'broadsword'
    headmsg 'broadsword' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0xf5e
    @pushlist 'CraftInfoBS' 43
    @pushlist 'CraftInfoBS' 2
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 10
    // -------------------------------
    elseif @ingump 0x5afbd742 'cutlass'
    headmsg 'cutlass' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0x1441
    @pushlist 'CraftInfoBS' 43
    @pushlist 'CraftInfoBS' 9
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 8
    // -------------------------------
    elseif @ingump 0x5afbd742 'dagger'
    headmsg 'dagger' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0xf52
    @pushlist 'CraftInfoBS' 43
    @pushlist 'CraftInfoBS' 16
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 3
    // -------------------------------
    elseif @ingump 0x5afbd742 'katana'
    headmsg 'katana' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0x13ff
    @pushlist 'CraftInfoBS' 43
    @pushlist 'CraftInfoBS' 23
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 8
    // -------------------------------
    elseif @ingump 0x5afbd742 'kryss'
    headmsg 'kryss' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0x1401
    @pushlist 'CraftInfoBS' 43
    @pushlist 'CraftInfoBS' 30
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 8
    // -------------------------------
    elseif @ingump 0x5afbd742 'longsword'
    headmsg 'longsword' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0xf61
    @pushlist 'CraftInfoBS' 43
    @pushlist 'CraftInfoBS' 37
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 12
    // -------------------------------
    elseif @ingump 0x5afbd742 'scimitar'
    headmsg 'scimitar' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0x13b6
    @pushlist 'CraftInfoBS' 43
    @pushlist 'CraftInfoBS' 44
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 10
    // -------------------------------
    elseif @ingump 0x5afbd742 'viking sword'
    headmsg 'viking sword' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0x13b9
    @pushlist 'CraftInfoBS' 43
    @pushlist 'CraftInfoBS' 51
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 14
    // -------------------------------
    //
    // Axes
    elseif @ingump 0x5afbd742 'large battle axe'
    headmsg 'large battle axe' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0x13fb
    @pushlist 'CraftInfoBS' 50
    @pushlist 'CraftInfoBS' 30
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 12
    // -------------------------------
    elseif @ingump 0x5afbd742 'double axe'
    headmsg 'double axe' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0xf4b
    @pushlist 'CraftInfoBS' 50
    @pushlist 'CraftInfoBS' 16
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 12
    // -------------------------------
    elseif @ingump 0x5afbd742 "executioner's axe"
    headmsg "executioners axe" '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0xf45
    @pushlist 'CraftInfoBS' 50
    @pushlist 'CraftInfoBS' 23
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 14
    // -------------------------------
    elseif @ingump 0x5afbd742 'battle axe'
    headmsg 'battle axe' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0xf47
    @pushlist 'CraftInfoBS' 50
    @pushlist 'CraftInfoBS' 9
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 14
    // -------------------------------
    elseif @ingump 0x5afbd742 'two handed axe'
    headmsg 'two handed axe' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0x1443
    @pushlist 'CraftInfoBS' 50
    @pushlist 'CraftInfoBS' 37
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 16
    // -------------------------------
    elseif @ingump 0x5afbd742 'war axe'
    headmsg 'war axe' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0x13b0
    @pushlist 'CraftInfoBS' 50
    @pushlist 'CraftInfoBS' 44
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 16
    // -------------------------------
    elseif @ingump 0x5afbd742 'axe'
    headmsg 'axe' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0xf49
    @pushlist 'CraftInfoBS' 50
    @pushlist 'CraftInfoBS' 2
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 14
    // -------------------------------
    //
    // Polearms
    elseif @ingump 0x5afbd742 'bardiche'
    headmsg 'bardiche' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0xf4d
    @pushlist 'CraftInfoBS' 57
    @pushlist 'CraftInfoBS' 2
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 18
    // -------------------------------
    elseif @ingump 0x5afbd742 'halberd'
    headmsg 'halberd' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0x143e
    @pushlist 'CraftInfoBS' 57
    @pushlist 'CraftInfoBS' 9
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 20
    // -------------------------------
    elseif @ingump 0x5afbd742 'short spear'
    headmsg 'short spear' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0x1403
    @pushlist 'CraftInfoBS' 57
    @pushlist 'CraftInfoBS' 16
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 6
    // -------------------------------
    elseif @ingump 0x5afbd742 'spear'
    headmsg 'spear' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0xf62
    @pushlist 'CraftInfoBS' 57
    @pushlist 'CraftInfoBS' 23
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 12
    // -------------------------------
    elseif @ingump 0x5afbd742 'war fork'
    headmsg 'war fork' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0x1405
    @pushlist 'CraftInfoBS' 57
    @pushlist 'CraftInfoBS' 30
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 12
    // -------------------------------
    //
    // Bashing
    elseif @ingump 0x5afbd742 'war mace'
    headmsg 'war mace' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0x1407
    @pushlist 'CraftInfoBS' 64
    @pushlist 'CraftInfoBS' 23
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 14
    // -------------------------------
    elseif @ingump 0x5afbd742 'hammer pick'
    headmsg 'hammer pick' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0x143d
    @pushlist 'CraftInfoBS' 64
    @pushlist 'CraftInfoBS' 2
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 16
    // -------------------------------
    elseif @ingump 0x5afbd742 'mace'
    headmsg 'mace' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0xf5c
    @pushlist 'CraftInfoBS' 64
    @pushlist 'CraftInfoBS' 9
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 6
    // -------------------------------
    elseif @ingump 0x5afbd742 'maul'
    headmsg 'maul' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0x143b
    @pushlist 'CraftInfoBS' 64
    @pushlist 'CraftInfoBS' 16
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 10
    // -------------------------------
    elseif @ingump 0x5afbd742 'war hammer'
    headmsg 'war hammer' '2124'
    // ---Data------------------------
    @pushlist 'CraftInfoBS' 0x1439
    @pushlist 'CraftInfoBS' 64
    @pushlist 'CraftInfoBS' 30
    @pushlist 'CraftInfoBS' ingotColor[0]
    @pushlist 'CraftInfoBS' 16
    // -------------------------------
    //
    else
    moveitem 'bod' 'unfinishedBODS'
    pause 250
    headmsg 'Not a valid bod' '48'
    unsetalias 'bod'
    // !!*** send to unfinshed
    endif
    // ########### End of Set Item Data
    //******************************************************************
    //******************************************************************
    //*************** Create item and fill bod with it *****************
    //******************************************************************
    //******************************************************************
    while not @injournal 'The maximum' 'system'
    replygump 0x5afbd742 2
    waitforgump 0x5afbd742 500
    headmsg 'Checking if BOD is filled. One moment' '2124'
    // !!*** Check if the bod has been filled alredy
    if @injournal 'The maximum' 'system'
    headmsg 'This BOD Has Been Filled.' '58'
    else
    // !!*** bod has not been filled
    // !!*** backup Check for Tongs and make 1 if needed
    if not @findtype '0xfbb' '0' 'backpack' 'any' '2'
    headmsg 'No Tongs Found' '2498'
    if @movetype 0x1BF2 'ingotsbag' 'backpack' 0 0 0 '0' '1'
    pause 600
    if @usetype 0x1eb8 'any' 'backpack'
    headmsg 'Making Tongs' '2498'
    pause 1000
    useobject 0x405a4d7d
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 86
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 0
    pause 1000
    else
    headmsg 'No tinker tools found' '38'
    headmsg 'BOD Operation stopped' '38'
    stop
    endif
    else
    headmsg 'Totally Out of Iron Ore' '38'
    headmsg 'BOD Operation stopped' '38'
    stop
    endif
    else
    //headmsg 'Tongs avalible'
    endif
    //--------------------------------------------
    // !!*** get ingots
    if @movetype 0x1BF2 'ingotsbag' 'backpack' 0 0 0 CraftInfoBS[3] CraftInfoBS[4]
    // !!*** Make item
    ///////////////////////
    if usetype 0xfbb 'any' 'backpack'
    waitforgump 0x38920abd 15000
    replygump 0x38920abd CraftInfoBS[1]
    waitforgump 0x38920abd 15000
    replygump 0x38920abd CraftInfoBS[2]
    pause 2500
    endif
    // !!*** Item made
    if @ingump 0x38920abd 'failed to create the item'
    headmsg 'You suck!!' '38'
    else
    headmsg 'good job' '58'
    // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    // !!*** Fill bod with created item
    headmsg 'target item to fill bod' '2124'
    waitfortarget 15000
    @targettype! CraftInfoBS[0] 'any' 'backpack'
    pause 500
    // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    // !!*** check if made item was supposed to be exceptional
    if @ingump 0x5afbd742 'All items must be exceptional' and not @ingump 0x38920abd 'exceptional'
    headmsg 'Smelt away your failz' '38'
    // !!*** Smelt the shit
    replygump 0x38920abd 14
    waitfortarget 5000
    @targettype! CraftInfoBS[0] 'any' 'backpack'
    pause 1500
    if @movetype 0x1BF2 'backpack' 'ingotsbag' 0 0 0 'any'
    endif
    pause 500
    endif
    //?????????
    // !!*** Unable to recycle, trash item
    if @findobject CraftInfoBS[0]
    @moveitem! 'found' 'Trashbag'
    pause 1500
    endif
    ///
    endif
    pause 500
    //<<<<<<<<<<<<<<<
    else
    sysmsg 'Out of ingots!' 25
    @canceltarget
    moveitem 'bod' 'unfinishedBODS'
    pause 250
    headmsg 'Not enough ingots to complete this bod' '48'
    unsetalias 'bod'
    break
    endif
    endif
    //
    //
    canceltarget
    headmsg '2 sec pause'
    pause 2000
    endwhile
    @clearjournal
    //******************************************************************
    //******************************************************************
    else
    headmsg 'would help if you had tongs fool'
    endif
    pause 500
    ///
    endif
    //------------------------------------------------
    pause 1000
    if @findobject 'bod'
    moveitem 'bod' 'completedBODS'
    pause 1000
    endif
    headmsg 'next bod'
    endwhile
    headmsg 'done' '58'
    msg '[e whistle'
    per Amonseti
    // $$$$$$$$ Cure Heal Pot Chugger $$$$$$$$
    // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    // ?? By Amonseti
    // ?? V2.1
    // ???????????????????????????????????????
    // ?? This macro only requires that there
    // ?? be Cure and / or Heal pots in the
    // ?? Main pack or any bag in the main.
    // ??
    // ?? Macro will first check if you are
    // ?? holding a weapon and clear your hands
    // ?? to allow for pot chuggins. It will
    // ?? then do a check to see if you are
    // ?? Poisoned and attempt to cure it.
    // ?? with a cure pot. other wise it will
    // ?? chug a heal pot.
    // ??
    // ?? When done the macro will automatically
    // ?? re-equip the weapon you were using..
    // ??
    // ???????????????????????????????????????
    // !! Check if holding a weapon !!
    if @findlayer 'self' 2
    // !! Unequip wep
    togglehands 'left'
    pause 600
    //
    // !! Check poison state
    if poisoned 'self'
    // !! Player is poisoned: Cure it
    if @findtype 0xf07 0 'backpack'
    @setalias 'Potion' 'found'
    useobject! 'Potion'
    else
    headmsg 'OUT!!! of Cure potions'
    endif
    else
    // !! Not poisoned: Heal wounds
    if @findtype 0xf0c 0 'backpack'
    @setalias 'Potion' 'found'
    useobject! 'Potion'
    else
    headmsg 'OUT!!! of Heal potions'
    endif
    endif
    //
    pause 600
    // !! Re-Equip Weapon player was holding
    togglehands 'left'
    else
    // !! Check poison state
    if poisoned 'self'
    // !! Player is poisoned: Cure it
    if @findtype 0xf07 0 'backpack'
    @setalias 'Potion' 'found'
    useobject! 'Potion'
    else
    headmsg 'OUT!!! of Cure potions'
    endif
    else
    // !! Not poisoned: Heal wounds
    if @findtype 0xf0c 0 'backpack'
    @setalias 'Potion' 'found'
    useobject! 'Potion'
    else
    headmsg 'OUT!!! of Heal potions'
    endif
    endif
    endif
    // !! Enjoy !!
    per Amonseti
    // $$$$$$$$$$$ Dex Pot Chugger $$$$$$$$$$$
    // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    // ?? By Amonseti
    // ?? V2.0
    // ???????????????????????????????????????
    // ?? This macro only requires that there
    // ?? be Dex pots in the Main pack or any
    // ?? bag in the main.
    // ??
    // ?? Macro will first check if you are
    // ?? holding a weapon and clear your hands
    // ?? to allow for pot chuggins.
    // ??
    // ?? When done the macro will automatically
    // ?? re-equip the weapon you were using..
    // ??
    // ???????????????????????????????????????
    //
    // !! Check if holding a weapon !!
    if @findlayer 'self' 2
    // !! Unequip wep
    togglehands 'left'
    pause 600
    //
    if @findtype 0xf08 0 'backpack'
    @setalias 'Potion' 'found'
    useobject! 'Potion'
    else
    headmsg 'OUT!!! of Dex potions'
    endif
    //
    pause 600
    // !! Re-Equip Weapon player was holding
    togglehands 'left'
    else
    if @findtype 0xf08 0 'backpack'
    @setalias 'Potion' 'found'
    useobject! 'Potion'
    else
    headmsg 'OUT!!! of Dex potions'
    endif
    endif
    per Amonseti
    // $$$$$$$$$$$ Stam Pot Chugger $$$$$$$$$$$
    // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    // ?? By Amonseti
    // ?? V2.0
    // ???????????????????????????????????????
    // ?? This macro only requires that there
    // ?? be Stamina pots in the Main pack or
    // ?? any bag in the main.
    // ??
    // ?? Macro will first check if you are
    // ?? holding a weapon and clear your hands
    // ?? to allow for pot chuggins.
    // ??
    // ?? When done the macro will automatically
    // ?? re-equip the weapon you were using..
    // ??
    // ???????????????????????????????????????
    //
    // !! Check if holding a weapon !!
    if @findlayer 'self' 2
    // !! Unequip wep
    togglehands 'left'
    pause 600
    //
    if @findtype 0xf0b 0 'backpack'
    @setalias 'Potion' 'found'
    useobject! 'Potion'
    else
    headmsg 'OUT!!! of Stamina potions'
    endif
    //
    pause 600
    // !! Re-Equip Weapon player was holding
    togglehands 'left'
    else
    if @findtype 0xf0b 0 'backpack'
    @setalias 'Potion' 'found'
    useobject! 'Potion'
    else
    headmsg 'OUT!!! of Stamina potions'
    endif
    endif
    per Amonseti
    // $$$$$$$$$$$ Str Pot Chugger $$$$$$$$$$$
    // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    // ?? By Amonseti
    // ?? V2.0
    // ???????????????????????????????????????
    // ?? This macro only requires that there
    // ?? be Str pots in the Main pack or any
    // ?? bag in the main.
    // ??
    // ?? Macro will first check if you are
    // ?? holding a weapon and clear your hands
    // ?? to allow for pot chuggins.
    // ??
    // ?? When done the macro will automatically
    // ?? re-equip the weapon you were using..
    // ??
    // ???????????????????????????????????????
    //
    // !! Check if holding a weapon !!
    if @findlayer 'self' 2
    // !! Unequip wep
    togglehands 'left'
    pause 600
    //
    if @findtype 0xf09 0 'backpack'
    @setalias 'Potion' 'found'
    useobject! 'Potion'
    else
    headmsg 'OUT!!! of Stamina potions'
    endif
    //
    pause 600
    // !! Re-Equip Weapon player was holding
    togglehands 'left'
    else
    if @findtype 0xf09 0 'backpack'
    @setalias 'Potion' 'found'
    useobject! 'Potion'
    else
    headmsg 'OUT!!! of Stamina potions'
    endif
    endif
    per Amonseti

    if not @listexists 'Scrolls'
    createlist 'Scrolls'
    pushlist 'Scrolls' 0x1f66
    endif
    if mana < 30
    clearjournal
    useskill 'meditation'
    while mana < maxmana
    endwhile
    else
    if @counttype 0xfbf 0x0 'backpack' < 2
    movetype 0xfbf 'restock' 'backpack' 0 0 0 0x0 3
    pause 1000
    endif
    if not @findtype 0xfbf 0x0 'backpack'
    headmsg 'Get more Pens!'
    stop
    endif
    if not @findobject 'Completed'
    headmsg 'Select your Storage for Finished Goods'
    promptalias 'Completed'
    endif
    if not @findobject 'restock'
    headmsg 'Select the container with your materials'
    promptalias 'restock'
    useobject 'restock'
    endif
    if @counttype 0x1f66 0x0 'backpack' < 1
    movetype 0x1f66 'restock' 'backpack' 0 0 0 0x0 10
    pause 1000
    endif
    if @counttype 0xf88 0x0 'backpack' < 10
    movetype 0xf88 'restock' 'backpack' 0 0 0 0x0 50
    pause 1000
    endif
    if @counttype 0xf86 0x0 'backpack' < 10
    movetype 0xf86 'restock' 'backpack' 0 0 0 0x0 50
    pause 1000
    endif
    if @counttype 0xef3 0x0 'backpack' < 10
    movetype 0xef3 'restock' 'backpack' 0 0 0 0x0 50
    pause 1000
    endif
    if @counttype 0xf7b 0x0 'backpack' < 10
    movetype 0xf7b 'restock' 'backpack' 0 0 0 0x0 50
    pause 1000
    endif
    if @counttype 0xf7a 0x0 'backpack' < 10
    movetype 0xf7a 'restock' 'backpack' 0 0 0 0x0 50
    pause 1000
    endif
    if skill 'Magery' < 88
    headmsg 'Buy more skill!'
    stop
    elseif skill 'Magery' < 101
    if usetype 0xfbf 0x0 'backpack'
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 9
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 9
    waitforgump 0x38920abd 2000
    endif
    else
    headmsg 'Out of Stock!'
    stop
    endif
    if @counttype 0x1f66 0x0 'backpack' > 10
    movetype 0x1f66 'backpack' 'Completed'
    pause 1000
    endif
    endif
    pause 600
    per Rave GL
    ////////////////////////////////////
    // This macro is designed for //
    // training inscription from 30. //
    // It is intended for characters //
    // with 40+ intelligence. //
    // //
    // Turn on loop and click play! //
    // //
    // ~~Made by kdivers~~ //
    ////////////////////////////////////
    if not @findtype 0xfbf 0x0 'backpack'
    headmsg 'Get more scribes pens!'
    stop
    endif
    if @ingump 0x38920abd 'You lack the required'
    useskill 'meditation'
    while mana < maxmana
    endwhile
    endif
    if @ingump 0x38920abd 'You do not have enough'
    headmsg 'Get more supplies!'
    stop
    endif
    if skill 'inscription' < 30
    headmsg 'Buy more skill!'
    stop
    elseif skill 'inscription' < 55
    if usetype 0xfbf
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 22
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 51
    waitforgump 0x38920abd 2000
    endif
    elseif skill 'inscription' < 75
    if usetype 0xfbf
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 36
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 30
    waitforgump 0x38920abd 2000
    endif
    elseif skill 'inscription' < 95
    if usetype 0xfbf
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 43
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 23
    waitforgump 0x38920abd 2000
    endif
    elseif skill 'inscription' < 101
    if usetype 0xfbf
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 50
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 9
    waitforgump 0x38920abd 2000
    endif
    else
    headmsg 'Inscription complete!'
    stop
    endif
    per Rave GL
    //===============================================================
    //=---------------------Spell Book Maker------------------------=
    //=-------------------------By:Hawt-----------------------------=
    //=-------------------------------------------------------------=
    //=--------This script will make scrolls 1-64, Place them-------=
    //=-----------in the book, meditate, and adjust when------------=
    //=----to use mediation Based on what scrolls you are making----=
    //=----I have broke the script down pretty good in order for----=
    //=--------others to learn from 'dissecting' the script --------=
    //=-------------------------------------------------------------=
    //===============================================================
    //=Gives Target for you too select the spellbook you want filled=
    //===============================================================
    if not @findobject 'spellbook'
    sysmsg '!!!! Target Empty Spell Book !!!!' '23'
    promptalias 'spellbook'
    endif
    //===============================================================
    //=-----List of the gump buttons for the 8 Spell Circles.-------=
    //===============================================================
    if not listexists 'Circle'
    @createlist 'Circle'
    endif
    if 'list' 'Circle' == '0'
    @pushlist 'Circle' '1'
    @pushlist 'Circle' '8'
    @pushlist 'Circle' '15'
    @pushlist 'Circle' '22'
    @pushlist 'Circle' '29'
    @pushlist 'Circle' '36'
    @pushlist 'Circle' '43'
    @pushlist 'Circle' '50'
    endif
    //==============================================================
    //=--------List of the gump buttons for each scroll------------=
    //==============================================================
    if not listexists 'Spells'
    @createlist 'Spells'
    endif
    if 'list' 'Spells' == '0'
    @pushlist 'Spells' '2'
    @pushlist 'Spells' '9'
    @pushlist 'Spells' '16'
    @pushlist 'Spells' '23'
    @pushlist 'Spells' '30'
    @pushlist 'Spells' '37'
    @pushlist 'Spells' '44'
    @pushlist 'Spells' '51'
    endif
    //==============================================================
    //=-------------List of different Mana lvls--------------------=
    //==============================================================
    if not listexists 'Mana'
    @createlist 'Mana'
    endif
    if 'list' 'Mana' == '0'
    @pushlist 'Mana' '4'
    @pushlist 'Mana' '6'
    @pushlist 'Mana' '9'
    @pushlist 'Mana' '11'
    @pushlist 'Mana' '14'
    @pushlist 'Mana' '20'
    @pushlist 'Mana' '40'
    @pushlist 'Mana' '50'
    endif
    //==============================================================
    //=--------------List all Scrolls for each spell---------------=
    //==============================================================
    //=----------I did not make this list i took the list----------=
    //=------------from another in The script library--------------=
    //=-------------------Thank you Kadoba!!-----------------------=
    //=http://www.runuo.com/community/resources/fill-spellbook.57/-=
    //==============================================================
    if not listexists 'scrolls'
    @createlist 'scrolls'
    endif
    if 'list' 'scrolls' == '0'
    @pushlist 'scrolls' 0x1f2d // Reactive Armor
    @pushlist 'scrolls' 0x1f2e // Clumsy
    @pushlist 'scrolls' 0x1f2f // Create Food
    @pushlist 'scrolls' 0x1f30 // Feeblemind
    @pushlist 'scrolls' 0x1f31 // Heal
    @pushlist 'scrolls' 0x1f32 // Magic Arrow
    @pushlist 'scrolls' 0x1f33 // Night Sight
    @pushlist 'scrolls' 0x1f34 // Weaken
    @pushlist 'scrolls' 0x1f35 // Agility
    @pushlist 'scrolls' 0x1f36 // Cunning
    @pushlist 'scrolls' 0x1f37 // Cure
    @pushlist 'scrolls' 0x1f38 // Harm
    @pushlist 'scrolls' 0x1f39 // Magic Trap
    @pushlist 'scrolls' 0x1f3a // Magic Untrap
    @pushlist 'scrolls' 0x1f3b // Protection
    @pushlist 'scrolls' 0x1f3c // Strength
    @pushlist 'scrolls' 0x1f3d // Bless
    @pushlist 'scrolls' 0x1f3e // Fireball
    @pushlist 'scrolls' 0x1f3f // Magic Lock
    @pushlist 'scrolls' 0x1f40 // Poison
    @pushlist 'scrolls' 0x1f41 // Telekinesis
    @pushlist 'scrolls' 0x1f42 // Teleport
    @pushlist 'scrolls' 0x1f43 // Unlock
    @pushlist 'scrolls' 0x1f44 // Wall of Stone
    @pushlist 'scrolls' 0x1f45 // Arch Cure
    @pushlist 'scrolls' 0x1f46 // Arch Protection
    @pushlist 'scrolls' 0x1f47 // Curse
    @pushlist 'scrolls' 0x1f48 // Fire Field
    @pushlist 'scrolls' 0x1f49 // Greater Heal
    @pushlist 'scrolls' 0x1f4a // Lightning
    @pushlist 'scrolls' 0x1f4b // Mana Drain
    @pushlist 'scrolls' 0x1f4c // Recall
    @pushlist 'scrolls' 0x1f4d // Blade Spirit
    @pushlist 'scrolls' 0x1f4e // Dispel Field
    @pushlist 'scrolls' 0x1f4f // Incognito
    @pushlist 'scrolls' 0x1f50 // Magic Reflection
    @pushlist 'scrolls' 0x1f51 // Mind Blast
    @pushlist 'scrolls' 0x1f52 // Paralyze
    @pushlist 'scrolls' 0x1f53 // Poison Field
    @pushlist 'scrolls' 0x1f54 // Summon Creature
    @pushlist 'scrolls' 0x1f55 // Dispel
    @pushlist 'scrolls' 0x1f56 // Energy Bolt
    @pushlist 'scrolls' 0x1f57 // Explosion
    @pushlist 'scrolls' 0x1f58 // Invisibility
    @pushlist 'scrolls' 0x1f59 // Mark
    @pushlist 'scrolls' 0x1f5a // Mass Curse
    @pushlist 'scrolls' 0x1f5b // Paralyze Field
    @pushlist 'scrolls' 0x1f5c // Reveal
    @pushlist 'scrolls' 0x1f5d // Chain Lightning
    @pushlist 'scrolls' 0x1f5e // Energy Field
    @pushlist 'scrolls' 0x1f5f // Flamestrike
    @pushlist 'scrolls' 0x1f60 // Gate Travel
    @pushlist 'scrolls' 0x1f61 // Mana Vampire
    @pushlist 'scrolls' 0x1f62 // Mass Dispel
    @pushlist 'scrolls' 0x1f63 // Meteor Swarm
    @pushlist 'scrolls' 0x1f64 // Polymorph
    @pushlist 'scrolls' 0x1f65 // Earthquake
    @pushlist 'scrolls' 0x1f66 // Energy Vortex
    @pushlist 'scrolls' 0x1f67 // Ressurrection
    @pushlist 'scrolls' 0x1f68 // Summon Air Elemental
    @pushlist 'scrolls' 0x1f69 // Summon Daemon
    @pushlist 'scrolls' 0x1f6a // Summon Earth Elemental
    @pushlist 'scrolls' 0x1f6b // Summon Fire Elemental
    @pushlist 'scrolls' 0x1f6c // Summon Water Elemental
    endif
    //===============================================================
    //=-------Basically telling the script when to meditate---------=
    //===============================================================
    if mana < Mana[0]
    useskill 'meditation'
    while not mana == maxmana
    endwhile
    endif
    //===============================================================
    //=-----------------Checks for Blank Scrolls.-------------------=
    //===============================================================
    if not @findtype '0xef3' 'any' 'backpack'
    sysmsg '#### No Scrolls###'
    stop
    endif
    //===============================================================
    //=---Checks for Scribe Pens, if finding one is uses the pen.---=
    //===============================================================
    if @usetype '0xfbf' 'any' 'backpack'
    waitforgump '0x38920abd' '5000'
    else
    sysmsg '####No Pens ####' '23'
    stop
    endif
    //==============================================================
    //=-----------------Gump Buttons to be pressed.----------------=
    //==============================================================
    replygump '0x38920abd' Circle[0]
    waitforgump '0x38920abd' '5000'
    replygump '0x38920abd' Spells[0]
    waitforgump '0x38920abd' '5000'
    pause 900
    //==============================================================
    //=------------Checks for Scroll to be placed in book----------=
    //==============================================================
    if @movetype scrolls[0] 'backpack' 'spellbook' 0 0 0 'any' '1'
    pause '1000'
    poplist 'Spells' 'front'
    poplist 'scrolls' 'front'
    endif
    //==============================================================
    //=--------After Finishing a complete circle of spells---------=
    //=-----This changes the Spell Circle and When to meditate.----=
    //==============================================================
    if list 'Spells' == 0
    poplist 'Circle' 'front'
    poplist 'Mana' 'front'
    endif
    //==============================================================
    //=----This stops the script when completeing a full book.-----=
    //==============================================================
    if list 'scrolls' == 0
    unsetalias 'spellbook'
    sysmsg 'Spell Book Should Be Full' '23'
    stop
    endif
    per Rave GL
    //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    //$$ Manual Lumberjacking assistant
    //$$ By: Amonseti
    //$$ V 1.8
    //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    //
    //?????????????????????????????????????????????????????????????????????
    //??? USAGE GUIDE LINES:
    //??? Simply create a new macro. give it an appropreate name,
    //??? Any will do.
    //???
    //??? Run the macro. with an axe equiped or in your backpack
    //??? The macro will look for a tree first tile west
    //??? of where your character is standing.
    //??? The macro will tell you when to move onto the next
    //??? tree until your weight has exceeded 380stones. ( This
    //??? is based off of assuming your lumberjacker has 100strength)
    //??? There are some trees that due to terrain height are unchoppable
    //??? if for some reason you find yourself just standing there not
    //??? Collecting wood ... Then move on to next tree.
    //???
    //???
    //?????????????????????????????????????????????????????????????????????
    //
    //
    // !! Find and equip any axe in backpack ***
    if not listexists 'AxeList'
    createlist 'AxeList'
    endif

    // !! axe data
    @clearlist 'AxeList'
    @pushlist 'AxeList' 0xf43 //Hatchet
    @pushlist 'AxeList' 0xf45 //Executioner's Axe
    @pushlist 'AxeList' 0xf4d //Bardiche
    @pushlist 'AxeList' 0xf4b //Double Axe
    @pushlist 'AxeList' 0x143e //Halberd
    @pushlist 'AxeList' 0x13fb //Large Battle Axe
    @pushlist 'AxeList' 0x1443 //Two Handed Axe
    @pushlist 'AxeList' 0xf47 //Battle Axe
    @pushlist 'AxeList' 0xf49 //Axe
    //
    // !! Equip Axe
    for 0 to 'AxeList'
    if @findtype 'AxeList[]' 'any' 'backpack'
    unsetalias 'AXE'
    setalias 'AXE' 'found'
    endif
    endfor
    //******************************************
    //
    // !! Main chopping routine
    while weight < 380
    clearjournal
    if not @findlayer 'self' 2
    equipitem 'AXE' 2
    pause 600
    endif
    //
    useobject 'LeftHand'
    waitfortarget 1000
    targettileoffset -1 0 0
    pause 500
    //
    //
    //****** Wait for it **********************
    // !! System hickup insurance loop
    for 60
    if @injournal 'enough wood here' 'system'
    break
    elseif @injournal 'You chop' 'system'
    break
    elseif @injournal "fail to" "system"
    break
    elseif @injournal "You can't" "system"
    break
    elseif @injournal "You can" "system"
    break
    elseif not @findlayer 'self' 2
    break
    else
    pause 100
    endif
    endfor
    //
    //******************************************
    //
    //*** Display proper feedback
    if @injournal "You can't" "system"
    pause 500
    endif
    if @injournal 'enough wood here' 'system'
    headmsg 'NO MORE WOOD' '2124'
    headmsg 'go to next tree' '2124'
    msg '[e whistle'
    pause 2000
    endif
    if @injournal 'some ordinary' 'system'
    headmsg '--Ordinary wood--' '1150'
    clearjournal
    endif
    if @injournal 'some oak' 'system'
    headmsg '--OAK--' '2010'
    clearjournal
    endif
    if @injournal 'some ash' 'system'
    headmsg '--ASH--' '1191'
    clearjournal
    endif
    if @injournal 'some yew' 'system'
    headmsg '--YEW--' '1192'
    msg '[e ah'
    clearjournal
    endif
    if @injournal 'some heartwood' 'system'
    headmsg '>!!!--HEARTWOOD--!!!<' '1193'
    msg '[e yea'
    clearjournal
    endif
    if @injournal 'some bloodwood' 'system'
    headmsg '>!!!--BLOODWOOD--!!!<' '1194'
    msg '[e woohoo'
    clearjournal
    endif
    if @injournal 'some frostwood' 'system'
    headmsg '>!!!--FROSTWOOD--!!!<' '1151'
    msg '[e woohoo'
    clearjournal
    endif
    //******************************************
    //
    //
    endwhile
    headmsg 'Over Weight Fatty !' '89'
    headmsg 'go home and unload!' '89'
    per Amonseti
    / $$$$$$$ Gem/Reg Sort and store $$$$$$$$
    // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    // ?? By Amonseti
    // ?? V1.3
    // ???????????????????????????????????????
    // ?? This macro will search your main pack
    // ?? and all bags / containers for gems and
    // ?? Reg's, and sort them into bag/s or
    // ?? container/s assigned by you.
    // ??
    // ???????????????????????????????????????
    // ??
    // ?? USAGE:
    // ?? Currently this macro requires at least 1
    // ?? bag in the main pack to function.
    // ?? Simply run the macro. You will be prompted
    // ?? to select a bag or container where the
    // ?? gems will be stored. A 2nd prompt will
    // ?? ask you to target the Regent storage
    // ?? container .
    // ?? !!DO NOT!! Target a bag in your main
    // ?? pack as a storage container , this would
    // ?? silly results and could invoke a singularity
    // ?? if not carefull !!
    // ??
    // ???????????????????????????????????????
    //
    // !! Clear data
    unsetalias 'gem_storage'
    unsetalias 'reg_storage'
    // !! Create Sort lists
    if not listexists 'gems'
    createlist 'gems'
    //Gems
    pushlist 'gems' 0xf16 // Amethyst
    pushlist 'gems' 0xf15 // Citrine
    pushlist 'gems' 0xf19 // Sapphire
    pushlist 'gems' 0xf25 // Amber
    pushlist 'gems' 0xf21 // Star Sapphire
    pushlist 'gems' 0xf10 // Emerald
    pushlist 'gems' 0xf26 // Diamond
    pushlist 'gems' 0xf2d // Tourmaline
    pushlist 'gems' 0xf13 // Ruby
    endif
    if not listexists 'regs'
    createlist 'regs'
    //Regents
    pushlist 'regs' 0xf7a // Black Pearl
    pushlist 'regs' 0xf7b // Blood Moss
    pushlist 'regs' 0xf86 // Mandrake Root
    pushlist 'regs' 0xf84 // Garlic
    pushlist 'regs' 0xf85 // Ginseng
    pushlist 'regs' 0xf88 // Nightshade
    pushlist 'regs' 0xf8d // Spider's Silk
    pushlist 'regs' 0xf8c // Sulphurous Ash
    endif
    // !! User Input set Target Gem storage
    headmsg 'Please Select Gem Storage' '2124'
    if not findalias 'gem_storage'
    promptalias 'gem_storage'
    endif
    // !! User Input set Target Reg storage
    headmsg 'Please Select Regent Storage' '2124'
    if not findalias 'reg_storage'
    promptalias 'reg_storage'
    endif
    clearignorelist
    // !! Start sorting !!
    while @findtype 0xe76 'any' 'backpack'
    setalias 'current_bag' 'found'
    useobject 'current_bag'
    pause 600
    ignoreobject 'current_bag'
    for 0 to 'regs'
    while @findtype 'regs[]' 'current_bag'
    moveitem 'found' 'reg_storage'
    pause 600
    endwhile
    endfor
    for 0 to 'gems'
    while @findtype 'gems[]' 'current_bag'
    moveitem 'found' 'gem_storage'
    pause 600
    endwhile
    endfor
    pause 600
    endwhile
    clearignorelist
    headmsg 'Done Sorting' '89'
    per Amonseti
    // $$$$$$$$ Skill Scroll Sorter $$$$$$$$$$$$$$$$$$$
    // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    // ?? By Amonseti
    // ?? V1.3
    // ??????????????????????????????????????????????????
    // ??
    // ?? Macro will sort all Skill scrolls by color , and +0.1
    // ?? skill scrolls sorted into its own bulk container.
    // ??
    // ?? USAGE:
    // ?? All that is required for this macro is at least
    // ?? 1 destination container. The macro will ask you for
    // ?? 7, one for each skill catagory and 1 for all +0.1
    // ?? Skill scrolls. Simply run the macro and follow the
    // ?? Prompts.
    // ??
    // ???????????????????????????????????????
    //
    // !!*** Init Data ***!!
    unsetalias 'frombag'
    //**** Uncomment the following code to have macro
    //**** Ask everytime for destination containers
    //
    //unsetalias 'minorSSBag'
    //unsetalias 'brownBag'
    //unsetalias 'redBag'
    //unsetalias 'purpleBag'
    //unsetalias 'greenBag'
    //unsetalias 'blackBag'
    //unsetalias 'blazeBag'
    //
    //************************************************
    //
    if not @findobject 'frombag'
    headmsg 'Select From Bag' '2124'
    promptalias 'frombag'
    endif
    pause 700
    //
    if not @findobject 'minorSSBag'
    headmsg 'Select the +0.1 SS Bag' '2124'
    promptalias 'minorSSBag'
    endif
    pause 700
    //
    //
    if not @findobject 'brownBag'
    headmsg 'Select the Brown +1 SS Bag' '1355'
    promptalias 'brownBag'
    endif
    pause 700
    //
    if not @findobject 'redBag'
    headmsg 'Select the Red +1 SS Bag' '37'
    promptalias 'redBag'
    endif
    pause 700
    //
    if not @findobject 'purpleBag'
    headmsg 'Select the Purple +1 SS Bag' '1376'
    promptalias 'purpleBag'
    endif
    pause 700
    //
    if not @findobject 'greenBag'
    headmsg 'Select the Green +1 SS Bag' '1368'
    promptalias 'greenBag'
    endif
    pause 700
    //
    if not @findobject 'blackBag'
    headmsg 'Select the Black +1 SS Bag' '1904'
    promptalias 'blackBag'
    endif
    pause 700
    //
    if not @findobject 'blazeBag'
    headmsg 'Select the Blaze +1 SS Bag' '1161'
    promptalias 'blazeBag'
    endif
    pause 700
    //
    //
    //
    ///////////////////////////////////////////////////////////
    useobject 'frombag'
    pause 200
    useobject 'minorSSBag'
    pause 200
    useobject 'brownBag'
    pause 200
    useobject 'redBag'
    pause 200
    useobject 'purpleBag'
    pause 200
    useobject 'greenBag'
    pause 200
    useobject 'blackBag'
    pause 200
    useobject 'blazeBag'
    pause 200
    //
    //
    while @findtype '0x2260' 'any' 'frombag'
    @clearjournal
    //
    clickobject found
    //
    pause 1500
    if @injournal '+0.1' 'system'
    moveitem found 'minorSSBag'
    headmsg 'a +0.1 ss' '2498'
    @clearjournal
    elseif @injournal 'Lumberjacking' 'system'
    moveitem found 'brownBag'
    headmsg '+1 Lumberjacking ss' '1355'
    @clearjournal
    elseif @injournal 'Alchemy' 'system'
    moveitem found 'brownBag'
    headmsg '+1 Alchemy ss' '1355'
    @clearjournal
    elseif @injournal 'Fishing' 'system'
    moveitem found 'brownBag'
    headmsg '+1 Fishing ss' '1355'
    @clearjournal
    elseif @injournal 'Inscribe' 'system'
    moveitem found 'brownBag'
    headmsg '+1 Inscribe ss' '1355'
    @clearjournal
    elseif @injournal 'Tailoring' 'system'
    moveitem found 'brownBag'
    headmsg '+1 Tailoring ss' '1355'
    @clearjournal
    elseif @injournal 'Mining' 'system'
    moveitem found 'brownBag'
    headmsg '+1 Mining ss' '1355'
    @clearjournal
    elseif @injournal 'Blacksmith' 'system'
    moveitem found 'brownBag'
    headmsg '+1 Blacksmith ss' '1355'
    @clearjournal
    elseif @injournal 'Carpentry' 'system'
    moveitem found 'brownBag'
    headmsg '+1 Carpentry ss' '1355'
    @clearjournal
    elseif @injournal 'Tinkering' 'system'
    moveitem found 'brownBag'
    headmsg '+1 Tinkering ss' '1355'
    @clearjournal
    elseif @injournal 'Lockpicking' 'system'
    moveitem found 'brownBag'
    headmsg '+1 Lockpicking ss' '1355'
    @clearjournal
    //
    elseif @injournal 'MagicResist' 'system'
    moveitem found 'redBag'
    headmsg '+1 MagicResist ss' '37'
    @clearjournal
    elseif @injournal 'Anatomy' 'system'
    moveitem found 'redBag'
    headmsg '+1 Anatomy ss' '37'
    @clearjournal
    elseif @injournal 'Wrestling' 'system'
    moveitem found 'redBag'
    headmsg '+1 Wrestling ss' '37'
    @clearjournal
    elseif @injournal 'Macing' 'system'
    moveitem found 'redBag'
    headmsg '+1 Macing ss' '37'
    @clearjournal
    elseif @injournal 'Tactics' 'system'
    moveitem found 'redBag'
    headmsg '+1 Tactics ss' '37'
    @clearjournal
    elseif @injournal 'EvalInt' 'system'
    moveitem found 'redBag'
    headmsg '+1 EvalInt ss' '37'
    @clearjournal
    elseif @injournal 'Parry' 'system'
    moveitem found 'redBag'
    headmsg '+1 Parry ss' '37'
    @clearjournal
    elseif @injournal 'Meditation' 'system'
    moveitem found 'redBag'
    headmsg '+1 Meditation ss' '37'
    @clearjournal
    elseif @injournal 'Fencing' 'system'
    moveitem found 'redBag'
    headmsg '+1 Fencing ss' '37'
    @clearjournal
    elseif @injournal 'Swords' 'system'
    moveitem found 'redBag'
    headmsg '+1 Swords ss' '37'
    @clearjournal
    elseif @injournal 'Healing' 'system'
    moveitem found 'redBag'
    headmsg '+1 Healing ss' '37'
    @clearjournal
    elseif @injournal 'Magery' 'system'
    moveitem found 'redBag'
    headmsg '+1 Magery ss' '37'
    @clearjournal
    //
    elseif @injournal 'Provocation' 'system'
    moveitem found 'purpleBag'
    headmsg '+1 Provocation ss' '1376'
    @clearjournal
    elseif @injournal 'Peacemaking' 'system'
    moveitem found 'purpleBag'
    headmsg '+1 Peacemaking ss' '1376'
    @clearjournal
    elseif @injournal 'Discordance' 'system'
    moveitem found 'purpleBag'
    headmsg '+1 Discordance ss' '1376'
    @clearjournal
    //
    elseif @injournal 'Herding' 'system'
    moveitem found 'greenBag'
    headmsg '+1 Herding ss' '1368'
    @clearjournal
    elseif @injournal 'Begging' 'system'
    moveitem found 'greenBag'
    headmsg '+1 Begging ss' '1368'
    @clearjournal
    elseif @injournal 'Fletching' 'system'
    moveitem found 'greenBag'
    headmsg '+1 Fletching ss' '1368'
    @clearjournal
    elseif @injournal 'Archery' 'system'
    moveitem found 'greenBag'
    headmsg '+1 Archery ss' '1368'
    @clearjournal
    //
    elseif @injournal 'Stealing' 'system'
    moveitem found 'blackBag'
    headmsg '+1 Stealing ss' '1904'
    @clearjournal
    elseif @injournal 'Stealth' 'system'
    moveitem found 'blackBag'
    headmsg '+1 Stealth ss' '1904'
    @clearjournal
    elseif @injournal 'Hiding' 'system'
    moveitem found 'blackBag'
    headmsg '+1 Hiding ss' '1904'
    @clearjournal
    elseif @injournal 'Poisoning' 'system'
    moveitem found 'blackBag'
    headmsg '+1 Poisoning ss' '1904'
    @clearjournal
    //
    elseif @injournal 'AnimalTaming' 'system'
    moveitem found 'blazeBag'
    headmsg '+1 AnimalTaming ss' '1161'
    @clearjournal
    endif
    pause 1000
    endwhile
    stop
    headmsg 'done' '58'
    msg '[e whistle'
    per Amonseti
    // $$$$$$$$ Cut Corpse (Beta) $$$$$$$$$$$$$$$$$$$$$$
    // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    // ?? By Amonseti
    // ?? V1.0b
    // ??????????????????????????????????????????????????
    // ??
    // ?? Macro will Disembowel a corpse using any bladed
    // ?? weapon in you main pack and collect the head.
    // ??
    // ?? Usage:\
    // ?? Pack must have at least 1 bladed weapon.
    // ?? set a hotkey for optimal usage
    // ?? run the macro it will ask you to target a
    // ?? corpse. thats it . the head will be collected
    // ?? automatically.
    //
    // ???????????????????????????????????????
    //
    // !!*** Init Data ***!!
    if not @listexists 'Blade'
    @createlist 'Blade'
    endif
    @clearlist 'Blade'
    @pushlist 'Blade' 0x13b9 //Viking Sword
    @pushlist 'Blade' 0xf61 //Longsword
    @pushlist 'Blade' 0x1441 //Cutlass
    @pushlist 'Blade' 0x13b6 //Scimitar
    @pushlist 'Blade' 0xf5e //Broadsword
    @pushlist 'Blade' 0x13ff //Katana
    @pushlist 'Blade' 0x1401 //Kryss
    @pushlist 'Blade' 0xf52 //Dagger
    @pushlist 'Blade' 0xec4 //Skinning Knife
    @pushlist 'Blade' 0x13f6 //Butcher Knife
    //
    for 0 to 'Blade'
    if @findtype 'Blade[]' 'any' 'backpack'
    @unsetalias 'BLA'
    @setalias 'BLA' 'found'
    endif
    endfor
    //
    headmsg 'Select Corpse' '2498'
    @useobject 'BLA'
    //
    // !! a timeout for decapitated head collection
    for 0 to '2000'
    if not @findtype '0x1ce1' 'any' 'ground' '1' '2'
    // waiting for severed head
    else
    moveitem 'found' 'backpack'
    headmsg 'Head Collected !!' '2498'
    pause 100
    stop
    endif
    endfor
    //
    headmsg '-- Head Not Avalible --' '37'
    per Amonseti
    if not @findalias 'Beetle'
    promptalias 'Beetle'
    endif
    if counttype 0x19b9 'any' 'backpack' < 188
    movetype 0x19b9 'backpack' 'Beetle'
    endif
    if not listexists 'miningerrormessages'
    createlist 'miningerrormessages'
    pushlist 'miningerrormessages' 'no metal here'
    pushlist 'miningerrormessages' "You can't mine there"
    pushlist 'miningerrormessages' "Target cannot be seen"
    pushlist 'miningerrormessages' "You can't mine that"
    endif
    if @findtype 0xe86 'any' 'backpack' or @findtype 0xf39 'any' 'backpack'
    useobject 'found'
    else
    sysmsg "You do not have any digging tools!"
    stop
    endif
    waitfortarget 500
    if direction == 0
    targettileoffset 0 -1 0
    elseif direction == 1
    targettileoffset 1 -1 0
    elseif direction == 2
    targettileoffset 1 0 0
    elseif direction == 3
    targettileoffset 1 1 0
    elseif direction == 4
    targettileoffset 0 1 0
    elseif direction == 5
    targettileoffset -1 1 0
    elseif direction == 6
    targettileoffset -1 0 0
    elseif direction == 7
    targettileoffset -1 -1 0
    endif
    pause 200
    if @findtype 0xe86 'any' 'backpack' or @findtype 0xf39 'any' 'backpack'
    useobject 'found'
    else
    sysmsg "You do not have any digging tools!"
    stop
    endif
    waitfortarget 500
    if direction == 1
    targettileoffset 0 -1 0
    elseif direction == 2
    targettileoffset 1 -1 0
    elseif direction == 3
    targettileoffset 1 0 0
    elseif direction == 4
    targettileoffset 1 1 0
    elseif direction == 5
    targettileoffset 0 1 0
    elseif direction == 6
    targettileoffset -1 1 0
    elseif direction == 7
    targettileoffset -1 0 0
    elseif direction == 0
    targettileoffset -1 -1 0
    endif
    pause 200
    if @findtype 0xe86 'any' 'backpack' or @findtype 0xf39 'any' 'backpack'
    useobject 'found'
    else
    sysmsg "You do not have any digging tools!"
    stop
    endif
    waitfortarget 500
    if direction == 7
    targettileoffset 0 -1 0
    elseif direction == 0
    targettileoffset 1 -1 0
    elseif direction == 1
    targettileoffset 1 0 0
    elseif direction == 2
    targettileoffset 1 1 0
    elseif direction == 3
    targettileoffset 0 1 0
    elseif direction == 4
    targettileoffset -1 1 0
    elseif direction == 5
    targettileoffset -1 0 0
    elseif direction == 6
    targettileoffset -1 -1 0
    endif
    pause 10
    per Weland w/ Eppy I think
    // ---------------------------------------------------------------------------

    // Empty Keg Crafting Macro

    // Author: Bane

    //

    // Setup:

    // - Create an organizer agent named: EmptyKegRestock. It should stock

    // 100 ingots, 100 boards, and 50 bottles.

    // - Need an empty container that is not in your backpack to set as the

    // "FinishedEmptyKegStorage"

    // - Need a chest with all your materials

    // Assumptions:

    // - You have the required skills to make an empty potion

    // keg and all required parts.

    //

    //

    // Set up finished keg storage

    promptalias 'FinishedEmptyKegStorage'

    //

    // Set up material storage container

    if not @findalias 'MaterialStorage'

    promptalias 'MaterialStorage'

    endif

    //

    // Open container

    useobject 'FinishedEmptyKegStorage'

    pause 1000

    //

    // Open container

    useobject 'MaterialStorage'

    pause 1000

    //

    // Saw tool graphic id 0x1034

    //

    // Tinker Tool graphic id 0x1eb8

    //

    // Set up bottle graphic id 0xf0e

    //

    // Set up board graphic id 0x1bd7

    //

    // Ingot graphic id 0x1bf2

    //

    // Keg graphic id 0x1940

    //

    // Barrel Stave Graphic Id 0x1eb1

    //

    // Barrel Lid Graphic Id 0x1db8

    //

    // See if container is at max capacity

    while counttype 0x1940 'any' 'FinishedEmptyKegStorage' < 124

    // check stock levels, first ingots, then boards, then bottles

    // We only require 7 ingots to craft keg but we also need it for tools

    // CountType will not work with OR/AND conditionals after statement )=

    // so we got a big if/elseif statement

    if counttype 0x1bf2 'any' 'backpack' < 30

    // Try to get more materials

    organizer 'EmptyKegRestock' 'MaterialStorage' 'backpack'

    while organizing

    pause 100

    endwhile

    elseif counttype 0x1bd7 'any' 'backpack' < 27

    // Try to get more materials

    organizer 'EmptyKegRestock' 'MaterialStorage' 'backpack'

    while organizing

    pause 100

    endwhile

    elseif counttype 0xf0e 'any' 'backpack' < 10

    // Try to get more materials

    organizer 'EmptyKegRestock' 'MaterialStorage' 'backpack'

    while organizing

    pause 100

    endwhile

    endif

    // Check stock levels again

    // CountType will not work with OR/AND conditionals after statement )=

    // so we got a big if/elseif statement

    if counttype 0x1bf2 'any' 'backpack' < 30

    // Still don't have enough exit

    stop

    elseif counttype 0x1bd7 'any' 'backpack' < 27

    // Still don't have enough exit

    stop

    elseif counttype 0xf0e 'any' 'backpack' < 10

    // Still don't have enough exit

    stop

    endif

    //

    // Barrel Staves - need 3

    while counttype 0x1eb1 'any' 'backpack' < 3

    usetype 0x1034 'any' 'backpack'

    waitforgump 0x38920abd 15000

    replygump 0x38920abd 1

    waitforgump 0x38920abd 15000

    replygump 0x38920abd 2

    waitforgump 0x38920abd 5000

    // There is sometimes a slight delay before item makes it into pack

    pause 500

    endwhile

    //

    // Barrel Lids - need 2

    while counttype 0x1db8 'any' 'backpack' < 2

    usetype 0x1034 'any' 'backpack'

    waitforgump 0x38920abd 15000

    replygump 0x38920abd 1

    waitforgump 0x38920abd 15000

    replygump 0x38920abd 9

    waitforgump 0x38920abd 5000

    // There is sometimes a slight delay before item makes it into pack

    pause 500

    endwhile

    //

    // Barrel Hoop - need 1

    while counttype 0x1db7 'any' 'backpack' < 1

    usetype 0x1eb8 'any' 'backpack'

    waitforgump 0x38920abd 15000

    replygump 0x38920abd 15

    waitforgump 0x38920abd 15000

    replygump 0x38920abd 37

    waitforgump 0x38920abd 5000

    // There is sometimes a slight delay before item makes it into pack

    pause 500

    endwhile

    //

    // Barrel Tap - need 1

    while counttype 0x1004 'any' 'backpack' < 1

    usetype 0x1eb8 'any' 'backpack'

    waitforgump 0x38920abd 15000

    replygump 0x38920abd 15

    waitforgump 0x38920abd 15000

    replygump 0x38920abd 16

    waitforgump 0x38920abd 5000

    // There is sometimes a slight delay before item makes it into pack

    pause 500

    endwhile

    //

    // Carp Keg Assembly

    while counttype 0xe7f 'any' 'backpack' < 1

    usetype 0x1034 'any' 'backpack'

    waitforgump 0x38920abd 15000

    replygump 0x38920abd 15

    waitforgump 0x38920abd 15000

    replygump 0x38920abd 163

    waitforgump 0x38920abd 5000

    // There is sometimes a slight delay before item makes it into pack

    pause 500

    endwhile

    //

    // Tinker Potion Keg Assembly

    usetype 0x1eb8 'any' 'backpack'

    waitforgump 0x38920abd 15000

    replygump 0x38920abd 43

    waitforgump 0x38920abd 15000

    replygump 0x38920abd 44

    waitforgump 0x38920abd 5000

    // There is sometimes a slight delay before item makes it into pack

    pause 500

    //

    // Craft more tinker tools if we need them

    while counttype 0x1eb8 'any' 'backpack' < 4

    usetype 0x1eb8 'any' 'backpack'

    waitforgump 0x38920abd 15000

    replygump 0x38920abd 8

    waitforgump 0x38920abd 15000

    replygump 0x38920abd 23

    waitforgump 0x38920abd 5000

    // There is sometimes a slight delay before item makes it into pack

    pause 500

    endwhile

    //

    // Craft more carp tools if we need them

    while counttype 0x1034 'any' 'backpack' < 4

    usetype 0x1eb8 'any' 'backpack'

    waitforgump 0x38920abd 15000

    replygump 0x38920abd 8

    waitforgump 0x38920abd 15000

    replygump 0x38920abd 51

    waitforgump 0x38920abd 5000

    // There is sometimes a slight delay before item makes it into pack

    pause 500

    endwhile

    //

    // just in case we hit a world save and a move is aborted.

    while counttype 0x1940 'any' 'backpack' > 0

    // Move crafted keg to storage.

    movetype 0x1940 'backpack' 'FinishedEmptyKegStorage'

    // Loop until we are done moving item

    pause 1000

    endwhile

    endwhile
    per bane
    // $$$$$$$$ TNT TOGGLER $$$$$$$
    // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    // ?? By Amonseti
    // ?? VB0.1
    // ??????????????????????????????????????????????????
    // ??
    // ?? This Macro is an auto toggle to use with explosion
    // ?? pots. has 2 phases phase 1 (first click) to start
    // ?? count down and phase 2 (2nd click) to toss the pot.
    // ?? Usage: Obviously you need explo pots , and You will
    // ?? also need a current target
    // ??
    // ???????????????????????????????????????
    //
    //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    //!! Commented out code:
    //!! Not sure why this condition is not catching
    //!! is needed to reset journal in the event
    //!! A pot was not tossed, (Blowed up in hand)
    //if @injournal 'Target cancelled' 'system'
    //@clearjournal
    //endif
    //!! Right now if the pot blows up in hand
    //!! the next pot will be thrown at last target emediatly
    //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    if @injournal 'You should throw it now' 'system'
    //?? Phase 2 toss the pot at last target
    usetype '0xf0d' 'any' 'backpack' '2'
    waitfortarget 35000
    pause 100
    attack 'enemy'
    target! 'last'
    @clearjournal
    else
    //?? Phase 1 start pot countdown and clear cursor
    usetype '0xf0d' 'any' 'backpack' '2'
    pause 100
    @canceltarget
    //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    //!! Could add functionality to obtain target here
    //!! I left out as
    endif
    per amonseti
    // Clear journal & use once agent
    clearjournal
    clearuseonce
    // Set aliases
    // Set reagent list
    // List of reagents
    if not listexists 'regs'
    createlist 'regs'
    pushlist 'regs' 0xf7a // Black Pearl
    pushlist 'regs' 0xf7b // Blood Moss
    pushlist 'regs' 0xf86 // Mandrake Root
    pushlist 'regs' 0xf84 // Garlic
    pushlist 'regs' 0xf85 // Ginseng
    pushlist 'regs' 0xf88 // Nightshade
    pushlist 'regs' 0xf8d // Spider's Silk
    pushlist 'regs' 0xf8c // Sulphurous Ash
    endif
    // Targets the reg container
    while not @findobject 'container_regs'
    headmsg 'Reagents container?'
    promptalias 'container_regs'
    endwhile
    // Get 100 each reagents
    @useobject 'container_regs'
    pause 1000
    for 0 to 'regs'
    if @findtype 'regs[]' 'any' 'container_regs' 100 2
    @movetype 'regs[]' 'container_regs' 'backpack' 0 0 0 'any' 100 2
    pause 800
    else
    sysmsg 'Could not find enough reagents!'
    endif
    endfor
    // Organize reagents
    pause 1500
    msg '[organizeme'
    per Drinni
     
    Last edited: Nov 6, 2015
    PekatronIII, DaddyB, clutchxo and 8 others like this.
  2. Chef Travie

    Chef Travie Newbie

    Joined:
    Apr 9, 2014
    Messages:
    35
    Likes Received:
    0
    Trophy Points:
    6
    Gender:
    Male
    thank you for doing this.
     
  3. jgp123

    jgp123 Newbie

    Joined:
    Jan 20, 2016
    Messages:
    5
    Likes Received:
    0
    Trophy Points:
    3
    Gender:
    Male
    awesome macros, im trying to make one for lock picking and wondering if you could help out.
    i can not get my macro to only use the keys when the chest needs to be locked.no injournal check on this server.
     
  4. Janus

    Janus Newbie

    Joined:
    Jun 4, 2016
    Messages:
    16
    Likes Received:
    3
    Trophy Points:
    3
    Gender:
    Male
    The one's with "check journal" don't work on UOF. How would I write if Mana <Max then meditate? New to macros soz for the newbie question.
     
  5. Nakor

    Nakor Veteran

    Joined:
    Jul 9, 2013
    Messages:
    104
    Likes Received:
    30
    Trophy Points:
    28
    Occupation:
    Workers' Compensation Adjuster
    Location:
    Schenectady NY
    Do I copy the whole macro and run that? I'm trying the LJ macro and it just keeps saying 'you can't use an axe on that'
     
  6. Daniel Cunha

    Daniel Cunha Young Player

    Joined:
    Sep 9, 2016
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    1
    Gender:
    Male
    Lumberjack macro doesnt work!!
     
  7. amonseti

    amonseti Bank Sitter

    Joined:
    Apr 21, 2014
    Messages:
    2,032
    Likes Received:
    931
    Trophy Points:
    113
    Gender:
    Male
    Location:
    Edmonton AB. Canada
    Well that is useful information . normally a bit more information into your issue would help your claim.. as this is a very popular macro and works just fine for many..
    Dbl check and be sure it is not an ID10T error.
     

Share This Page