Back to "organizer" tags

DanStock's ULTIMATE HARVESTING AUTO PILOT (DEXXER, MAGE AND/OR SUMMONER w/ AUTO RECALL & MORE!) by danstock._98439

Description: A big enough update it was worth a full re-release of the script I have been working on since starting Outlands about 10 months ago. This has evolved into a harvesting script that truly does it all!

Just move around and supervise. Mining OR lumberjacking - ALL IN ONE!

Read beginning of script for important setup information and be aware that there are LOTs of optional variables to toggle and play around with. It has become a LARGE script. Have fun! I am :)

Warning: This is potentially a huge script, skipping formatting.

You can still click [Copy Script] but you may want use [Download Script] as a file instead.

///////// //////// DanStock's ULTIMATE HARVESTING AUTO PILOT UO OUTLANDS RAZOR SCRIPT - version 2.0.02 - Last Updated October 18, 2024 /////// ////// MINING AND/OR LUMBER AUTOBOT (DEXXER, MAGE AND/OR SUMMONER w/ AUTO RECALL & MORE!) ///// //// Compiled by DanStock. - Email any bug reports/tips to dan@danstockman.com /// Inspired by & learned from many scripts found on https://outlands.uorazorscripts.com/ // ########################################################################################################## #### PLEASE READ SCRIPT DETAILS BELOW FOR IMPORTANT COOLDOWN, FILTER AND VARIABLE INSTRUCTIONS! #### #### Most features are turned OFF by default and can be enabled below. #### ########################################################################################################## ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///// ANYTIME YOU NEED TO RESET OR CHANGE PERMANENT VARIABLES (ie. ESCAPE RUNEBOOKS, TREASURE CHEST, INGOT AND BOARD BAGS) ///// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // // // // // Run script once with this SCRIPTRESET set to 1 to clear ALL variables. // // Then reset SCRIPTRESET back to 0 and restart script to prompt for new targets! // // // @setvar! SCRIPTRESET 0 // // // This will reset the script to it's "first run" status if something goes wrong in the initial setup! // // // // - DanStock. // // (aka. Pax Augustus of Terran) // // // ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ######################################################################################################################### #### YOU CAN ENABLE AND/OR DISABLE EACH HALF OF THE SCRIPT (if using both harvest skills on the same character): #### ######################################################################################################################### @setvar! EnableMining 1 @setvar! EnableLumberjacking 1 # Required (or suggested *) inventory items: # Hatchet or Pickaxe # A blessed escape runebook (charged w/ recall scrolls if no Magery skill) # Trapped pouches # Healing, Cure and Refresh potions (Resist, Strength and Agility pots too *) # Skinning knife * # Bandages * # Adventurer's rope * # Tool Kit * # Potion Satchel * # Wizard's Satchel (w/ regs) * # Magic Mushrooms * # Harvest Aspect weapon of choice (Swords, Macing or Spellbook) * # Harvest Aspect armour of choice * # IMPORTANT: Please add the following COOLDOWNS (case sensitive) in UO client under Options -> Cooldowns: // Healing Potion // Cure Potion // Refresh Potion // Travel // Target Timer // Move Timer // Weight Timer // Inventory Timer // Satchel Timer // Forge Radar // Ore Radar // Gold Radar // Ore Vacuum // Gold Vacuum // HarmCD // WeakenCD // CurseCD // MindblastCD // MagicArrowCD // FireballCD // LightningCD // ExplosionCD // EnergyBoltCD // FlamestrikeCD // MeteorSwarmCD // ChainLightningCD // Spirit Speak // Mushroom // Magic Shield // Spell Fail (w/ overhead text trigger of "The spell fizzles" and a 2 second default cooldown) # Use the following optional organizer agents (or swap for your own): # Organizer Agent-01 hotbag (for boards, logs, seeds, etc.) # Organizer Agent-02 hotbag (for main LUMBER inventory items) # Organizer Agent-03 hotbag (for ingots, seeds, etc.) # Organizer Agent-04 hotbag (for main MINING inventory items) # Organizer Agent-05 hotbag * (optional - for unloading at HOME or INN ROOM - Turn on EnableOrganizerAgents below) // See Shared Variables section below to turn on or off the use of Resource Stockpile, Storage Shelf, Bank Safe and Magic Item Recycler in lieu of Organizer Agent-05! // Use the following optional agents to unload non-stockpile or shelf items (Turn on EnableTreasureChest below): # Organizer Agent-06 hotbag * (optional - I use for unloading Tmaps, SS, orbs, RM, etc.) # Organizer Agent-07 hotbag * (optional - I use for unloading Runes) # Organizer Agent-08 hotbag * (optional - I use for unloading Black Goods, etc.) # Organizer Agent-09 hotbag * (optional - I use for unloading seeds, soil, grain, etc.) # Optional system messages to TEXT FILTER in Razor for cleaner UI: // "What do you want to use this item on?" // "You do not see any harvestable resources nearby" // "You cannot produce any wood from that" // "You hack at the tree" // "You chop some" // "You dig some" // "You loosen some" // "You smelt the ore" // "You must wait" // "You shape the logs into boards" // "You do not see any" // "You do not have any" // "Mining skillgain" // "Lumberjacking skillgain" // "No one matching that" // "You will now hunt" // "Organize Agent" // "queue" // "Macro" // "Achievement" // "You have worn out your tool" // "You carve materials from the corpse" // "Target item to grab" // "There are no nearby corpses" // "item to satchel" // "You begin hunting" // "Container not set" // "Invalid or inaccessible item" ################################################# // Shared Variables: // ################################################# @setvar! EnableRedAlertRecall 1 @setvar! EnableParalyzePouch 1 @setvar! EnableAutoAttackGreyMOB 1 @setvar! EnableHealPotion 1 @setvar! HealPotHP 45 @setvar! EnableCurePotion 1 @setvar! CurePotHP 85 @setvar! EnableRefreshPotion 1 @setvar! RefreshPotSPdiff 11 // Enable for auto buff check and consumption during combat: @setvar! EnableMagicResistPotion 0 @setvar! EnableStrengthPotion 0 @setvar! EnableAgilityPotion 0 @setvar! AllInventoryMessage 1 // or @setvar! YellowInventoryMessage 1 @setvar! OrangeInventoryMessage 1 @setvar! RedInventoryMessage 1 @setvar! WhiteInventoryMessage 0 @setvar! BlueInventoryMessage 0 @setvar! BlackInventoryMessage 0 @setvar! RopeInventoryMessage 0 @setvar! EnableAutoCarving 0 @setvar! EnableGoldVacuum 0 @setvar! EnableCheeseTimer 0 @setvar! EnableToolCountdown 0 @setvar! EnableRecycleTool 0 @setvar! EnableSatchels 0 @setvar! EnableWeaponWarning 0 // Choose only one (or none) for AUTO RECALL destination: @setvar! OwnerInnRecall 0 @setvar! CoOwnerInnRecall 0 @setvar! HouseRecall 0 # Use ">info" to ID your own house door: @setvar! MyDoor 0x50F70A17 @setvar! HideAtHomeorInn 1 # Script can use Razor Organizer Agents to organize or you can use Resource Stockpile, Storage Shelf, etc. instead: @setvar! EnableOrganizerAgents 0 // or @setvar! EnableBankSafe 0 @setvar! EnableStockpile 0 @setvar! EnableStorageShelf 0 @setvar! EnableMagicRecycler 0 @setvar! EnableRepairBench 0 @setvar! EnableTreasureChest 0 ################################################# // Mining Specific Variables: // ################################################# if skill "Mining" >= 50 and EnableMining = 1 @setvar! EnableOreVacuum 1 @setvar! EnablePlayerForgeRadar 1 @setvar! EnableAutoSmeltPlayerForge 1 @setvar! EnableAutoSmeltNaturalForge 1 @setvar! EnableIngotAutoRecall 1 @setvar! IngotRecallAmount 3000 @setvar! EnableIngotBag 1 @setvar! OpenIngotBag 0 @setvar! EnableWeightWarningMessage 1 @setvar! GreenWarningWeight 400 @setvar! YellowWarningWeight 430 @setvar! RedWeightLimit 445 endif ################################################# // Lumber Specific Variables: // ################################################# if skill "Lumberjacking" >= 50 and EnableLumberjacking = 1 @setvar! LogsToBoards 1 @setvar! EnableBoardAutoRecall 1 @setvar! BoardRecallAmount 3000 @setvar! EnableBoardBag 1 @setvar! OpenBoardBag 0 @setvar! EnableWeightWarningMessage 1 @setvar! GreenWarningWeight 400 @setvar! YellowWarningWeight 430 @setvar! RedWeightLimit 449 endif ################################################# // Magery Specific Variables: // ################################################# if skill "Magery" >= 50 # Defensive: @setvar! EnableCastRecall 1 @setvar! EnableMagicReflection 1 @setvar! EnableReactiveArmour 1 @setvar! EnableProtection 0 @setvar! EnableCastHeal 1 @setvar! EnableCastCure 1 @setvar! CastHealHPlowdiff 5 @setvar! CastHealHPmeddiff 25 @setvar! CastHealHPhighdiff 50 @setvar! EnableReagentSplitter 0 # Offensive: @setvar! EnableCastHarm 0 @setvar! HarmCooldown 30000 @setvar! EnableCastWeaken 0 @setvar! WeakenCooldown 30000 @setvar! EnableCastCurse 0 @setvar! CurseCooldown 30000 @setvar! EnableCastMindBlast 0 @setvar! MindblastCooldown 30000 @setvar! EnableCastMagicArrow 0 @setvar! MagicArrowCooldown 30000 @setvar! EnableCastFireball 0 @setvar! FireballCooldown 30000 @setvar! EnableCastLightning 1 @setvar! LightningCooldown 30000 @setvar! EnableCastExplosion 1 @setvar! ExplosionCooldown 10000 @setvar! EnableCastEnergyBolt 1 @setvar! EnergyBoltCooldown 10000 @setvar! EnableCastFlamestrike 1 @setvar! FlamestrikeCooldown 10000 @setvar! EnableCastMeteorSwarm 0 @setvar! MeteorSwarmCooldown 30000 @setvar! EnableCastChainLightning 0 @setvar! ChainLightningCooldown 30000 @setvar! EnableMagicMushroom 0 @setvar! MushroomCooldown 60000 @setvar! EnableMushroomMaker 0 @setvar! MakeMushroomAmount 5 # Summons: @setvar! EnableSummons 0 @setvar! NameSummonedPets 0 @setvar! TotalSummonCount 0 // Number of summoned pets (0, 1 or 2 each - up to 4 total): @setvar! SummonFireElemental 0 @setvar! SummonEarthElemental 0 @setvar! SummonAirElemental 0 @setvar! SummonWaterElemental 0 @setvar! SummonDemon 0 // Add pet names to list below (must be unique): if NameSummonedPets = 1 if not listexists petNameList createlist petNameList endif if list petNameList = 0 pushlist petNameList "ExamplePetName1" pushlist petNameList "ExamplePetName2" pushlist petNameList "ExamplePetName3" pushlist petNameList "ExamplePetName4" pushlist petNameList "ExamplePetName5" pushlist petNameList "ExamplePetName6" pushlist petNameList "ExamplePetName7" pushlist petNameList "ExamplePetName8" pushlist petNameList "ExamplePetName9" pushlist petNameList "ExamplePetName10" endif else clearlist petNameList endif #### EDIT BELOW THIS LINE AT YOUR OWN RISK! #### EDIT BELOW THIS LINE AT YOUR OWN RISK! #### EDIT BELOW THIS LINE AT YOUR OWN RISK! #### EDIT BELOW THIS LINE AT YOUR OWN RISK! #### ///////////////////////////////////////////// ///////// SCRIPT STARTS HERE: ///////// ///////////////////////////////////////////// if SCRIPTRESET = 1 unsetvar lumber_runebook unsetvar boardbag unsetvar mining_runebook unsetvar ingotbag unsetvar TreasureChest unsetvar DanStock. unsetvar FIRSTRUN unsetvar EASTEREGG clearlist petNameList overhead "All permanent script variables reset!" 84 wait 500 overhead "Reset SCRIPTRESET back to 0 and restart script to prompt for new targets..." 0 sysmsg "Make sure to set SCRIPTRESET back to 0" 253 wait 500 sysmsg "Stopping script..." 0 stop endif if not varexist DanStock. sysmsg "DanStock's Ultimate Harvest Auto Pilot Script" 77 wait 500 sysmsg "Version: 2.0.03" wait 500 sysmsg "Last updated: Oct 18, 2024" 69 wait 1000 overhead "Thank you for trying my script! It appears this may be your first time running it..." 0 wait 4000 overhead "IMPT: Please make sure to setup all the required COOLDOWNS and VARIABLES!" 153 wait 4500 overhead "There is a LOT this script can do with the right configuration!" 0 wait 3500 overhead "Email any questions/bugs to: dan@danstockman.com" 0 wait 2500 overhead "[ HAPPY HARVESTING! ]" 2086 wait 500 setvar DanStock. 1 sysmsg "Beginning initial Harvest Auto Pilot script setup...... " 0 wait 1500 sysmsg "Best done from inside your Home or Inn Room!" 253 wait 500 hotkey 'Cancel Current Target' endif if skill "Mining" >= 50 and EnableRedAlertRecall = 1 if not varexist mining_runebook wait 1000 overhead "First off, please select your Escape Runebook..." 88 wait 1500 overhead "[ SELECT RUNEBOOK... ]" 253 setvar mining_runebook wft 500 while targetexists wait 100 endwhile overhead "[ RUNEBOOOK SELECTED! ]" 93 wait 1500 overhead "Script will use recall SCROLL (to first rune) or CAST recall (to 'default' rune)" 0 wait 2500 endif endif if skill "Mining" >= 50 and EnableIngotBag = 1 if not varexist ingotbag wait 1000 overhead "Next, we'll set your ingot storage bag..." 88 wait 1500 overhead "[ SELECT INGOT BAG... ]" 253 setvar ingotbag wft 500 while targetexists wait 100 endwhile overhead "[ INGOT BAG SELECTED! ]" 93 wait 1500 overhead "Also set this bag as 'Organizer Agent-03' in Razor!" 0 wait 3000 endif endif if skill "Lumberjacking" >= 50 and EnableRedAlertRecall = 1 if not varexist lumber_runebook wait 1000 overhead "First off, please select your Escape Runebook..." 88 wait 1500 overhead "[ SELECT RUNEBOOK... ]" 253 setvar lumber_runebook wft 500 while targetexists wait 100 endwhile overhead "[ RUNEBOOOK SELECTED! ]" 93 wait 1500 overhead "Script will use recall SCROLL (to first rune) or CAST recall (to 'default' rune)" 0 wait 2500 endif endif if skill "Lumberjacking" >= 50 and EnableBoardBag = 1 if not varexist boardbag wait 1000 overhead "Next, we'll set your lumber storage bag..." 88 wait 1500 overhead "[ SELECT BOARD BAG... ]" 253 setvar boardbag wft 500 while targetexists wait 100 endwhile overhead "[ BOARD BAG SELECTED! ]" 93 wait 1500 overhead "Also set this bag as 'Organizer Agent-01'in Razor!" 0 wait 3000 endif endif if EnableTreasureChest = 1 if not varexist TreasureChest wait 1000 sysmsg "Disable 'EnableTreasureChest' in script variables to turn off this feature!" 0 overhead "Now, select a container (in your Home or Inn) to store your loot..." 88 wait 1500 overhead "[ SELECT LOOT CHEST... ]" 253 setvar TreasureChest wft 500 while targetexists wait 100 endwhile overhead "[ LOOT CHEST SELECTED! ]" 93 wait 1500 overhead "Setup additional Organizer Agents (06-09) within this container!" 0 wait 3500 endif endif if not varexist FIRSTRUN sysmsg "Verifying initial setup is complete.......... " 0 wait 2500 overhead "Ok, looks like you're good to go!" 0 wait 3000 overhead "Good luck out there and thanks again for trying my script!" 0 setvar FIRSTRUN 1 wait 3000 sysmsg "DANSTOCK'S ULTIMATE HARVEST AUTO PILIOT SCRIPT SETUP COMPLETE!" 84 wait 1500 overhead "[ STARTING HARVEST SCRIPT.... ]" 2086 wait 1500 endif if hidden overhead "[ HIDDEN... ]" 6 wait 1000 sysmsg "You cannot use this script while hidden! Please unhide and try again..." 0 stop endif if EnableRedAlertRecall = 1 if insysmsg "Now tracking" or insysmsg "Distance to destination" @setvar! TimeToGo 1 endif endif if insysmsg "Captcha successful" overhead "I guess you got the magic numbers correct??" 2086 wait 1500 if EnableSummons = 1 and followers > 1 overhead "Umm... who are you speaking to, Master?" 44 myMainTankPet menu myMainTankPet 3 clearsysmsg wait 1500 overhead "Nevermind that... let's get to work..." 2086 else overhead "Alright, let's get to work..." 2086 endif endif if insysmsg "You have unlocked a codex upgrade point" overhead "[ CODEX POINT UNLOCKED! ]" 2114 if EnableSummons = 1 and followers > 1 wait 1000 overhead "Well done, Master..." 44 myMainTankPet menu myMainTankPet 3 endif endif if insysmsg "unlocked a point for your wizard's grimoire" overhead "[ GRIMOIRE POINT UNLOCKED! ]" 7 if EnableSummons = 1 and followers > 1 wait 1000 overhead "You seem stronger, Master..." 44 myMainTankPet menu myMainTankPet 3 endif endif if insysmsg "enough experience to upgrade" overhead "[ ASPECT TIER UNLOCKED! ]" 2086 if EnableSummons = 1 and followers > 1 wait 500 overhead "Time to spend some more gold, it would seem..." 44 myMainTankPet menu myMainTankPet 3 wait 500 endif endif if insysmsg "upgrade point for Fire Elemental" or insysmsg "upgrade point for Air Elemental" or insysmsg "upgrade point for Water Elemental" or insysmsg "upgrade point for Earth Elemental"and EnableSummons = 1 and followers > 1 overhead "Hmm.. I suddenly feel stronger!" 44 myMainTankPet menu myMainTankPet 3 wait 500 overhead "* cracks knuckles... *" 0 myMainTankPet endif if insysmsg "something invisible out of the way" overhead "[ ▼ SOMEONE HIDDEN! ▼ ]" 6 if EnableSummons = 1 and followers > 1 wait 500 overhead "There is a foul stench upon the air..." 44 myMainTankPet menu myMainTankPet 3 wait 500 endif endif if paralyzed and EnableParalyzePouch = 1 overhead "[[[[ POP ]]]]" 2117 say "[pouch" @setvar! TimeToGo 1 if EnableSummons = 1 and followers > 1 overhead "That was unwise, criminal..." 44 myMainTankPet menu myMainTankPet 3 clearsysmsg endif endif if EnableRedAlertRecall = 1 and TimeToGo = 1 overhead "[[[[ RED ALERT ]]]]" 37 overhead "Looks like trouble coming!" 2086 if paralyzed overhead "[[[[ POP ]]]]" 2117 say "[pouch" wait 250 endif if skill 'Healing' > 50 and not bandaging and hits < maxhits hotkey "Bandage self" overhead '* applying bandages... *' 88 wait 250 endif if diffhits > 25 and not cooldown "Healing Potion" if findtype "Yellow Potion" self as healpot overhead '* drinking heal potion... *' 253 dclick healpot cooldown "Healing Potion" 10500 wait 250 else overhead '[ NO HEAL POTS! ]' 337 endif endif if poisoned and not cooldown "Cure Potion" if findtype "Orange Potion" self as curepot overhead '* drinking cure potion... *' 44 dclick curepot cooldown "Cure Potion" 10500 wait 250 else overhead [ NO CURE POTS! ]" 337 endif endif if stam < maxstam and not cooldown "Refresh Potion" if findtype "Red Potion" self as refreshpot overhead '* drinking refresh potion... *' 34 dclick refreshpot cooldown "Refresh Potion" 10500 wait 250 else overhead '[ NO REFRESH POTS! ]' 337 endif endif if skill "Mining" >= 50 if skill "Magery" >= 60 and CastRecall = 1 cast "Recall" wft 2500 target mining_runebook for 5 wait 500 if insysmsg 'Your concentration is disturbed' overhead 'Shit! Trying that again...' 2086 cast "Recall" wft 2500 target mining_runebook clearsysmsg endif endfor else dclick mining_runebook waitforgump 1551740969 gumpresponse 2 wait 500 for 5 wait 500 if insysmsg 'Your concentration is disturbed' overhead 'Shit! Trying that again...' 2086 dclick mining_runebook waitforgump 1551740969 gumpresponse 2 wait 500 clearsysmsg endif endfor endif endif if skill "Lumberjacking" >= 50 if skill "Magery" >= 60 and CastRecall = 1 cast "Recall" wft 2500 target mining_runebook for 5 wait 500 if insysmsg 'Your concentration is disturbed' overhead 'Shit! Trying that again...' 2086 cast "Recall" wft 2500 target mining_runebook clearsysmsg endif endfor else dclick lumber_runebook waitforgump 1551740969 gumpresponse 2 wait 500 for 5 wait 500 if insysmsg 'Your concentration is disturbed' overhead 'Shit! Trying that again...' 2086 dclick lumber_runebook waitforgump 1551740969 gumpresponse 2 wait 500 clearsysmsg endif endfor endif endif wait 1000 overhead "Whew. I think we got away!" 2086 if not varexist GuardComment @setvar! GuardComment 1 endif if EnableSummons = 1 and GuardComment = 1 and followers > 1 wait 1500 overhead "Yes Master, that was a close one..." 44 myMainTankPet menu myMainTankPet 3 clearsysmsg @setvar! GuardComment 2 wait 500 elseif EnableSummons = 1 and GuardComment = 2 and followers > 1 wait 1500 overhead "Yes Master, your script is truly God-like..." 44 myMainTankPet menu myMainTankPet 3 clearsysmsg @setvar! GuardComment 3 wait 500 elseif EnableSummons = 1 and GuardComment = 3 and followers > 1 wait 1500 overhead "Yes Master, these red humans are quite annoying..." 44 myMainTankPet menu myMainTankPet 3 clearsysmsg @setvar! GuardComment 4 wait 500 elseif EnableSummons = 1 and GuardComment = 4 and followers > 1 wait 1500 overhead "I think we could have taken them..." 44 myMainTankPet menu myMainTankPet 3 clearsysmsg @setvar! GuardComment 5 wait 500 elseif EnableSummons = 1 and GuardComment = 5 and followers > 1 wait 1500 overhead "I've worked for that human before... total prick..." 44 myMainTankPet menu myMainTankPet 3 clearsysmsg @setvar! GuardComment 6 wait 500 elseif EnableSummons = 1 and GuardComment = 6 and followers > 1 wait 1500 overhead "I don't think tonight is our night, Master.." 44 myMainTankPet menu myMainTankPet 3 clearsysmsg @setvar! GuardComment 1 wait 500 endif @setvar! TimeToGo 0 sysmsg "Auto Recall trigger condition reset!" 0 if skill "Mace Fighting" > 50 and not findtype "sledgehammer|giant club|flail|cudgel|quarter staff|war mace|maul|war axe|mace|hammer pick" hand and findtype "sledgehammer|giant club|flail|cudgel|quarter staff|war mace|maul|war axe|mace|hammer pick" backpack as weapon getlabel weapon WeaponLabel for 5 if "unidentified" in WeaponLabel ignore weapon if not findtype "sledgehammer|giant club|flail|cudgel|quarter staff|war mace|maul|war axe|mace|hammer pick" hand and findtype "sledgehammer|giant club|flail|cudgel|quarter staff|war mace|maul|war axe|mace|hammer pick" self as weapon getlabel weapon WeaponLabel else overhead "[ NO WEAPON! ]" 337 break endif endif endfor dclick weapon endif if skill "Swordsmanship" > 50 and not findtype "double axe|two handed axe|battle axe|halberd|katana|bardiche|cutlass|broadsword|scimitar|viking sword|longsword" hand and findtype "double axe|two handed axe|battle axe|halberd|katana|bardiche|cutlass|broadsword|scimitar|viking sword|longsword" backpack as weapon getlabel weapon WeaponLabel for 5 if "unidentified" in WeaponLabel ignore weapon if not findtype "double axe|two handed axe|battle axe|halberd|katana|bardiche|cutlass|broadsword|scimitar|viking sword|longsword" hand and findtype "double axe|two handed axe|battle axe|halberd|katana|bardiche|cutlass|broadsword|scimitar|viking sword|longsword" self as weapon getlabel weapon WeaponLabel else overhead "[ NO WEAPON! ]" 337 break endif endif endfor dclick weapon endif if skill "Magery" >= 80 and not findtype "spellbook" hand and findtype "spellbook" backpack as myspellbook getlabel myspellbook SpellbookLabel for 5 wait 100 if "unidentified" in SpellbookLabel or "[blessed" in SpellbookLabel ignore myspellbook if not findtype "spellbook" hand and findtype "spellbook" self as myspellbook getlabel myspellbook SpellbookLabel else overhead "[ NO SPELLBOOK! ]" 337 break endif endif endfor dclick myspellbook endif wait 1000 if HouseRecall = 1 wait 1500 if find MyDoor ground -1 -1 2 dclick MyDoor overhead "* door slams! *" 0 MyDoor wait 500 endif endif if OwnerInnRecall = 1 wait 2000 say "Innkeeper, I need a room!" waitforgump 2393832411 gumpresponse 4 wait 3000 endif if CoOwnerInnRecall = 1 wait 2000 say "Innkeeper, I need a room!" waitforgump 2393832411 gumpresponse 5 wait 2000 gumpresponse 100 wait 2000 endif if HideAtHomeorInn = 1 useskill "Hiding" wait 250 endif if OpenIngotBag = 1 dclick ingotbag wait 250 endif if OpenBoardBag = 1 dclick boardbag wait 250 endif for 11 if findtype "iron ore" backpack as ore if findtype "forge" ground -1 -1 2 as forge or findtype 0x0FB1 ground -1 -1 2 as forge overhead "* smelting ore... *" 2114 forge dclick ore overhead "* forging ingots... *" 2117 wait 1000 hotkey 'Organizer Agent-03' wait 250 endif endif endfor for 11 if findtype 'log%s' backpack and LogsToBoards = 1 wait 500 overhead '* making boards... *' 0 dclicktype 'log%s' wait 250 hotkey 'Organizer Agent-01' wait 1500 endif endfor if EnableOrganizerAgents = 1 if findtype "cut up leather|iron ingot%s|board%s|feather%s|seed of renewal|shaft%s|blank scroll%s%|gold coin" backpack overhead "* storing ingots... *" 37 hotkey "Organizer Agent-05" wait 3500 if findtype "cut up leather|iron ingot%s|board%s|feather%s|seed of renewal|shaft%s|blank scroll%s%|gold coin" backpack hotkey "Organizer Agent-05" wait 3500 endif if findtype "cut up leather|iron ingot%s|board%s|feather%s|seed of renewal|shaft%s|blank scroll%s%|gold coin" backpack hotkey "Organizer Agent-05" wait 500 endif endif endif if EnableBankSafe = 1 if findtype "bank deposit safe" ground -1 -1 2 as safe while findtype "gold coin" self as gold lift gold 60000 overhead "* depositing gold... *" 149 drop safe -1 -1 -1 wait 1000 endwhile while findtype 2539 self as dubs lift dubs 60000 drop safe -1 -1 -1 overhead "* depositing doubloons... *" 149 wait 1000 endwhile else overhead "[ NO BANK SAFE FOUND ]" 337 sysmsg "Disable 'EnableBankSafe' in script variables to turn off this feature!" 0 endif endif if EnableStockpile = 1 if findtype "resource container" ground -1 -1 2 as resource menu resource 0 wft 500 target self overhead "* unloading resources... *" 84 wait 1000 else overhead "[ NO RESOURCE STOCKPILE FOUND ]" 337 sysmsg "Disable 'EnableStockpile' in script variables to turn off this feature!" 0 endif endif if EnableStorageShelf = 1 if findtype "storage shelf" ground -1 -1 2 as shelf menu shelf 0 wft 500 target self overhead "* restocking... *" 37 wait 1000 gumpclose 3232825965 else overhead "[ NO STORAGE SHELF FOUND ]" 337 sysmsg "Disable 'EnableStorageShelf' in script variables to turn off this feature!" 0 endif if findtype "storage shelf" ground -1 -1 2 as shelf menu shelf 1 wft 500 target self overhead "* resupplying... *" 93 wait 1000 endif endif if EnableRepairBench = 1 if findtype "repair bench" ground -1 -1 2 as RepairBench clearsysmsg dclick RepairBench wait 1000 if insysmsg "You do not have any items equipped or in your backpack in need of repairs." overhead "* nothing to repair! *" 0 else settimer RepairTimer 0 while timer RepairTimer <= 5000 if insysmsg "Repair" break endif endwhile overhead "* all items repaired! *" 0 overhead "Repair took: {{RepairTimer}}ms" 149 removetimer RepairTimer endif wait 500 else overhead "[ NO REPAIR BENCH FOUND ]" 337 sysmsg "Disable 'EnableRepairBench' in script variables to turn off this feature!" 0 endif endif if EnableMagicRecycler = 1 if findtype "ornate elven chest|magic item recycler" ground -1 -1 2 as recycler menu recycler 1 wait 1000 if insysmsg "0 recyclable" overhead "* nothing to recycle! *" 6 else overhead "* recycling magic items... *" 6 wait 500 endif else overhead "[ NO MAGIC ITEM RECYCLER FOUND ]" 337 sysmsg "Disable 'EnableMagicRecycler' in script variables to turn off this feature!" 0 endif endif if EnableTreasureChest = 1 if findtype "black market goods|seed of renewal|dirt patch|bag of seeds|void orb|rune|scroll of calling|bottle|dye bottle|map" self dclick TreasureChest overhead "* storing loot... *" 69 wait 250 hotkey "Organizer Agent-06" wait 250 hotkey "Organizer Agent-07" wait 250 hotkey "Organizer Agent-08" wait 250 hotkey "Organizer Agent-09" wait 1000 if findtype "black market goods|seed of renewal|dirt patch|bag of seeds|void orb|rune|scroll of calling|bottle|dye bottle|map" self wait 1000 hotkey "Organizer Agent-06" wait 250 hotkey "Organizer Agent-07" wait 250 hotkey "Organizer Agent-08" wait 250 hotkey "Organizer Agent-09" endif endif endif if EnableReagentSplitter = 1 // This section uses a Reg Splitter script I adapted from dennozz' script found here: https://outlands.uorazorscripts.com/script/d8f50c97-3d9c-468b-9114-0a0623003e19 // if findtype "reagent satchel" self as MyWizardBag sysmsg "Disable 'EnableReagentSplitter' in script variables to turn off this feature!" 0 dclick MyWizardBag overhead "* splitting reagents... *" 112 @setvar! amount 0 @setvar! regsID 3981 @setvar! myCounter 0 while findtype regsID self as r @setvar! myCounter index @ignore r endwhile @clearignore if counttype regsID self <= 15 @setvar! amount 2 elseif counttype regsID self <= 30 @setvar! amount 4 elseif counttype regsID self <= 50 @setvar! amount 10 elseif counttype regsID self <= 100 @setvar! amount 20 elseif counttype regsID self <= 150 @setvar! amount 30 elseif counttype regsID self <= 200 @setvar! amount 40 else @setvar! amount 50 endif while findtype regsID self as regs @setvar! moveRegs 0 if myCounter = 0 @setvar! moveRegs 1 elseif myCounter != 0 and not find regs MyWizardBag @setvar! moveRegs 1 endif # Spider Silk if moveRegs = 1 if index = 0 lift regs amount drop MyWizardBag 44 65 0 wait 150 elseif index = 1 lift regs amount drop MyWizardBag 68 65 0 wait 150 elseif index = 2 lift regs amount drop MyWizardBag 96 65 0 wait 150 elseif index = 3 lift regs amount drop MyWizardBag 121 65 0 wait 150 else lift regs amount drop MyWizardBag 142 65 0 wait 150 endif endif @ignore regs if moveRegs = 1 wait 500 endif endwhile @setvar! regsID 3962 @setvar! myCounter 0 while findtype regsID self as r @setvar! myCounter index @ignore r endwhile @clearignore if counttype regsID self <= 10 @setvar! amount 2 elseif counttype regsID self <= 20 @setvar! amount 4 elseif counttype regsID self <= 50 @setvar! amount 10 elseif counttype regsID self <= 100 @setvar! amount 20 elseif counttype regsID self <= 150 @setvar! amount 30 elseif counttype regsID self <= 200 @setvar! amount 40 else @setvar! amount 50 endif while findtype regsID self as regs @setvar! moveRegs 0 if myCounter = 0 @setvar! moveRegs 1 elseif myCounter != 0 and not find regs MyWizardBag @setvar! moveRegs 1 endif # Black Pearl if moveRegs = 1 if index = 0 lift regs amount drop MyWizardBag 44 76 0 wait 150 elseif index = 1 lift regs amount drop MyWizardBag 68 76 0 wait 150 elseif index = 2 lift regs amount drop MyWizardBag 96 76 0 wait 150 elseif index = 3 lift regs amount drop MyWizardBag 121 76 0 wait 150 else lift regs amount drop MyWizardBag 142 76 0 wait 150 endif endif @ignore regs if moveRegs = 1 wait 500 endif endwhile @setvar! regsID 3976 @setvar! myCounter 0 while findtype regsID self as r @setvar! myCounter index @ignore r endwhile @clearignore if counttype regsID self <= 10 @setvar! amount 2 elseif counttype regsID self <= 20 @setvar! amount 4 elseif counttype regsID self <= 50 @setvar! amount 10 elseif counttype regsID self <= 100 @setvar! amount 20 elseif counttype regsID self <= 150 @setvar! amount 30 elseif counttype regsID self <= 200 @setvar! amount 40 else @setvar! amount 50 endif while findtype regsID self as regs @setvar! moveRegs 0 if myCounter = 0 @setvar! moveRegs 1 elseif myCounter != 0 and not find regs MyWizardBag @setvar! moveRegs 1 endif # Nightshade if moveRegs = 1 if index = 0 lift regs amount drop MyWizardBag 44 88 0 wait 150 elseif index = 1 lift regs amount drop MyWizardBag 68 88 0 wait 150 elseif index = 2 lift regs amount drop MyWizardBag 96 88 0 wait 150 elseif index = 3 lift regs amount drop MyWizardBag 121 88 0 wait 150 else lift regs amount drop MyWizardBag 142 88 0 wait 150 endif endif @ignore regs if moveRegs = 1 wait 500 endif endwhile @setvar! regsID 3974 @setvar! myCounter 0 while findtype regsID self as r @setvar! myCounter index @ignore r endwhile @clearignore if counttype regsID self <= 10 @setvar! amount 2 elseif counttype regsID self <= 20 @setvar! amount 4 elseif counttype regsID self <= 50 @setvar! amount 10 elseif counttype regsID self <= 100 @setvar! amount 20 elseif counttype regsID self <= 150 @setvar! amount 30 elseif counttype regsID self <= 200 @setvar! amount 40 else @setvar! amount 50 endif while findtype regsID self as regs @setvar! moveRegs 0 if myCounter = 0 @setvar! moveRegs 1 elseif myCounter != 0 and not find regs MyWizardBag @setvar! moveRegs 1 endif # Mandrake root if moveRegs = 1 if index = 0 lift regs amount drop MyWizardBag 44 100 0 wait 150 elseif index = 1 lift regs amount drop MyWizardBag 68 100 0 wait 150 elseif index = 2 lift regs amount drop MyWizardBag 96 100 0 wait 150 elseif index = 3 lift regs amount drop MyWizardBag 121 100 0 wait 150 else lift regs amount drop MyWizardBag 142 100 0 wait 150 endif endif @ignore regs if moveRegs = 1 wait 500 endif endwhile @setvar! regsID 3980 @setvar! myCounter 0 while findtype regsID self as r @setvar! myCounter index @ignore r endwhile @clearignore if counttype regsID self <= 10 @setvar! amount 2 elseif counttype regsID self <= 20 @setvar! amount 4 elseif counttype regsID self <= 50 @setvar! amount 10 elseif counttype regsID self <= 100 @setvar! amount 20 elseif counttype regsID self <= 150 @setvar! amount 30 elseif counttype regsID self <= 200 @setvar! amount 40 else @setvar! amount 50 endif while findtype regsID self as regs @setvar! moveRegs 0 if myCounter = 0 @setvar! moveRegs 1 elseif myCounter != 0 and not find regs MyWizardBag @setvar! moveRegs 1 endif # Sulphurous Ash if moveRegs = 1 if index = 0 lift regs amount drop MyWizardBag 44 112 0 wait 150 elseif index = 1 lift regs amount drop MyWizardBag 68 112 0 wait 150 elseif index = 2 lift regs amount drop MyWizardBag 96 112 0 wait 150 elseif index = 3 lift regs amount drop MyWizardBag 121 112 0 wait 150 else lift regs amount drop MyWizardBag 142 112 0 wait 150 endif endif @ignore regs if moveRegs = 1 wait 500 endif endwhile @setvar! regsID 3973 @setvar! myCounter 0 while findtype regsID self as r @setvar! myCounter index @ignore r endwhile @clearignore if counttype regsID self <= 10 @setvar! amount 2 elseif counttype regsID self <= 20 @setvar! amount 4 elseif counttype regsID self <= 50 @setvar! amount 10 elseif counttype regsID self <= 100 @setvar! amount 20 elseif counttype regsID self <= 150 @setvar! amount 30 elseif counttype regsID self <= 200 @setvar! amount 40 else @setvar! amount 50 endif while findtype regsID self as regs @setvar! moveRegs 0 if myCounter = 0 @setvar! moveRegs 1 elseif myCounter != 0 and not find regs MyWizardBag @setvar! moveRegs 1 endif # Ginseng if moveRegs = 1 if index = 0 lift regs amount drop MyWizardBag 44 124 0 wait 150 elseif index = 1 lift regs amount drop MyWizardBag 68 124 0 wait 150 elseif index = 2 lift regs amount drop MyWizardBag 96 124 0 wait 150 elseif index = 3 lift regs amount drop MyWizardBag 121 124 0 wait 150 else lift regs amount drop MyWizardBag 142 124 0 wait 150 endif endif @ignore regs if moveRegs = 1 wait 500 endif endwhile @setvar! regsID 3963 @setvar! myCounter 0 while findtype regsID self as r @setvar! myCounter index @ignore r endwhile @clearignore if counttype regsID self <= 10 @setvar! amount 2 elseif counttype regsID self <= 20 @setvar! amount 4 elseif counttype regsID self <= 50 @setvar! amount 10 elseif counttype regsID self <= 100 @setvar! amount 20 elseif counttype regsID self <= 150 @setvar! amount 30 elseif counttype regsID self <= 200 @setvar! amount 40 else @setvar! amount 50 endif while findtype regsID self as regs @setvar! moveRegs 0 # Bloodmoss if myCounter = 0 @setvar! moveRegs 1 elseif myCounter != 0 and not find regs MyWizardBag @setvar! moveRegs 1 endif if moveRegs = 1 if index = 0 lift regs amount drop MyWizardBag 44 136 0 wait 150 elseif index = 1 lift regs amount drop MyWizardBag 68 136 0 wait 150 elseif index = 2 lift regs amount drop MyWizardBag 96 136 0 wait 150 elseif index = 3 lift regs amount drop MyWizardBag 121 136 0 wait 150 else lift regs amount drop MyWizardBag 142 136 0 wait 150 endif endif @ignore regs if moveRegs = 1 wait 500 endif endwhile @setvar! regsID 3972 @setvar! myCounter 0 while findtype regsID self as r @setvar! myCounter index @ignore r endwhile @clearignore if counttype regsID self <= 10 @setvar! amount 2 elseif counttype regsID self <= 20 @setvar! amount 4 elseif counttype regsID self <= 50 @setvar! amount 10 elseif counttype regsID self <= 100 @setvar! amount 20 elseif counttype regsID self <= 150 @setvar! amount 30 elseif counttype regsID self <= 200 @setvar! amount 40 else @setvar! amount 50 endif while findtype regsID self as regs @setvar! moveRegs 0 if myCounter = 0 @setvar! moveRegs 1 elseif myCounter != 0 and not find regs MyWizardBag @setvar! moveRegs 1 endif # Garlic if moveRegs = 1 if index = 0 lift regs amount drop MyWizardBag 44 148 0 wait 150 elseif index = 1 lift regs amount drop MyWizardBag 68 148 0 wait 150 elseif index = 2 lift regs amount drop MyWizardBag 96 148 0 wait 150 elseif index = 3 lift regs amount drop MyWizardBag 121 148 0 wait 150 else lift regs amount drop MyWizardBag 142 148 0 wait 150 endif endif @ignore regs if moveRegs = 1 wait 500 endif endwhile @setvar! regsID 8012 @setvar! myCounter 0 while findtype regsID self as r @setvar! myCounter index @ignore r endwhile @clearignore if counttype regsID self <= 5 @setvar! amount 1 elseif counttype regsID self <= 10 @setvar! amount 2 elseif counttype regsID self <= 20 @setvar! amount 4 elseif counttype regsID self <= 40 @setvar! amount 8 else @setvar! amount 15 endif while findtype regsID self as regs @setvar! moveRegs 0 if myCounter = 0 @setvar! moveRegs 1 elseif myCounter != 0 and not find regs MyWizardBag @setvar! moveRegs 1 endif #Scrolls if moveRegs = 1 if index = 0 lift regs amount drop MyWizardBag 44 160 0 wait 150 elseif index = 1 lift regs amount drop MyWizardBag 68 160 0 wait 150 elseif index = 2 lift regs amount drop MyWizardBag 96 160 0 wait 150 elseif index = 3 lift regs amount drop MyWizardBag 121 160 0 wait 150 else lift regs amount drop MyWizardBag 142 160 0 wait 150 endif endif @ignore regs if moveRegs = 1 wait 500 endif endwhile wait 1500 overhead "Fuck thieves!" 2086 wait 500 else overhead "[ NO WIZARD BAG! ]" 337 endif endif hotkey "Organizer Agent-04" wait 100 hotkey "Organizer Agent-02" wait 1000 overhead "[ SCRIPT COMPLETE! ]" 37 stop endif if EnableRedAlertRecall = 1 if skill 'Tracking' > 50 and not findbuff 'tracking' overhead 'I should keep an eye out for trouble...' 2086 while not gumpexists 4267467659 useskill 'tracking' wait 250 endwhile if gumpexists 4267467659 while not insysmsg "You will now hunt all hostile players." gumpresponse 8 4267467659 waitforgump 4267467659 5000 endwhile gumpresponse 6 4267467659 wait 1000 clearsysmsg endif gumpclose 4267467659 overhead "[ AUTO RECALL ACTIVATED! ]" 334 endif endif if skill 'Healing' > 50 if not bandaging and hits < maxhits overhead '* applying bandages... *' 88 hotkey "Bandage Self" endif if counttype 'clean bandage%s%' < 5 and not cooldown "Inventory Timer" overhead "[ RESTOCK BANDAGES! ]" 337 cooldown "Inventory Timer" 15000 endif endif if EnableCastHeal = 1 if skill 'Magery' >= 40 and diffhits > CastHealHPmeddiff and diffhits < CastHealHPhighdiff and mana >= 4 if not findtype "spellbook" hand and findtype "spellbook" backpack as myspellbook getlabel myspellbook SpellbookLabel for 5 wait 100 if "unidentified" in SpellbookLabel or "[blessed" in SpellbookLabel ignore myspellbook if not findtype "spellbook" hand and findtype "spellbook" self as myspellbook getlabel myspellbook SpellbookLabel else overhead "[ NO SPELLBOOK! ]" 337 break endif endif endfor dclick myspellbook wait 250 endif cast 'Heal' wait 100 while not casting if targetexists hotkey 'cancel current target' endif cast 'Heal' wait 100 endwhile wft 1500 target 'self' wait 250 elseif skill 'Magery' >= 60 and diffhits > CastHealHPhighdiff and mana >= 11 if not findtype "spellbook" hand and findtype "spellbook" backpack as myspellbook getlabel myspellbook SpellbookLabel for 5 wait 100 if "unidentified" in SpellbookLabel or "[blessed" in SpellbookLabel ignore myspellbook if not findtype "spellbook" hand and findtype "spellbook" self as myspellbook getlabel myspellbook SpellbookLabel else overhead "[ NO SPELLBOOK! ]" 337 break endif endif endfor dclick myspellbook wait 250 endif cast 'Greater Heal' wait 100 while not casting if targetexists hotkey 'cancel current target' endif cast 'Greater Heal' wait 100 endwhile wft 1500 target 'self' wait 250 elseif skill 'Magery' >= 40 and diffhits > CastHealHPhighdiff and mana >= 4 and mana < 11 if not findtype "spellbook" hand and findtype "spellbook" backpack as myspellbook getlabel myspellbook SpellbookLabel for 5 wait 100 if "unidentified" in SpellbookLabel or "[blessed" in SpellbookLabel ignore myspellbook if not findtype "spellbook" hand and findtype "spellbook" self as myspellbook getlabel myspellbook SpellbookLabel else overhead "[ NO SPELLBOOK! ]" 337 break endif endif endfor dclick myspellbook wait 250 endif cast 'Heal' wait 100 while not casting if targetexists hotkey 'cancel current target' endif cast 'Heal' wait 100 endwhile wft 1500 target 'self' wait 250 endif endif if EnableCastCure = 1 if poisoned and skill 'Magery' >= 40 and mana >= 6 if not findtype "spellbook" hand and findtype "spellbook" backpack as myspellbook getlabel myspellbook SpellbookLabel for 5 wait 100 if "unidentified" in SpellbookLabel or "[blessed" in SpellbookLabel ignore myspellbook if not findtype "spellbook" hand and findtype "spellbook" self as myspellbook getlabel myspellbook SpellbookLabel else overhead "[ NO SPELLBOOK! ]" 337 break endif endif endfor dclick myspellbook wait 250 endif cast 'Cure' wait 100 while not casting if targetexists hotkey 'cancel current target' endif cast 'Cure' wait 100 endwhile wft 1500 target 'self' wait 250 endif endif if EnableCurePotion = 1 if poisoned and not cooldown "Cure Potion" and hits < CurePotHP if findtype "Orange Potion" self as curepot overhead '* drinking cure potion... *' 44 dclick curepot cooldown "Cure Potion" 10500 else overhead "[ NO CURE POTS! ]" 337 endif endif endif if EnableHealPotion = 1 if hits < HealPotHP and not cooldown "Healing Potion" if findtype "Yellow Potion" self as healpot overhead '* drinking heal potion... *' 253 dclick healpot cooldown "Healing Potion" 10500 else overhead '[ NO HEAL POTS! ]' 337 endif endif endif if EnableRefreshPotion = 1 if diffstam >= RefreshPotSPdiff and not cooldown "Refresh Potion" if findtype "Red Potion" self as refreshpot overhead '* drinking refresh potion... *' 34 dclick refreshpot cooldown "Refresh Potion" 10500 else overhead '[ NO REFRESH POTS! ]' 337 endif endif endif if EnableMagicReflection = 1 if skill 'Magery' >= 60 and not findbuff 'Magic Reflection' and not cooldown "Magic Shield" and mana > 14 and TimeToGo = 0 if not findtype "spellbook" hand and findtype "spellbook" backpack as myspellbook getlabel myspellbook SpellbookLabel for 5 wait 100 if "unidentified" in SpellbookLabel or "[blessed" in SpellbookLabel ignore myspellbook if not findtype "spellbook" hand and findtype "spellbook" self as myspellbook getlabel myspellbook SpellbookLabel else overhead "[ NO SPELLBOOK! ]" 337 break endif endif endfor dclick myspellbook wait 250 endif for 10 cast 'Magic Reflection' waitfortarget 1500 hotkey 'Target Self' wait 1000 if insysmsg "That spell will not adhere" cooldown "Magic Shield" 30000 overhead "Too soon for a new shield. Give me a sec..." 2086 replay endif if cooldown "Spell Fail" wait 1000 overhead "Let me try that again..." 2086 wait 1000 else break endif endfor wait 500 overhead "[ MAGIC REFLECT ACTIVE! ]" 10 wait 1500 replay endif endif if EnableReactiveArmour = 1 if skill 'Magery' >= 30 and not findbuff 'Reactive Armor' and mana >= 4 and TimeToGo = 0 if not findtype "spellbook" hand and findtype "spellbook" backpack as myspellbook getlabel myspellbook SpellbookLabel for 5 wait 100 if "unidentified" in SpellbookLabel or "[blessed" in SpellbookLabel ignore myspellbook if not findtype "spellbook" hand and findtype "spellbook" self as myspellbook getlabel myspellbook SpellbookLabel else overhead "[ NO SPELLBOOK! ]" 337 break endif endif endfor dclick myspellbook wait 250 endif for 10 cast 'Reactive Armor' waitfortarget 1500 hotkey 'Target Self' wait 1000 if insysmsg "That spell will not adhere" cooldown "Magic Armor" 30000 overhead "Too soon for a new magic armor. Give me a sec..." 2086 replay endif if cooldown "Spell Fail" wait 500 overhead "Let me try that again..." 2086 wait 500 else break endif endfor wait 500 overhead "[ REACTIVE ARMOR ACTIVE! ]" 77 wait 1000 replay endif endif if EnableGoldVacuum = 1 if findtype "gold coin" ground -1 -1 15 as droppedmoney and not cooldown "Gold Radar" overhead "[ $ ]" 149 droppedmoney overhead "▼" 149 droppedmoney cooldown "Gold Radar" 3500 endif if findtype "gold coin" ground -1 -1 2 as droppedmoney and not cooldown "Gold Vacuum" overhead "[ CLEANUP... ]" 149 hotkey "Grab Item" wft 2500 target droppedmoney wait 250 if insysmsg "Invalid or inaccessible item" overhead "I can't get to that!" 2086 wait 500 @ignore droppedmoney endif cooldown "Gold Vacuum" 500 endif endif if skill "Spirit Speak" >= 80 and not cooldown "Spirit Speak" if findtype "corpse" ground -1 -1 12 as batteries useskill "spiritspeak" @ignore batteries cooldown "Spirit Speak" 11000 wait 1000 endif endif if EnableAutoCarving = 1 if findtype 'Elven SpellBlade' self if findtype "corpse" ground -1 -1 2 as deadbody dclicktype "Elven Spellblade" waitfortarget 1500 target 'self' wait 750 if insysmsg "You don't see anything" @ignore deadbody replay else overhead "* skinning corpse... *" 337 @ignore deadbody endif endif else if not cooldown "Inventory Timer" overhead "[ NO SKINNING KNIFE! ]" 337 sysmsg "Disable EnableAutoCarving in script variables to turn off this overhead message!" 0 cooldown "Inventory Timer" 15000 endif wait 500 endif endif if skill 'Magery' >= 80 and skill 'Spirit Speak' >= 80 and EnableSummons = 1 and TotalSummonCount > 0 if followers = 0 @setvar! NeedtoSummon 1 elseif followers = 1 and TotalSummonCount > 0 @setvar! NeedtoSummon 1 elseif followers = 2 and TotalSummonCount = 1 @setvar! NeedtoSummon 0 elseif followers = 2 and TotalSummonCount = 2 @setvar! NeedtoSummon 1 elseif followers = 2 and TotalSummonCount = 3 @setvar! NeedtoSummon 1 elseif followers = 2 and TotalSummonCount = 4 @setvar! NeedtoSummon 1 elseif followers = 3 and TotalSummonCount = 1 @setvar! NeedtoSummon 0 elseif followers = 3 and TotalSummonCount = 2 @setvar! NeedtoSummon 0 elseif followers = 3 and TotalSummonCount = 3 @setvar! NeedtoSummon 1 elseif followers = 3 and TotalSummonCount = 4 @setvar! NeedtoSummon 1 elseif followers = 4 and TotalSummonCount = 1 @setvar! NeedtoSummon 0 elseif followers = 4 and TotalSummonCount = 2 @setvar! NeedtoSummon 0 elseif followers = 4 and TotalSummonCount = 3 @setvar! NeedtoSummon 0 elseif followers = 4 and TotalSummonCount = 4 @setvar! NeedtoSummon 1 elseif followers = 5 @setvar! NeedtoSummon 0 endif if NeedtoSummon = 1 removelist summonList createlist summonList if not varexist myMainTankPet @setvar! myMainTankPet 0 endif if not varexist fireOne @setvar! fireOne 0 endif if not varexist fireTwo @setvar! fireTwo 0 endif if not varexist earthOne @setvar! earthOne 0 endif if not varexist earthTwo @setvar! earthTwo 0 endif if not varexist demonOne @setvar! demonOne 0 endif if not varexist demonTwo @setvar! demonTwo 0 endif if not varexist airOne @setvar! airOne 0 endif if not varexist airTwo @setvar! airTwo 0 endif if not varexist waterOne @setvar! waterOne 0 endif if not varexist waterTwo @setvar! waterTwo 0 endif overhead "* summoning a bodyguard... *" 12 wait 1000 overhead "I call upon the power of the elements..." 2086 if SummonEarthElemental > 0 if dead earthOne or not find earthOne ground -1 -1 18 pushlist summonList "Earth Elemental" @setvar! earthOne 1 endif if SummonEarthElemental > 1 if dead earthTwo or not find earthTwo ground -1 -1 18 pushlist summonList "Earth Elemental" @setvar! earthTwo 1 endif endif endif if SummonFireElemental > 0 if dead fireOne or not find fireOne ground -1 -1 18 pushlist summonList "Fire Elemental" @setvar! fireOne 1 endif if SummonFireElemental > 1 if dead fireTwo or not find fireTwo ground -1 -1 18 pushlist summonList "Fire Elemental" @setvar! fireTwo 1 endif endif endif if SummonDemon > 0 if dead demonOne or not find demonOne ground -1 -1 18 pushlist summonList "Earth Elemental" @setvar! demonOne 1 endif if SummonDemon > 1 if dead demonTwo or not find demonTwo ground -1 -1 18 pushlist summonList "Earth Elemental" @setvar! demonTwo 1 endif endif endif if SummonAirElemental > 0 if dead airOne or not find airOne ground -1 -1 18 pushlist summonList "Air Elemental" @setvar! airOne 1 endif if SummonAirElemental > 1 if dead airTwo or not find airTwo ground -1 -1 18 pushlist summonList "Air Elemental" @setvar! airTwo 1 endif endif endif if SummonWaterElemental > 0 if dead waterOne or not find waterOne ground -1 -1 18 pushlist summonList "Water Elemental" @setvar! waterOne 1 endif if SummonWaterElemental > 1 if dead waterTwo or not find waterTwo ground -1 -1 18 pushlist summonList "Water Elemental" @setvar! waterTwo 1 endif endif endif if not findtype "spellbook" hand and findtype "spellbook" backpack as myspellbook getlabel myspellbook SpellbookLabel wait 250 for 5 wait 250 if "unidentified" in SpellbookLabel or "[blessed" in SpellbookLabel ignore myspellbook if not findtype "spellbook" hand and findtype "spellbook" self as myspellbook getlabel myspellbook SpellbookLabel wait 250 else overhead "[ NO SPELLBOOK! ]" 337 break endif endif endfor dclick myspellbook endif foreach summon in summonList while mana < 50 if diffhits >= 50 replay endif wait 500 if not findbuff "Actively Meditating" useskill "meditation" overhead "* meditating... *" 10 endif wait 1000 endwhile cast summon wft 500 if targetexists hotkey "Target Self" wait 200 endif wait 500 if SummonName = 2 overhead "I summon thee, Protector of Harvesters!" 2086 elseif SummonName = 3 overhead "I require another protector!" 2086 elseif SummonName = 4 overhead "There's still room in the back!" 2086 else overhead "Send me a worthy protector!" 2086 endif while casting wait 50 endwhile if diffhits >= 40 overhead "Hang on, I need a heal!" 2086 hotkey '> Interrupt' replay endif wait 250 @setvar! myFreshlySummonedPet 0 if summon = "Earth Elemental" and findtype 14 ground -1 -1 2 as myPet @setvar! myFreshlySummonedPet myPet if earthOne = 1 @setvar! earthOne myPet elseif earthTwo = 1 @setvar! earthTwo myPet endif elseif summon = "Fire Elemental" and findtype 15 ground -1 -1 2 as myPet @setvar! myFreshlySummonedPet myPet if fireOne = 1 @setvar! fireOne myPet elseif fireTwo = 1 @setvar! fireTwo myPet endif elseif summon = "Summon Daemon" and findtype 9 ground -1 -1 2 as myPet @setvar! myFreshlySummonedPet myPet if demonOne = 1 @setvar! demonOne myPet elseif demonTwo = 1 @setvar! demonTwo myPet endif elseif summon = "Water Elemental" and findtype 16 ground -1 -1 2 as myPet @setvar! myFreshlySummonedPet myPet if waterOne = 1 @setvar! waterOne myPet elseif waterTwo = 1 @setvar! waterTwo myPet endif elseif summon = "Air Elemental" and findtype 13 ground -1 -1 2 as myPet @setvar! myFreshlySummonedPet myPet if airOne = 1 @setvar! airOne myPet elseif airTwo = 1 @setvar! airTwo myPet endif endif if myFreshlySummonedPet = 0 overhead "I don't see my elemental..." 2086 wait 500 break endif if NameSummonedPets = 0 wait 2000 overhead "{{summon}} will protect you now...." 1909 myFreshlySummonedPet menu myFreshlySummonedPet 3 @ignore myFreshlySummonedPet wait 500 poplist summonList "front" cooldown "Guard Timer" 60000 break endif if NameSummonedPets = 1 and list petNameList > 0 for 2 if SummonName = 1 wait 2000 overhead "What is your name, minion?" 2086 wait 250 foreach petName in petNameList rename myFreshlySummonedPet petName wait 250 if insysmsg "That name is unacceptable" sysmsg "Unable to name summon: {{petName}}" 34 clearsysmsg poplist petNameList "front" wait 500 else break endif endfor wait 1000 overhead "You may call me {{petName}}, Master." 1909 myFreshlySummonedPet wait 2500 overhead "{{petName}} will protect you now...." 1909 myFreshlySummonedPet @setvar! NameOne petName menu myFreshlySummonedPet 3 @ignore myFreshlySummonedPet cooldown "Guard Timer" 60000 if followers = 0 @setvar! NeedtoSummon 1 elseif followers = 1 and TotalSummonCount > 0 @setvar! NeedtoSummon 1 elseif followers = 2 and TotalSummonCount = 1 @setvar! NeedtoSummon 0 @setvar! SummonName 1 elseif followers = 2 and TotalSummonCount = 2 @setvar! NeedtoSummon 1 elseif followers = 2 and TotalSummonCount = 3 @setvar! NeedtoSummon 1 elseif followers = 2 and TotalSummonCount = 4 @setvar! NeedtoSummon 1 elseif followers = 3 and TotalSummonCount = 1 @setvar! NeedtoSummon 0 @setvar! SummonName 1 elseif followers = 3 and TotalSummonCount = 2 @setvar! NeedtoSummon 0 @setvar! SummonName 1 elseif followers = 3 and TotalSummonCount = 3 @setvar! NeedtoSummon 1 elseif followers = 3 and TotalSummonCount = 4 @setvar! NeedtoSummon 1 elseif followers = 4 and TotalSummonCount = 1 @setvar! NeedtoSummon 0 @setvar! SummonName 1 elseif followers = 4 and TotalSummonCount = 2 @setvar! NeedtoSummon 0 @setvar! SummonName 1 elseif followers = 4 and TotalSummonCount = 3 @setvar! NeedtoSummon 0 @setvar! SummonName 1 elseif followers = 4 and TotalSummonCount = 4 @setvar! NeedtoSummon 1 elseif followers = 5 @setvar! NeedtoSummon 0 @setvar! SummonName 1 endif if NeedtoSummon = 0 @setvar! SummonName 1 wait 500 overhead "It's harvesting time!" 2086 wait 500 elseif NeedtoSummon = 1 wait 500 overhead "Thank you, {{petName}}, but you'll need some help..." 2086 wait 1000 @setvar! SummonName 2 poplist petNameList front else poplist petNameList front break endif poplist petNameList front break elseif SummonName = 2 wait 1500 overhead "Welcome aboard! Name and rank?" 2086 wait 250 foreach petName in petNameList rename myFreshlySummonedPet petName wait 250 if insysmsg "That name is unacceptable" sysmsg "Unable to name summon: {{petName}}" 34 clearsysmsg poplist petNameList "front" wait 500 else break endif endfor wait 2000 overhead "I am {{petName}}, Master." 1909 myFreshlySummonedPet wait 2500 overhead "{{petName}} is yours to command..." 1909 myFreshlySummonedPet @setvar! NameTwo petName menu myFreshlySummonedPet 3 @ignore myFreshlySummonedPet poplist petNameList front cooldown "Guard Timer" 60000 if followers = 0 @setvar! NeedtoSummon 1 elseif followers = 1 and TotalSummonCount > 0 @setvar! NeedtoSummon 1 elseif followers = 2 and TotalSummonCount = 1 @setvar! NeedtoSummon 0 @setvar! SummonName 1 elseif followers = 2 and TotalSummonCount = 2 @setvar! NeedtoSummon 1 elseif followers = 2 and TotalSummonCount = 3 @setvar! NeedtoSummon 1 elseif followers = 2 and TotalSummonCount = 4 @setvar! NeedtoSummon 1 elseif followers = 3 and TotalSummonCount = 1 @setvar! NeedtoSummon 0 @setvar! SummonName 1 elseif followers = 3 and TotalSummonCount = 2 @setvar! NeedtoSummon 0 @setvar! SummonName 1 elseif followers = 3 and TotalSummonCount = 3 @setvar! NeedtoSummon 1 elseif followers = 3 and TotalSummonCount = 4 @setvar! NeedtoSummon 1 elseif followers = 4 and TotalSummonCount = 1 @setvar! NeedtoSummon 0 @setvar! SummonName 1 elseif followers = 4 and TotalSummonCount = 2 @setvar! NeedtoSummon 0 @setvar! SummonName 1 elseif followers = 4 and TotalSummonCount = 3 @setvar! NeedtoSummon 0 @setvar! SummonName 1 elseif followers = 4 and TotalSummonCount = 4 @setvar! NeedtoSummon 1 elseif followers = 5 @setvar! NeedtoSummon 0 @setvar! SummonName 1 endif if NeedtoSummon = 0 @setvar! SummonName 1 wait 1500 overhead "Alright team, let's do this!" 2086 elseif NeedtoSummon = 1 wait 500 overhead "Hmm... I think we should bring even more..." wait 500 @setvar! SummonName 3 poplist petNameList front else poplist petNameList front break endif poplist petNameList front break elseif SummonName = 3 wait 1500 overhead "Introduce yourself to the team..." 2086 wait 250 foreach petName in petNameList rename myFreshlySummonedPet petName wait 250 if insysmsg "That name is unacceptable" sysmsg "Unable to name summon: {{petName}}" 34 clearsysmsg poplist petNameList "front" wait 500 else break endif endfor wait 1000 overhead "{{petName}} is what they call me..." 1909 myFreshlySummonedPet wait 2000 overhead "{{petName}} will kill for you." 1909 myFreshlySummonedPet @setvar! NameThree petName menu myFreshlySummonedPet 3 @ignore myFreshlySummonedPet poplist petNameList front cooldown "Guard Timer" 60000 if followers = 0 @setvar! NeedtoSummon 1 elseif followers = 1 and TotalSummonCount > 0 @setvar! NeedtoSummon 1 elseif followers = 2 and TotalSummonCount = 1 @setvar! NeedtoSummon 0 @setvar! SummonName 1 elseif followers = 2 and TotalSummonCount = 2 @setvar! NeedtoSummon 1 elseif followers = 2 and TotalSummonCount = 3 @setvar! NeedtoSummon 1 elseif followers = 2 and TotalSummonCount = 4 @setvar! NeedtoSummon 1 elseif followers = 3 and TotalSummonCount = 1 @setvar! NeedtoSummon 0 @setvar! SummonName 1 elseif followers = 3 and TotalSummonCount = 2 @setvar! NeedtoSummon 0 @setvar! SummonName 1 elseif followers = 3 and TotalSummonCount = 3 @setvar! NeedtoSummon 1 elseif followers = 3 and TotalSummonCount = 4 @setvar! NeedtoSummon 1 elseif followers = 4 and TotalSummonCount = 1 @setvar! NeedtoSummon 0 @setvar! SummonName 1 elseif followers = 4 and TotalSummonCount = 2 @setvar! NeedtoSummon 0 @setvar! SummonName 1 elseif followers = 4 and TotalSummonCount = 3 @setvar! NeedtoSummon 0 @setvar! SummonName 1 elseif followers = 4 and TotalSummonCount = 4 @setvar! NeedtoSummon 1 elseif followers = 5 @setvar! NeedtoSummon 0 @setvar! SummonName 1 endif if NeedtoSummon = 0 @setvar! SummonName 1 wait 1500 overhead "That's what I like to hear! Time to work..." 2086 elseif NeedtoSummon = 1 @setvar! SummonName 4 wait 500 overhead "Hmm.. I think see room for one more...." 2086 wait 500 poplist petNameList front else poplist petNameList front break endif poplist petNameList front break elseif SummonName = 4 wait 1500 overhead "Do you have a name?" 2086 wait 250 foreach petName in petNameList rename myFreshlySummonedPet petName wait 250 if insysmsg "That name is unacceptable" sysmsg "Unable to name summon: {{petName}}" 34 clearsysmsg poplist petNameList "front" wait 500 else break endif endfor wait 1000 overhead "Yes, I am {{petName}}, Master." 1909 myFreshlySummonedPet wait 2000 overhead "{{petName}} will protect you now...." 1909 myFreshlySummonedPet @setvar! NameFour petName menu myFreshlySummonedPet 3 @ignore myFreshlySummonedPet poplist petNameList front cooldown "Guard Timer" 60000 @setvar! SummonName 1 wait 1500 overhead "Alright team, let's do this!" 2086 break else @setvar! SummonName 1 endif endfor endif if followers = 0 @setvar! NeedtoSummon 1 elseif followers = 1 and TotalSummonCount > 0 @setvar! NeedtoSummon 1 elseif followers = 2 and TotalSummonCount = 1 @setvar! NeedtoSummon 0 @setvar! SummonName 1 break elseif followers = 2 and TotalSummonCount = 2 @setvar! NeedtoSummon 1 elseif followers = 2 and TotalSummonCount = 3 @setvar! NeedtoSummon 1 elseif followers = 2 and TotalSummonCount = 4 @setvar! NeedtoSummon 1 elseif followers = 3 and TotalSummonCount = 1 @setvar! NeedtoSummon 0 @setvar! SummonName 1 break elseif followers = 3 and TotalSummonCount = 2 @setvar! NeedtoSummon 0 @setvar! SummonName 1 break elseif followers = 3 and TotalSummonCount = 3 @setvar! NeedtoSummon 1 elseif followers = 3 and TotalSummonCount = 4 @setvar! NeedtoSummon 1 elseif followers = 4 and TotalSummonCount = 1 @setvar! NeedtoSummon 0 @setvar! SummonName 1 break elseif followers = 4 and TotalSummonCount = 2 @setvar! NeedtoSummon 0 @setvar! SummonName 1 break elseif followers = 4 and TotalSummonCount = 3 @setvar! NeedtoSummon 0 @setvar! SummonName 1 break elseif followers = 4 and TotalSummonCount = 4 @setvar! NeedtoSummon 1 elseif followers = 5 @setvar! NeedtoSummon 0 @setvar! SummonName 1 break endif endfor replay endif endif if EnableSummons = 1 if dead myMainTankPet if not dead earthOne @setvar! myMainTankPet earthOne elseif not dead earthTwo @setvar! myMainTankPet earthTwo elseif not dead waterOne @setvar! myMainTankPet waterOne elseif not dead waterTwo @setvar! myMainTankPet waterTwo elseif not dead demonOne @setvar! myMainTankPet demonOne elseif not dead demonTwo @setvar! myMainTankPet demonTwo elseif not dead fireOne @setvar! myMainTankPet fireOne elseif not dead fireTwo @setvar! myMainTankPet fireTwo elseif not dead airOne @setvar! myMainTankPet airOne elseif not dead airTwo @setvar! myMainTankPet airTwo endif else if not cooldown "Guard Timer" if GuardComment = 1 overhead "* guarding... *" 2114 myMainTankPet menu myMainTankPet 3 @setvar! GuardComment 2 wait 500 cooldown "Guard Timer" 120000 elseif GuardComment = 2 overhead "* looks around menacingly... *" 2114 myMainTankPet menu myMainTankPet 3 @setvar! GuardComment 3 wait 500 cooldown "Guard Timer" 120000 elseif GuardComment = 3 overhead "* cracks knuckles... *" 2114 myMainTankPet menu myMainTankPet 3 @setvar! GuardComment 4 wait 500 cooldown "Guard Timer" 120000 elseif GuardComment = 4 overhead "* scanning for threats... *" 2114 myMainTankPet menu myMainTankPet 3 wait 500 @setvar! GuardComment 5 cooldown "Guard Timer" 120000 elseif GuardComment = 5 overhead "* growls... *" 2114 myMainTankPet menu myMainTankPet 3 @setvar! GuardComment 6 wait 500 cooldown "Guard Timer" 120000 elseif GuardComment = 6 overhead "This isn't very exciting, is it?" 44 myMainTankPet menu myMainTankPet 3 @setvar! GuardComment 1 wait 500 cooldown "Guard Timer" 120000 else overhead "I think we've already passed that tree today..." 44 myMainTankPet menu myMainTankPet 3 @setvar! GuardComment 1 wait 500 cooldown "Guard Timer" 120000 endif endif endif if EnableWeaponWarning = 1 if skill "Mace Fighting" > 50 and not findtype "sledgehammer|giant club|flail|cudgel|quarter staff|war mace|maul|war axe|mace|hammer pick" self and not cooldown "Inventory Timer" overhead "[ NO WEAPON! ]" 337 cooldown "Inventory Timer" 10000 sysmsg "Disable 'EnableWeaponWarning' in script variables to turn off this feature!" 0 endif if skill "Swordsmanship" > 50 and not findtype "double axe|two handed axe|battle axe|halberd|katana|bardiche|cutlass|broadsword|scimitar|viking sword|longsword" self and not cooldown "Inventory Timer" overhead "[ NO WEAPON! ]" 337 cooldown "Inventory Timer" 10000 sysmsg "Disable 'EnableWeaponWarning' in script variables to turn off this feature!" 0 endif if skill "Magery" > 80 and findtype "spellbook" self as myspellbook and not cooldown "Inventory Timer" getlabel myspellbook SpellbookLabel wait 250 for 5 if "unidentified" in SpellbookLabel or "[blessed" in SpellbookLabel ignore myspellbook if findtype "spellbook" self as myspellbook getlabel myspellbook SpellbookLabel elseif not cooldown "Inventory Timer" overhead "[ NO SPELLBOOK! ]" 337 cooldown "Inventory Timer" 10000 sysmsg "Disable 'EnableWeaponWarning' in script variables to turn off this feature!" 0 break endif endif endfor endif endif if AllInventoryMessage = 1 and not cooldown "Inventory Timer" if counttype "Yellow Potion" self = 0 and YellowInventoryMessage = 1 overhead "[ RESTOCK HEAL POTS! ]" 253 cooldown "Inventory Timer" 10000 sysmsg "Disable YellowInventoryMessage in script variables to turn off this overhead message!" 0 endif if counttype "Orange Potion" self = 0 and OrangeInventoryMessage = 1 overhead "[ RESTOCK CURE POTS! ]" 44 cooldown "Inventory Timer" 10000 sysmsg "Disable OrangeInventoryMessage in script variables to turn off this overhead message!" 0 endif if counttype "Red Potion" self = 0 and RedInventoryMessage = 1 overhead "[ RESTOCK REFRESH POTS! ]" 37 cooldown "Inventory Timer" 10000 sysmsg "Disable RedInventoryMessage in script variables to turn off this overhead message!" 0 endif if counttype "White Potion" self = 0 and WhiteInventoryMessage = 1 overhead "[ RESTOCK STRENGTH POTS! ]" 956 cooldown "Inventory Timer" 10000 sysmsg "Disable WhiteInventoryMessage in script variables to turn off this overhead message!" 0 endif if counttype "Blue Potion" self = 0 and BlueInventoryMessage = 1 overhead "[ RESTOCK AGILITY POTS! ]" 93 cooldown "Inventory Timer" 10000 sysmsg "Disable BlueInventoryMessage in script variables to turn off this overhead message!" 0 endif if counttype "Black Potion" self = 0 and BlackInventoryMessage = 1 overhead "[ RESTOCK MAGIC RESIST POTS! ]" 0 cooldown "Inventory Timer" 10000 sysmsg "Disable BlackInventoryMessage in script variables to turn off this overhead message!" 0 endif if counttype "rope" self = 0 and RopeInventoryMessage = 1 overhead "[ RESTOCK ROPE! ]" 2799 cooldown "Inventory Timer" 10000 sysmsg "Disable RopeInventoryMessage in script variables to turn off this overhead message!" 0 endif endif @setvar! PaytheMan 1 if PaytheMan = 1 and not cooldown "Inventory Timer" if find '0x6C0A02' 'ground' -1 -1 10 as VENDOR and not varexist EASTEREGG overhead "Hey! I loooove your Harvest script!" 253 wait 1000 overhead "It makes me so much money, I should spend it all here!" 253 wait 2000 overhead ":)" 2086 VENDOR wait 500 overhead "Well, thank you!" 2086 VENDOR wait 2000 overhead "I'd be happy to take any donations! The chest beside me is public (shhh!) and master loves gifts!" 2086 VENDOR wait 4500 overhead "Sign the guestbook!" 2086 VENDOR wait 500 if find '0x4A38A441' 'ground' -1 -1 15 as DONATIONS wait 500 overhead "(in this chest!)" 0 DONATIONS endif wait 2500 overhead "Good luck out there! Fuck PKs & thieves! :)" 2086 VENDOR setvar EASTEREGG 1 else cooldown "Inventory Timer" 4000 if find '0x4A38A441' 'ground' -1 -1 15 as DONATIONS overhead "DONATIONS!" 253 DONATIONS overhead "▼" 253 DONATIONS endif endif endif if EnableMushroomMaker = 1 if skill "Magery" >= 80 and counttype "mushroom" self = 0 if skill "Magery" >= 80 and not findtype "spellbook" hand and findtype "spellbook" backpack as myspellbook getlabel myspellbook SpellbookLabel for 5 wait 250 if "unidentified" in SpellbookLabel or "[blessed" in SpellbookLabel ignore myspellbook if skill "Magery" > 80 and not findtype "spellbook" hand and findtype "spellbook" backpack as myspellbook getlabel myspellbook SpellbookLabel endif endif endfor dclick myspellbook wait 250 endif overhead "Hang on, I need to make some shrooms..." 2086 wait 1000 for 100 if counttype "Ginseng" self > 0 and counttype "Garlic" self > 0 and counttype "Mandrake Root%s%" self > 0 and mana >= 4 cast "create food" wait 100 while casting wait 50 endwhile if counttype "mushroom" self >= MakeMushroomAmount break endif else overhead "...I'm out of regs!" 2086 @setvar! TimeToGo 1 replay endif endfor overhead "There, that's better!" 2086 wait 500 endif else if not cooldown "Inventory Timer" overhead "Disable EnableMushroomMaker in script variables to turn off this feature!" 0 cooldown "Inventory Timer" 10000 endif endif endif if EnableCheeseTimer = 1 if not findbuff 'food satisfaction' and findtype "wedge%s% of cheese|fish steak%s%" self overhead "Hold on, I shouldn't do this on an empty stomach..." 2086 wait 500 if findtype "wedge%s% of cheese|fish steak%s%" backpack as food overhead "* eating food... *" 0 dclick food wait 1500 overhead "Ok, I'm ready to get to work!" 2086 endif endif endif if EnableEatFood = 1 if not findbuff 'food satisfaction' and findtype "tray" self overhead "Hold on, I'm hungry..." 2086 wait 1000 if findtype "tray" backpack as food overhead "* eating food... *" 0 dclick food wait 1500 overhead "Ok, I'm ready to get to work!" 2086 endif endif endif if EnableToolCountdown = 1 if findtype 'pickaxe|hatchet' hand as MyAxe getlabel MyAxe AxeLabel if '(5 uses' in AxeLabel or '(4 uses' in AxeLabel or '(3 uses' in AxeLabel or '(2 uses' in AxeLabel or '(1 use' in AxeLabel if EnableRecycleTool = 0 sysmsg "YOUR TOOL IS ABOUT TO BREAK....." 153 endif if EnableRecycleTool = 1 sysmsg "YOUR TOOL IS ABOUT TO BE RECYCLED....." 93 endif endif endif endif if EnableRecycleTool = 1 if findtype 'tool kit' self as ToolKit if findtype 'pickaxe|hatchet' hand as MyAxe getlabel MyAxe AxeLabel if '(2 use' in AxeLabel overhead "[ RECYCLING TOOL! ]" 93 clearhands both wait 250 if not gumpexists 949095101 dclick ToolKit waitforgump 949095101 2000 endif for 5 gumpresponse 3 949095101 wait 250 if insysmsg "Target an individual item" target MyAxe wait 250 gumpclose 949095101 wait 1000 overhead "Every little bit counts..." 2086 hotkey 'Organizer Agent-03' replay else gumpresponse 2 wait 250 endfor endif endif endif endif if not findtype 'tool kit' self and not cooldown "Inventory Timer" overhead "[ NO TOOL KIT! ]" 337 cooldown "Inventory Timer" 15000 sysmsg "Disable 'EnableRecycleTool' in script variables to turn off this overhead message!" 0 endif endif if insysmsg "As the owner" or insysmsg "Your house and its contents" wait 1000 if find MyDoor ground -1 -1 2 overhead "* door slams! *" 0 MyDoor dclick MyDoor wait 500 endif endif clearsysmsg hotkey 'Cancel Current Target' if EnableAutoAttackGreyMOB = 1 if warmode overhead "* cracks knuckles... *" 2128 if skill "Mace Fighting" > 50 and not findtype "sledgehammer|giant club|flail|cudgel|quarter staff|war mace|maul|war axe|mace|hammer pick" hand and findtype "sledgehammer|giant club|flail|cudgel|quarter staff|war mace|maul|war axe|mace|hammer pick" backpack as weapon getlabel weapon WeaponLabel for 5 wait 100 if "unidentified" in WeaponLabel ignore weapon if skill "Mace Fighting" > 50 and not findtype "sledgehammer|giant club|flail|cudgel|quarter staff|war mace|maul|war axe|mace|hammer pick" hand and findtype "sledgehammer|giant club|flail|cudgel|quarter staff|war mace|maul|war axe|mace|hammer pick" backpack as weapon getlabel weapon WeaponLabel endif endif endfor dclick weapon wait 100 endif if skill "Swordsmanship" > 50 and not findtype "double axe|two handed axe|battle axe|halberd|katana|bardiche|cutlass|broadsword|scimitar|viking sword|longsword" hand and findtype "double axe|two handed axe|battle axe|halberd|katana|bardiche|cutlass|broadsword|scimitar|viking sword|longsword" backpack as weapon getlabel weapon WeaponLabel for 5 wait 100 if "unidentified" in WeaponLabel ignore weapon if skill "Swordsmanship" > 50 and not findtype "double axe|two handed axe|battle axe|halberd|katana|bardiche|cutlass|broadsword|scimitar|viking sword|longsword" hand and findtype "double axe|two handed axe|battle axe|halberd|katana|bardiche|cutlass|broadsword|scimitar|viking sword|longsword" backpack as weapon getlabel weapon WeaponLabel endif endif endfor dclick weapon wait 100 endif if skill "Magery" >= 80 and not findtype "spellbook" hand and findtype "spellbook" backpack as spellbook getlabel spellbook SpellbookLabel for 5 wait 100 if "unidentified" in SpellbookLabel or "[blessed" in SpellbookLabel ignore spellbook if skill "Magery" > 80 and not findtype "spellbook" hand and findtype "spellbook" backpack as spellbook getlabel spellbook SpellbookLabel endif endif endfor dclick spellbook wait 100 endif clearsysmsg for 1000 hotkey 'Target Closest Non-Friendly Monster' wait 500 if insysmsg "No one matching that was found" hotkey 'Cancel Current Target' @setvar CurrentTarget 0 wait 750 overhead "Is there no one else??" 2086 wait 2000 overhead "Alright then, I guess it's back to work..." 2086 hotkey 'Toggle Peace Only' hotkey 'Clear Target Queue' clearsysmsg replay endif @setvar CurrentTarget lasttarget getlabel CurrentTarget TargetDesc while not dead CurrentTarget if EnableRedAlertRecall = 1 if insysmsg "Now tracking" or insysmsg "Distance to destination" @setvar! TimeToGo 1 hotkey 'Toggle Peace Only' hotkey 'Clear Target Queue' clearsysmsg replay endif endif if not cooldown "Target Timer" if "Paragon" in TargetDesc overhead " ▼ PARAGON! ▼ " 12 CurrentTarget cooldown "Target Timer" 4000 else overhead " ▼ TARGET ▼ " 253 CurrentTarget cooldown "Target Timer" 4000 endif endif if not warmode overhead "I don't have time for this shit..." 2086 wait 1000 replay endif // DEFENSIVE LOOP: if skill 'Healing' > 50 and not bandaging and hits < maxhits overhead '* applying bandages... *' 88 hotkey "Bandage Self" wait 250 endif if EnableCurePotion = 1 if poisoned and not cooldown "Cure Potion" and hits < CurePotHP if findtype "Orange Potion" self as curepot overhead '* drinking cure potion... *' 44 dclick curepot cooldown "Cure Potion" 10500 wait 250 else overhead "[ NO CURE POTS! ]" 337 endif endif endif if EnableHealPotion = 1 if hits < HealPotHP and not cooldown "Healing Potion" if findtype "Yellow Potion" self as healpot overhead '* drinking heal potion... *' 253 dclick healpot cooldown "Healing Potion" 10500 wait 250 else overhead '[ NO HEAL POTS! ]' 337 endif endif endif if EnableRefreshPotion = 1 if diffstam >= RefreshPotSPdiff and not cooldown "Refresh Potion" if findtype "Red Potion" self as refreshpot overhead '* drinking refresh potion... *' 34 dclick refreshpot cooldown "Refresh Potion" 10500 wait 250 else overhead '[ NO REFRESH POTS! ]' 337 endif endif endif if EnableMagicResistPotion = 1 if not findbuff "Magic Resist Potion" if findtype "Black Potion" self as magicresistpot overhead '* drinking resist potion... *' 0 dclick magicresistpot wait 250 else overhead '[ NO RESIST POTS! ]' 337 wait 500 endif wait 1000 endif endif if EnableStrengthPotion = 1 if not findbuff "Strength" if findtype "White Potion" self as strengthpot overhead '* drinking strength potion... *' 956 dclick strengthpot wait 250 else overhead '[ NO STRENGTH POTS! ]' 337 wait 500 endif wait 1000 endif endif if EnableAgilityPotion = 1 if not findbuff "Agility" if findtype "Blue Potion" self as agilitypot overhead '* drinking agility potion... *' 93 dclick agilitypot wait 250 else overhead '[ NO AGILITY POTS! ]' 337 wait 500 endif wait 1000 endif endif if EnableCastHeal = 1 if not findtype "spellbook" hand and findtype "spellbook" backpack as myspellbook getlabel myspellbook SpellbookLabel for 5 wait 100 if "unidentified" in SpellbookLabel or "[blessed" in SpellbookLabel ignore myspellbook if not findtype "spellbook" hand and findtype "spellbook" self as myspellbook getlabel myspellbook SpellbookLabel else overhead "[ NO SPELLBOOK! ]" 337 break endif endif endfor dclick myspellbook wait 250 endif if skill 'Magery' >= 40 and diffhits > CastHealHPmeddiff and diffhits < CastHealHPhighdiff and mana >= 4 cast 'Heal' wait 100 while not casting if targetexists hotkey 'cancel current target' endif cast 'Heal' wait 100 endwhile wft 1500 target 'self' wait 250 elseif skill 'Magery' >= 60 and diffhits > CastHealHPhighdiff and mana >= 11 cast 'Greater Heal' wait 100 while not casting if targetexists hotkey 'cancel current target' endif cast 'Greater Heal' wait 100 endwhile wft 1500 target 'self' wait 250 elseif skill 'Magery' >= 40 and diffhits > CastHealHPhighdiff and mana >= 4 and mana < 11 cast 'Heal' wait 100 while not casting if targetexists hotkey 'cancel current target' endif cast 'Heal' wait 100 endwhile wft 1500 target 'self' wait 250 endif endif if EnableCastCure = 1 if poisoned and skill 'Magery' >= 40 and mana >= 6 if not findtype "spellbook" hand and findtype "spellbook" backpack as myspellbook getlabel myspellbook SpellbookLabel for 5 wait 100 if "unidentified" in SpellbookLabel or "[blessed" in SpellbookLabel ignore myspellbook if not findtype "spellbook" hand and findtype "spellbook" self as myspellbook getlabel myspellbook SpellbookLabel else overhead "[ NO SPELLBOOK! ]" 337 break endif endif endfor dclick myspellbook wait 250 endif cast 'Cure' wait 100 while not casting if targetexists hotkey 'cancel current target' endif cast 'Cure' wait 100 endwhile wft 1500 target 'self' wait 100 endif endif if paralyzed and EnableParalyzePouch = 1 overhead "[[[[ POP ]]]]" 2117 say "[pouch" @setvar! TimeToGo 1 replay endif if EnableProtection = 1 if skill 'Magery' >= 40 and not findbuff 'Protection' and mana >= 90 for 3 cast 'Protection' wait 100 while casting wait 50 endwhile if cooldown "Spell Fail" overhead "Shit, let me try that again..." 2086 wait 500 else break endif endfor overhead "[ PROTECTION ACTIVE! ]" 77 wait 250 endif endif // OFFENSIVE LOOP: if skill "Mace Fighting" or skill "Swordsmanship" > 50 attack CurrentTarget wait 500 endif if skill "Magery" >= 70 if EnableMagicMushroom = 1 if not timerexists MushroomTimer settimer MushroomTimer MushroomCooldown endif if mana < 50 and timer MushroomTimer >= MushroomCooldown and findtype "mushroom" backpack as magicmushroom overhead "* eating shrooms... *" 31 dclick magicmushroom wait 500 if insysmsg "You consume a magic mushroom and restore some mana." settimer MushroomTimer 0 elseif insysmsg "before you may consume another magic mushroom" or insysmsg "been in combat with another" settimer MushroomTimer 30000 endif cooldown "Mushroom" MushroomCooldown endif endif if not findtype "spellbook" hand and findtype "spellbook" backpack as myspellbook getlabel myspellbook SpellbookLabel for 5 wait 100 if "unidentified" in SpellbookLabel or "[blessed" in SpellbookLabel ignore myspellbook if not findtype "spellbook" hand and findtype "spellbook" self as myspellbook getlabel myspellbook SpellbookLabel else overhead "[ NO SPELLBOOK! ]" 337 break endif endif endfor dclick myspellbook wait 250 endif wait 500 if not find CurrentTarget ground -1 -1 15 if not cooldown "Move Timer" overhead "Did we get it??" 2086 wait 500 if EnableSummons = 1 and followers > 1 wait 1000 overhead "I believe that was MY kill, Master..." 1909 myMainTankPet wait 500 endif cooldown "Move Timer" 5000 endif else if mana >= 4 and EnableCastWeaken = 1 and not cooldown "WeakenCD" if not find CurrentTarget ground -1 -1 15 or diffhits >= 30 hotkey '> Interrupt' break else cast 'weaken' wait 100 while casting wait 50 endwhile endif wft 2500 target CurrentTarget wait 250 if insysmsg "cannot be seen" overhead "I can't see that!" 2086 wait 500 else cooldown WeakenCD WeakenCooldown endif elseif mana >= 4 and EnableCastMagicArrow = 1 and not cooldown "MagicArrowCD" if not find CurrentTarget ground -1 -1 15 or diffhits >= 30 hotkey '> Interrupt' break else cast 'magic arrow' wait 100 while casting wait 50 endwhile endif wft 2500 target CurrentTarget wait 250 if insysmsg "cannot be seen" overhead "I can't see that!" 2086 wait 500 else cooldown MagicArrowCD MagicArrowCooldown endif elseif mana >= 6 and EnableCastHarm = 1 and not cooldown "HarmCD" if not find CurrentTarget ground -1 -1 15 or diffhits >= 30 hotkey '> Interrupt' break else cast 'harm' wait 100 while casting wait 50 endwhile endif wft 2500 target CurrentTarget wait 250 if insysmsg "cannot be seen" overhead "I can't see that!" 2086 wait 500 else cooldown HarmCD HarmCooldown endif elseif mana >= 11 and EnableCastCurse = 1 and not cooldown "CurseCD" if not find CurrentTarget ground -1 -1 15 or diffhits >= 30 hotkey '> Interrupt' break else cast 'curse' wait 100 while casting wait 50 endwhile endif wft 2500 target CurrentTarget wait 250 if insysmsg "cannot be seen" overhead "I can't see that!" 2086 wait 500 else cooldown CurseCD CurseCooldown endif elseif mana >= 20 and EnableCastExplosion = 1 and not cooldown "ExplosionCD" if not find CurrentTarget ground -1 -1 15 or diffhits >= 30 hotkey '> Interrupt' break else cast 'Explosion' wait 100 while casting wait 50 endwhile endif wft 2500 target CurrentTarget wait 250 if insysmsg "cannot be seen" overhead "I can't see that!" 2086 wait 500 else cooldown ExplosionCD ExplosionCooldown endif elseif mana >= 20 and EnableCastEnergyBolt = 1 and not cooldown "EnergyBoltCD" if not find CurrentTarget ground -1 -1 15 or diffhits >= 30 hotkey '> Interrupt' break else cast 'Energy Bolt' wait 100 while casting wait 50 endwhile endif wft 2500 target CurrentTarget wait 250 if insysmsg "cannot be seen" overhead "I can't see that!" 2086 wait 500 else cooldown EnergyBoltCD EnergyBoltCooldown endif elseif mana >= 14 and EnableCastMindblast = 1 and not cooldown "MindblastCD" if not find CurrentTarget ground -1 -1 15 or diffhits >= 30 hotkey '> Interrupt' break else cast 'mindblast' wait 100 while casting wait 50 endwhile endif wft 2500 target CurrentTarget wait 250 if insysmsg "cannot be seen" overhead "I can't see that!" 2086 wait 500 else cooldown MindblastCD MindblastCooldown endif elseif mana >= 11 and EnableCastLightning = 1 and not cooldown "LightningCD" if not find CurrentTarget ground -1 -1 15 or diffhits >= 30 hotkey '> Interrupt' break else cast 'Lightning' wait 100 while casting wait 50 endwhile endif wft 2500 target CurrentTarget wait 250 if insysmsg "cannot be seen" overhead "I can't see that!" 2086 wait 500 else cooldown LightningCD LightningCooldown endif elseif mana >= 40 and EnableCastFlamestrike = 1 and not cooldown "FlamestrikeCD" if not find CurrentTarget ground -1 -1 15 or diffhits >= 30 hotkey '> Interrupt' break else cast 'flamestrike' wait 100 while casting wait 50 endwhile endif wft 2500 target CurrentTarget wait 250 if insysmsg "cannot be seen" overhead "I can't see that!" 2086 wait 500 else cooldown FlamestrikeCD FlamestrikeCooldown endif elseif mana >= 9 and EnableCastFireball = 1 and not cooldown "FireballCD" if not find CurrentTarget ground -1 -1 15 or diffhits >= 30 hotkey '> Interrupt' break else cast 'fireball' wait 100 while casting wait 50 endwhile endif wft 2500 target CurrentTarget wait 250 if insysmsg "cannot be seen" overhead "I can't see that!" 2086 wait 500 else cooldown FireballCD FireballCooldown endif elseif mana >= 40 and EnableCastMeteorSwarm = 1 and not cooldown "MeteorSwarmCD" if not find CurrentTarget ground -1 -1 15 or diffhits >= 30 hotkey '> Interrupt' break else cast 'meteor swarm' wait 100 while casting wait 50 endwhile endif wft 2500 target CurrentTarget wait 250 if insysmsg "cannot be seen" overhead "I can't see that!" 2086 wait 500 else cooldown MeteorSwarmCD MeteorSwarmCooldown endif elseif mana >= 40 and EnableCastChainLightning = 1 and not cooldown "ChainLightningCD" if not find CurrentTarget ground -1 -1 15 or diffhits >= 30 hotkey '> Interrupt' break else cast 'chain lightning' wait 100 while casting wait 50 endwhile endif wft 2500 target CurrentTarget wait 250 if insysmsg "cannot be seen" overhead "I can't see that!" 2086 wait 500 else cooldown ChainLightningCD ChainLightningCooldown endif endif wait 500 endif endif endwhile wait 500 if insysmsg "You have gained" overhead "Did you see that?? I just killed {{TargetDesc}}!" 2086 hotkey 'Cancel Current Target' @setvar CurrentTarget 0 wait 500 if skill "Spirit Speak" >= 80 and not cooldown "Spirit Speak" useskill "spiritspeak" cooldown "Spirit Speak" 10500 wait 500 endif endif if findtype 'Elven SpellBlade' backpack and EnableAutoCarving = 1 if findtype "corpse" ground -1 -1 2 as corpse hotkey 'Cancel Current Target' dclicktype "Elven Spellblade" wft 1500 target self overhead "* skinning {{TargetDesc}}... *" 339 @ignore corpse endif endif if insysmsg "You have unlocked a codex upgrade point" overhead "[ CODEX POINT UNLOCKED! ]" 2114 if EnableSummons = 1 and followers > 1 wait 1000 overhead "Well done, Master..." 44 myMainTankPet menu myMainTankPet 3 endif endif if insysmsg "unlocked a point for your wizard's grimoire" overhead "[ GRIMOIRE POINT UNLOCKED! ]" 7 if EnableSummons = 1 and followers > 1 wait 1000 overhead "You seem stronger, Master..." 44 myMainTankPet menu myMainTankPet 3 endif endif if insysmsg "enough experience to upgrade" overhead "[ ASPECT TIER UNLOCKED! ]" 2086 if EnableSummons = 1 and followers > 1 wait 500 overhead "Time to spend some more gold, it would seem..." 44 myMainTankPet menu myMainTankPet 3 wait 500 endif endif if insysmsg "upgrade point for Fire Elemental" or insysmsg "upgrade point for Air Elemental" or insysmsg "upgrade point for Water Elemental" or insysmsg "upgrade point for Earth Elemental" and EnableSummons = 1 and followers > 1 overhead "Hmm.. I suddenly feel stronger!" 44 myMainTankPet menu myMainTankPet 3 wait 500 overhead "* cracks knuckles... *" 0 myMainTankPet endif if insysmsg "something invisible out of the way" overhead "[ ▼ SOMEONE HIDDEN! ▼ ]" 6 if EnableSummons = 1 and followers > 1 wait 500 overhead "There is a foul stench upon the air..." 44 myMainTankPet menu myMainTankPet 3 wait 500 endif endif if paralyzed and EnableParalyzePouch = 1 overhead "[[[[ POP ]]]]" 2117 say "[pouch" @setvar! TimeToGo 1 if EnableSummons = 1 and followers > 1 overhead "That was unwise, criminal..." 44 myMainTankPet menu myMainTankPet 3 clearsysmsg endif endif if skill "Spirit Speak" >= 80 and not cooldown "Spirit Speak" useskill "spiritspeak" cooldown "Spirit Speak" 10500 wait 500 endif if not findbuff "Actively Meditating" and mana < 30 and diffhits < 30 clearhands both hotkey "Meditation" wait 100 while mana < 50 if EnableRedAlertRecall = 1 if insysmsg "Now tracking" or insysmsg "Distance to destination" @setvar! TimeToGo 1 hotkey 'Toggle Peace Only' hotkey 'Clear Target Queue' clearsysmsg replay endif endif if diffhits > 30 break elseif not cooldown "Move Timer" overhead "* meditating... *" 12 cooldown "Move Timer" 4000 endif if not warmode overhead "I need to get back to work..." 2086 wait 1000 replay endif endwhile endif endfor hotkey 'Cancel Current Target' @setvar! TimeToGo 1 replay if skill "Mace Fighting" > 50 and not findtype "sledgehammer|giant club|flail|cudgel|quarter staff|war mace|maul|war axe|mace|hammer pick" self or skill "Swordsmanship" > 50 and not findtype "double axe|two handed axe|battle axe|halberd|katana|bardiche|cutlass|broadsword|scimitar|viking sword|longsword" self overhead "I can't fight without a weapon!" 2086 hotkey 'Toggle Peace Only' hotkey 'Cancel Current Target' @setvar! TimeToGo 1 replay endif hotkey 'Cancel Current Target' hotkey 'Toggle Peace Only' replay endif endif //////////////////////////////// // MINING SCRIPT STARTS HERE: // //////////////////////////////// if not dead and skill "Mining" > 49.9 and EnableMining = 1 and not cooldown "Travel" if EnablePlayerForgeRadar = 1 if findtype "4017|6526|6538|6550|6562" ground -1 -1 15 as forge or findtype 0x0FB1 ground -1 -1 15 as forge and findtype "iron ore" backpack and not cooldown "Forge Radar" overhead "[ FORGE HERE! ]" 44 forge overhead "▼" 44 forge cooldown "Forge Radar" 3500 endif endif if EnableOreVacuum = 1 if findtype "iron ore" ground -1 -1 15 as droppedore and not cooldown "Ore Radar" overhead "[ ORE ]" 93 droppedore overhead "▼" 93 droppedore cooldown "Ore Radar" 3500 endif if findtype "iron ingot%s" ground -1 -1 15 as droppedingots and not cooldown "Ore Radar" overhead "[ INGOTS ]" 69 droppedingots overhead "▼" 69 droppedingots cooldown "Ore Radar" 3500 endif if findtype "iron ore|iron ingot%s" ground -1 -1 2 as droppedmetal and not cooldown "Ore Vacuum" overhead "[ CLEANUP... ]" 93 hotkey "Grab Item" wft 2500 target droppedmetal wait 250 if insysmsg "Invalid or inaccessible item" overhead "I can't get to that!" 2086 wait 250 @ignore droppedmetal endif hotkey 'Organizer Agent-03' cooldown "Ore Vacuum" 500 endif endif if counttype "iron ingot%s" > IngotRecallAmount and EnableIngotAutoRecall = 1 overhead "I'd hate to lose all this hard work..." 2086 wait 2500 overhead "I'm going to go unload before it's too late!" 2086 sysmsg "Disable 'EnableIngotAutoRecall' in script variables to turn off this feature!" 0 wait 2000 @setvar! TimeToGo 1 replay endif if EnableAutoSmeltNaturalForge = 1 if findtype "iron ore" backpack as ore and Working = 0 @setvar! ForgeFound 0 if not timerexists AutoSmeltNaturalForgeTimer settimer AutoSmeltNaturalForgeTimer 8500 endif if timer AutoSmeltNaturalForgeTimer >= 8500 dclick ore wait 250 if insysmsg "You do not see any nearby forges" settimer AutoSmeltNaturalForgeTimer 0 clearsysmsg else @setvar! ForgeFound 1 wait 250 clearsysmsg endif endif for 11 if ForgeFound = 1 and findtype "iron ore" backpack as ore dclick ore wait 500 if insysmsg "You do not see any nearby forges" settimer AutoSmeltNaturalForgeTimer 0 @setvar! ForgeFound 0 clearsysmsg replay endif hotkey 'Organizer Agent-03' wait 500 endif endfor endif endif if EnableAutoSmeltPlayerForge = 1 for 10 if findtype "forge" ground -1 -1 2 as forge or findtype 0x0FB1 ground -1 -1 2 as forge and findtype "iron ore" backpack as ore overhead "* smelting ore... *" 2114 forge dclick ore overhead "* forging ingots... *" 2117 wait 1000 if insysmsg "You do not see any nearby forges" settimer AutoSmeltNaturalForgeTimer 0 @setvar! ForgeFound 0 replay endif hotkey 'Organizer Agent-03' wait 500 endif endfor endif if EnableWeightWarningMessage = 1 and not cooldown "Weight Timer" if weight > GreenWarningWeight and weight < YellowWarningWeight overhead "[ WEIGHT WARNING! ]" 77 cooldown "Weight Timer" 3500 endif if weight > YellowWarningWeight and weight < RedWeightLimit overhead "[ TIME TO FORGE! ]" 149 cooldown "Weight Timer" 3500 endif if weight > RedWeightLimit @setvar! Working 0 overhead "[ WEIGHT LIMIT REACHED!!! ]" 337 wait 2000 overhead "Find a forge in order to continue..." 0 wait 1000 replay endif endif if not findtype 'pickaxe' hand and findtype 'pickaxe' backpack dclicktype 'pickaxe' backpack wait 250 endif hotkey 'Use item in hand' wft 500 hotkey 'Target Self' if insysmsg "Now tracking" or insysmsg "Distance to destination" @setvar! TimeToGo 1 replay elseif insysmsg 'world is saving' for 40 wait 100 if insysmsg 'world save complete' overhead '[ SAVE COMPLETE! ]' 253 clearsysmsg replay endif endfor clearsysmsg replay elseif insysmsg 'Harvesting is not allowed' overhead 'You need to leave town...' 84 clearsysmsg wait 5000 replay elseif insysmsg 'You have worn out your tool' overhead "My pickaxe broke!" 2086 wait 1500 clearsysmsg replay elseif insysmsg "You must wait" clearsysmsg replay elseif insysmsg "must wait 59" cooldown "Travel" 59000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a minute to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 58" cooldown "Travel" 58000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a minute to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 57" cooldown "Travel" 57000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a minute to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 56" cooldown "Travel" 56000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a minute to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 55" cooldown "Travel" 55000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a minute to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 54" cooldown "Travel" 54000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a minute to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 53" cooldown "Travel" 53000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a minute to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 52" cooldown "Travel" 52000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a minute to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 51" cooldown "Travel" 51000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a minute to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 50" cooldown "Travel" 50000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a minute to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 49" cooldown "Travel" 49000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a minute to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 48" cooldown "Travel" 48000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a minute to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 47" cooldown "Travel" 47000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a minute to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 46" cooldown "Travel" 46000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a minute to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 45" cooldown "Travel" 45000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a minute to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 44" cooldown "Travel" 44000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a minute to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 43" cooldown "Travel" 43000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a minute to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 42" cooldown "Travel" 42000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a minute to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 41" cooldown "Travel" 41000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a minute to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 40" cooldown "Travel" 40000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 39" cooldown "Travel" 39000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 38" cooldown "Travel" 38000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 37" cooldown "Travel" 37000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 36" cooldown "Travel" 36000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 35" cooldown "Travel" 35000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 34" cooldown "Travel" 34000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 33" cooldown "Travel" 33000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 32" cooldown "Travel" 32000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 31" cooldown "Travel" 31000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 30" cooldown "Travel" 30000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 29" cooldown "Travel" 29000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 28" cooldown "Travel" 28000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 27" cooldown "Travel" 27000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit longer to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 26" cooldown "Travel" 26000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit longer to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 25" cooldown "Travel" 25000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit longer to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 24" cooldown "Travel" 24000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit longer to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 23" cooldown "Travel" 23000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit longer to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 22" cooldown "Travel" 22000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit longer to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 21" cooldown "Travel" 21000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit longer to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 20" cooldown "Travel" 20000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit longer to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 19" cooldown "Travel" 19000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit longer to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 18" cooldown "Travel" 18000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit longer to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 17" cooldown "Travel" 17000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a minute to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 16" cooldown "Travel" 16000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit longer to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 15" cooldown "Travel" 15000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a little bit longer to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 14" cooldown "Travel" 14000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a little bit longer to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 13" cooldown "Travel" 13000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a little bit longer to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 12" cooldown "Travel" 12000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a little bit longer to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 11" cooldown "Travel" 11000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a little bit longer to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 10" cooldown "Travel" 10000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a few more seconds to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 9" cooldown "Travel" 9000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a few more seconds to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 8" cooldown "Travel" 8000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a few more seconds to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 7" cooldown "Travel" 7000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a few more seconds to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 6" cooldown "Travel" 6000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a few more seconds to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 5" cooldown "Travel" 5000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a few more seconds to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 4" cooldown "Travel" 4000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a few more seconds to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 3" cooldown "Travel" 3000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a few more seconds to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 2" cooldown "Travel" 2000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a couple more seconds to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 1" cooldown "Travel" 1000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a second to recover!" 2086 clearsysmsg replay elseif insysmsg 'You do not see any' or insysmsg 'You cannot produce any' @setvar! Working 0 if MOVE = 1 if not cooldown "Move Timer" @setvar! MOVE 0 overhead "[ KEEP MOVING... ]" 153 cooldown "Move Timer" 2500 endif if EnableSatchels = 1 if findtype "Ginseng|Garlic|Blood Moss|Sulfurous Ash|Mandrake Root%s%|Nightshade|Black Pearl%s%|Spider's Silk" backpack and findtype "reagent satchel" self as MyWizardBag if not cooldown "Satchel Timer" menu MyWizardBag 0 wait 250 cooldown "Satchel Timer" 60000 endif endif if findtype "Yellow Potion|Orange Potion|Red Potion|White Potion|Blue Potion|Black Potion|" backpack and findtype 31262 self as MyPotBag if not cooldown "Satchel Timer" menu MyPotBag 0 wait 250 cooldown "Satchel Timer" 60000 endif endif endif if insysmsg "Being perfectly rested" overhead "Outta my way! I've got a pickaxe and know how to use it..." 2086 if EnableSummons = 1 and followers > 1 wait 1500 overhead "Shall we incinerate them, master?" 44 myMainTankPet menu myMainTankPet 3 endif endif if insysmsg "Now tracking" or insysmsg "Distance to destination" and EnableRedAlertRecall = 1 @setvar! TimeToGo 1 replay endif if paralyzed and EnableParalyzePouch = 1 overhead "[[[[ POP ]]]]" 2117 say "[pouch" @setvar! TimeToGo 1 replay endif if findtype 'iron ore|iron ingots' backpack hotkey 'Organizer Agent-03' endif hotkey 'Organizer Agent-04' replay endif if MOVE = 0 if not cooldown "Move Timer" overhead "[ KEEP MOVING... ]" 44 cooldown "Move Timer" 2500 @setvar! MOVE 1 endif if EnableSatchels = 1 if findtype "Ginseng|Garlic|Blood Moss|Sulfurous Ash|Mandrake Root%s%|Nightshade|Black Pearl%s%|Spider's Silk" backpack and findtype "reagent satchel" self as MyWizardBag if not cooldown "Satchel Timer" menu MyWizardBag 0 wait 250 cooldown "Satchel Timer" 60000 endif endif if findtype "Yellow Potion|Orange Potion|Red Potion|White Potion|Blue Potion|Black Potion|" backpack and findtype 31262 self as MyPotBag if not cooldown "Satchel Timer" menu MyPotBag 0 wait 250 cooldown "Satchel Timer" 60000 endif endif endif if insysmsg "Being perfectly rested" overhead "Move it! I've got work to do" 2086 if EnableSummons = 1 and followers > 1 wait 1000 overhead "* growls... *" 44 myMainTankPet menu myMainTankPet 3 endif endif if insysmsg "Now tracking" or insysmsg "Distance to destination" and EnableRedAlertRecall = 1 @setvar! TimeToGo 1 replay endif if paralyzed and EnableParalyzePouch = 1 overhead "[[[[ POP ]]]]" 2117 say "[pouch" @setvar! TimeToGo 1 replay endif if findtype 'iron ore|iron ingots' backpack hotkey 'Organizer Agent-03' endif hotkey 'Organizer Agent-04' replay endif clearsysmsg @setvar! MOVE 1 wait 500 replay endif @setvar! Working 1 wait 250 while Working = 1 if warmode replay endif if insysmsg "Mining skillgain" if skill 'Mining' > 100.0 and skill 'Mining' < 119.9 sysmsg "Hmm... these stones are tricky to work with..." 84 elseif skill 'Mining' = 119.9 overhead "THIS COULD BE IT......" 2086 sysmsg "Hmm... there is something special about these stones..." 84 elseif skill 'Mining' = 120.0 overhead "FINALLY!!!" 2086 wait 2000 overhead "We made it!" 2086 wait 1500 clearsysmsg overhead "[ TIME FOR A WELL DESERVED BREAK! ]" 337 stop endif endif if EnableWeightWarningMessage = 1 and not cooldown "Weight Timer" if weight > GreenWarningWeight and weight < YellowWarningWeight overhead "[ WEIGHT WARNING! ]" 77 cooldown "Weight Timer" 3500 endif if weight > YellowWarningWeight and weight < RedWeightLimit overhead "[ TIME TO FORGE! ]" 149 cooldown "Weight Timer" 3500 endif if weight > RedWeightLimit @setvar! Working 0 overhead "[ WEIGHT LIMIT REACHED!!! ]" 337 wait 2000 overhead "Find a forge in order to continue..." 0 wait 1000 replay endif endif if EnablePlayerForgeRadar = 1 if findtype "4017|6526|6538|6550|6562" ground -1 -1 15 as forge or findtype 0x0FB1 ground -1 -1 15 as forge and findtype "iron ore" backpack and not cooldown "Forge Radar" overhead "[ FORGE HERE! ]" 44 forge overhead "▼" 44 forge cooldown "Forge Radar" 3500 endif endif if EnableSummons = 1 if dead myMainTankPet if not dead earthOne @setvar! myMainTankPet earthOne elseif not dead earthTwo @setvar! myMainTankPet earthTwo elseif not dead waterOne @setvar! myMainTankPet waterOne elseif not dead waterTwo @setvar! myMainTankPet waterTwo elseif not dead demonOne @setvar! myMainTankPet demonOne elseif not dead demonTwo @setvar! myMainTankPet demonTwo elseif not dead fireOne @setvar! myMainTankPet fireOne elseif not dead fireTwo @setvar! myMainTankPet fireTwo elseif not dead airOne @setvar! myMainTankPet airOne elseif not dead airTwo @setvar! myMainTankPet airTwo endif overhead "Hold on..." 2086 wait 500 replay else if not cooldown "Guard Timer" if EnableSummons = 1 and GuardComment = 1 and followers > 1 overhead "I'll keep watch while you work, Master..." 44 myMainTankPet menu myMainTankPet 3 @setvar! GuardComment 2 wait 500 cooldown "Guard Timer" 120000 elseif EnableSummons = 1 and GuardComment = 2 and followers > 1 overhead "* looks around menacingly... *" 2117 myMainTankPet menu myMainTankPet 3 @setvar! GuardComment 3 wait 500 cooldown "Guard Timer" 120000 elseif EnableSummons = 1 and GuardComment = 3 and followers > 1 overhead "I see a red, Master! Oh wait.. nevermind... " 44 myMainTankPet menu myMainTankPet 3 @setvar! GuardComment 4 wait 500 cooldown "Guard Timer" 120000 elseif EnableSummons = 1 and GuardComment = 4 and followers > 1 overhead "I don't like the look of that bird over there..." 44 myMainTankPet menu myMainTankPet 3 wait 500 overhead "* growls... *" 0 myMainTankPet @setvar! GuardComment 5 cooldown "Guard Timer" 120000 elseif EnableSummons = 1 and GuardComment = 5 and followers > 1 overhead "What time is lunch break?" 44 myMainTankPet menu myMainTankPet 3 @setvar! GuardComment 6 wait 500 cooldown "Guard Timer" 120000 elseif EnableSummons = 1 and GuardComment = 6 and followers > 1 overhead "We should go fight something soon!" 44 myMainTankPet menu myMainTankPet 3 @setvar! GuardComment 1 wait 500 cooldown "Guard Timer" 120000 endif endif endif endif if insysmsg "Now tracking" or insysmsg "Distance to destination" @setvar! TimeToGo 1 clearsysmsg replay elseif insysmsg 'world is saving' for 40 wait 100 if insysmsg 'world save complete' wait 100 overhead '[ SAVE COMPLETE! ]' 253 clearsysmsg break endif endfor clearsysmsg elseif insysmsg "You loosen some rocks" overhead '* fail! *' 337 clearsysmsg elseif insysmsg "You dig some iron ore" overhead '* you harvest iron ore *' 1900 clearsysmsg elseif insysmsg "You dig some dull copper ore" overhead '* you harvest dull copper ore *' 2419 clearsysmsg elseif insysmsg "You dig some shadowiron ore" overhead '* you harvest shadow iron ore *' 2406 clearsysmsg elseif insysmsg "You dig some copper ore" overhead '* you harvest copper ore *' 2413 clearsysmsg elseif insysmsg "You dig some bronze ore" overhead '* you harvest bronze ore *' 2418 clearsysmsg elseif insysmsg "You dig some golden ore" overhead '* you harvest golden ore! *' 2213 clearsysmsg elseif insysmsg "You dig some agapite ore" overhead '* you harvest agapite ore! *' 2425 clearsysmsg elseif insysmsg "You dig some verite ore" overhead '* you harvest verite ore!! *' 2207 clearsysmsg elseif insysmsg "You dig some valorite ore" overhead '* you harvest valorite ore!! *' 2219 clearsysmsg elseif insysmsg "You dig some avarite ore" overhead '* you harvest avarite ore!!! *' 1763 clearsysmsg elseif insysmsg 'You have worn out your tool' overhead "They don't make em like they used too..." 2086 wait 500 clearsysmsg replay elseif insysmsg "travel" replay elseif insysmsg 'You do not see any' or insysmsg 'You cannot produce any' overhead "[ TIME T0 MOVE! ]" 69 @setvar! Working 0 clearsysmsg replay endif if not findtype 'pickaxe' hand and findtype 'pickaxe' backpack dclicktype 'pickaxe' backpack wait 250 endif hotkey 'Use item in hand' wft 500 hotkey 'Target Self' wait 100 endwhile replay endif //////////////////////////////// // LUMBER SCRIPT STARTS HERE: // //////////////////////////////// if not dead and skill "Lumberjacking" > 49.9 and EnableLumberjacking = 1 and not cooldown "Travel" if counttype "board%s" > BoardRecallAmount and EnableBoardAutoRecall = 1 overhead "I'd hate to lose all this hard work..." 2086 wait 2500 overhead "I'm going to go unload before it's too late!" 2086 sysmsg "Disable 'EnableBoardAutoRecall' in script variables to turn off this feature!" 0 wait 2000 @setvar! TimeToGo 1 replay endif if not findtype 'hatchet' self overhead "I can't work with no hatchet!" 2086 wait 1500 @setvar! TimeToGo 1 replay endif if not findtype 'hatchet' hand and findtype 'hatchet' backpack dclicktype 'hatchet' backpack wait 250 endif if EnableWeightWarningMessage = 1 and not cooldown "Weight Timer" if weight > GreenWarningWeight and weight < YellowWarningWeight overhead "[ WEIGHT WARNING! ]" 77 cooldown "Weight Timer" 3500 endif if weight > YellowWarningWeight and weight < RedWeightLimit overhead "[ TIME TO UNLOAD! ]" 149 cooldown "Weight Timer" 3500 endif if weight > RedWeightLimit overhead "[ WEIGHT LIMIT REACHED!!! ]" 337 wait 2000 overhead "Please reduce weight in order to continue..." 0 cooldown "Weight Timer" 3000 replay endif endif hotkey 'Use item in hand' waitfortarget 1500 hotkey 'Target Self' wait 550 if insysmsg "Now tracking" or insysmsg "Distance to destination" and EnableRedAlertRecall = 1 @setvar! TimeToGo 1 replay elseif insysmsg 'world is saving' for 40 wait 100 if insysmsg 'world save complete' wait 100 overhead '[ SAVE COMPLETE! ]' 253 clearsysmsg endif endfor clearsysmsg elseif insysmsg 'Harvesting is not allowed' overhead 'You need to leave town...' 0 wait 5000 replay elseif insysmsg 'You broke your axe' overhead "My axe broke!" 2086 wait 1500 replay elseif insysmsg "must wait 59" cooldown "Travel" 59000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a minute to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 58" cooldown "Travel" 58000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a minute to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 57" cooldown "Travel" 57000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a minute to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 56" cooldown "Travel" 56000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a minute to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 55" cooldown "Travel" 55000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a minute to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 54" cooldown "Travel" 54000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a minute to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 53" cooldown "Travel" 53000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a minute to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 52" cooldown "Travel" 52000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a minute to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 51" cooldown "Travel" 51000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a minute to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 50" cooldown "Travel" 50000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a minute to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 49" cooldown "Travel" 49000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a minute to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 48" cooldown "Travel" 48000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a minute to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 47" cooldown "Travel" 47000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a minute to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 46" cooldown "Travel" 46000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a minute to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 45" cooldown "Travel" 45000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a minute to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 44" cooldown "Travel" 44000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a minute to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 43" cooldown "Travel" 43000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a minute to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 42" cooldown "Travel" 42000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a minute to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 41" cooldown "Travel" 41000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a minute to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 40" cooldown "Travel" 40000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 39" cooldown "Travel" 39000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 38" cooldown "Travel" 38000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 37" cooldown "Travel" 37000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 36" cooldown "Travel" 36000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 35" cooldown "Travel" 35000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 34" cooldown "Travel" 34000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 33" cooldown "Travel" 33000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 32" cooldown "Travel" 32000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 31" cooldown "Travel" 31000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 30" cooldown "Travel" 30000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 29" cooldown "Travel" 29000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 28" cooldown "Travel" 28000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 27" cooldown "Travel" 27000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit longer to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 26" cooldown "Travel" 26000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit longer to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 25" cooldown "Travel" 25000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit longer to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 24" cooldown "Travel" 24000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit longer to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 23" cooldown "Travel" 23000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit longer to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 22" cooldown "Travel" 22000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit longer to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 21" cooldown "Travel" 21000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit longer to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 20" cooldown "Travel" 20000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit longer to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 19" cooldown "Travel" 19000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit longer to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 18" cooldown "Travel" 18000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit longer to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 17" cooldown "Travel" 17000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a minute to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 16" cooldown "Travel" 16000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a bit longer to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 15" cooldown "Travel" 15000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a little bit longer to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 14" cooldown "Travel" 14000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a little bit longer to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 13" cooldown "Travel" 13000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a little bit longer to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 12" cooldown "Travel" 12000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a little bit longer to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 11" cooldown "Travel" 11000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a little bit longer to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 10" cooldown "Travel" 10000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a few more seconds to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 9" cooldown "Travel" 9000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a few more seconds to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 8" cooldown "Travel" 8000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a few more seconds to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 7" cooldown "Travel" 7000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a few more seconds to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 6" cooldown "Travel" 6000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a few more seconds to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 5" cooldown "Travel" 5000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a few more seconds to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 4" cooldown "Travel" 4000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a few more seconds to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 3" cooldown "Travel" 3000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a few more seconds to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 2" cooldown "Travel" 2000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a couple more seconds to recover!" 2086 clearsysmsg replay elseif insysmsg "must wait 1" cooldown "Travel" 1000 overhead "I'm tired from travelling..." 2086 wait 1500 overhead "Just give me a second to recover!" 2086 clearsysmsg replay elseif insysmsg "You must wait" clearsysmsg replay elseif insysmsg 'You do not see any' or insysmsg 'You cannot produce any' if MOVE = 1 if not cooldown "Move Timer" overhead "[ KEEP MOVING... ]" 2128 cooldown "Move Timer" 2500 @setvar! MOVE 0 endif if insysmsg "Now tracking" or insysmsg "Distance to destination" and EnableRedAlertRecall = 1 @setvar! TimeToGo 1 replay endif if paralyzed and EnableParalyzePouch = 1 overhead "[[[[ POP ]]]]" 2117 say "[pouch" @setvar! TimeToGo 1 replay endif if EnableSatchels = 1 if findtype "Ginseng|Garlic|Blood Moss|Sulfurous Ash|Mandrake Root%s%|Nightshade|Black Pearl%s%|Spider's Silk" backpack and findtype "reagent satchel" self as MyWizardBag if not cooldown "Satchel Timer" menu MyWizardBag 0 wait 250 cooldown "Satchel Timer" 30000 endif endif if findtype "Yellow Potion|Orange Potion|Red Potion|White Potion|Blue Potion|Black Potion|" backpack and findtype 31262 self as MyPotBag if not cooldown "Satchel Timer" menu MyPotBag 0 wait 250 cooldown "Satchel Timer" 30000 endif endif endif if insysmsg "As the owner" or insysmsg "Your house and its contents" wait 1500 if find MyDoor ground -1 -1 2 overhead "* door slams! *" 0 MyDoor dclick MyDoor wait 500 endif endif for 10 if findtype 'log%s' backpack and LogsToBoards = 1 overhead '* making boards... *' 0 dclicktype 'log%s' wait 500 endif endfor hotkey 'Organizer Agent-01' wait 250 hotkey 'Organizer Agent-02' replay endif if MOVE = 1 if not cooldown "Move Timer" @setvar! MOVE 0 overhead "[ KEEP MOVING... ]" 153 cooldown "Move Timer" 2500 endif if EnableSatchels = 1 if findtype "Ginseng|Garlic|Blood Moss|Sulfurous Ash|Mandrake Root%s%|Nightshade|Black Pearl%s%|Spider's Silk" backpack and findtype "reagent satchel" self as MyWizardBag if not cooldown "Satchel Timer" menu MyWizardBag 0 wait 250 cooldown "Satchel Timer" 60000 endif endif if findtype "Yellow Potion|Orange Potion|Red Potion|White Potion|Blue Potion|Black Potion|" backpack and findtype 31262 self as MyPotBag if not cooldown "Satchel Timer" menu MyPotBag 0 wait 250 cooldown "Satchel Timer" 60000 endif endif endif if insysmsg "Being perfectly rested" overhead "Outta my way! I've got a hatchet and know how to use it..." 2086 if EnableSummons = 1 and followers > 1 wait 1500 overhead "Shall we incinerate them, master?" 44 myMainTankPet menu myMainTankPet 3 endif endif if insysmsg "Now tracking" or insysmsg "Distance to destination" and EnableRedAlertRecall = 1 @setvar! TimeToGo 1 replay endif if paralyzed and EnableParalyzePouch = 1 overhead "[[[[ POP ]]]]" 2117 say "[pouch" @setvar! TimeToGo 1 replay endif for 10 if findtype 'log%s' backpack and LogsToBoards = 1 overhead '* making boards... *' 0 dclicktype 'log%s' wait 500 endif endfor hotkey 'Organizer Agent-01' wait 250 hotkey 'Organizer Agent-02' replay endif if MOVE = 0 if not cooldown "Move Timer" overhead "[ KEEP MOVING... ]" 44 cooldown "Move Timer" 2500 @setvar! MOVE 1 endif if EnableSatchels = 1 if findtype "Ginseng|Garlic|Blood Moss|Sulfurous Ash|Mandrake Root%s%|Nightshade|Black Pearl%s%|Spider's Silk" backpack and findtype "reagent satchel" self as MyWizardBag if not cooldown "Satchel Timer" menu MyWizardBag 0 wait 250 cooldown "Satchel Timer" 60000 endif endif if findtype "Yellow Potion|Orange Potion|Red Potion|White Potion|Blue Potion|Black Potion|" backpack and findtype 31262 self as MyPotBag if not cooldown "Satchel Timer" menu MyPotBag 0 wait 250 cooldown "Satchel Timer" 60000 endif endif endif if insysmsg "Being perfectly rested" overhead "Move it! I've got work to do" 2086 if EnableSummons = 1 and followers > 1 wait 1000 overhead "* growls... *" 44 myMainTankPet menu myMainTankPet 3 endif endif if insysmsg "Now tracking" or insysmsg "Distance to destination" and EnableRedAlertRecall = 1 @setvar! TimeToGo 1 replay endif if paralyzed and EnableParalyzePouch = 1 overhead "[[[[ POP ]]]]" 2117 say "[pouch" @setvar! TimeToGo 1 replay endif for 10 if findtype 'log%s' backpack and LogsToBoards = 1 overhead '* making boards... *' 0 dclicktype 'log%s' wait 500 endif endfor hotkey 'Organizer Agent-01' wait 250 hotkey 'Organizer Agent-02' replay endif clearsysmsg @setvar! MOVE 1 replay endif overhead '* chopping wood... *' 2128 if insysmsg "Lumberjacking skillgain" if skill 'Lumberjacking' > 100.0 and skill 'Lumberjacking' < 119.9 sysmsg "Hmm... this tree will really test my skills..." 84 elseif skill 'Lumberjacking' = 119.9 overhead "THIS COULD BE IT......" 2086 sysmsg "Hmm... there is something special about this tree..." 84 elseif skill 'Lumberjacking' = 120.0 overhead "FINALLY!!!" 2086 wait 2000 overhead "We made it!" 2086 wait 1500 clearsysmsg overhead "[ TIME FOR A WELL DESERVED BREAK! ]" 337 stop endif endif wait 3800 if insysmsg "Now tracking" or insysmsg "Distance to destination" and EnableRedAlertRecall = 1 @setvar! TimeToGo 1 replay elseif insysmsg 'world is saving' for 40 wait 100 if insysmsg 'world save complete' wait 100 overhead '[ SAVE COMPLETE! ]' 253 clearsysmsg endif endfor clearsysmsg elseif insysmsg "You hack" overhead '* fail... *' 337 replay elseif insysmsg "You chop some logs" overhead '* you harvest logs *' 349 replay elseif insysmsg "You chop some dullwood logs" overhead '* you harvest dullwood *' 2419 replay elseif insysmsg "You chop some shadowwood logs" overhead '* you harvest shadowwood *' 2406 replay elseif insysmsg "You chop some copperwood logs" overhead '* you harvest copperwood *' 2413 replay elseif insysmsg "You chop some bronzewood logs" overhead '* you harvest bronzewood *' 2418 replay elseif insysmsg "You chop some goldenwood logs" overhead '* you harvest goldenwood! *' 2213 replay elseif insysmsg "You chop some rosewood logs" overhead '* you harvest rosewood! *' 2425 replay elseif insysmsg "You chop some verewood logs" overhead '* you harvest verewood!! *' 2207 replay elseif insysmsg "You chop some valewood logs" overhead '* you harvest valewood!! *' 2219 replay elseif insysmsg "You chop some avarwood logs" overhead '* you harvest avarwood!!! *' 1763 replay elseif insysmsg "travel" replay endif replay endif //////////////////////////////// // REST/SKILL/DEATH LOOP: // //////////////////////////////// if dead wait 2500 overhead "Well... shit..." 2086 wait 1500 overhead '[ STOPPING SCRIPT... ]' 337 stop endif if not cooldown "Travel" wait 500 overhead "Train skill to 50.0 at NPC and then restart script!" 0 wait 2500 overhead '[ STOPPING SCRIPT... ]' 337 stop else if not cooldown "Move Timer" overhead "* resting... *" 0 cooldown "Move Timer" 6000 if EnableSummons = 1 and not cooldown "Guard Timer" and followers > 1 wait 2500 overhead "* yawns... *" 2117 myMainTankPet menu myMainTankPet 3 cooldown "Guard Timer" 30000 endif endif if EnableSatchels = 1 if findtype "Ginseng|Garlic|Blood Moss|Sulfurous Ash|Mandrake Root%s%|Nightshade|Black Pearl%s%|Spider's Silk" backpack and findtype "reagent satchel" self as MyWizardBag if not cooldown "Satchel Timer" menu MyWizardBag 0 wait 250 cooldown "Satchel Timer" 60000 endif endif if findtype "Yellow Potion|Orange Potion|Red Potion|White Potion|Blue Potion|Black Potion|" backpack and findtype 31262 self as MyPotBag if not cooldown "Satchel Timer" menu MyWizardBag 0 wait 250 cooldown "Satchel Timer" 60000 endif endif endif if insysmsg "Being perfectly rested" overhead "Leave me alone, I'm tryin to rest here..." 2086 wait 500 if EnableSummons = 1 and not cooldown "Guard Timer" and followers > 1 wait 2500 overhead "* growls... *" 2117 myMainTankPet menu myMainTankPet 3 cooldown "Guard Timer" 60000 endif clearsysmsg endif if insysmsg "Now tracking" or insysmsg "Distance to destination" and EnableRedAlertRecall = 1 @setvar! TimeToGo 1 replay endif if paralyzed and EnableParalyzePouch = 1 overhead "[[[[ POP ]]]]" 2117 say "[pouch" @setvar! TimeToGo 1 replay endif if insysmsg "As the owner" or insysmsg "Your house and its contents" wait 1500 if find MyDoor ground -1 -1 2 overhead "* door slams! *" 0 MyDoor dclick MyDoor wait 500 endif endif if findtype 'iron ore|iron ingots' backpack hotkey 'Organizer Agent-03' endif for 10 if findtype 'log%s' backpack and LogsToBoards = 1 overhead '* making boards... *' 0 dclicktype 'log%s' wait 500 endif endfor if skill "Lumberjacking" >= 50 hotkey 'Organizer Agent-01' wait 250 hotkey 'Organizer Agent-02' wait 250 elseif skill "Mining" >= 50 hotkey 'Organizer Agent-03' wait 250 hotkey 'Organizer Agent-04' endif replay endif replay ////////////// // THE END! // ////////////// # This script took me 300+ days of harvesting while I tweaked the code to get it to this point! Enjoy!! #