SUPER Auto-Lumberjacking by dennozz
Description: Auto lumberjacking, cast summons, auto heal, auto store wood in locked box, auto recall on pks.
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.
#SUPER Auto-lumber ver.6.11
#ver.6.11 - Minor fixes
#ver.6.10 - Recalling logic fixes
#ver.6.01 - Auto summoning and auto healing re-make
#ver.6.00 - Added more variables and minor changes
#********** INFORMATION **********#
#Made by @dennozz on discord.
#Inspired/learned by other scrips in https://outlands.uorazorscripts.com/
#IMPORTANT: You will need 1 wooden box and 1 copper key that opens the wooden box (this is for anti-theft)
# You can craft wooden boxes with 50 carpentry and 50 tinkering
#IMPORTANT: You will need to create an in-game options cooldown named `Danger`.
#Options -> Cooldowns -> New Entry -> Name: `Danger` -> Cooldown Type -> `PvP Timer` -> Done
#IMPORTANT: Do NOT use the check mark for text and messages filter in razor.
# Instead click on check-mark Enable text filter, click ADD button, then type the message you want to filter individually. CLick on the first check-mark and click okay.
# Recommended individual filter messages:
# `You are already casting a spell`
# `You are frozen and cannot move`
# `You have not yet recovered from casting a spell`
# `You do not see any harvestable resources nearby`
# My Gathering template (Anti PK):
# Lumber - 120 # Mining - 120
# Magery - 100 # Resist - 80
# Healing - 80 # Tracking -80
# Wrestling - 80 # Spirit - 40
# Alchemy - 20
#********** SET YOUR SETTINGS **********#
#--- Set auto recall ---#
# 0 - will auto recall when PKs are 40 steps or closer (medioum risk)
# 1 - will auto recall when detect PKs at any distance (low risk)
@setvar! autoRecall 0
#-- Set recall type --#
# 0 - using regs (target the book)
# 1 - using scroll (target the book)
# 2 - using charge recall from first rune in book
# 3 - using charge recall from last rune in book
@setvar! recallType 3
#--- Set recall object ---#
# 0 - carry one runebook | carry one rune | if multiple runes name the one you recall `home`
# 1234 - if you carry multiple runebooks or runetomes set the hue of the book you wish to recall (type `>info` to get hue info)
@setvar! recallBookHue 176
#--- If regs are low auto recall ---#
# 0 - you dont carry regs
# 123 - if below this number will recall
@setvar! minRegs 5
#--- Auto split regs ---#
# 0 - you dont want to split regs into different groups
# 1 - will auto split regs in different groups (anti-theft)
@setvar! autoSplitRegs 1
# 0 - will automatically select the bag in your backpack on this order : satchel > pouch > backpack bag > round bag > char backpack
# 1 - will automatically select character main backpack only (do not work if regs are already splitted in a different bag)
# 2 - will let you target any bag
@setvar! autoSelectBag 0
#--- Set Elementals Count ---#
@setvar! earthElementals 1
@setvar! waterElementals 0
@setvar! airElementals 0
@setvar! fireElementals 0
@setvar! summonDaemons 0
@setvar! summonCreature 0
#--- Set mushrooms ---#
@setvar! mushroomCount 3
@setvar! eatMushWhenManaLowerThan 50
@setvar! mushroomTimerCD 60000
#--- Set potions ---#
@setvar! drinkStr 1
@setvar! strengthLowerThan 100
@setvar! drinkAgility 0
@setvar! drinkMagicResist 0
@setvar! drinkHeal 1
@setvar! drinkCure 1
@setvar! drinkRefresh 1
@setvar! drinkWhenMissingStamina 15
#--- Set Mage auto heals ---#
@setvar! miniHeal 1
@setvar! greaterHeal 1
@setvar! cureSpell 1
#--- Auto healing hp diffs ---#
#--- All variables refer to hit points differences ---#
#--- When below certain hit points it will trigger ---#
@setvar! activateAutoHealDiff 10
@setvar! startCastMiniHealDiff 10
@setvar! endCastMiniHealDiff 30
@setvar! castEmergencyMiniHealDiff 65
@setvar! startCastGreaterHealDiff 30
@setvar! endCastGreaterHealDiff 200
@setvar! drinkHealPotDiff 30
@setvar! interruptCastingDiff 40
#--- Set Mage Buffs ---#
@setvar! magicReflect 1
@setvar! blessSpell 0
@setvar! armorReflect 1
@setvar! protectionSpell 1
@setvar! miniumManaToBuff 75
#--- Meditation ---#
@setvar! useMeditationSkill 1
@setvar! meditateWhenManaBelow 50
@setvar! meditateUntilManaReach 65
#--- Set Cooldowns ---#
@setvar! storeTimerCD 100000
settimer storeTimer storeTimerCD
#--- Weight diff limit ---#
@setvar! myWeightDiff 41
@setvar! enableAutoSplitter 1
#--- Autosplitter regs, pots, etc. Set auto select bag ---#
# 0 - will let you pick the bag
# 1 - will auto select in order : satchel > pouch > backpack bag > rounded bag > main backpack
@setvar! autoSelectRegBag 1
#--- Set auto select Potion bag ---#
# 0 - will let you pick the bag
# 1 - will auto select in order : Potions satchel > pouch > backpack bag > rounded bag > main backpack
@setvar! autoSelectPotionBag 1
#--- Set auto select bandage/rope bag ---#
# 0 - will let you pick the bag
# 1 - will auto select in order : satchel > pouch > backpack bag > rounded bag > main backpack
@setvar! autoSelectMiscBag 1
#--- Optional : Have a cooldown named `Heal Pot` ---#
@setvar! healingPotCD 11000
#********** DO NOT EDIT FROM HERE UNLESS YOU KNOW HOW TO SCRIPT **********#
@setvar! isWorldSaving 0
@setvar! maxwaittimeinms 650
@setvar! missingRegs 0
@setvar! foundBook 0
#** Recall triggers **
@setvar! enemyFound 0
@setvar! myHarvestingTool 3908
#-- elementals variables --#
removelist maxFollowersList
createlist maxFollowersList
@setvar! maxFollowers 0
@setvar! currentFollowers 0
if not varexist castingEarth or followers = 0
@setvar! castingEarth 0
endif
if not varexist castingWater or followers = 0
@setvar! castingWater 0
endif
if not varexist castingFire or followers = 0
@setvar! castingFire 0
endif
if not varexist castingAir or followers = 0
@setvar! castingAir 0
endif
if not varexist castingDaemon or followers = 0
@setvar! castingDaemon 0
endif
if not varexist castingCreature or followers = 0
@setvar! castingCreature 0
endif
if earthElementals = 1
pushlist maxFollowersList x
pushlist maxFollowersList x
elseif earthElementals = 2
pushlist maxFollowersList x
pushlist maxFollowersList x
pushlist maxFollowersList x
pushlist maxFollowersList x
endif
if waterElementals = 1
pushlist maxFollowersList x
pushlist maxFollowersList x
elseif waterElementals = 2
pushlist maxFollowersList x
pushlist maxFollowersList x
pushlist maxFollowersList x
pushlist maxFollowersList x
endif
if airElementals = 1
pushlist maxFollowersList x
pushlist maxFollowersList x
elseif airElementals = 2
pushlist maxFollowersList x
pushlist maxFollowersList x
pushlist maxFollowersList x
pushlist maxFollowersList x
endif
if fireElementals = 1
pushlist maxFollowersList x
pushlist maxFollowersList x
elseif fireElementals = 2
pushlist maxFollowersList x
pushlist maxFollowersList x
pushlist maxFollowersList x
pushlist maxFollowersList x
endif
if summonDaemons = 1
pushlist maxFollowersList x
pushlist maxFollowersList x
elseif summonDaemons = 2
pushlist maxFollowersList x
pushlist maxFollowersList x
pushlist maxFollowersList x
pushlist maxFollowersList x
endif
if summonCreature = 1
pushlist maxFollowersList x
elseif summonCreature = 2
pushlist maxFollowersList x
pushlist maxFollowersList x
elseif summonCreature = 3
pushlist maxFollowersList x
pushlist maxFollowersList x
pushlist maxFollowersList x
elseif summonCreature = 4
pushlist maxFollowersList x
pushlist maxFollowersList x
pushlist maxFollowersList x
pushlist maxFollowersList x
elseif summonCreature = 5
pushlist maxFollowersList x
pushlist maxFollowersList x
pushlist maxFollowersList x
pushlist maxFollowersList x
pushlist maxFollowersList x
endif
if list maxFollowersList = 0
@setvar! maxFollowers 0
elseif list maxFollowersList = 1
@setvar! maxFollowers 1
elseif list maxFollowersList = 2
@setvar! maxFollowers 2
elseif list maxFollowersList = 3
@setvar! maxFollowers 3
elseif list maxFollowersList = 4
@setvar! maxFollowers 4
else
@setvar! maxFollowers 5
endif
if not varexist earthFirsty or followers = 0
@setvar! earthFirsty 0
endif
if not varexist earthSecondly or followers = 0
@setvar! earthSecondly 0
endif
if not varexist waterFirsty or followers = 0
@setvar! waterFirsty 0
endif
if not varexist waterSecondly or followers = 0
@setvar! waterSecondly 0
endif
if not varexist airFirsty or followers = 0
@setvar! airFirsty 0
endif
if not varexist airSecondly or followers = 0
@setvar! airSecondly 0
endif
if not varexist fireFirsty or followers = 0
@setvar! fireFirsty 0
endif
if not varexist fireSecondly or followers = 0
@setvar! fireSecondly 0
endif
if not varexist daemonFirsty or followers = 0
@setvar! daemonFirsty 0
endif
if not varexist daemonSecondly or followers = 0
@setvar! daemonSecondly 0
endif
if not varexist creatureFirsty or followers = 0
@setvar! creatureFirsty 0
endif
if not varexist creatureSecondly or followers = 0
@setvar! creatureSecondly 0
endif
if not varexist creatureThirdy or followers = 0
@setvar! creatureThirdy 0
endif
if not varexist creatureFourthy or followers = 0
@setvar! creatureFourthy 0
endif
if not varexist creatureFithy or followers = 0
@setvar! creatureFithy 0
endif
#-- list creation --#
if not listexists earthListy or followers = 0
removelist earthListy
createlist earthListy
endif
if not listexists waterListy or followers = 0
removelist waterListy
createlist waterListy
endif
if not listexists airListy or followers = 0
removelist airListy
createlist airListy
endif
if not listexists fireListy or followers = 0
removelist fireListy
createlist fireListy
endif
if not listexists daemonListy or followers = 0
removelist daemonListy
createlist daemonListy
endif
if not listexists creatureListy or followers = 0
removelist creatureListy
createlist creatureListy
endif
if maxFollowers > 5
overhead "Error Max Followers > 5"
sysmsg "Error Max Followers > 5: Check your followers settings"
stop
endif
#** Script msgs timers **
@setvar! scriptMessageCD 4500
settimer scriptMessageTimer 0
@setvar! beingAttackedCD 5000
settimer beingAttackedTimer 5000
#--- Script msgs timers ---#
@setvar! overweightMessageCD 3000
settimer overweightMessageTimer overweightMessageCD
@setvar! noRegsMessageCD 4000
settimer noRegsMessageTimer noRegsMessageCD
@setvar! allGuardCD 3000
settimer allGuardTimer allGuardCD
@setvar! foodMessageCD 3333
settimer foodMessageTimer foodMessageCD
@setvar! autoHealMessageCD 4500
settimer autoHealMessageTimer 0
#--- Summons timers ---#
@setvar! summonMsgCD 1500
settimer summonMsgTimer summonMsgCD
#--- Resources timers ---#
@setvar! pouchMessageCD 2000
settimer pouchMessageTimer pouchMessageCD
@setvar! aidsMessageCD 2500
settimer aidsMessageTimer aidsMessageCD
@setvar! whiteMessageCD 3000
settimer whiteMessageTimer whiteMessageCD
@setvar! blueMessageCD 3500
settimer blueMessageTimer blueMessageCD
@setvar! blackMessageCD 4000
settimer blackMessageTimer blackMessageCD
@setvar! orangeMessageCD 4500
settimer orangeMessageTimer orangeMessageCD
@setvar! yellowMessageCD 5000
settimer yellowMessageTimer yellowMessageCD
@setvar! redMessageCD 5500
settimer redMessageTimer redMessageCD
#--- Magery buffs timers ---#
@setvar! magicReflectCD 15000
settimer magicReflectTimer magicReflectCD
@setvar! armorReflectCD 15000
settimer armorReflectTimer armorReflectCD
@setvar! protectionCD 15000
settimer protectionTimer protectionCD
@setvar! manaMessageCD 2222
settimer manaMessageTimer manaMessageCD
#--- Skills timers ---#
@setvar! spiritSpeakCD 60000
if not timerexists spiritSpeakTimer
settimer spiritSpeakTimer spiritSpeakCD
endif
@setvar! meditationCD 10500
if not timerexists meditationTimer
settimer meditationTimer meditationCD
endif
@setvar! meditationMessageCD 2777
if not timerexists meditationMessageTimer
settimer meditationMessageTimer meditationMessageCD
endif
if not timerexists mushroomTimer
settimer mushroomTimer mushroomTimerCD
endif
#********** PRE-SCRIPT FOOD BUFF AND TRACKING ON **********
if not findbuff "food" and findtype "tray" backpack as fody
dclick fody
wait 200
endif
#********* CREATE MUSHROOMS *********
if insysmsg "You create"
endif
while counttype 29012 backpack < mushroomCount and findtype 3963 self and findtype 3976 self and mana > 3
cast 'create food'
while not casting
cast 'create food'
endwhile
while casting
endwhile
wait 200
getlabel backpack xxx
if insysmsg! "you create"
if insysmsg "you create a magic"
else
sysmsg "Wizard's Grimoire `create food` not found" 34
@setvar! mushroomCount 0
break
endif
endif
endwhile
if not findbuff "tracking"
while not gumpexists 4267467659
sysmsg "opening tracking..." 11
skill "tracking"
wait maxwaittimeinms
endwhile
while not insysmsg "You will now hunt all hostile players"
sysmsg "setting track to hostile players..." 11
gumpresponse 8
wait 500
waitforgump 4267467659 maxwaittimeinms
endwhile
if ingump "Begin Hunting" 4267467659
gumpresponse 6
wait maxwaittimeinms
waitforgump 4267467659 maxwaittimeinms
wait maxwaittimeinms
gumpclose 4267467659
wait 100
endif
sysmsg "* Now tracking hostile players *" 66
endif
#********** AUTO SPLIT REAGENTS **********#
clearignore
if enableAutoSplitter = 1
@setvar! amount 0
@setvar! myRegBag 0
@setvar! myPotionBag 0
@setvar! myBandageBag 0
@setvar! maxwaittimeinms 650
if autoSelectRegBag = 1
if findtype 30765 self as b
@setvar! myRegBag b
elseif findtype 3705 self as b
@setvar! myRegBag b
elseif findtype 3701 self as b
@setvar! myRegBag b
elseif findtype 3702 self as b
@setvar! myRegBag b
else
@setvar! myRegBag backpack
endif
else
clearsysmsg
overhead "Select bag:" 68
@setvar! myRegBag
wait 200
while not targetexists and not insysmsg "Select"
@setvar! myRegBag
endwhile
if find myRegBag self
getlabel myRegBag bagLabel
if "wizard's satchel" in bagLabel or "pouch" in bagLabel or "bag" in bagLabel or "backpack" in bagLabel
sysmsg "new bag set" 55
else
@setvar! myRegBag 0
overhead "That is not a bag" 34
sysmsg "That is not a bag" 34
stop
endif
else
overhead "No bag found!" 34
stop
endif
endif
if autoSelectPotionBag = 1
if findtype 31262 self as b
@setvar! myPotionBag b
elseif findtype 3705 self as b
@setvar! myPotionBag b
elseif findtype 3701 self as b
@setvar! myPotionBag b
elseif findtype 3702 self as b
@setvar! myPotionBag b
else
@setvar! myPotionBag backpack
endif
else
clearsysmsg
overhead "Select Potion bag:" 68
@setvar! myPotionBag
wait 200
while not targetexists and not insysmsg "Select"
@setvar! myPotionBag
endwhile
if find myPotionBag self
getlabel myPotionBag bagLabel
if "alchemists satchel" in bagLabel or "pouch" in bagLabel or "bag" in bagLabel or "backpack" in bagLabel
sysmsg "new bag set" 55
else
@setvar! myPotionBag 0
overhead "That is not a bag" 34
sysmsg "That is not a bag" 34
stop
endif
else
overhead "No bag found!" 34
stop
endif
endif
#***** Misc Items *****
if autoSelectMiscBag = 1
if findtype 3705 self as b
@setvar! myMiscBag b
elseif findtype 3701 self as b
@setvar! myMiscBag b
elseif findtype 3702 self as b
@setvar! myMiscBag b
else
@setvar! myMiscBag backpack
endif
else
clearsysmsg
overhead "Select Misc bag:" 68
@setvar! myMiscBag
wait 200
while not targetexists and not insysmsg "Select"
@setvar! myMiscBag
endwhile
if find myMiscBag self
getlabel myMiscBag bagLabel
if "wizard's satchel" in bagLabel or "pouch" in bagLabel or "bag" in bagLabel or "backpack" in bagLabel
sysmsg "new bag set" 55
else
@setvar! myMiscBag 0
overhead "That is not a bag" 34
sysmsg "That is not a bag" 34
stop
endif
else
overhead "No bag found!" 34
stop
endif
endif
overhead "Splitter Begin.." 55
#***** SPIDER SILK 3981 *****
@setvar! regsID 3981
@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 myRegBag
@setvar! moveRegs 1
endif
if moveRegs = 1
overhead "splitting silks.." 0
if index = 0
lift regs amount
drop myRegBag 44 65 0
elseif index = 1
lift regs amount
drop myRegBag 68 65 0
elseif index = 2
lift regs amount
drop myRegBag 96 65 0
elseif index = 3
lift regs amount
drop myRegBag 121 65 0
else
lift regs amount
drop myRegBag 142 65 0
endif
endif
@ignore regs
if moveRegs = 1
wait maxwaittimeinms
endif
endwhile
#***** BLACK PEARL 3962 *****
@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 myRegBag
@setvar! moveRegs 1
endif
if moveRegs = 1
overhead "splitting pearls.." 11
if index = 0
lift regs amount
drop myRegBag 44 65 0
elseif index = 1
lift regs amount
drop myRegBag 68 65 0
elseif index = 2
lift regs amount
drop myRegBag 96 65 0
elseif index = 3
lift regs amount
drop myRegBag 121 65 0
else
lift regs amount
drop myRegBag 142 65 0
endif
endif
@ignore regs
if moveRegs = 1
wait maxwaittimeinms
endif
endwhile
#***** NIGHTSHADE 3976 *****
@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 myRegBag
@setvar! moveRegs 1
endif
if moveRegs = 1
overhead "splitting shades.." 66
if index = 0
lift regs amount
drop myRegBag 44 88 0
elseif index = 1
lift regs amount
drop myRegBag 68 88 0
elseif index = 2
lift regs amount
drop myRegBag 96 88 0
elseif index = 3
lift regs amount
drop myRegBag 121 88 0
else
lift regs amount
drop myRegBag 142 88 0
endif
endif
@ignore regs
if moveRegs = 1
wait maxwaittimeinms
endif
endwhile
#***** MANDRAKE ROOT 3974 *****
@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 myRegBag
@setvar! moveRegs 1
endif
if moveRegs = 1
overhead "splitting roots.." 439
if index = 0
lift regs amount
drop myRegBag 44 88 0
elseif index = 1
lift regs amount
drop myRegBag 68 88 0
elseif index = 2
lift regs amount
drop myRegBag 96 88 0
elseif index = 3
lift regs amount
drop myRegBag 121 88 0
else
lift regs amount
drop myRegBag 142 88 0
endif
endif
@ignore regs
if moveRegs = 1
wait maxwaittimeinms
endif
endwhile
#***** SULFUROUS ASH 3980 *****
@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 myRegBag
@setvar! moveRegs 1
endif
if moveRegs = 1
overhead "splitting ashes.." 56
if index = 0
lift regs amount
drop myRegBag 44 112 0
elseif index = 1
lift regs amount
drop myRegBag 68 112 0
elseif index = 2
lift regs amount
drop myRegBag 96 112 0
elseif index = 3
lift regs amount
drop myRegBag 121 112 0
else
lift regs amount
drop myRegBag 142 112 0
endif
endif
@ignore regs
if moveRegs = 1
wait maxwaittimeinms
endif
endwhile
#***** GINSENG 3973 *****
@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 myRegBag
@setvar! moveRegs 1
endif
if moveRegs = 1
overhead "splitting gings.." 149
if index = 0
lift regs amount
drop myRegBag 44 112 0
elseif index = 1
lift regs amount
drop myRegBag 68 112 0
elseif index = 2
lift regs amount
drop myRegBag 96 112 0
elseif index = 3
lift regs amount
drop myRegBag 121 112 0
else
lift regs amount
drop myRegBag 142 112 0
endif
endif
@ignore regs
if moveRegs = 1
wait maxwaittimeinms
endif
endwhile
#***** BLOSSMOSS 3963 *****
@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
if myCounter = 0
@setvar! moveRegs 1
elseif myCounter != 0 and not find regs myRegBag
@setvar! moveRegs 1
endif
if moveRegs = 1
overhead "splitting bloods.." 35
if index = 0
lift regs amount
drop myRegBag 44 130 0
elseif index = 1
lift regs amount
drop myRegBag 68 130 0
elseif index = 2
lift regs amount
drop myRegBag 96 130 0
elseif index = 3
lift regs amount
drop myRegBag 121 130 0
else
lift regs amount
drop myRegBag 142 130 0
endif
endif
@ignore regs
if moveRegs = 1
wait maxwaittimeinms
endif
endwhile
#***** GARILIC 3972 *****
@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 myRegBag
@setvar! moveRegs 1
endif
if moveRegs = 1
overhead "splitting garlics.." 910
if index = 0
lift regs amount
drop myRegBag 44 130 0
elseif index = 1
lift regs amount
drop myRegBag 68 130 0
elseif index = 2
lift regs amount
drop myRegBag 96 130 0
elseif index = 3
lift regs amount
drop myRegBag 121 130 0
else
lift regs amount
drop myRegBag 142 130 0
endif
endif
@ignore regs
if moveRegs = 1
wait maxwaittimeinms
endif
endwhile
#***** RECALL SCROLL 8012 *****
@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 myRegBag
@setvar! moveRegs 1
endif
if moveRegs = 1
overhead "splitting scrolls.." 0
if index = 0
lift regs amount
drop myRegBag 44 88 0
elseif index = 1
lift regs amount
drop myRegBag 68 88 0
elseif index = 2
lift regs amount
drop myRegBag 96 88 0
elseif index = 3
lift regs amount
drop myRegBag 121 88 0
else
lift regs amount
drop myRegBag 142 88 0
endif
endif
@ignore regs
if moveRegs = 1
wait maxwaittimeinms
endif
endwhile
#***** Greater Heal 3852 *****
@setvar! regsID 3852
@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 myPotionBag
@setvar! moveRegs 1
endif
if moveRegs = 1
overhead "splitting Greater Heal.." 48
if index = 0
lift regs amount
drop myPotionBag 44 65 0
elseif index = 1
lift regs amount
drop myPotionBag 68 65 0
elseif index = 2
lift regs amount
drop myPotionBag 96 65 0
elseif index = 3
lift regs amount
drop myPotionBag 121 65 0
else
lift regs amount
drop myPotionBag 142 65 0
endif
endif
@ignore regs
if moveRegs = 1
wait maxwaittimeinms
endif
endwhile
#***** Greater Cure 3847 *****
@setvar! regsID 3847
@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 myPotionBag
@setvar! moveRegs 1
endif
if moveRegs = 1
overhead "splitting Greater Cure.." 44
if index = 0
lift regs amount
drop myPotionBag 44 65 0
elseif index = 1
lift regs amount
drop myPotionBag 68 65 0
elseif index = 2
lift regs amount
drop myPotionBag 96 65 0
elseif index = 3
lift regs amount
drop myPotionBag 121 65 0
else
lift regs amount
drop myPotionBag 142 65 0
endif
endif
@ignore regs
if moveRegs = 1
wait maxwaittimeinms
endif
endwhile
#***** Greater Agility 3848 *****
@setvar! regsID 3848
@setvar! myCounter 0
while findtype regsID self as r
@setvar! myCounter index
@ignore r
endwhile
@clearignore
if counttype regsID self <= 10
@setvar! amount 1
elseif counttype regsID self <= 20
@setvar! amount 2
elseif counttype regsID self <= 50
@setvar! amount 4
elseif counttype regsID self <= 100
@setvar! amount 10
elseif counttype regsID self <= 150
@setvar! amount 20
elseif counttype regsID self <= 200
@setvar! amount 30
else
@setvar! amount 40
endif
while findtype regsID self as regs
@setvar! moveRegs 0
if myCounter = 0
@setvar! moveRegs 1
elseif myCounter != 0 and not find regs myPotionBag
@setvar! moveRegs 1
endif
if moveRegs = 1
overhead "splitting Greater Agility.." 93
if index = 0
lift regs amount
drop myPotionBag 44 88 0
elseif index = 1
lift regs amount
drop myPotionBag 68 88 0
elseif index = 2
lift regs amount
drop myPotionBag 96 88 0
elseif index = 3
lift regs amount
drop myPotionBag 121 88 0
else
lift regs amount
drop myPotionBag 142 88 0
endif
endif
@ignore regs
if moveRegs = 1
wait maxwaittimeinms
endif
endwhile
#***** Total Refresh 3851 *****
@setvar! regsID 3851
@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 myPotionBag
@setvar! moveRegs 1
endif
if moveRegs = 1
overhead "splitting Total Refresh.." 38
if index = 0
lift regs amount
drop myPotionBag 44 88 0
elseif index = 1
lift regs amount
drop myPotionBag 68 88 0
elseif index = 2
lift regs amount
drop myPotionBag 96 88 0
elseif index = 3
lift regs amount
drop myPotionBag 121 88 0
else
lift regs amount
drop myPotionBag 142 88 0
endif
endif
@ignore regs
if moveRegs = 1
wait maxwaittimeinms
endif
endwhile
#***** Greater Magic Resist 3846 *****
@setvar! regsID 3846
@setvar! myCounter 0
while findtype regsID self as r
@setvar! myCounter index
@ignore r
endwhile
@clearignore
if counttype regsID self <= 10
@setvar! amount 1
elseif counttype regsID self <= 20
@setvar! amount 2
elseif counttype regsID self <= 50
@setvar! amount 5
elseif counttype regsID self <= 100
@setvar! amount 10
elseif counttype regsID self <= 150
@setvar! amount 20
elseif counttype regsID self <= 200
@setvar! amount 30
else
@setvar! amount 40
endif
while findtype regsID self as regs
@setvar! moveRegs 0
if myCounter = 0
@setvar! moveRegs 1
elseif myCounter != 0 and not find regs myPotionBag
@setvar! moveRegs 1
endif
if moveRegs = 1
overhead "splitting Greater Magic Resist.." 897
if index = 0
lift regs amount
drop myPotionBag 44 112 0
elseif index = 1
lift regs amount
drop myPotionBag 68 112 0
elseif index = 2
lift regs amount
drop myPotionBag 96 112 0
elseif index = 3
lift regs amount
drop myPotionBag 121 112 0
else
lift regs amount
drop myPotionBag 142 112 0
endif
endif
@ignore regs
if moveRegs = 1
wait maxwaittimeinms
endif
endwhile
#***** Greater Strength 3849 *****
@setvar! regsID 3849
@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 myPotionBag
@setvar! moveRegs 1
endif
if moveRegs = 1
overhead "splitting Greater Strength.." 2041
if index = 0
lift regs amount
drop myPotionBag 44 112 0
elseif index = 1
lift regs amount
drop myPotionBag 68 112 0
elseif index = 2
lift regs amount
drop myPotionBag 96 112 0
elseif index = 3
lift regs amount
drop myPotionBag 121 112 0
else
lift regs amount
drop myPotionBag 142 112 0
endif
endif
@ignore regs
if moveRegs = 1
wait maxwaittimeinms
endif
endwhile
#***** Greater Explode 3853 *****
@setvar! regsID 3853
@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 myPotionBag
@setvar! moveRegs 1
endif
if moveRegs = 1
overhead "splitting Greater Explode.." 1275
if index = 0
lift regs amount
drop myPotionBag 44 130 0
elseif index = 1
lift regs amount
drop myPotionBag 68 130 0
elseif index = 2
lift regs amount
drop myPotionBag 96 130 0
elseif index = 3
lift regs amount
drop myPotionBag 121 130 0
else
lift regs amount
drop myPotionBag 142 130 0
endif
endif
@ignore regs
if moveRegs = 1
wait maxwaittimeinms
endif
endwhile
#***** Lethal Poison 3850 *****
@setvar! regsID 3850
@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 myPotionBag
@setvar! moveRegs 1
endif
if moveRegs = 1
overhead "splitting Lethal Poison.." 1267
if index = 0
lift regs amount
drop myPotionBag 44 130 0
elseif index = 1
lift regs amount
drop myPotionBag 68 130 0
elseif index = 2
lift regs amount
drop myPotionBag 96 130 0
elseif index = 3
lift regs amount
drop myPotionBag 121 130 0
else
lift regs amount
drop myPotionBag 142 130 0
endif
endif
@ignore regs
if moveRegs = 1
wait maxwaittimeinms
endif
endwhile
#***** Bandages 3617 *****
@setvar! regsID 3617
@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 myMiscBag
@setvar! moveRegs 1
endif
if moveRegs = 1
overhead "splitting Bandages.." 0
if index = 0
lift regs amount
drop myMiscBag 44 65 0
elseif index = 1
lift regs amount
drop myMiscBag 68 65 0
elseif index = 2
lift regs amount
drop myMiscBag 96 65 0
elseif index = 3
lift regs amount
drop myMiscBag 121 65 0
else
lift regs amount
drop myMiscBag 142 65 0
endif
endif
@ignore regs
if moveRegs = 1
wait maxwaittimeinms
endif
endwhile
#***** Rope 5370 *****
@setvar! regsID 5370
@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 myMiscBag
@setvar! moveRegs 1
endif
if moveRegs = 1
overhead "splitting Rope.." 360
if index = 0
lift regs amount
drop myMiscBag 44 65 0
elseif index = 1
lift regs amount
drop myMiscBag 68 65 0
elseif index = 2
lift regs amount
drop myMiscBag 96 65 0
elseif index = 3
lift regs amount
drop myMiscBag 121 65 0
else
lift regs amount
drop myMiscBag 142 65 0
endif
endif
@ignore regs
if moveRegs = 1
wait maxwaittimeinms
endif
endwhile
overhead "Splitter completed" 0
endif
sysmsg "* auto-lumber activated *" 66
overhead "* auto-lumber activated *" 66
clearsysmsg
clearhands both
while not dead
settimer cycleTimer 0
if targetexists
hotkey 'cancel current target'
endif
if enemyFound = 0
if insysmsg! "Now tracking" or insysmsg! "Distance to"
@setvar! enemyFound 1
endif
endif
#********** TRIGGER AUTO-RECALL IF BEING ATTACKED / OUT OF REGS / ENEMY TOO CLOSE **********
if cooldown "Danger" > 0
if timer beingAttackedTimer > beingAttackedCD
sysmsg "* being attacked *" 34
settimer beingAttackedTimer 0
endif
@setvar! autoRecall 1
@setvar! enemyFound 1
endif
if minRegs != 0
if counttype 3963 self <= minRegs or counttype 3973 self <= minRegs or counttype 3972 self <= minRegs or counttype 3980 self <= minRegs or counttype 3962 self <= minRegs or counttype 3981 self <= minRegs or counttype 3974 self <= minRegs or counttype 3976 self <= minRegs
overhead "* low reagents *" 34
sysmsg " *low reagents recalling out *" 34
@setvar! autoRecall 1
@setvar! enemyFound 1
endif
endif
if insysmsg ": 0 s" or insysmsg ": 1 s" or insysmsg ": 2 s" or insysmsg ": 3 s" or insysmsg ": 4 s" or insysmsg ": 5 s" or insysmsg ": 6 s" or insysmsg ": 7 s" or insysmsg ": 8 s" or insysmsg ": 9 s"
sysmsg "* recalling enemy very close [d 0-9] *" 33
@setvar! autoRecall 1
@setvar! enemyFound 1
elseif insysmsg ": 10 s" or insysmsg ": 11 s" or insysmsg ": 12 s" or insysmsg ": 13 s" or insysmsg ": 14 s" or insysmsg ": 15 s" or insysmsg ": 16 s" or insysmsg ": 17 s"
sysmsg "* recalling enemy very close [d 10-17] *" 33
@setvar! autoRecall 1
@setvar! enemyFound 1
elseif insysmsg ": 18 s" or insysmsg ": 19 s" or insysmsg ": 20 s" or insysmsg ": 21 s" or insysmsg ": 22 s" or insysmsg ": 23 s" or insysmsg ": 24 s" or insysmsg ": 25 s"
sysmsg "* recalling enemy very close [d 18-25] *" 33
@setvar! autoRecall 1
@setvar! enemyFound 1
elseif insysmsg ": 26 s" or insysmsg ": 27 s" or insysmsg ": 28 s" or insysmsg ": 29 s" or insysmsg ": 30 s" or insysmsg ": 31 s" or insysmsg ": 32 s" or insysmsg ": 33 s"
sysmsg "* recalling enemy very close [d 26-33] *" 33
@setvar! autoRecall 1
@setvar! enemyFound 1
elseif insysmsg ": 34 s" or insysmsg ": 35 s" or insysmsg ": 36 s" or insysmsg ": 37 s" or insysmsg ": 38 s" or insysmsg ": 39 s" or insysmsg ": 40 s"
sysmsg "* recalling enemy very close [d 34-40] *" 33
@setvar! autoRecall 1
@setvar! enemyFound 1
elseif insysmsg "(0 s" or insysmsg "(1 s" or insysmsg "(2 s" or insysmsg "(3 s" or insysmsg "(4 s" or insysmsg "(5 s" or insysmsg "(6 s" or insysmsg "(7 s" or insysmsg "(8 s" or insysmsg "(9 s"
sysmsg "* recalling enemy very close [n 0-9] *" 33
@setvar! autoRecall 1
@setvar! enemyFound 1
elseif insysmsg "(10 s" or insysmsg "(11 s" or insysmsg "(12 s" or insysmsg "(13 s" or insysmsg "(14 s" or insysmsg "(15 s" or insysmsg "(16 s" or insysmsg "(17 s"
sysmsg "* recalling enemy very close [n 10-17] *" 33
@setvar! autoRecall 1
@setvar! enemyFound 1
elseif insysmsg "(18 s" or insysmsg "(19 s" or insysmsg "(20 s" or insysmsg "(21 s" or insysmsg "(22 s" or insysmsg "(23 s" or insysmsg "(24 s" or insysmsg "(25 s"
sysmsg "* recalling enemy very close [n 18-25] *" 33
@setvar! autoRecall 1
@setvar! enemyFound 1
elseif insysmsg "(26 s" or insysmsg "(27 s" or insysmsg "(28 s" or insysmsg "(29 s" or insysmsg "(30 s" or insysmsg "(31 s" or insysmsg "(32 s" or insysmsg "(33 s"
sysmsg "* recalling enemy very close [n 26-33] *" 33
@setvar! autoRecall 1
@setvar! enemyFound 1
elseif insysmsg "(34 s" or insysmsg "(35 s" or insysmsg "(36 s" or insysmsg "(37 s" or insysmsg "(38 s" or insysmsg "(39 s" or insysmsg "(40 s"
sysmsg "* recalling enemy very close [n 34-40] *" 33
@setvar! autoRecall 1
@setvar! enemyFound 1
endif
#********** AUTO-RECALL OUT IF NECESSARY **********
if enemyFound = 1 and autoRecall = 1
sysmsg "recalling..." 66
interrupt
clearignore
if targetexists
hotkey 'cancel current target'
wait 250
endif
while mana <= 10 and diffhits < activateAutoHealDiff
overhead "* low mana to recall *" 44
wait maxwaittimeinms
endwhile
#********** USING REAGENTS OR RECALL SCROLL **********
if insysmsg "that location is blocked"
endif
if insysmsg "charges"
endif
if insysmsg "Your concentration is disturbed"
endif
if insysmsg "marked"
endif
if recallType = 0 or recallType = 1
while not casting
if recallType = 0
cast 'recall'
#sysmsg "recalling using regs" 11
else
dclicktype "recall" self
#sysmsg "recalling using scroll" 11
endif
endwhile
while not targetexists
if insysmsg "Your concentration is disturbed"
interrupt
break
endif
endwhile
if targetexists and findtype "runebook|runetome" backpack as obj
while findtype "runebook|runetome" backpack as book
if hue book = recallBookHue
target book
wait 250
break
endif
@ignore book
endwhile
clearignore
if insysmsg "marked"
sysmsg "Runebook is not marked! Mark the book NOW!" 16
elseif insysmsg "blocked"
sysmsg "Location Blocked! Now using book charge first rune!" 16
@setvar! recallType 2
elseif not findtype 3974 self or not findtype 3962 self or not findtype 3963 self
sysmsg "No reagents! Now using book charge first rune!"
@setvar! recallType 2
elseif targetexists
sysmsg "Hued Book not found. Switching to any book hue" 16
@setvar! recallBookHue 0
else
overhead "Successful" 65
sysmsg "Lumberjacking Completed!" 65
stop
endif
elseif targetexists and findtype "recall rune" backpack as obj
@setvar! tempRune 0
while findtype "recall rune" backpack as obj
getlabel obj runeLabel
if "blank" in runeLabel
else
if "home" in runeLabel
target obj
@setvar! tempRune obj
break
endif
@setvar! tempRune obj
endif
@ignore obj
endwhile
@clearignore
wait 250
if tempRune = 0
sysmsg "No recalleable rune found" 34
hotkey "cancel current target"
elseif insysmsg "blocked"
sysmsg "Location Blocked!" 34
else
overhead "Successful" 65
sysmsg "Lumberjacking Completed!" 65
stop
endif
elseif targetexists
sysmsg "No recall book or rune found" 34
stop
endif
elseif recallType = 2 or recallType = 3
#********** USING RECALL BOOK CHARGE **********
if findtype "runebook|runetome" backpack
while diffhits < activateAutoHealDiff
@setvar! foundBook 0
while findtype "runebook" backpack as book
if hue book = recallBookHue or recallBookHue = 0
dclick book backpack
waitforgump 1551740969 maxwaittimeinms
if recallType = 2
gumpresponse 2
elseif recallType = 3
gumpresponse 92
endif
@setvar! foundBook book
break
else
@ignore book
endif
endwhile
while foundBook = 0 and findtype "runetome" backpack as book
if gumpexists 167090027
gumpclose 167090027
wait 250
endif
if hue book = recallBookHue or recallBookHue = 0
dclick book backpack
waitforgump 167090027 maxwaittimeinms
if recallType = 2
gumpresponse 100
elseif recallType = 3
gumpresponse 125
endif
@setvar! foundBook book
break
else
@ignore book
endif
endwhile
wait 250
clearignore
while casting
endwhile
wait 250
if foundBook = 0
sysmsg "Recall book not found!" 34
sysmsg "Switching to type 0 using reagents" 55
elseif insysmsg "charges"
sysmsg "No recall charges!" 34
sysmsg "Switching to type 0 using reagents" 55
elseif insysmsg "This book"
sysmsg "Recall book cooldown!" 34
else
if insysmsg "concentration"
sysmsg "Interrupted!" 34
elseif insysmsg "location"
sysmsg "Location blocked!"
if recallType = 2
@setvar! recallType 3
sysmsg "Switching to type 3 last rune charge" 55
else
@setvar! recallType 2
sysmsg "Switching to type 2 first rune charge" 55
endif
else
overhead "Successful" 65
sysmsg "Lumberjacking Completed!" 65
stop
endif
endif
endwhile
else
overhead "No runebook or runetome found to use charge!" 34
endif
else
overhead "Variable 'recallType' value out of range" 34
endif
endif
#********** AUTO HEALING START **********#
while diffhits >= activateAutoHealDiff or paralyzed or poisoned
if dead
stop
endif
if not findtype 3972 or not findtype 3962 or not findtype 3963 or not findtype 3980 or not findtype 3976 or not findtype 3973 or not findtype 3974 or not findtype 3981
@setvar! missingRegs 1
if timer noRegsMessageTimer > noRegsMessageCD
overhead "* Missing Reagents *" 34
settimer noRegsMessageTimer 0
endif
endif
@setvar! castingInterrupted 0
if timer allGuardTimer > allGuardCD and followers > 0
sysmsg "heal loop: all guard"
say 'ALL Guard ME' 88
settimer allGuardTimer 0
endif
if timer autoHealMessageTimer > autoHealMessageCD
overhead "* auto-healing *" 90
settimer autoHealMessageTimer 0
endif
if not findbuff "food"
if findtype "tray" backpack as fody
dclick fody
wait 200
else
if timer foodMessageTimer > foodMessageCD
overhead "No food found!" 34
settimer foodMessageTimer 0
endif
endif
endif
#--- Drink str pot ---#
if drinkStr = 1 and str < strengthLowerThan
if not findbuff "Strength"
if findtype "White Potion" self
dclicktype "White Potion"
wait 200
else
if timer whiteMessageTimer > whiteMessageCD
overhead "Out of str pots" 34
settimer whiteMessageTimer 0
endif
endif
endif
endif
#--- Drink agility pot ---#
if drinkAgility = 1
if not findbuff "Agility"
if findtype "Blue Potion" self
dclicktype "Blue Potion"
wait 200
else
if timer blueMessageTimer > blueMessageCD
overhead "Out of agility pots" 34
settimer blueMessageTimer 0
endif
endif
endif
endif
#--- Drink magic resist pot ---#
if drinkMagicResist = 1
if not findbuff "Magic Resist"
if findtype "Black Potion" self
dclicktype "Black Potion"
wait 200
else
if timer blackMessageTimer > blackMessageCD
overhead "Out of resist pots" 34
settimer blackMessageTimer 0
endif
endif
endif
endif
#--- Drink red pot ---#
if diffstam > drinkWhenMissingStamina and 1 = drinkRefresh
if findtype "Red Potion" self
dclicktype "Red Potion"
wait 200
else
if timer redMessageTimer > redMessageCD
overhead "Out of refresh pots" 34
settimer redMessageTimer 0
endif
endif
endif
#--- Trapped ---#
if paralyzed
if findtype "pouch" backpack 38
yell "[pouch"
wait 200
else
if timer pouchMessageTimer > pouchMessageCD
overhead "Out of Pouches!" 34
settimer pouchMessageTimer 0
endif
endif
endif
#--- Self bandage ---#
if diffhits >= 1 and not bandaging
if skill 'healing' >= 50 or skill "veterinary" >= 50
if findtype 'clean bandage%s%' backpack
if targetexists
hotkey 'cancel current target'
endif
dclicktype 'clean bandage%s%'
waitfortarget maxwaittimeinms
target 'self'
wait 200
else
if timer aidsMessageTimer > aidsMessageCD
overhead "Out of bandages" 34
settimer aidsMessageTimer 0
endif
endif
endif
endif
#--- Poisoned ---#
if 1 = drinkCure or 1 = cureSpell
while poisoned
if findtype "Orange Potion" self
dclicktype "Orange Potion"
wait 200
else
if timer orangeMessageTimer > orangeMessageCD
overhead "Out of cure pots" 34
settimer orangeMessageTimer 0
endif
if diffhits >= 30 or not findtype 3972 self or not findtype 3973 self
break
endif
if skill 'magery' >= 40 and mana >= 6 and 1 = cureSpell and not casting
cast 'cure'
wait 50
while not casting
if targetexists
hotkey 'cancel current target'
endif
cast 'cure'
wait 50
endwhile
while not targetexists and casting
endwhile
waitfortarget maxwaittimeinms
target 'self'
wait 200
else
break
endif
endif
endwhile
endif
#--- Drink Heal Pot ---#
if diffhits >= drinkHealPotDiff and 1 = drinkHeal
if findtype "Yellow Potion" self as hPot
getlabel hPot potLabel
if "next" in potLabel
#do nothing
else
@setvar! ch 0
if counttype 3852 self as c
@setvar! ch c
endif
if insysmsg "potion satchel used"
endif
dclicktype 3852
getlabel backpack xxx
wait 200
if ch != counttype 3852 self or insysmsg "potion satchel used"
cooldown "Heal Pot" healingPotCD
endif
endif
else
if timer yellowMessageTimer > yellowMessageCD
overhead "Out of heals pots" 34
settimer yellowMessageTimer 0
endif
endif
endif
#--- Cast heals ---#
if skill 'magery' >= 40 and diffhits >= startCastMiniHealDiff and diffhits < endCastMiniHealDiff and mana >= 4 and miniHeal = 1 and not casting
if insysmsg "Your concentration is disturbed"
endif
sysmsg 'mini heal' 11
cast 'heal'
while not casting
if targetexists
hotkey 'cancel current target'
endif
cast 'heal'
endwhile
while not targetexists
if insysmsg "Your concentration is disturbed"
interrupt
@setvar! castingInterrupted 1
break
endif
endwhile
if 0 = castingInterrupted
target 'self'
endif
elseif skill 'magery' >= 40 and diffhits >= castEmergencyMiniHealDiff and mana >= 4 and miniHeal = 1 and not casting
if insysmsg "Your concentration is disturbed"
endif
sysmsg "mini heal" 11
cast 'heal'
while not casting
if targetexists
hotkey 'cancel current target'
endif
cast 'heal'
endwhile
while not targetexists
if insysmsg "Your concentration is disturbed"
interrupt
@setvar! castingInterrupted 1
break
endif
endwhile
if 0 = castingInterrupted
target 'self'
endif
elseif skill 'magery' >= 60 and diffhits >= startCastGreaterHealDiff and diffhits < endCastGreaterHealDiff and mana >= 11 and greaterHeal = 1 and not casting
if insysmsg "Your concentration is disturbed"
endif
sysmsg "greater heal" 11
cast 'greater heal'
while not casting
if targetexists
hotkey 'cancel current target'
endif
cast 'greater heal'
endwhile
@settimer! spellTimer 0
@setvar! spellCD 800
while not targetexists
if insysmsg "Your concentration is disturbed"
interrupt
@setvar! castingInterrupted 1
break
endif
if timer spellTimer < spellCD
#--- Poisoned ---#
if 1 = drinkCure
while poisoned and casting and not targetexists
if findtype "Orange Potion" self
dclicktype "Orange Potion"
wait 200
else
if timer orangeMessageTimer > orangeMessageCD
overhead "Out of cure pots" 34
settimer orangeMessageTimer 0
endif
break
endif
endwhile
endif
#--- Drink Heal Pot ---#
if diffhits >= drinkHealPotDiff and 1 = drinkHeal and casting and not targetexists
if findtype "Yellow Potion" self as hPot
getlabel hPot potLabel
if "next" in potLabel
#do nothing
else
@setvar! ch 0
if counttype 3852 self as c
@setvar! ch c
endif
if insysmsg "potion satchel used"
endif
dclicktype 3852
getlabel backpack xxx
wait 200
if ch != counttype 3852 self or insysmsg "potion satchel used"
cooldown "Heal Pot" healingPotCD
if diffhits < activateAutoHealDiff
interrupt
if targetexists
hotkey 'cancel current target'
endif
endif
endif
endif
else
if timer yellowMessageTimer > yellowMessageCD
overhead "Out of heals pots" 34
settimer yellowMessageTimer 0
endif
endif
endif
endif
endwhile
if 0 = castingInterrupted
target 'self'
endif
endif
endwhile
#********** AUTO-MAGERY BUFFS IF NEEDED **********
@setvar! castingInterrupted 0
if magicReflect = 1 and skill 'magery' >= 70 and not findbuff "Magic Reflection" and mana >= miniumManaToBuff and diffhits < activateAutoHealDiff and timer magicReflectTimer > magicReflectCD and findtype 3972 self and findtype 3974 self and findtype 3981 self
if insysmsg "that spell will not"
endif
if insysmsg "that spell is already"
endif
sysmsg "magic reflect" 11
cast 'Magic Reflection'
while not casting
getlabel backpack xxx
wait 200
if insysmsg "that spell will not" or insysmsg "that spell is already"
settimer magicReflectTimer 0
break
endif
if targetexists
hotkey 'cancel current target'
endif
cast 'Magic Reflection'
endwhile
while casting
if diffhits >= interruptCastingDiff
interrupt
@setvar! castingInterrupted 1
break
endif
#--- Poisoned ---#
if 1 = drinkCure
while poisoned and casting and not targetexists
if findtype "Orange Potion" self
sysmsg "pot cure - reflect" 11
dclicktype "Orange Potion"
wait 200
else
if timer orangeMessageTimer > orangeMessageCD
overhead "Out of cure pots" 34
settimer orangeMessageTimer 0
endif
break
endif
endwhile
endif
#--- Drink Heal Pot ---#
if diffhits >= drinkHealPotDiff and 1 = drinkHeal and casting and not targetexists
if findtype "Yellow Potion" self as hPot
getlabel hPot potLabel
if "next" in potLabel
#do nothing
else
@setvar! ch 0
if counttype 3852 self as c
@setvar! ch c
endif
if insysmsg "potion satchel used"
endif
sysmsg "pot heal - reflect" 11
dclicktype 3852
getlabel backpack xxx
wait 200
if ch != counttype 3852 self or insysmsg "potion satchel used"
cooldown "Heal Pot" healingPotCD
endif
endif
else
if timer yellowMessageTimer > yellowMessageCD
overhead "Out of heals pots" 34
settimer yellowMessageTimer 0
endif
endif
endif
endwhile
wait 200
endif
if armorReflect = 1 and skill 'magery' >= 30 and not findbuff "Reactive Armor" and mana >= miniumManaToBuff and diffhits < activateAutoHealDiff and timer armorReflectTimer > armorReflectCD and findtype 3980 self and findtype 3972 self and findtype 3981 self
if insysmsg "that spell will not"
endif
if insysmsg "that spell is already"
endif
sysmsg "reflect armor" 11
cast 'Reactive Armor'
while not casting
getlabel backpack xxx
wait 200
if insysmsg "that spell will not" or insysmsg "that spell is already"
settimer armorReflectTimer 0
break
endif
if targetexists
hotkey 'cancel current target'
endif
cast 'Reactive Armor'
endwhile
while casting
endwhile
getlabel backpack xxx
wait 200
endif
if protectionSpell = 1 and skill 'magery' >= 40 and not findbuff "Protection" and mana >= miniumManaToBuff and diffhits < activateAutoHealDiff and findtype 3980 self and findtype 3972 self and findtype 3973 self
sysmsg "protect" 11
cast 'Protection'
while not casting
if targetexists
hotkey 'cancel current target'
endif
cast 'Protection'
endwhile
while casting
endwhile
wait 200
endif
if blessSpell = 1 and skill 'magery' >= 50 and not findbuff "Cunning" and mana >= miniumManaToBuff and diffhits < activateAutoHealDiff and findtype 3972 self and findtype 3974 self
sysmsg "bless" 11
cast 'Bless'
while not casting
if targetexists
hotkey 'cancel current target'
endif
cast 'Bless'
wait 50
endwhile
while not targetexists and casting
endwhile
waitfortarget maxwaittimeinms
target 'self'
wait 200
endif
#********** CHECK FOR WOODEN BOX & CAST SUMMONS **********
if not findtype "wooden box" backpack or not findtype "copper key" backpack
overhead "Need 1 wooden box and 1 copper key to begin!" 33
wait maxwaittimeinms
elseif counttype 2474 backpack > 1 or counttype 4110 backpack > 1
overhead "You have more than 2 wooden boxes or more than 2 copper keys" 33
wait maxwaittimeinms
elseif findtype "wooden box" backpack as chest and findtype "copper key" backpack as key
getlabel chest chestLabel
if "items" in chestLabel
dclick key
waitfortarget maxwaittimeinms
target chest
wait maxwaittimeinms
overhead "[chest locked]" 55
endif
#Check if we want to cast
if enemyFound = 0 or autoRecall = 0
#********** START AUTO SUMMONING **********#
while followers < maxFollowers and diffhits < activateAutoHealDiff
#--- Eat Food ---#
if not findbuff "food"
if findtype "tray" backpack as fody
dclick fody
wait 200
else
if timer foodMessageTimer > foodMessageCD
overhead "No food found!" 34
settimer foodMessageTimer 0
endif
endif
endif
#--- Drink str pot ---#
if drinkStr = 1 and str < strengthLowerThan
if not findbuff "Strength"
if findtype "White Potion" self
dclicktype "White Potion"
wait 200
else
if timer whiteMessageTimer > whiteMessageCD
overhead "Out of str pots" 34
settimer whiteMessageTimer 0
endif
endif
endif
endif
#--- Drink agility pot ---#
if drinkAgility = 1
if not findbuff "Agility"
if findtype "Blue Potion" self
dclicktype "Blue Potion"
wait 200
else
if timer blueMessageTimer > blueMessageCD
overhead "Out of agility pots" 34
settimer blueMessageTimer 0
endif
endif
endif
endif
#--- Drink magic resist pot ---#
if drinkMagicResist = 1
if not findbuff "Magic Resist"
if findtype "Black Potion" self
dclicktype "Black Potion"
wait 200
else
if timer blackMessageTimer > blackMessageCD
overhead "Out of resist pots" 34
settimer blackMessageTimer 0
endif
endif
endif
endif
#--- Drink red pot ---#
if diffstam > drinkWhenMissingStamina and 1 = drinkRefresh
if findtype "Red Potion" self
dclicktype "Red Potion"
wait 200
else
if timer redMessageTimer > redMessageCD
overhead "Out of refresh pots" 34
settimer redMessageTimer 0
endif
endif
endif
#--- Create mushroom ---#
if insysmsg "You create"
endif
while counttype 29012 backpack < mushroomCount and findtype 3963 self and findtype 3976 self and mana > 3
cast 'create food'
while not casting
cast 'create food'
endwhile
while casting
endwhile
wait 200
getlabel backpack xxx
if insysmsg! "you create"
if insysmsg "you create a magic"
else
sysmsg "Wizard's Grimoire `create food` not found" 34
@setvar! mushroomCount 0
break
endif
endif
endwhile
#--- Eat Mushroom ---#
if mana < eatMushWhenManaLowerThan and mushroomCount > 0 and timer mushroomTimer > mushroomTimerCD
if counttype 29012 backpack
if insysmsg "You consume a magic mushroom"
endif
sysmsg "Eating mush." 44
dclicktype 29012 backpack
getlabel backpack xxx
wait 200
if insysmsg "You consume a magic mushroom"
settimer mushroomTimer 0
endif
else
overhead "No mushrooms found!" 34
endif
endif
#--- Use Meditation ---#
if 0 = useMeditationSkill and mana < 50
break
elseif 1 = useMeditationSkill and mana < 50 and not findbuff "meditating" and timer meditationTimer > meditationCD
if insysmsg "you are at peace"
endif
if insysmsg "you enter a meditative trance"
endif
if insysmsg "You must wait a few moments to use another skill."
endif
skill 'meditation'
getlabel backpack xxx
wait 200
if not findbuff 'meditating'
settimer meditationTimer 7500
elseif findbuff 'meditating'
warmode on
warmode off
settimer meditationTimer 0
while mana < 50 and diffhits < activateAutoHealDiff
if not findbuff 'meditating'
break
endif
if timer meditationMessageTimer > meditationMessageCD
overhead "* actively meditating *" 11
settimer meditationMessageTimer 0
endif
endwhile
endif
endif
#--- Check for new elementals ---#
if 1 = castingEarth and followers > 1
sysmsg "fixing earth" 44
while findtype 158|14 ground -1 -1 12 as ele
menu ele 1
waitfortarget maxwaittimeinms
if targetexists
if ele != earthFirsty and ele != earthSecondly
hotkey 'cancel current target'
if earthFirsty = 0
@setvar! earthFirsty ele
sysmsg "add earth 1" 11
overhead "Earth 1" 634 ele
else
@setvar! earthSecondly ele
sysmsg "add earth 2" 11
overhead "Earth 2" 634 ele
endif
break
endif
endif
@ignore ele
endwhile
@clearignore
@setvar! castingEarth 0
elseif 1 = castingWater and followers > 1
sysmsg "fixing water" 44
while findtype 740|16 ground -1 -1 12 as ele
menu ele 1
waitfortarget maxwaittimeinms
if targetexists
if ele != waterFirsty and ele != waterSecondly
hotkey 'cancel current target'
if waterFirsty = 0
@setvar! waterFirsty ele
sysmsg "add water 1" 11
overhead "Water 1" 399 ele
else
@setvar! waterSecondly ele
sysmsg "add water 2" 11
overhead "Water 2" 399 ele
endif
break
endif
endif
@ignore ele
endwhile
@clearignore
@setvar! castingWater 0
elseif 1 = castingAir and followers > 1
sysmsg "fixing air" 44
while findtype 306|13 ground -1 -1 12 as ele
menu ele 1
waitfortarget maxwaittimeinms
if targetexists
if ele != airFirsty and ele != airSecondly
hotkey 'cancel current target'
if airFirsty = 0
@setvar! airFirsty ele
sysmsg "add air 1" 11
overhead "Air 1" 933 ele
else
@setvar! airSecondly ele
sysmsg "add air 2" 11
overhead "Air 2" 933 ele
endif
break
endif
endif
@ignore ele
endwhile
@clearignore
@setvar! castingAir 0
elseif 1 = castingFire and followers > 1
sysmsg "fixing fire" 44
while findtype 24|15 ground -1 -1 12 as ele
menu ele 1
waitfortarget maxwaittimeinms
if targetexists
if ele != fireFirsty and ele != fireSecondly
hotkey 'cancel current target'
if fireFirsty = 0
@setvar! fireFirsty ele
sysmsg "add fire 1" 11
overhead "Fire 1" 353 ele
else
@setvar! fireSecondly ele
sysmsg "add fire 2" 11
overhead "Fire 2" 353 ele
endif
break
endif
endif
@ignore ele
endwhile
@clearignore
@setvar! castingFire 0
elseif 1 = castingDaemon and followers > 1
sysmsg "fixing daemon" 44
while findtype 9|722 ground -1 -1 12 as ele
menu ele 1
waitfortarget maxwaittimeinms
if targetexists
if ele != daemonFirsty and ele != daemonSecondly
hotkey 'cancel current target'
if daemonFirsty = 0
@setvar! daemonFirsty ele
sysmsg "add daemon 1" 11
overhead "Daemon 1" 11 ele
else
@setvar! daemonSecondly ele
sysmsg "add daemon 2" 235
overhead "Daemon 2" 235 ele
endif
break
endif
endif
@ignore ele
endwhile
@clearignore
@setvar! castingDaemon 0
elseif 1 = castingCreature and followers > 0
sysmsg "fixing creature" 44
while findtype 215|211|302|317|225|212|202|213|716|729|51|74|214|206|776|737|718|739|718|29|776|317|302|39|56|26|3|57|50|382|717|736|270 ground -1 -1 12 as ele
menu ele 1
waitfortarget maxwaittimeinms
if targetexists
if ele != creatureFirsty and ele != creatureSecondly and ele != creatureThirdy and ele != creatureFourthy and ele != creatureFithy
hotkey 'cancel current target'
wait 50
menu ele 3
if creatureFirsty = 0
@setvar! creatureFirsty ele
sysmsg "Creature 1" 11
overhead "Creature 1" 11 ele
elseif creatureSecondly = 0
@setvar! creatureSecondly ele
sysmsg "add creature 2" 11
overhead "Creature 2" 11 ele
elseif creatureThirdy = 0
@setvar! creatureThirdy ele
sysmsg "add creature 3" 11
overhead "Creature 3" 11 ele
elseif creatureFourthy = 0
@setvar! creatureFourthy ele
sysmsg "add creature 4" 11
overhead "Creature 4" 11 ele
elseif creatureFithy = 0
@setvar! creatureFithy ele
sysmsg "add creature 5" 11
overhead "Creature 5" 11 ele
endif
break
endif
endif
@ignore ele
endwhile
@clearignore
@setvar! castingCreature 0
endif
#--- Check for dead elementals ---#
if earthFirsty != 0 and dead earthFirsty
if list earthListy != 0
poplist earthListy 'front'
sysmsg "pop earth 1"
endif
@setvar! earthFirsty 0
endif
if earthSecondly != 0 and dead earthSecondly
if list earthListy != 0
poplist earthListy 'front'
sysmsg "pop earth 2"
endif
@setvar! earthSecondly 0
endif
if waterFirsty != 0 and dead waterFirsty
if list waterListy != 0
poplist waterListy 'front'
sysmsg "pop water 1"
endif
@setvar! waterFirsty 0
endif
if waterSecondly != 0 and dead waterSecondly
if list waterListy != 0
poplist waterListy 'front'
sysmsg "pop water 2"
endif
@setvar! waterSecondly 0
endif
if airFirsty != 0 and dead airFirsty
if list airListy != 0
poplist airListy 'front'
endif
@setvar! airFirsty 0
endif
if airSecondly != 0 and dead airSecondly
if list airListy != 0
poplist airListy 'front'
endif
@setvar! airSecondly 0
endif
if fireFirsty != 0 and dead fireFirsty
if list fireListy != 0
poplist fireListy 'front'
endif
@setvar! fireFirsty 0
endif
if fireSecondly != 0 and dead fireSecondly
if list fireListy != 0
poplist fireListy 'front'
endif
@setvar! fireSecondly 0
endif
if daemonFirsty != 0 and dead daemonFirsty
if list daemonListy != 0
poplist daemonListy 'front'
endif
@setvar! daemonFirsty 0
endif
if daemonSecondly != 0 and dead daemonSecondly
if list daemonListy != 0
poplist daemonListy 'front'
endif
@setvar! daemonSecondly 0
endif
if creatureFirsty != 0 and dead creatureFirsty
if list creatureListy != 0
poplist creatureListy 'front'
sysmsg "pop creature 1"
endif
@setvar! creatureFirsty 0
endif
if creatureSecondly != 0 and dead creatureSecondly
if list creatureListy != 0
poplist creatureListy 'front'
sysmsg "pop creature 2"
endif
@setvar! creatureSecondly 0
endif
if creatureThirdy != 0 and dead creatureThirdy
if list creatureListy != 0
poplist creatureListy 'front'
sysmsg "pop creature 3"
endif
@setvar! creatureThirdy 0
endif
if creatureFourthy != 0 and dead creatureFourthy
if list creatureListy != 0
poplist creatureListy 'front'
sysmsg "pop creature 4"
endif
@setvar! creatureFourthy 0
endif
if creatureFithy != 0 and dead creatureFithy
if list creatureListy != 0
poplist creatureListy 'front'
sysmsg "pop creature 5"
endif
@setvar! creatureFithy 0
endif
@clearsysmsg
@setvar! wasInterrupted 0
if list earthListy = 0
#sysmsg "Earth List = 0"
elseif list earthListy = 1
#sysmsg "Earth List = 1"
elseif list earthListy = 2
#sysmsg "Earth List = 2"
endif
if list waterListy = 0
#sysmsg "Water List = 0"
elseif list waterListy = 1
#sysmsg "Water List = 1"
elseif list waterListy = 2
#sysmsg "Water List = 2"
endif
if list creatureListy = 0
#sysmsg "Creature List = 0"
elseif list creatureListy = 1
#sysmsg "Creature List = 1"
elseif list creatureListy = 2
#sysmsg "Creature List = 2"
elseif list creatureListy = 2
#sysmsg "Creature List = 2"
elseif list creatureListy = 2
#sysmsg "Creature List = 2"
endif
@setvar! missingSummonRegs 0
@setvar! summoningSucessful 0
if not findtype 3963 self or not findtype 3974 self or not findtype 3981 self
@setvar! missingSummonRegs 1
if timer noRegsMessageTimer > noRegsMessageCD
overhead 'No regs to summon!' 34
sysmsg 'No regs to summon!' 34
settimer noRegsMessageTimer 0
endif
wait noRegsMessageCD
elseif not findtype 3980 self
if fireElementals != 0 or summonDaemons != 0
@setvar! missingSummonRegs 1
if timer noRegsMessageTimer > noRegsMessageCD
overhead 'No regs to summon!' 34
sysmsg 'No regs to summon!' 34
settimer noRegsMessageTimer 0
endif
wait noRegsMessageCD
endif
elseif mana < 50
if timer noRegsMessageTimer > noRegsMessageCD
overhead "* low mana to summon *" 34
settimer noRegsMessageTimer 0
endif
endif
#********** CAST EARTH ELEMENTAL **********#
if earthElementals != 0 and list earthListy < earthElementals and followers < 4 and diffhits < activateAutoHealDiff and not casting and missingSummonRegs = 0 and mana > 49
if insysmsg "world is saving"
endif
@setvar! isWorldSaving 0
cast 'Earth Elemental'
@setvar! castingEarth 1
while not casting
cast 'Earth Elemental'
if targetexists
hotkey 'cancel current target'
endif
endwhile
while not dead
if insysmsg "world is saving"
interrupt
@setvar! isWorldSaving 1
@setvar! wasInterrupted 1
break
endif
if diffhits >= interruptCastingDiff
@setvar! wasInterrupted 1
sysmsg "interrupted low health" 33
interrupt
break
endif
if not casting
getlabel backpack xxx
wait 200
if insysmsg "Your concentration"
@setvar! wasInterrupted 1
sysmsg "interrupted concentration" 33
else
sysmsg "casting finished" 11
endif
break
endif
if timer summonMsgTimer > summonMsgCD
overhead "* summoning earth... *" 634
sysmsg "* summoning earth... *" 634
settimer summonMsgTimer 0
endif
endwhile
if 0 = wasInterrupted
@setvar! summoningSucessful 1
sysmsg "Summon Earth Successful"
pushlist earthListy 'x' 'front'
while not dead
if findtype 158|14 ground -1 -1 12 as ele
menu ele 1
waitfortarget maxwaittimeinms
if targetexists
if ele != earthFirsty and ele != earthSecondly
hotkey 'cancel current target'
wait 50
menu ele 3
if earthFirsty = 0
@setvar! earthFirsty ele
sysmsg "add earth 1" 11
overhead "Earth 1" 634 ele
else
@setvar! earthSecondly ele
sysmsg "add earth 2" 11
overhead "Earth 2" 634 ele
endif
break
endif
endif
@ignore ele
endif
endwhile
clearignore
@setvar! castingEarth 0
endif
#********** CAST WATER ELEMENTAL **********#
elseif waterElementals != 0 and list waterListy < waterElementals and followers < 4 and diffhits < activateAutoHealDiff and not casting and missingSummonRegs = 0 and mana > 49
if insysmsg "world is saving"
endif
@setvar! isWorldSaving 0
cast 'Water Elemental'
@setvar! castingWater 1
while not casting
cast 'Water Elemental'
if targetexists
hotkey 'cancel current target'
endif
endwhile
while not dead
if insysmsg "world is saving"
interrupt
@setvar! isWorldSaving 1
@setvar! wasInterrupted 1
break
endif
if diffhits >= interruptCastingDiff
@setvar! wasInterrupted 1
sysmsg "interrupted low health" 33
interrupt
break
endif
if not casting
getlabel backpack xxx
wait 200
if insysmsg "Your concentration"
@setvar! wasInterrupted 1
sysmsg "interrupted concentration" 33
else
sysmsg "casting finished" 11
endif
break
endif
if timer summonMsgTimer > summonMsgCD
overhead "* summoning water... *" 399
sysmsg "* summoning water... *" 399
settimer summonMsgTimer 0
endif
endwhile
if 0 = wasInterrupted
@setvar! summoningSucessful 1
sysmsg "Summon Water Successful"
pushlist waterListy 'x' 'front'
while not dead
if findtype 740|16 ground -1 -1 12 as ele
menu ele 1
waitfortarget maxwaittimeinms
if targetexists
if ele != waterFirsty and ele != waterSecondly
hotkey 'cancel current target'
wait 50
menu ele 3
if waterFirsty = 0
@setvar! waterFirsty ele
sysmsg "add water 1" 11
overhead "Water 1" 399 ele
else
@setvar! waterSecondly ele
sysmsg "add water 2" 11
overhead "Water 2" 399 ele
endif
break
endif
endif
@ignore ele
endif
endwhile
clearignore
@setvar! castingWater 0
endif
#********** CAST AIR ELEMENTAL **********#
elseif airElementals != 0 and list airListy < airElementals and followers < 4 and diffhits < activateAutoHealDiff and not casting and missingSummonRegs = 0 and mana > 49
if insysmsg "world is saving"
endif
@setvar! isWorldSaving 0
cast 'Air Elemental'
@setvar! castingAir 1
while not casting
cast 'Air Elemental'
if targetexists
hotkey 'cancel current target'
endif
endwhile
while not dead
if insysmsg "world is saving"
interrupt
@setvar! isWorldSaving 1
@setvar! wasInterrupted 1
break
endif
if diffhits >= interruptCastingDiff
@setvar! wasInterrupted 1
sysmsg "interrupted low health" 33
interrupt
break
endif
if not casting
getlabel backpack xxx
wait 200
if insysmsg "Your concentration"
@setvar! wasInterrupted 1
sysmsg "interrupted concentration" 33
else
sysmsg "casting finished" 11
endif
break
endif
if timer summonMsgTimer > summonMsgCD
overhead "* summoning air... *" 933
sysmsg "* summoning air... *" 933
settimer summonMsgTimer 0
endif
endwhile
if 0 = wasInterrupted
@setvar! summoningSucessful 1
sysmsg "Summon Air Successful"
pushlist airListy 'x' 'front'
while not dead
if findtype 306|13 ground -1 -1 12 as ele
menu ele 1
waitfortarget maxwaittimeinms
if targetexists
if ele != airFirsty and ele != airSecondly
hotkey 'cancel current target'
wait 50
menu ele 3
if airFirsty = 0
@setvar! airFirsty ele
sysmsg "add air 1" 11
overhead "Air 1" 933 ele
else
@setvar! airSecondly ele
sysmsg "add air 2" 11
overhead "Air 2" 933 ele
endif
break
endif
endif
@ignore ele
endif
endwhile
clearignore
@setvar! castingAir 0
endif
#********** CAST FIRE ELEMENTAL **********#
elseif fireElementals != 0 and list fireListy < fireElementals and followers < 4 and diffhits < activateAutoHealDiff and not casting and missingSummonRegs = 0 and mana > 49
if insysmsg "world is saving"
endif
@setvar! isWorldSaving 0
cast 'Fire Elemental'
@setvar! castingFire 1
while not casting
cast 'Fire Elemental'
if targetexists
hotkey 'cancel current target'
endif
endwhile
while not dead
if insysmsg "world is saving"
interrupt
@setvar! isWorldSaving 1
@setvar! wasInterrupted 1
break
endif
if diffhits >= interruptCastingDiff
@setvar! wasInterrupted 1
sysmsg "interrupted low health" 33
interrupt
break
endif
if not casting
getlabel backpack xxx
wait 200
if insysmsg "Your concentration"
@setvar! wasInterrupted 1
sysmsg "interrupted concentration" 33
else
sysmsg "casting finished" 11
endif
break
endif
if timer summonMsgTimer > summonMsgCD
overhead "* summoning fire... *" 353
sysmsg "* summoning fire... *" 353
settimer summonMsgTimer 0
endif
endwhile
if 0 = wasInterrupted
@setvar! summoningSucessful 1
sysmsg "Summon Fire Successful"
pushlist fireListy 'x' 'front'
while not dead
if findtype 24|15 ground -1 -1 12 as ele
menu ele 1
waitfortarget maxwaittimeinms
if targetexists
if ele != fireFirsty and ele != fireSecondly
hotkey 'cancel current target'
wait 50
menu ele 3
if fireFirsty = 0
@setvar! fireFirsty ele
sysmsg "add fire 1" 11
overhead "Fire 1" 353 ele
else
@setvar! fireSecondly ele
sysmsg "add fire 2" 11
overhead "Fire 2" 353 ele
endif
break
endif
endif
@ignore ele
endif
endwhile
clearignore
@setvar! castingFire 0
endif
#********** CAST DAEMON **********#
elseif summonDaemons != 0 and list daemonListy < summonDaemons and followers < 4 and diffhits < activateAutoHealDiff and not casting and missingSummonRegs = 0 and mana > 49
if insysmsg "world is saving"
endif
@setvar! isWorldSaving 0
cast 'Summon Daemon'
@setvar! castingDaemon 1
while not casting
cast 'Summon Daemon'
if targetexists
hotkey 'cancel current target'
endif
endwhile
while not dead
if insysmsg "world is saving"
interrupt
@setvar! isWorldSaving 1
@setvar! wasInterrupted 1
break
endif
if diffhits >= interruptCastingDiff
@setvar! wasInterrupted 1
sysmsg "interrupted low health" 33
interrupt
break
endif
if not casting
getlabel backpack xxx
wait 200
if insysmsg "Your concentration"
@setvar! wasInterrupted 1
sysmsg "interrupted concentration" 33
else
sysmsg "casting finished" 11
endif
break
endif
if timer summonMsgTimer > summonMsgCD
overhead "* summoning daemon... *" 235
sysmsg "* summoning daemon... *" 235
settimer summonMsgTimer 0
endif
endwhile
if 0 = wasInterrupted
@setvar! summoningSucessful 1
sysmsg "Summon Daemon Successful"
pushlist daemonListy 'x' 'front'
while not dead
if findtype 9|722 ground -1 -1 12 as ele
menu ele 1
waitfortarget maxwaittimeinms
if targetexists
if ele != daemonFirsty and ele != daemonSecondly
hotkey 'cancel current target'
wait 50
menu ele 3
if daemonFirsty = 0
@setvar! daemonFirsty ele
sysmsg "add daemon 1" 11
overhead "Daemon 1" 11 ele
else
@setvar! daemonSecondly ele
sysmsg "add daemon 2" 235
overhead "Daemon 2" 235 ele
endif
break
endif
endif
@ignore ele
endif
endwhile
clearignore
@setvar! castingDaemon 0
endif
#********** CAST SUMMON CREATURE **********#
elseif summonCreature != 0 and list creatureListy < summonCreature and followers < 5 and diffhits < activateAutoHealDiff and not casting and missingSummonRegs = 0 and mana > 13
if insysmsg "world is saving"
endif
@setvar! isWorldSaving 0
cast 'Summ. Creature'
@setvar! castingCreature 1
while not casting
cast 'Summ. Creature'
if targetexists
hotkey 'cancel current target'
endif
endwhile
while not dead
if insysmsg "world is saving"
interrupt
@setvar! isWorldSaving 1
@setvar! wasInterrupted 1
break
endif
if diffhits >= interruptCastingDiff
@setvar! wasInterrupted 1
sysmsg "interrupted low health" 33
interrupt
break
endif
if not casting
getlabel backpack xxx
wait 200
if insysmsg "Your concentration"
@setvar! wasInterrupted 1
sysmsg "interrupted concentration" 33
else
sysmsg "casting finished" 11
endif
break
endif
if timer summonMsgTimer > summonMsgCD
overhead "* summon creature... *" 881
sysmsg "* summon creature... *" 881
settimer summonMsgTimer 0
endif
endwhile
if 0 = wasInterrupted
@setvar! summoningSucessful 1
sysmsg "Summon Creature Successful"
pushlist creatureListy 'x' 'front'
while not dead
if findtype 215|211|302|317|225|212|202|213|716|729|51|74|214|206|776|737|718|739|718|29|776|317|302|39|56|26|3|57|50|382|717|736|270 ground -1 -1 12 as ele
menu ele 1
waitfortarget maxwaittimeinms
if targetexists
if ele != creatureFirsty and ele != creatureSecondly and ele != creatureThirdy and ele != creatureFourthy and ele != creatureFithy
hotkey 'cancel current target'
wait 50
menu ele 3
if creatureFirsty = 0
@setvar! creatureFirsty ele
sysmsg "add creature 1" 11
overhead "Creature 1" 11 ele
elseif creatureSecondly = 0
@setvar! creatureSecondly ele
sysmsg "add creature 2" 11
overhead "Creature 2" 11 ele
elseif creatureThirdy = 0
@setvar! creatureThirdy ele
sysmsg "add creature 3" 11
overhead "Creature 3" 11 ele
elseif creatureFourthy = 0
@setvar! creatureFourthy ele
sysmsg "add creature 4" 11
overhead "Creature 4" 11 ele
elseif creatureFithy = 0
@setvar! creatureFithy ele
sysmsg "add creature 5" 11
overhead "Creature 5" 11 ele
endif
break
endif
endif
@ignore ele
endif
endwhile
clearignore
@setvar! castingCreature 0
endif
endif
if 1 = summoningSucessful and followers != maxFollowers
hotkey 'target closest grey monster'
attack lasttarget
endif
endwhile
endif
#********** BEGING HARVESTING **********
if diffweight <= myWeightDiff
overhead '[Overveight Reached]' 44
wait maxwaittimeinms
elseif 1 = autoRecall and 1 = enemyFound or cooldown 'Danger' > 0
sysmsg "Enemy Found: skip harvesting"
else
while lhandempty and rhandempty
if not findtype myHarvestingTool backpack
overhead "Out of hatchets!" 36
wait maxwaittimeinms
elseif not casting
dclicktype myHarvestingTool
wait 200
endif
endwhile
while not targetexists
hotkey 'Use Item In Hand'
waitfortarget maxwaittimeinms
endwhile
target 'self'
settimer beginChopTimer 0
while not insysmsg! "harvesting is not allowed" and not insysmsg "you chop" and not insysmsg "you hack" and not insysmsg! "you do not see" and not insysmsg! "you have recently" and diffhits < activateAutoHealDiff
if enemyFound = 0
if insysmsg! "Now tracking" or insysmsg! "Distance to"
@setvar! enemyFound 1
endif
endif
if autoRecall = 1 and enemyFound = 1 or cooldown 'Danger' > 0
break
endif
if timer beginChopTimer > 650 and timer beginChopTimer < 10000
overhead "* chopping tree *" 11
settimer beginChopTimer 10000
endif
endwhile
if insysmsg "you do not see any"
overhead "* move to other tree *" 44
wait 500
elseif insysmsg "you have recently"
overhead "* travel cooldown *" 901
wait 500
elseif insysmsg "harvesting is not allowed"
overhead "* Harvest NOT allowed! *" 33
wait 500
else
#overhead "* tree chopped *" 11
endif
#********** CUT LOGS INTO BOARDS AND SECURE BOARDS INSIDE LOCKED WOODEN BOX **********
if timer storeTimer > storeTimerCD or counttype 7133 backpack > 120 or counttype 7133 backpack 2207 > 15 or counttype 7133 backpack 2219 > 10 or counttype 7133 backpack 1763 > 5
settimer storeTimer 0
if targetexists
hotkey 'cancel current target'
endif
while findtype "log%s" backpack any any 1 as myLogs and diffhits < activateAutoHealDiff
if enemyFound = 0
if insysmsg! "Now tracking" or insysmsg! "Distance to"
@setvar! enemyFound 1
endif
endif
if autoRecall = 1 and enemyFound = 1 or cooldown 'Danger' > 0
break
endif
overhead "* refining logs *" 88
hotkey 'Use Item In Hand'
waitfortarget maxwaittimeinms
target myLogs
wait maxwaittimeinms
endwhile
while findtype "board%s" backpack any any 1 as boardz and diffhits < activateAutoHealDiff
if enemyFound = 0
if insysmsg! "Now tracking" or insysmsg! "Distance to"
@setvar! enemyFound 1
endif
endif
if autoRecall = 1 and enemyFound = 1 or cooldown 'Danger' > 0
break
endif
overhead "* securing boards *" 88
wait 100
lift boardz 9999
drop chest -1 -1 0
wait maxwaittimeinms
if insysmsg "it appears"
overhead "[unlocking chest]" 74
dclick key
waitfortarget maxwaittimeinms
target chest
wait maxwaittimeinms
endif
endwhile
endif
endif
getlabel chest chestLabel
if "items" in chestLabel
dclick key
waitfortarget maxwaittimeinms
target chest
wait maxwaittimeinms
overhead "[chest locked]" 55
endif
endif
#sysmsg "Loop cycle elapsed : {{cycleTimer}}"
endwhile