Advertisement
Guest User

script

a guest
Jan 17th, 2016
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 136.77 KB | None | 0 0
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <WindbotSettings>
  3. <Healer>
  4. <SpellHealer enabled="yes">
  5. <HealRule name="Exura Vita" spell="Ultimate Healing" condition="Health Percent below" conditionMin="50" conditionMax="50" extraCondition="No Extra Condition" extraConditionMin="0" extraConditionMax="0" enabled="yes" spamMin="200" spamMax="500" triggerKey="&lt;no key&gt;" dontOverrideActions="no"/>
  6. <HealRule name="Exura Gran" spell="Intense Healing" condition="Health Percent below" conditionMin="80" conditionMax="80" extraCondition="No Extra Condition" extraConditionMin="0" extraConditionMax="0" enabled="yes" spamMin="200" spamMax="500" triggerKey="&lt;no key&gt;" dontOverrideActions="no"/>
  7. <HealRule name="Exura" spell="Light Healing" condition="Health Percent below" conditionMin="90" conditionMax="90" extraCondition="No Extra Condition" extraConditionMin="0" extraConditionMax="0" enabled="yes" spamMin="200" spamMax="500" triggerKey="&lt;no key&gt;" dontOverrideActions="yes"/>
  8. </SpellHealer>
  9. <PotionHealer enabled="yes">
  10. <HealRule name="MP" spell="Strong Mana Potion" condition="Mana Percent below" conditionMin="65" conditionMax="65" extraCondition="No Extra Condition" extraConditionMin="70" extraConditionMax="70" enabled="yes" spamMin="400" spamMax="500" triggerKey="&lt;no key&gt;" dontOverrideActions="yes"/>
  11. </PotionHealer>
  12. <ConditionHealer enabled="no">
  13. <HealRule name="ParalzHeal" spell="Light Healing" condition="Paralyzed" conditionMin="0" conditionMax="0" extraCondition="No Extra Condition" extraConditionMin="0" extraConditionMax="0" enabled="yes" spamMin="200" spamMax="500" triggerKey="&lt;no key&gt;" dontOverrideActions="no"/>
  14. </ConditionHealer>
  15. <ManaTrainer manaTrainCondition="Mana Missing below" manaTrainMin="87" manaTrainMax="93" enabled="no"/>
  16. </Healer>
  17. <Scripter>
  18. <HotkeyScripts>
  19. <HotkeyScript name="PauseHotkey" script="if not $cavebot or not $targeting then&#13;&#10; listas('Enabling Cavebot and Targeting')&#13;&#10; setcavebot('on')&#13;&#10; settargeting('on')&#13;&#10; wait(1000)&#13;&#10;else&#13;&#10; listas('Disabling Cavebot and Targeting')&#13;&#10; setcavebot('off')&#13;&#10; settargeting('off')&#13;&#10; stopattack()&#13;&#10; wait(1000)&#13;&#10;end" triggerKey="Pause" hotkeyTriggerMode="0"/>
  20. </HotkeyScripts>
  21. <PersistentScripts>
  22. <PersistentScript name="MidnightSetup" script="--[[ Midnight Scripters's Setup&#10;&#9;&#9;&#9;DO NOT TOUCH ANYTHING BELOW!&#10;&#10;Last changed: Apr 13, 2015&#10;Edited: WornSoftAmount to work without Setup&#10;&#10;--]]&#10;MS_Setup = {&#10;&#9;Version = '0.2.1',&#10;&#9;Author = 'RoxZin xD'&#10;}&#10;auto(1000)&#10;--Backpack Setup&#10;MainBP = itemname($back.id)&#10;SupplyBP = getlootingdestination('supplybp')&#10;LootBP = getlootingdestination('lootbp')&#10;StackBP = getlootingdestination('stackbp')&#10;GoldBP = getlootingdestination('goldbp')&#10;SuppDpBP = getlootingdestination('suppdpbp')&#10;ExtraBP = getlootingdestination('extrabp')&#10;--General Booleans&#10;PVP = getuseroption('PVP on?')&#10;MovePotsToSupp = getuseroption('Move Pots To Supp?')&#10;LootGold = getuseroption('Loot Gold?')&#10;Shortcut = getuseroption('Shortcut?')&#10;Use_Carpet = getuseroption('Use Carpet?')&#10;CastWave = getuseroption('Use Wave?')&#10;CastMasVis = getuseroption('Use UE?')&#10;HasteOnSpawn = getuseroption('Haste on Spawn?')&#10;KillPath = getuseroption('Kill Path?')&#10;RuneWalk = getuseroption('Rune Walk?')&#10;farmineShop = getuseroption('Auto Sell Optionals')&#10;SafeRune = getuseroption('Safe Rune?')&#10;UseSpells = getuseroption('Use Spells?')&#10;UseGate = getuseroption('Use Gate?')&#10;UseUtori = getuseroption('Use Utori Spell?')&#10;UseMaxSpell = getuseroption('Use Max Spell?')&#10;LureMode = getuseroption('Lure Mode?')&#10;--Soft Setup&#10;SoftRefill = getuseroption('Soft Refill?')&#10;WornSoftAmount = getuseroption('Softs to Refill?') or 0&#10;--Stamina Setup&#10;OfflineTrainer = getuseroption('Use Training Statues?')&#10;staminaTime = getuseroption('Stamina Hours') or 15&#10;Skill = getuseroption('Statue to use:')&#10;--Anti-Lure Setup&#10;AntiLure = getuseroption('Anti Lure')&#10;antiLureAmount = getuseroption('Amount of monsters to trigger anti-lure.')&#10;antiLureWait = getuseroption('Amount of seconds to wait after lure.')&#10;--Numbers/Strings&#10;Cap = tonumber(getuseroption('Capacity to leave cave?'))&#10;--Supplies Setup&#10;WithdrawSupp = getuseroption('Withdraw Supplies?')&#10;--Main Mana Potion&#10;MP = getuseroption('MP Name')&#10;AmountMp = tonumber(getuseroption('Total amount of MP to buy.')) or 0&#10;HuntMp = tonumber(getuseroption('Amount of MP to skip refill.')) or 0&#10;LowMp = tonumber(getuseroption('Amount of MP to leave.')) or 0&#10;PriceMp = itemcost(MP)&#10;--Main Health Potion&#10;chkHP = false&#10;HP = getuseroption('HP Name') &#10;AmountHp = tonumber(getuseroption('Total amount of HP to buy.')) or 0&#10;HuntHp = tonumber(getuseroption('Amount of HP to skip refill.')) or 0&#10;LowHp = tonumber(getuseroption('Amount of HP to leave.')) or 0&#10;PriceHp = itemcost(HP) or 0&#10;--Secondary Health Potion&#10;HP2 = getuseroption('HP2 Name') &#10;AmountHp2 = tonumber(getuseroption('Total amount of HP2 to buy.')) or 0&#10;HuntHp2 = tonumber(getuseroption('Amount of HP2 to skip refill.')) or 0&#10;LowHp2 = tonumber(getuseroption('Amount of HP2 to leave.')) or 0&#10;PriceHp2 = itemcost(HP2) or 0&#10;--Main Ammunition (Royal Paladins)&#10;chkAmmo = false&#10;Ammo = getuseroption('Ammo Name')&#10;AmountAmmo = tonumber(getuseroption('Total amount of Ammo to buy.')) or 0&#10;HuntAmmo = tonumber(getuseroption('Amount of Ammo to skip refill.')) or 0&#10;LowAmmo = tonumber(getuseroption('Amount of Ammo to leave.')) or 0&#10;PriceAmmo = itemcost(Ammo) or 0&#10;--Main Rune&#10;RuneRefill = getuseroption('Rune Refill?')&#10;Rune = getuseroption('Rune Name')&#10;AmountRune = tonumber(getuseroption('Total amount of Rune to buy.')) or 0&#10;HuntRune = tonumber(getuseroption('Amount of Rune to skip refill.')) or 0 &#10;LowRune = tonumber(getuseroption('Amount of Rune to leave.')) or 0&#10;PriceRune = itemcost(Rune) or 0&#10;--Sudden Death Rune&#10;SDRefill = getuseroption('SD Refill?')&#10;SD = getuseroption('SD Name') or 'sudden death rune'&#10;AmountSD = tonumber(getuseroption('Total amount of SD to buy.')) or 0&#10;HuntSD = tonumber(getuseroption('Amount of SD to skip refill.')) or 0&#10;LowSD = tonumber(getuseroption('Amount of SD to leave.')) or 0&#10;PriceSD = itemcost(SD) or 0&#10;--AoE Rune (Anti-Trap)&#10;GFBRefill = getuseroption('GFB Refill?')&#10;GFB = getuseroption('GFB Name')&#10;AmountGFB = tonumber(getuseroption('Total amount of GFB to buy.')) or 0&#10;HuntGFB = tonumber(getuseroption('Amount of GFB to skip refill.')) or 0&#10;LowGFB = tonumber(getuseroption('Amount of GFB to leave.')) or 0&#10;PriceGFB = itemcost(GFB) or 0&#10;--Main Food&#10;FoodRefill = getuseroption('Food Refill?')&#10;Food = getuseroption('Food Name')&#10;AmountFood = tonumber(getuseroption('Total amount of food to buy.')) or 0 or 0&#10;HuntFood = tonumber(getuseroption('Amount of food to skip refill.')) or 0&#10;LowFood = tonumber(getuseroption('Amount of food to leave.')) or 0&#10;PriceFood = itemcost(Food) or 0&#10;--Main Ring&#10;Use_Ring = getuseroption('Use Rings?')&#10;Ring = getuseroption('Ring Name')&#10;AmountRing = getuseroption('Amount of rings to withdraw.') or 0&#10;--Main Amulet&#10;Use_Amulet = getuseroption('Use Amulets?')&#10;Amulet = getuseroption('Amulet Name')&#10;AmountAmulet = getuseroption('Amount of amulets to withdraw.') or 0&#10;--Miscellaneous Setup&#10;--Scarab Coin Setup&#10;WithdrawCoins = getuseroption('Withdraw Coins')&#10;Coin = 'scarab coin'&#10;AmountCoin = getuseroption('Total amount of coins to withdraw.')&#10;LowCoin = getuseroption('Amount of coins to refill.')&#10;--Tasker Setup&#10;AutoTask = getuseroption('Auto Task?')&#10;KillBoss = getuseroption('Kill Boss?')&#10;Boss = getuseroption('Boss Option?')&#10;--Hive Tasker Items&#10;atItem = 13974&#10;psItem = 14051&#10;hdItem = 13976&#10;--Hive Tasker Setup&#10;Pore = Pore or 0&#10;Blind = Blind or 0&#10;Digest = Digest or 0&#10;--Bosses Setup&#10;Leviathan = Leviathan or false&#10;TheMany = TheMany or false&#10;Gorgo = Gorgo or false&#10;Noxious = Noxious or false&#10;Bretzek = Bretzek or false&#10;--Other Check&#10;gemName = 'small ruby'&#10;scriptName = getuseroption('scriptname')&#10;mpChk = itemcount(MP, SupplyBP) + itemcount(MP, MainBP)&#10;&#10;--[[&#10;&#9;&#9;DO NOT EDIT THE ACTIONS BELOW OR THE SCRIPT CAN STOP WORKING!&#10;]]--&#10;&#10;--@name &#9;MS_checkLoc&#10;--@desc &#9;&#9;Returns to a specified waypoint or label on an optional waypoint section.&#10;--@param&#9;{number} or {string}&#9;wpt&#10;--@param &#9;{string}&#9;section&#10;--@returns&#9;{null}&#10;&#10;function MS_checkLoc(wpt, section)&#10;&#9;section = section or $wptsection&#10;&#9;wpt = (type(wpt) == 'number') and ($wptid - wpt) or wpt --credits to @Raphael&#10;&#9;waitping()&#10;&#9;if $posz ~= $wptz then &#10;&#9;&#9;print('Failed reaching floor '..$wptz..'. Trying again.') &#10;&#9;&#9;gotolabel(wpt, section) &#10;&#9;end&#10;end&#10;&#10;--@name &#9;MS_depositGold&#10;--@desc &#9;&#9;Deposits gold to the local bank, optionally withdrawing an extra amount.&#10;--@param &#9;{number}&#9;extraGold&#10;--@returns&#9;{boolean}&#10;&#10;function MS_depositGold(extraGold)&#10;&#9;extraGold = extraGold or 0&#10;&#9;local rand = random(10,20)&#10;&#10;&#9;if rand &gt;= 15 and extraGold ~= 0 then&#10;&#9;&#9;extraGold = extraGold+100&#10;&#9;end&#10;&#9;if islocation(1) then&#10;&#9;&#9;print('Depositing gold to the nearest bank NPC.')&#10;&#9;&#9;&#9;npctalk('hi', 'deposit all', 'yes')&#10;&#9;&#9;&#9;wait(500,600)&#10;&#9;&#9;if windowcount() == 0 then&#10;&#9;&#9;&#9;return false&#10;&#9;&#9;end&#10;&#9;&#9;if extraGold &gt; 0 then&#10;&#9;&#9;&#9;print('Withdrawing extra gold.')&#10;&#9;&#9;&#9;npctalk('withdraw '..extraGold, 'yes')&#10;&#9;&#9;&#9;wait(500,600)&#10;&#9;&#9;end&#10;&#9;&#9;npctalk('balance')&#10;&#9;&#9;wait(500,600)&#10;&#9;&#9;if gold() &lt;= extraGold then &#10;&#9;&#9;&#9;print('Deposited gold sucessfully.')&#10;&#9;&#9;&#9;return true&#10;&#9;&#9;else&#10;&#9;&#9;&#9;print('Failed to deposit gold. Retrying.')&#10;&#9;&#9;&#9;gotolabel('Bank')&#10;&#9;&#9;&#9;return false&#10;&#9;&#9;end&#10;&#9;else&#10;&#9;&#9;gotolabel('Bank')&#10;&#9;&#9;return false&#10;&#9;end&#10;end&#10;&#10;--@name &#9;MS_levitate&#10;--@desc &#9;&#9;Tries to walk to another floor, casting exani hur up/down if failing.&#10;--@param&#9;{string}&#9;side&#10;--@param &#9;{string}&#9;updown&#10;--@returns&#9;{boolean}&#10;&#10;function MS_levitate(side, updown)&#10;&#9;local initialZ = $posz&#10;&#9;&#10;&#9;move(side)&#10;&#9;wait(700,900)&#10;&#9;if $posz ~= initialZ then return true end&#10;&#9;if $posz == initialZ then&#10;&#9;&#9;turn(side)&#10;&#9;&#9;wait(300,500)&#10;&#9;&#9;cast('exani hur '..updown)&#10;&#9;&#9;if $posz ~= initialZ then return true end&#10;&#9;end&#10;&#9;return false&#10;end&#10;&#10;--@name &#9;MS_openhole&#10;--@desc &#9;&#9;Tries to open a hole, repeating if failing.&#10;--@returns&#9;{boolean}&#10;&#10;function MS_openhole()&#10;&#9;local shovel = getsetting('Cavebot/Shovel')&#10;&#9;local initZ = $posz&#10;&#9;if islocation() then&#10;&#9;&#9;print('Trying to open a hole.')&#10;&#9;&#9;useitemon(shovel, 0, ground($posx, $posy, $posz))&#10;&#9;&#9;wait(500)&#10;&#9;&#9;if $posz ~= initZ then &#10;&#9;&#9;&#9;print('Hole opened sucessfully.')&#10;&#9;&#9;&#9;return true&#10;&#9;&#9;else&#10;&#9;&#9;&#9;print('Retrying to open hole.')&#10;&#9;&#9;&#9;gotolabel($wptid-1)&#10;&#9;&#9;&#9;return false&#10;&#9;&#9;end&#10;&#9;end&#10;end&#10;&#10;--@name &#9;MS_openMainBP&#10;--@desc &#9;&#9;Opens the main container.&#10;--@returns&#9;{boolean}&#10;&#10;function MS_openMainBP()&#10;&#9;while windowcount(MainBP) == 0 do&#10;&#9;&#9;openitem($back.id, 'back')&#10;&#9;&#9;waitcontainer(MainBP, true)&#10;&#9;end&#10;&#9;wait(500,700)&#10;&#9;if windowcount(MainBP) &gt; 0 then &#10;&#9;&#9;return true &#10;&#9;end&#10;&#9;return false&#10;end&#10;&#10;--@name &#9;MS_openBP&#10;--@desc &#9;&#9;Opens the main container.&#10;--@param&#9;{string}&#9;bpto&#10;--@param&#9;{string}&#9;cont&#10;--@param&#9;{boolean}&#9;chk&#10;--@returns&#9;{boolean}&#10;&#10;function MS_openBP(bpto, cont, chk)&#10;&#9;while windowcount(bpto) == 0 do&#10;&#9;&#9;openitem(bpto, cont, true)&#10;&#9;&#9;waitcontainer(bpto, chk)&#10;&#9;end&#10;&#9;resizewindows()&#10;&#9;wait(500,700)&#10;&#9;if windowcount(bpto) &gt; 0 then &#10;&#9;&#9;return true &#10;&#9;end&#10;&#9;return false&#10;end&#10;&#10;--@name &#9;MS_softRepair()&#10;--@desc &#9;&#9;Repairs all pairs of worn soft boots.&#10;--@returns&#9;{null}&#10;&#10;function MS_softRepair()&#10;&#9;if islocation(1) then&#10;&#9;&#9;npctalk('hi')&#10;&#9;&#9;waitping()&#10;&#9;if itemcount(6530) &gt; 0 and gold() &gt;= 10000 then&#10;&#9;&#9;while itemcount(6530) &gt; 0 do&#10;&#9;&#9;&#9;print('Repairing a pair of soft boots.')&#10;&#9;&#9;&#9;npctalk('repair', 'yes')&#10;&#9;&#9;&#9;wait(500,1000)&#10;&#9;&#9;&#9;increasemoneyspent(10000)&#10;&#9;&#9;&#9;wait(1700,2000)&#10;&#9;&#9;end&#10;&#9;end&#10;&#9;print('All pairs were repaired.')&#10;&#9;npctalk('bye')&#10;&#9;else&#10;&#9;&#9;gotolabel('Aldo')&#10;&#9;end&#10;end&#10;&#10;--@name &#9;MS_shopUpTo&#10;--@desc &#9;&#9;Checks if character has enough money to buy something.&#10;--@param&#9;{string/number}&#9;item&#10;--@param&#9;{number}&#9;amount&#10;--@param&#9;{string}&#9;backpack&#10;--@returns&#9;{null}&#10;&#10;function MS_shopUpTo(item, amount, backpack)&#10;&#9;backpack = backpack or '0-15'&#10;&#9;local hasMoney = false&#10;&#9;if gold() &gt;= itemcost(item)*(amount - itemcount(item)) then&#10;&#9;&#9;hasMoney = true&#10;&#9;end&#10;&#9;waitping(2,3)&#10;&#9;while itemcount(item) &lt; amount and $tradeopen and windowcount(backpack) &gt; 0 and hasMoney and $cap &gt;= 15 do&#10;&#9;&#9;buyitemsupto(item, amount)&#10;&#9;&#9;waitping(1,2)&#10;&#9;end&#10;end&#10;&#10;--@name &#9;MS_withdrawItem&#10;--@desc &#9;&#9;Withdraws item from the suppdpbp with Midnight Scripts.&#10;--@param&#9;{string/number}&#9;item&#10;--@param&#9;{string}&#9;backpack&#10;--@param&#9;{number}&#9;amount&#10;--@param&#9;{boolean}&#9;chk&#10;--@returns&#9;{null}&#10;&#10;function MS_withdrawItem(item, backpack, amount)&#10;&#9;if itemcount(item, SuppDpBP) &gt; 0 and itemcount(item, backpack) &lt; amount then&#10;&#9;&#9;while itemcount(item, SuppDpBP) &gt; 0 and itemcount(item, backpack) &lt; amount and not iscontainerfull(backpack) do&#10;&#9;&#9;&#9;moveitemsupto(item, amount, backpack, SuppDpBP)&#10;&#9;&#9;&#9;wait(500,1000)&#10;&#9;&#9;end&#10;&#9;end&#10;&#9;return nil&#10;end&#10;&#10;--@name &#9;AreaLessThanX&#10;--@desc &#9;&#9;Changes an area policy to none when character and target are located behind X.&#10;--@param&#9;{number}&#9;x&#10;--@param&#9;{string}&#9;area&#10;--@returns&#9;{null}&#10;&#10;function AreaLessThanX(x, area)&#10;&#9;if $posx &lt;= x and $target.posx &lt;= x then&#10;&#9;&#9;set('Cavebot/SpecialAreas/'..area..'/Policy', 'None')&#10;&#9;else&#10;&#9;&#9;set('Cavebot/SpecialAreas/'..area..'/Policy', 'Targeting')&#10;&#9;end&#10;end&#10;&#10;--@name &#9;AreaMoreThanX&#10;--@desc &#9;&#9;Changes an area policy to none when character and target are located ahead of X.&#10;--@param&#9;{number}&#9;x&#10;--@param&#9;{string}&#9;area&#10;--@returns&#9;{null}&#10;&#10;function AreaMoreThanX(x, area)&#10;&#9;if $posx &gt;= x and $target.posx &gt;= x then&#10;&#9;&#9;set('Cavebot/SpecialAreas/'..area..'/Policy', 'None')&#10;&#9;else&#10;&#9;&#9;set('Cavebot/SpecialAreas/'..area..'/Policy', 'Targeting')&#10;&#9;end&#10;end&#10;&#10;--@name &#9;AreaLessThanY&#10;--@desc &#9;&#9;Changes an area policy to none when character and target are located behind Y.&#10;--@param&#9;{number}&#9;x&#10;--@param&#9;{string}&#9;area&#10;--@returns&#9;{null}&#10;&#10;function AreaLessThanY(x, area)&#10;&#9;if $posy &lt;= x and $target.posy &lt;= x then&#10;&#9;&#9;set('Cavebot/SpecialAreas/'..area..'/Policy', 'None')&#10;&#9;else&#10;&#9;&#9;set('Cavebot/SpecialAreas/'..area..'/Policy', 'Targeting')&#10;&#9;end&#10;end&#10;&#10;--@name &#9;AreaMoreThanY&#10;--@desc &#9;&#9;Changes an area policy to none when character and target are located ahead of Y.&#10;--@param&#9;{number}&#9;x&#10;--@param&#9;{string}&#9;area&#10;--@returns&#9;{null}&#10;&#10;function AreaMoreThanY(x, area)&#10;&#9;if $posy &gt;= x and $target.posy &gt;= x then&#10;&#9;&#9;set('Cavebot/SpecialAreas/'..area..'/Policy', 'None')&#10;&#9;else&#10;&#9;&#9;set('Cavebot/SpecialAreas/'..area..'/Policy', 'Targeting')&#10;&#9;end&#10;end&#10;&#10;if $vocshort == 'P' or $vocshort == 'K' then &#10;&#9;chkHP = true &#10;end&#10;if $vocshort == 'P' then &#10;&#9;chkAmmo = true &#10;end&#10;if $vocshort == 'D' then &#10;&#9;gemName = 'small emerald'&#10;end&#10;&#10;--Withdrawing Checkers&#10;mpdraw = PriceMp*(AmountMp - itemcount(MP))&#10;hpdraw = PriceHp*(AmountHp - itemcount(HP))&#10;hp2draw = PriceHp2*(AmountHp2 - itemcount(HP2))&#10;gfbdraw = PriceGFB*(AmountGFB - itemcount(GFB))&#10;ammodraw = PriceAmmo*(AmountAmmo - itemcount(Ammo))&#10;fooddraw = PriceFood*(AmountFood - itemcount(Food))&#10;runedraw = PriceRune*(AmountRune - itemcount(Rune))&#10;SDdraw = PriceSD*(AmountSD - itemcount(SD))&#10;softdraw = 10000*itemcount(6530)&#10;&#10;if mpdraw &lt; 0 or itemcount(MP) &gt;= HuntMp then mpdraw = 0 end&#10;if hpdraw &lt; 0 or itemcount(HP) &gt;= HuntHp or not chkHP then hpdraw = 0 end&#10;if hp2draw &lt; 0 or itemcount(HP2) &gt;= HuntHp2 or $vocshort ~= 'K' then hp2draw = 0 end&#10;if gfbdraw &lt; 0 or itemcount(GFB) &gt;= HuntGFB or not GFBRefill then gfbdraw = 0 end&#10;if ammodraw &lt; 0 or itemcount(Ammo) &gt;= HuntAmmo or not chkAmmo then ammodraw = 0 end&#10;if fooddraw &lt; 0 or itemcount(Food) &gt;= HuntFood or not FoodRefill then fooddraw = 0 end&#10;if SDdraw &lt; 0 or itemcount(SD) &gt;= HuntSD or not SDRefill then SDdraw = 0 end&#10;if runedraw &lt; 0 or itemcount(Rune) &gt;= HuntRune or not RuneRefill then runedraw = 0 end&#10;if softdraw &lt; 0 or itemcount(6530) &lt; WornSoftAmount or not SoftRefill then softdraw = 0 end" enabled="yes"/>
  23. <PersistentScript name="EscapeTrap" script="-- Anti-Trap by Midnight Scripters&#10;--MS_UNTRAP = {&#10;--&#9;Version = '1.1.0',&#10;--&#9;Author = 'RoxZin xD'&#10;--}&#10;--&#10;&#10;init start &#10;&#9;local printMsg = true&#10;init end&#10;auto(1000)&#10;&#10;if $standtime &gt;= 150000 and maround() &gt; 0 then&#10;&#9;if printMsg then &#10;&#9;&#9;print('Being idle for too long. Anti-Stuck was triggered at waypoint '..$wptid..' of the section '..$wptsection)&#10;&#9;end&#10;&#9;set('Targeting/Creatures/Others/Setting*/OnlyIfTrapped', 'no')&#10;&#9;printMsg = false&#10;else&#10;&#9;set('Targeting/Creatures/Others/Setting*/OnlyIfTrapped', 'yes')&#10;&#9;printMsg = true&#10;end" enabled="yes"/>
  24. <PersistentScript name="HealerActionMage" script="--[[ Midnight Scripters's Healer Action, Mage version&#10;MS_HEALER = {&#10;&#9;Author = 'RoxZin xD',&#10;&#9;Version = '2.0.0'&#10;}&#10;--]]&#10;setpriority(80, 70, 1000, 3000, 0)&#10;auto(60,90)&#10;if $vocshort == 'D' or $vocshort == 'S' then&#10;if $hppc &lt;= 62 and $mp &gt;= 160 then&#10;&#9;cast('exura vita') &#10;&#9;wait(500)&#10;elseif $hppc &gt;= 63 and $hppc &lt;= 86 and $mp &gt;= 70 then&#10;&#9;cast('exura gran') &#10;&#9;wait(500)&#10;elseif $hppc &gt;= 87 and $hppc &lt; 93 and $mp &gt;= 20 then&#10;&#9;cast('exura') &#10;&#9;wait(500)&#10;end&#10;&#10;if itemcount(MP) &gt; 0 and $mppc &lt; random(25,28) then&#10;&#9;useoncreature(MP, $self)&#10;&#9;wait(500)&#10;end&#10;&#10;if $paralyzed then&#10;&#9;if $hppc &lt;= 63 then&#10;&#9;&#9;cast('exura vita')&#10;&#9;&#9;wait(500)&#10;&#9;elseif $hppc &lt;= 86 and $hppc &gt;= 64 then&#10;&#9;&#9;cast('exura gran')&#10;&#9;&#9;wait(500)&#10;&#9;elseif $hppc &gt;= 87 then&#10;&#9;&#9;cast('exura')&#10;&#9;&#9;wait(500)&#10;&#9;end&#10;end&#10;&#10;else return end" enabled="yes"/>
  25. <PersistentScript name="SS at Death" script="init start&#10;&#9;takeSS = true&#10;init end&#10;auto(200)&#10;&#10;if $hppc &lt; 10 and $connected and takeSS then&#10;screenshot($name.. ' died at '..currenttime())&#10;waitping()&#10;traymessage('Death', 'Your character has died at waypoint '..$wptid.. ' of section '..$wptsection..'.', 5000)&#10;takeSS = false&#10;end&#10;&#10;takeSS = true" enabled="yes"/>
  26. <PersistentScript name="SS at Level" script="init start&#10; local curlevel = $level&#10;init end&#10;auto(200)&#10;if $level &gt; curlevel then&#10;&#9;wait(300,400)&#10; smartscreenshot($name..' - Level '..$level)&#10; traymessage('Level Up!', 'Congratulations! You advanced from Level ' ..curlevel.. ' to Level ' ..$level, 5000)&#10; curlevel = $level&#10;end" enabled="yes"/>
  27. </PersistentScripts>
  28. </Scripter>
  29. <HUDs>
  30. <HUDScripts>
  31. <HUDScript name="MonitorMyHunting" script="auto(200)&#10;init start&#10;&#9;--&#10;&#9;-- 88 &#10;&#9;-- &quot;&quot; ,d &#10;&#9;-- 88 &#10;&#9;-- ,adPPYba, 88 8b,dPPYba, 88,dPYba,,adPYba, ,adPPYYba, MM88MMM ,adPPYba, &#10;&#9;-- I8[ &quot;&quot; 88 88P' &quot;Y8 88P' &quot;88&quot; &quot;8a &quot;&quot; `Y8 88 a8P_____88 &#10;&#9;-- `&quot;Y8ba, 88 88 88 88 88 ,adPPPPP88 88 8PP&quot;&quot;&quot;&quot;&quot;&quot;&quot; &#10;&#9;-- aa ]8I 88 88 88 88 88 88, ,88 88, &quot;8b, ,aa &#10;&#9;-- Author: `&quot;YbbdP&quot;' 88 88 88 88 88 `&quot;8bbdP&quot;Y8 &quot;Y888 `&quot;Ybbd8&quot;' &#10;&#9;-- &#10;&#9;-- Monitor My Hunting!&#10;&#9;--&#10;&#9;-- Version: 1.0&#10;&#9;-- Created: 29.12.2013&#10;&#9;-- Last update: 29.12.2013&#10;&#9;--&#10;&#10;&#9;local MMH = {&#10;&#9;&#9;SHOW_ALL_ITEMS = false,&#10;&#9;&#9;SHOW_ALL_SUPPLIES = false,&#10;&#9;}&#10;&#10;&#9;-- [[ Do not change anything below this line. ]] --&#10;&#10;&#9;-- [[ COLORS ]] --&#10;&#9;MMH.COLORS = {}&#10;&#9;MMH.COLORS.FONT_COLOR = color(255, 255, 255, 0)&#10;&#9;MMH.COLORS.SECTION_HEADER_BACKGROUND = {0.0, color(36, 68, 105, 20), 0.23, color(39, 73, 114, 20), 0.76, color(21, 39, 60, 20)}&#10;&#9;MMH.COLORS.ENTRY_NAME_BACKGROUND = {0.0, color(75, 75, 75, 20), 0.23, color(45, 45, 45, 20), 0.76, color(19, 19, 19, 20)}&#10;&#9;MMH.COLORS.ENTRY_VALUE_BACKGROUND = {0.0, color(145, 95, 0, 20), 0.23, color(158, 104, 0, 20), 0.76, color(84, 55, 0, 20)}&#10;&#9;MMH.COLORS.RESULT_POSITIVE_BACKGROUND = {0.0, color(65, 96, 12, 20), 0.23, color(67, 99, 13, 20), 0.76, color(36, 52, 6, 20)}&#10;&#9;MMH.COLORS.RESULT_NEGATIVE_BACKGROUND = {0.0, color(90, 12, 15, 20), 0.23, color(98, 13, 17, 20), 0.76, color(52, 6, 9, 20)}&#10;&#9;MMH.COLORS.RESET_BUTTON_BACKGROUND = MMH.COLORS.RESULT_POSITIVE_BACKGROUND&#10;&#10;&#9;-- [[ ELEMENTS ]] --&#10;&#9;MMH.ELEMENTS = {}&#10;&#9;MMH.ELEMENTS.RESET_BUTTON = -1&#10;&#9;MMH.ELEMENTS.SWITCH_ITEMS_LOOTED = -1&#10;&#9;MMH.ELEMENTS.SWITCH_SUPPLIES_USED = -1&#10;&#10;&#9;-- [[ SECTION STATES ]] --&#10;&#9;MMH.SECTIONS = {}&#10;&#9;MMH.SECTIONS.ITEMS_LOOTED = true&#10;&#9;MMH.SECTIONS.SUPPLIES_USED = true&#10;&#10;&#9;-- [[ OTHERS ]] --&#9;&#10;&#9;filterinput(false, true, false, false)&#10;&#10;&#9;local MOVING, TEMP, MOVED = false, {0, 0}, {0, 0}&#10;&#10;&#9;function inputevents(e)&#10;&#9;&#9;if (e.type == IEVENT_LMOUSEDOWN) then&#10;&#9;&#9;&#9;if (e.elementid == MMH.ELEMENTS.RESET_BUTTON) then&#10;&#9;&#9;&#9;&#9;resetcharactertime()&#10;&#9;&#9;&#9;&#9;resetlootcounter()&#10;&#9;&#9;&#9;&#9;resetexpcounter()&#10;&#9;&#9;&#9;elseif (e.elementid == MMH.ELEMENTS.SWITCH_ITEMS_LOOTED) then&#10;&#9;&#9;&#9;&#9;MMH.SECTIONS.ITEMS_LOOTED = not MMH.SECTIONS.ITEMS_LOOTED&#10;&#9;&#9;&#9;elseif (e.elementid == MMH.ELEMENTS.SWITCH_SUPPLIES_USED) then&#10;&#9;&#9;&#9;&#9;MMH.SECTIONS.SUPPLIES_USED = not MMH.SECTIONS.SUPPLIES_USED&#10;&#9;&#9;&#9;end&#10;&#9;&#9;end&#10;&#10;&#9;&#9;if (e.type == IEVENT_MMOUSEDOWN) then&#10;&#9;&#9;&#9;MOVING, TEMP = true, {$cursor.x - MOVED[1], $cursor.y - MOVED[2]}&#10;&#9;&#9;end&#10;&#10;&#9;&#9;if (e.type == IEVENT_MMOUSEUP) then&#10;&#9;&#9;&#9;MOVING = false&#10;&#9;&#9;end&#10;&#9;end&#10;init end&#10;&#10;if (MOVING) then&#10; auto(10)&#10; MOVED = {$cursor.x - TEMP[1], $cursor.y - TEMP[2]}&#10;end&#10;&#10;setposition($clientwin.right - 424 + MOVED[1], $worldwin.top + MOVED[2])&#10;setfontstyle('Tahoma', 8, 75, MMH.COLORS.FONT_COLOR, 1, color(0, 0, 0, 20))&#10;&#10;local ROW_QUANTITY, STRING_WIDTH, STRING_HEIGHT = 0, measurestring('TEMP')&#10;local ITEMS_LOOTED_WORTH, ITEM_LOOTED_QUANTITY, ITEM_LOOTED_WORTH = 0, 0, 0&#10;local SUPPLIES_USED_WORTH, SUPPLY_USED_QUANTITY, SUPPLY_USED_WORTH = 0, 0, 0&#10;&#10;setfillstyle('gradient', 'linear', 2, 0, 0, 0, 21)&#10;addgradcolors(unpack(MMH.COLORS.ENTRY_NAME_BACKGROUND))&#10;drawroundrect(0, 0, 240, 20, 2, 2)&#10;drawtext('Monitor My Hunting v1.0', 6, 20 / 2 - STRING_HEIGHT * 0.5)&#10;&#10;setfillstyle('gradient', 'linear', 2, 0, 0, 0, 21)&#10;addgradcolors(unpack(MMH.COLORS.RESET_BUTTON_BACKGROUND))&#10;MMH.ELEMENTS.RESET_BUTTON = drawroundrect(196, 0, 44, 20, 2, 2)&#10;drawtext('RESET', 202, 20 / 2 - STRING_HEIGHT * 0.5)&#10;&#10;setfontsize(7)&#10;&#10;STRING_WIDTH, STRING_HEIGHT = measurestring('TEMP')&#10;&#10;setfillstyle('gradient', 'linear', 2, 0, 0, 0, 16)&#10;addgradcolors(unpack(MMH.COLORS.ENTRY_NAME_BACKGROUND))&#10;drawroundrect(0, 23, 240, 15, 2, 2)&#10;drawtext('Looting Accuracy', 6, 23 + 15 / 2 - STRING_HEIGHT * 0.5 + 1)&#10;&#10;setfillstyle('gradient', 'linear', 2, 0, 0, 0, 16)&#10;addgradcolors(unpack(MMH.COLORS.ENTRY_VALUE_BACKGROUND))&#10;drawroundrect(130, 23, 110, 15, 2, 2)&#10;drawtext(string.format('%.2f', $lootaccuracy) .. '%', 136, 23 + 15 / 2 - STRING_HEIGHT * 0.5 + 1)&#10;&#10;setfontsize(8)&#10;&#10;STRING_WIDTH, STRING_HEIGHT = measurestring('TEMP')&#10;&#10;setfillstyle('gradient', 'linear', 2, 0, 0, 0, 21)&#10;addgradcolors(unpack(MMH.COLORS.SECTION_HEADER_BACKGROUND))&#10;drawroundrect(0, 41, 240, 20, 2, 2)&#10;drawtext('ITEMS LOOTED', 6, 41 + 20 / 2 - STRING_HEIGHT * 0.5)&#10;&#10;setfillstyle('gradient', 'linear', 2, 0, 0, 0, 21)&#10;if (MMH.SECTIONS.ITEMS_LOOTED) then&#10;&#9;addgradcolors(unpack(MMH.COLORS.RESULT_POSITIVE_BACKGROUND))&#10;else&#10;&#9;addgradcolors(unpack(MMH.COLORS.RESULT_NEGATIVE_BACKGROUND))&#10;end&#10;MMH.ELEMENTS.SWITCH_ITEMS_LOOTED = drawroundrect(220, 41, 20, 20, 2, 2)&#10;drawtext('X', 228, 41 + 20 / 2 - STRING_HEIGHT * 0.5)&#10;&#10;setfontsize(7)&#10;&#10;STRING_WIDTH, STRING_HEIGHT = measurestring('TEMP')&#10;&#10;foreach lootingitem ItemEntry do&#10;&#9;if (MMH.SHOW_ALL_ITEMS or ItemEntry.amountlooted &gt; 0) then&#10;&#9;&#9;ITEM_LOOTED_QUANTITY = ItemEntry.amountlooted&#10;&#9;&#9;ITEM_LOOTED_WORTH = ItemEntry.sellprice * ITEM_LOOTED_QUANTITY&#10;&#10;&#9;&#9;if (MMH.SECTIONS.ITEMS_LOOTED) then&#10;&#9;&#9;&#9;setfillstyle('gradient', 'linear', 2, 0, 0, 0, 16)&#10;&#9;&#9;&#9;addgradcolors(unpack(MMH.COLORS.ENTRY_NAME_BACKGROUND))&#10;&#9;&#9;&#9;drawroundrect(0, 64 + ROW_QUANTITY * 18, 240, 15, 2, 2)&#10;&#9;&#9;&#10;&#9;&#9;&#9;setcompositionmode(CompositionMode_SourceOver)&#10;&#9;&#9;&#9;drawitem(ItemEntry.id, 6, 64 + ROW_QUANTITY * 18, 50, 100)&#10;&#9;&#9;&#9;setcompositionmode(CompositionMode_Automatic)&#10;&#10;&#9;&#9;&#9;drawtext(((#ItemEntry.name &gt; 16 and string.match(string.sub(ItemEntry.name, 1, 16), '(.-)%s?$') .. '...') or ItemEntry.name):capitalizeall(), 28, 64 + ROW_QUANTITY * 18 + 15 / 2 - STRING_HEIGHT * 0.5)&#10;&#10;&#9;&#9;&#9;setfillstyle('gradient', 'linear', 2, 0, 0, 0, 16)&#10;&#9;&#9;&#9;addgradcolors(unpack(MMH.COLORS.ENTRY_VALUE_BACKGROUND))&#10;&#9;&#9;&#9;drawroundrect(130, 64 + ROW_QUANTITY * 18, 110, 15, 2, 2)&#10;&#9;&#9;&#9;drawtext(num(ITEM_LOOTED_QUANTITY) .. ' (' .. math.floor(ITEM_LOOTED_WORTH / 100) / 10 .. 'K)', 136, 64 + ROW_QUANTITY * 18 + 15 / 2 - STRING_HEIGHT * 0.5)&#10;&#10;&#9;&#9;&#9;ROW_QUANTITY = ROW_QUANTITY + 1&#10;&#9;&#9;end&#10;&#10;&#9;&#9;ITEMS_LOOTED_WORTH = ITEMS_LOOTED_WORTH + ITEM_LOOTED_WORTH&#10;&#9;end&#10;end&#10;&#10;setfillstyle('gradient', 'linear', 2, 0, 0, 0, 16)&#10;addgradcolors(unpack(MMH.COLORS.ENTRY_NAME_BACKGROUND))&#10;drawroundrect(0, 64 + ROW_QUANTITY * 18, 240, 15, 2, 2)&#10;drawtext('Total: ' .. num(ITEMS_LOOTED_WORTH) .. ' GPs', 6, 64 + ROW_QUANTITY * 18 + 15 / 2 - STRING_HEIGHT * 0.5)&#10;&#10;ROW_QUANTITY = ROW_QUANTITY + 1&#10;&#10;setfontsize(8)&#10;&#10;STRING_WIDTH, STRING_HEIGHT = measurestring('TEMP')&#10;&#10;setfillstyle('gradient', 'linear', 2, 0, 0, 0, 21)&#10;addgradcolors(unpack(MMH.COLORS.SECTION_HEADER_BACKGROUND))&#10;drawroundrect(0, 64 + ROW_QUANTITY * 18, 240, 20, 2, 2)&#10;drawtext('SUPPLIES USED', 6, 64 + ROW_QUANTITY * 18 + 20 / 2 - STRING_HEIGHT * 0.5)&#10;&#10;setfillstyle('gradient', 'linear', 2, 0, 0, 0, 21)&#10;if (MMH.SECTIONS.SUPPLIES_USED) then&#10;&#9;addgradcolors(unpack(MMH.COLORS.RESULT_POSITIVE_BACKGROUND))&#10;else&#10;&#9;addgradcolors(unpack(MMH.COLORS.RESULT_NEGATIVE_BACKGROUND))&#10;end&#10;MMH.ELEMENTS.SWITCH_SUPPLIES_USED = drawroundrect(220, 64 + ROW_QUANTITY * 18, 20, 20, 2, 2)&#10;drawtext('X', 228, 64 + ROW_QUANTITY * 18 + 20 / 2 - STRING_HEIGHT * 0.5)&#10;&#10;setfontsize(7)&#10;&#10;STRING_WIDTH, STRING_HEIGHT = measurestring('TEMP')&#10;&#10;foreach supplyitem ItemEntry do&#10;&#9;if (MMH.SHOW_ALL_SUPPLIES or ItemEntry.amountused &gt; 0) then&#10;&#9;&#9;SUPPLY_USED_QUANTITY = ItemEntry.amountused&#10;&#9;&#9;SUPPLY_USED_WORTH = ItemEntry.buyprice * SUPPLY_USED_QUANTITY&#10;&#10;&#9;&#9;if (MMH.SECTIONS.SUPPLIES_USED) then&#10;&#9;&#9;&#9;setfillstyle('gradient', 'linear', 2, 0, 0, 0, 16)&#10;&#9;&#9;&#9;addgradcolors(unpack(MMH.COLORS.ENTRY_NAME_BACKGROUND))&#10;&#9;&#9;&#9;drawroundrect(0, 87 + ROW_QUANTITY * 18, 240, 15, 2, 2)&#10;&#10;&#9;&#9;&#9;setcompositionmode(CompositionMode_SourceOver)&#10;&#9;&#9;&#9;drawitem(ItemEntry.id, 6, 87 + ROW_QUANTITY * 18, 50, 100)&#10;&#9;&#9;&#9;setcompositionmode(CompositionMode_Automatic)&#10;&#10;&#9;&#9;&#9;drawtext(((#ItemEntry.name &gt; 16 and string.match(string.sub(ItemEntry.name, 1, 16), '(.-)%s?$') .. '...') or ItemEntry.name):capitalizeall(), 28, 87 + ROW_QUANTITY * 18 + 15 / 2 - STRING_HEIGHT * 0.5)&#10;&#10;&#9;&#9;&#9;setfillstyle('gradient', 'linear', 2, 0, 0, 0, 16)&#10;&#9;&#9;&#9;addgradcolors(unpack(MMH.COLORS.ENTRY_VALUE_BACKGROUND))&#10;&#9;&#9;&#9;drawroundrect(130, 87 + ROW_QUANTITY * 18, 110, 15, 2, 2)&#10;&#9;&#9;&#9;drawtext(num(SUPPLY_USED_QUANTITY) .. ' (' .. math.floor(SUPPLY_USED_WORTH / 100) / 10 .. 'K)', 136, 87 + ROW_QUANTITY * 18 + 15 / 2 - STRING_HEIGHT * 0.5)&#10;&#10;&#9;&#9;&#9;ROW_QUANTITY = ROW_QUANTITY + 1&#10;&#9;&#9;end&#10;&#10;&#9;&#9;SUPPLIES_USED_WORTH = SUPPLIES_USED_WORTH + SUPPLY_USED_WORTH&#10;&#9;end&#10;end&#10;&#10;if (MMH.SECTIONS.SUPPLIES_USED) then&#10;&#9;setfillstyle('gradient', 'linear', 2, 0, 0, 0, 16)&#10;&#9;addgradcolors(unpack(MMH.COLORS.ENTRY_NAME_BACKGROUND))&#10;&#9;drawroundrect(0, 87 + ROW_QUANTITY * 18, 240, 15, 2, 2)&#10;&#10;&#9;setcompositionmode(CompositionMode_SourceOver)&#10;&#9;drawitem(3031, 6, 87 + ROW_QUANTITY * 18, 50, 100)&#10;&#9;setcompositionmode(CompositionMode_Automatic)&#10;&#10;&#9;drawtext('Money Spent', 28, 87 + ROW_QUANTITY * 18 + 15 / 2 - STRING_HEIGHT * 0.5)&#10;&#10;&#9;setfillstyle('gradient', 'linear', 2, 0, 0, 0, 16)&#10;&#9;addgradcolors(unpack(MMH.COLORS.ENTRY_VALUE_BACKGROUND))&#10;&#9;drawroundrect(130, 87 + ROW_QUANTITY * 18, 110, 15, 2, 2)&#10;&#9;drawtext(num($moneyspent) .. ' (' .. math.floor($moneyspent / 100) / 10 .. 'K)', 136, 87 + ROW_QUANTITY * 18 + 15 / 2 - STRING_HEIGHT * 0.5)&#10;&#10;&#9;ROW_QUANTITY = ROW_QUANTITY + 1&#10;end&#10;&#10;SUPPLIES_USED_WORTH = SUPPLIES_USED_WORTH + $moneyspent&#10;&#10;setfillstyle('gradient', 'linear', 2, 0, 0, 0, 16)&#10;addgradcolors(unpack(MMH.COLORS.ENTRY_NAME_BACKGROUND))&#10;drawroundrect(0, 87 + ROW_QUANTITY * 18, 240, 15, 2, 2)&#10;drawtext('Total: ' .. num(SUPPLIES_USED_WORTH) .. ' GPs', 6, 87 + ROW_QUANTITY * 18 + 15 / 2 - STRING_HEIGHT * 0.5)&#10;&#10;ROW_QUANTITY = ROW_QUANTITY + 1&#10;&#10;setfontsize(8)&#10;&#10;STRING_WIDTH, STRING_HEIGHT = measurestring('TEMP')&#10;&#10;setfillstyle('gradient', 'linear', 2, 0, 0, 0, 21)&#10;if (ITEMS_LOOTED_WORTH &gt;= SUPPLIES_USED_WORTH) then&#10;&#9;addgradcolors(unpack(MMH.COLORS.RESULT_POSITIVE_BACKGROUND))&#10;else&#10;&#9;addgradcolors(unpack(MMH.COLORS.RESULT_NEGATIVE_BACKGROUND))&#10;end&#10;drawroundrect(0, 87 + ROW_QUANTITY * 18, 240, 20, 2, 2)&#10;drawtext(((ITEMS_LOOTED_WORTH &gt;= SUPPLIES_USED_WORTH and ('PROFIT: ')) or ('WASTE: ')) .. num(ITEMS_LOOTED_WORTH - SUPPLIES_USED_WORTH) .. ' GPs (' .. math.abs(math.floor(((ITEMS_LOOTED_WORTH - SUPPLIES_USED_WORTH) * 3600) / ($charactertime / 1000) / 100) / 10) .. ' k/h)', 6, 87 + ROW_QUANTITY * 18 + 20 / 2 - STRING_HEIGHT * 0.5)" enabled="yes" refreshRate="1000"/>
  32. <HUDScript name="RecentLootHUD" script="init start&#10;&#9;-- SCRIPT_VERSION = '1.1.0'&#10;&#9;local warnItems = {'shard', 'knight legs', 'knight armor', 'spider silk', 'sapphire hammer', 'ice rapier', 'glacier mask', 'jewelled backpack', 'platinum amulet'} -- you can add more items here&#10;&#9;local maxMsgs = 10 -- max lines to display at once&#10;&#9;local msgTimeOut = 90000 -- will only show loots from the last 30 seconds&#10;&#10;&#9;local position = 'left' -- right or left&#10;&#9;local rareLootColor = 0xFFC800&#10;&#9;local lootColor = 0xFAFAFA&#10;&#10;&#9;-- dont edit anything below this line&#10;&#9;local fontsize = 7&#10;&#9;local fontspacing = fontsize + 6&#10;&#9;local isRight = (position == 'right')&#10;&#9;local msgs = {}&#10;&#10;&#9;setfontstyle(&quot;Tahoma&quot;, fontsize, 75, lootColor, 1, 0x002200)&#10;&#9;setmaskcolorxp(0)&#10;init end&#10;&#10;foreach newmessage m do&#10;&#9;if m.level == 0 and m.content:sub(0,8) == 'Loot of ' then&#10;&#9;&#9;local msgInfo = m.content:lootmsg()&#10;&#9;&#9;local color = lootColor&#10;&#9;&#9;local hasItems = false&#10;&#10;&#9;&#9;local msg = msgInfo.name .. ': '&#10;&#10;&#9;&#9;local lastIndex = #msgInfo.items&#10;&#9;&#9;for index, item in ipairs(msgInfo.items) do&#10;&#9;&#9;&#9;hasItems = true&#10;&#10;&#9;&#9;&#9;if (item.count &gt; 1) then&#10;&#9;&#9;&#9;&#9;msg = msg .. item.count .. ' '&#10;&#9;&#9;&#9;end&#10;&#9;&#9;&#9;msg = msg .. item.name&#10;&#9;&#9;&#9;if index ~= lastIndex then&#10;&#9;&#9;&#9;&#9;msg = msg .. ', '&#10;&#9;&#9;&#9;end&#10;&#10;&#9;&#9;&#9;if table.find(warnItems, item.name) then&#10;&#9;&#9;&#9;&#9;color = rareLootColor&#10;&#9;&#9;&#9;end&#10;&#9;&#9;end&#10;&#10;&#9;&#9;if (hasItems) then&#10;&#9;&#9;&#9;local msgWidth = measurestring(msg)&#10;&#9;&#9;&#9;table.insert(msgs, {['msg'] = msg, ['color'] = color, ['time'] = $timems, ['width'] = msgWidth})&#10;&#9;&#9;end&#10;&#9;end&#10;end&#10;&#10;local msgsLen = #msgs&#10;local longestLine = 0&#10;if isRight then&#10;&#9;for index = msgsLen, math.max(msgsLen - maxMsgs + 1, 1), -1 do&#10;&#9;&#9;if msgs[index].width &gt; longestLine then longestLine = msgs[index].width end&#10;&#9;end&#10;end&#10;&#10;local i = 1&#10;while (i &lt;= msgsLen) do&#10;&#9;if $timems - msgs[i].time &lt;= msgTimeOut and i &gt; msgsLen - maxMsgs then&#10;&#9;&#9;setfontcolor(msgs[i].color)&#10;&#9;&#9;addtext(msgs[i].msg, tern(isRight, longestLine - msgs[i].width - 2, 2), i*fontspacing)&#10;&#10;&#9;&#9;i = i + 1&#10;&#9;else&#10;&#9;&#9;table.remove(msgs, i)&#10;&#9;end&#10;&#10;&#9;msgsLen = #msgs&#10;end&#10;&#10;if not isRight then&#10;&#9;setposition($worldwin.left + 3, $worldwin.bottom - i*fontspacing)&#10;else&#10;&#9;setposition($worldwin.right - 3 - longestLine, $worldwin.bottom - i*fontspacing)&#10;end&#10;&#10;if msgsLen == 0 then -- to clear HUD when resetting script&#10;&#9;addtext('', 0, 0)&#10;end" enabled="yes" refreshRate="1000"/>
  33. <HUDScript name="SSTaker" script="init start&#10;-- local SCRIPT_VERSION = '1.0.1'&#10;&#10;-- screenshot options&#10;&#10;local saveOriginal = false&#9;&#9;&#9;-- save full original, unaltered screenshot&#10;local createWorldVersion = true&#9;&#9;-- create a version of the screenshot that only shows the world area&#10;local createFullVersion = false&#9;&#9;-- create a version of the screenshot that shows the whole client&#10;local focusClient = true&#9;&#9;&#9;-- focus client before taking the screenshot&#10;local drawHuds = true&#9;&#9;&#9;&#9;-- if desktop composition is enabled (Windows Vista, 7 or 8), draw HUDs on SS&#10;local relocateHuds = true&#9;&#9;&#9;-- draws the huds at a custom location on the screenshot (need desktop composition enabled)&#10;&#10;-- hud locations, relative to world window. negative coordinates will be right / bottom aligned&#10;local relocateLocations = {&#10;&#9;{ name = &quot;GeneralInfo&quot;, x = 4, y = -20 },&#10;&#9;{ name = &quot;MonitorMyStats&quot;, x = 0, y = 0 },&#10;&#9;{ name = &quot;MonitorMyHunting&quot;, x = - 242, y = 0 },&#10;}&#10;&#10;-- alteration options&#10;&#10;local showEquipment = true&#9;&#9;&#9;-- show your character equipment on world screenshot&#10;local hidePersonalInfo = true&#9;&#9;-- hide personal info on screenshot (character name)&#10;local hideHudInfo = true&#9;&#9;&#9;-- hide personal info on HUD (must be supported by HUD)&#10;&#10;-- technical settings&#10;&#10;local hideMethod = &quot;both&quot;&#9;&#9;&#9;-- &quot;shuffle&quot; = shuffle pixels, &quot;blur&quot; = blur region, &quot;both&quot; = both (strongest)&#10;local textSearchTolerance = 30&#9;&#9;-- how many % of the text for hiding we want to can be obstructed (by other text on top)&#10;&#10;-- internal setup (don't change below)&#10;&#10;-- note: textures/child_huds get rendered in the order&#10;-- they were created and not selected, needs fixing&#10;&#10;local glowTexture = createtexture()&#10;local clientTexture = createtexture()&#10;local shotTexture = createtexture()&#10;&#10;local glowRendered = false&#10;local takeScreenshot = false&#10;local fileName = 'smartss'&#10;&#10;local function renderglow()&#10;&#9;local rectSize = 34&#10;&#9;local glowSize = 4&#10;&#9;local fullSize = glowSize + rectSize + glowSize&#10;&#10;&#9;-- leave space for glow on edges&#10;&#9;selecthud(glowTexture)&#10;&#9;setfixedsize(fullSize, fullSize)&#10;&#9;&#10;&#9;-- fill with transparent color&#10;&#9;setbordercolor(-1)&#10;&#9;setfillstyle(&quot;color&quot;, -1)&#10;&#9;drawrect(0, 0, fullSize, fullSize)&#10;&#9;&#10;&#9;-- black rect in center&#10;&#9;setfillstyle(&quot;color&quot;, 0x80000000)&#10;&#9;drawrect(glowSize, glowSize, rectSize-1, rectSize-1)&#10;&#9;&#10;&#9;-- apply glow around rect&#10;&#9;drawgloweffect(0x000000, glowSize)&#10;&#9;&#10;&#9;--hudsnapshot(&quot;glow&quot;, 100)&#10;end&#10;&#10;local function copyequip()&#10;&#9;local slotLocations = {37, 2, 0, 16, 74, 16, 37, 39, 74, 53, 0, 53, 37, 76, 37, 113, 0, 90, 74, 90}&#10;&#9;local equipx, equipy = getwindowpos(&quot;equip&quot;)&#10;&#9;&#10;&#9;if equipx ~= nil then&#10;&#9;&#9;local destx = $worldwin.width - 123 - 16&#10;&#9;&#9;local desty = $worldwin.height - 155 - 16&#10;&#9;&#10;&#9;&#9;for i=1,10 do&#10;&#9;&#9;&#9;local slotx = 10 + slotLocations[i*2-1]&#10;&#9;&#9;&#9;local sloty = 4 + slotLocations[i*2]&#10;&#9;&#9;&#9;&#10;&#9;&#9;&#9;-- add glow&#10;&#9;&#9;&#9;setcompositionmode(CompositionMode_SourceOver)&#10;&#9;&#9;&#9;drawtexture(glowTexture, destx+slotx-2, desty+sloty-2, 100)&#10;&#9;&#9;&#9;&#10;&#9;&#9;&#9;-- copy equip slot&#10;&#9;&#9;&#9;setcompositionmode(CompositionMode_Automatic)&#10;&#9;&#9;&#9;drawtexture(clientTexture, destx+slotx, desty+sloty, 100, equipx - $clientwin.x + slotx, equipy - $clientwin.y + sloty, 34, 34)&#10;&#9;&#9;end&#10;&#9;end&#10;end&#10;&#10;local function hideregion(r)&#10;&#9;if hideMethod == &quot;shuffle&quot; or hideMethod == &quot;both&quot; then&#10;&#9;&#9;drawshufflepixelseffect(r.left, r.top, r.width, r.height)&#10;&#9;end&#10;&#9;&#10;&#9;if hideMethod == &quot;blur&quot; or hideMethod == &quot;both&quot; then&#10;&#9;&#9;drawblureffect(r.left, r.top, r.width, r.height, 8, 2)&#10;&#9;end&#10;end&#10;&#10;local function takeshot()&#10;&#9;if hudready(clientTexture) and hudready(shotTexture) and hudready(glowTexture) then&#10;&#9;&#9;local worldx = $worldwin.x - $clientwin.x&#10;&#9;&#9;local worldy = $worldwin.y - $clientwin.y&#10;&#9;&#9;local worldw = $worldwin.width&#10;&#9;&#9;local worldh = $worldwin.height&#10;&#10;&#9;&#9;-- grab whole client screen&#10;&#9;&#9;selecthud(clientTexture)&#10;&#9;&#9;setfixedsize($clientwin.width, $clientwin.height)&#10;&#9;&#9;grabclientwindow()&#10;&#9;&#9;&#10;&#9;&#9;if saveOriginal then&#10;&#9;&#9;&#9;hudsnapshot(fileName .. &quot;.original&quot;, 100)&#10;&#9;&#9;end&#10;&#9;&#9;&#10;&#9;&#9;-- hide information&#10;&#9;&#9;if hidePersonalInfo then&#9;&#9;&#10;&#9;&#9;&#9;-- hide name in chat text in world window ($name says:)&#10;&#9;&#9;&#9;hideclienttext($name, worldx, worldy, worldw, worldh, true, hideMethod, 8, 2, textSearchTolerance)&#10;&#9;&#9;&#9;&#10;&#9;&#9;&#9;if createFullVersion then&#10;&#9;&#9;&#9;&#9;-- hide name in chat window&#10;&#9;&#9;&#9;&#9;hideclienttext($name, 0, worldy + worldh + 62, -194, -22, false, hideMethod, 8, 2)&#10;&#9;&#9;&#9;&#9;&#10;&#9;&#9;&#9;&#9;-- hide private channel names&#10;&#9;&#9;&#9;&#9;foreach channel c do&#10;&#9;&#9;&#9;&#9;&#9;if c.outid &gt; 6 then&#10;&#9;&#9;&#9;&#9;&#9;&#9;hideclienttext(c.name, 0, worldy + worldh + 44, -194, 16, true, hideMethod, 8, 2)&#10;&#9;&#9;&#9;&#9;&#9;end&#10;&#9;&#9;&#9;&#9;end&#10;&#9;&#9;&#9;end&#10;&#9;&#9;&#9;&#10;&#9;&#9;&#9;-- hide name above char, in case the other way failed (text/other names on top?)&#10;&#9;&#9;&#9;local r = getnamearea($self, worldw, worldh)&#10;&#9;&#9;&#9;if r then&#10;&#9;&#9;&#9;&#9;-- map to client coordinates, and expand&#10;&#9;&#9;&#9;&#9;r.left = r.left + worldx&#10;&#9;&#9;&#9;&#9;r.top = r.top + worldy + 1&#10;&#9;&#9;&#9;&#9;r.width = r.width + 1&#10;&#9;&#9;&#9;&#9;r.height = r.height + 2&#10;&#9;&#9;&#9;&#9;&#10;&#9;&#9;&#9;&#9;-- hide the region&#10;&#9;&#9;&#9;&#9;hideregion(r)&#10;&#9;&#9;&#9;end&#10;&#9;&#9;end&#10;&#9;&#9;&#10;&#9;&#9;if drawHuds and not $windowsxp then&#10;&#9;&#9;&#9;-- draw huds transparently&#10;&#9;&#9;&#9;setcompositionmode(CompositionMode_SourceOver)&#10;&#9;&#9;&#9;&#10;&#9;&#9;&#9;local i = 0&#10;&#9;&#9;&#9;while isscript(&quot;display&quot;, i) do&#10;&#9;&#9;&#9;&#9;local listname = scriptlistname(&quot;display&quot;, i)&#10;&#9;&#9;&#9;&#9;local x = nil&#10;&#9;&#9;&#9;&#9;local y = nil&#10;&#9;&#9;&#9;&#9;&#10;&#9;&#9;&#9;&#9;if relocateHuds then&#10;&#9;&#9;&#9;&#9;&#9;for _, h in ipairs(relocateLocations) do&#10;&#9;&#9;&#9;&#9;&#9;&#9;if h.name == listname then&#10;&#9;&#9;&#9;&#9;&#9;&#9;&#9;if h.x &lt; 0 then x = worldx + worldw + h.x else x = worldx + h.x end&#10;&#9;&#9;&#9;&#9;&#9;&#9;&#9;if h.y &lt; 0 then y = worldy + worldh + h.y else y = worldy + h.y end&#10;&#9;&#9;&#9;&#9;&#9;&#9;end&#10;&#9;&#9;&#9;&#9;&#9;end&#10;&#9;&#9;&#9;&#9;end&#10;&#9;&#9;&#9;&#9;&#10;&#9;&#9;&#9;&#9;grabhud(listname, x, y)&#10;&#9;&#9;&#9;&#9;&#10;&#9;&#9;&#9;&#9;i = i + 1&#10;&#9;&#9;&#9;end&#10;&#9;&#9;&#9;&#10;&#9;&#9;&#9;-- restore changed defaults&#10;&#9;&#9;&#9;setcompositionmode(CompositionMode_Automatic)&#10;&#9;&#9;end&#10;&#10;&#9;&#9;-- draw windbot logo&#10;&#9;&#9;setcompositionmode(CompositionMode_SourceOver)&#10;&#10;&#9;&#9;local logow, logoh = 64, 64&#10;&#9;&#9;drawimage('windbot.png', worldx + 5, worldy + worldh - (logoh + 25), 0, 0, logow, logoh)&#10;&#10;&#9;&#9;-- restore changed defaults&#10;&#9;&#9;setcompositionmode(CompositionMode_Automatic)&#10;&#9;&#9;&#10;&#9;&#9;if createFullVersion then&#10;&#9;&#9;&#9;hudsnapshot(fileName .. &quot;.full&quot;, 100)&#10;&#9;&#9;end&#10;&#9;&#9;&#10;&#9;&#9;if createWorldVersion then&#10;&#9;&#9;&#9;-- render a glow effect to place under equip&#10;&#9;&#9;&#9;if not glowRendered then&#10;&#9;&#9;&#9;&#9;renderglow()&#10;&#9;&#9;&#9;&#9;glowRendered = true&#10;&#9;&#9;&#9;end&#10;&#9;&#9;&#10;&#9;&#9;&#9;-- switch to screenshot texture&#10;&#9;&#9;&#9;selecthud(shotTexture)&#10;&#9;&#9;&#9;setfixedsize(worldw, worldh)&#10;&#9;&#9;&#9;&#10;&#9;&#9;&#9;-- copy world area of client&#10;&#9;&#9;&#9;drawtexture(clientTexture, 0, 0, 100, worldx, worldy, worldw, worldh)&#10;&#9;&#9;&#10;&#9;&#9;&#9;-- copy equipment&#10;&#9;&#9;&#9;if showEquipment then&#10;&#9;&#9;&#9;&#9;copyequip()&#10;&#9;&#9;&#9;end&#10;&#9;&#9;&#10;&#9;&#9;&#9;-- save texture to file&#10;&#9;&#9;&#9;hudsnapshot(fileName .. &quot;.world&quot;, 100)&#10;&#9;&#9;&#9;&#10;&#9;&#9;&#9;-- free texture&#10;&#9;&#9;&#9;freetexture(shotTexture)&#10;&#9;&#9;end&#10;&#9;&#9;&#10;&#9;&#9;-- release texture contents to free memory (without deleting it)&#10;&#9;&#9;-- we won't be using it until next screenshot&#10;&#9;&#9;&#10;&#9;&#9;freetexture(clientTexture)&#10;&#9;end&#10;end&#10;&#10;function smartscreenshot(name)&#10;&#9;takeScreenshot = true&#10;&#9;fileName = name or 'smartss'&#10;end&#10;&#10;auto(50)&#10;&#10;init end&#10;&#10;-- runtime part&#10;&#10;if takeScreenshot then&#10;&#9;if not TakingScreenshot then&#10;&#9;&#9;-- huds can check for TakingScreenshot type&#10;&#9;&#9;-- to avoid drawing identifiable information&#10;&#9;&#9;&#10;&#9;&#9;TakingScreenshot = hideHudInfo and (&quot;hide_personal_info method:&quot; .. hideMethod) or &quot;normal&quot;&#10;&#9;&#9;&#10;&#9;&#9;debugscript(&quot;Taking screenshot&quot;)&#10;&#9;&#9;&#10;&#9;&#9;-- huds can be hidden and outdated if client not focused&#10;&#9;&#9;-- and give chance for hud to hide personal info&#10;&#9;&#9;forcerefreshhuds()&#10;&#9;&#9;&#10;&#9;&#9;debugscript(&quot;Huds refreshed&quot;)&#10;&#9;&#9;&#10;&#9;&#9;-- take the screenshot&#10;&#9;&#9;takeshot()&#10;&#9;&#9;&#10;&#9;&#9;debugscript(&quot;Done&quot;)&#10;&#9;&#9;&#10;&#9;&#9;TakingScreenshot = nil&#10;&#9;end&#10;&#9;&#10;&#9;takeScreenshot = false&#10;end" enabled="yes" refreshRate="100"/>
  34. <HUDScript name="MonitorMyStats" script="init start&#10; --&#10; -- 88 &#10; -- &quot;&quot; ,d &#10; -- 88 &#10; -- ,adPPYba, 88 8b,dPPYba, 88,dPYba,,adPYba, ,adPPYYba, MM88MMM ,adPPYba, &#10; -- I8[ &quot;&quot; 88 88P' &quot;Y8 88P' &quot;88&quot; &quot;8a &quot;&quot; `Y8 88 a8P_____88 &#10; -- `&quot;Y8ba, 88 88 88 88 88 ,adPPPPP88 88 8PP&quot;&quot;&quot;&quot;&quot;&quot;&quot; &#10; -- aa ]8I 88 88 88 88 88 88, ,88 88, &quot;8b, ,aa &#10; -- `&quot;YbbdP&quot;' 88 88 88 88 88 `&quot;8bbdP&quot;Y8 &quot;Y888 `&quot;Ybbd8&quot;' &#10; --&#10;&#10; -- Name: Monitor My Stats&#10; -- Last Updated: 19/12/2013&#10; -- Version: 1.0&#10;&#10; local MMS = {&#10; ShowInfo = true,&#10;&#10; Title = 'SCRIPT INFO',&#10; Creator = 'by '..getuseroption('scriptauthor'),&#10; Info = '[ED/MS] Hidden Crystal Spiders',&#10; Version = getuseroption('scriptversion')&#10; }&#10;&#10; -- [[ Do not change anything below this line. ]] --&#10;&#10; filterinput(false, true, false, false)&#10;&#10; local HUD_Sections = {&#10; {Name = 'OTHERS', State = true, Items = {&#10; {'Ping', function() return $ping .. ' (avg: ' .. $pingaverage .. ')' end},&#10; {'Bank Balance', function() return num($balance) end},&#10; }&#10; },&#10;&#10; {Name = 'CHARACTER STATS', State = true, Items = {&#10; {'Level', function() return $level .. ' (' .. 100 - math.floor(($exp - expatlvl($level)) * 100 / (expatlvl($level + 1) - expatlvl($level))) .. '%)' end},&#10; {'Experience', function() return num($exp) end},&#10; {'Magic Level', function() return $mlevel .. ' (' .. 100 - $mlevelpc .. '%)' end},&#10; {'Weapon Skill', function() local _ = WeaponSkill() return _.skill .. ' (' .. 100 - _.skillpc .. '%)' end},&#10; {'Shielding', function() return $shielding .. ' (' .. 100 - $shieldingpc .. '%)' end},&#10; {'Fishing', function() return $fishing .. ' (' .. 100 - $fishingpc .. '%)' end}&#10; }&#10; },&#10;&#10; {Name = 'ENGINE STATES', State = true, Items = {&#10; {'Spell Healer', function() return getsetting('SpellHealer/Enabled') end, function() return toggle('SpellHealer/Enabled') end},&#10; {'Potion Healer', function() return getsetting('PotionHealer/Enabled') end, function() return toggle('PotionHealer/Enabled') end},&#10; {'Condition Healer', function() return getsetting('ConditionHealer/Enabled') end, function() return toggle('ConditionHealer/Enabled') end},&#10; {'Mana Training', function() return getsetting('ManaTrainer/Enabled') end, function() return toggle('ManaTrainer/Enabled') end},&#10; {'Cavebot', function() return getsetting('Cavebot/Enabled') end, function() return toggle('Cavebot/Enabled') end},&#10; {'Looting', function() return getsetting('Looting/Enabled') end, function() return toggle('Looting/Enabled') end},&#10; {'Targeting', function() return getsetting('Targeting/Enabled') end, function() return toggle('Targeting/Enabled') end}&#10; }&#10; },&#10;&#10; {Name = 'BOTTING STATS', State = true, Items = {&#10; {'Experience per Hour', function() return num($exphour) end},&#10; {'Experience Left', function() return num(exptolevel()) end},&#10; {'Experience Today', function() return num($expgained) end},&#10; {'Time to Next Level', function() return time(timetolevel()) end},&#10; {'Played Time', function() return time(math.floor($charactertime / 1000)) end},&#10; {'Stamina', function() return time($stamina) end}&#10; }&#10; }&#10; }&#10;&#10; local HUD_Colors = {&#10; Font = color(255, 255, 255, 0),&#10; SectionHeaderBackground = {0.0, color(36, 68, 105, 20), 0.23, color(39, 73, 114, 20), 0.76, color(21, 39, 60, 20)},&#10; EntryNameBackground = {0.0, color(75, 75, 75, 20), 0.23, color(45, 45, 45, 20), 0.76, color(19, 19, 19, 20)},&#10; EntryValueBackground = {0.0, color(145, 95, 0, 20), 0.23, color(158, 104, 0, 20), 0.76, color(84, 55, 0, 20)},&#10; EntryValueEnabledBackground = {0.0, color(65, 96, 12, 20), 0.23, color(67, 99, 13, 20), 0.76, color(36, 52, 6, 20)},&#10; EntryValueDisabledBackground = {0.0, color(90, 12, 15, 20), 0.23, color(98, 13, 17, 20), 0.76, color(52, 6, 9, 20)},&#10; }&#10;&#10; function WeaponSkill()&#10; local SkillTypes = {&#10; ['axe'] = {type = 'axe', skill = $axe, skillpc = $axepc},&#10; ['club'] = {type = 'club', skill = $club, skillpc = $clubpc},&#10; ['sword'] = {type = 'sword', skill = $sword, skillpc = $swordpc},&#10; ['bow'] = {type = 'distance', skill = $distance, skillpc = $distancepc},&#10; ['distance weapon'] = {type = 'distance', skill = $distance, skillpc = $distancepc},&#10; ['no weapon'] = {type = 'fist', skill = $fist, skillpc = $fistpc},&#10; ['rod'] = {type = 'magic', skill = $mlevel, skillpc = $mlevelpc},&#10; ['wand'] = {type = 'magic', skill = $mlevel, skillpc = $mlevelpc},&#10; }&#10;&#10; return SkillTypes[findweapontype()]&#10; end&#10;&#10; local Moving, Temp, Moved = false, {0, 0}, {0, 0}&#10;&#10; function inputevents(e)&#10; if (e.type == IEVENT_LMOUSEDOWN) then&#10; for _, Section in ipairs(HUD_Sections) do&#10; if (e.elementid == Section.StateSwitch) then&#10; Section.State = not Section.State&#10; return&#10; end&#10; end&#10; for _, Section in ipairs(HUD_Sections) do&#10; if (Section.Name == 'ENGINE STATES') then&#10; for _, SectionItem in ipairs(Section.Items) do&#10; if (e.elementid == SectionItem[4]) then&#10; SectionItem[3]()&#10; return&#10; end&#10; end&#10; end&#10; end&#10; end&#10;&#10; if (e.type == IEVENT_MMOUSEDOWN) then&#10; Moving, Temp = true, {$cursor.x - Moved[1], $cursor.y - Moved[2]}&#10; end&#10;&#10; if (e.type == IEVENT_MMOUSEUP) then&#10; Moving = false&#10; end&#10; end&#10; &#10; setmaskcolorxp(0)&#10;init end&#10;&#10;if (Moving) then&#10; auto(10)&#10; Moved = {$cursor.x - Temp[1], $cursor.y - Temp[2]}&#10;end&#10;&#10;setposition($clientwin.left + 5 + Moved[1], $worldwin.top + 15 + Moved[2])&#10;setfontstyle('Tahoma', 8, 75, 0xFFFFFF, 1, color(0, 0, 0, 20))&#10;&#10;local YPosition, SectionRow, SectionItemsRow = 0, 0, 0&#10;&#10;if MMS.ShowInfo then&#10; local StringWidth, StringHeight = measurestring('TEMP')&#10;&#10; setfillstyle('gradient', 'linear', 2, 0, 0, 0, 22)&#10; addgradcolors(unpack(HUD_Colors.SectionHeaderBackground))&#10; drawroundrect(0, 0, 240, 21, 2, 2)&#10; drawtext(MMS.Title, 6, 21 / 2 - StringHeight * 0.5)&#10;&#10; setfillstyle('gradient', 'linear', 2, 0, 0, 0, 22)&#10; addgradcolors(unpack(HUD_Colors.EntryValueBackground))&#10; drawroundrect(130, 0, 110, 21, 2, 2)&#10; drawtext(MMS.Creator, 136, 21 / 2 - StringHeight * 0.5)&#10;&#10; setfontsize(7)&#10;&#10; local StringWidth, StringHeight = measurestring('TEMP')&#10;&#10; setfillstyle('gradient', 'linear', 2, 0, 0, 0, 16)&#10; addgradcolors(unpack(HUD_Colors.EntryNameBackground))&#10; drawroundrect(0, 24 + 0 * 18, 240, 15, 2, 2)&#10; drawtext(MMS.Info, 6, 24 + 0 * 18 + 15 / 2 - StringHeight * 0.5 + 1)&#10; &#10; setfillstyle('gradient', 'linear', 2, 0, 0, 0, 16)&#10; addgradcolors(unpack(HUD_Colors.EntryNameBackground))&#10; drawroundrect(0, 24 + 1 * 18, 240, 15, 2, 2)&#10; drawtext('Script version:', 6, 24 + 1 * 18 + 15 / 2 - StringHeight * 0.5 + 1)&#10; &#10; setfillstyle('gradient', 'linear', 2, 0, 0, 0, 16)&#10; addgradcolors(unpack(HUD_Colors.EntryValueBackground))&#10; drawroundrect(130, 24 + 1 * 18, 110, 15, 2, 2)&#10; drawtext(MMS.Version, 136, 24 + 1 * 18 + 15 / 2 - StringHeight * 0.5 + 1)&#10; &#10; YPosition = 22 + 2 * 19&#10;end&#10;&#10;for SectionIndex, Section in ipairs(HUD_Sections) do&#10; setfontsize(8)&#10;&#10; local StringWidth, StringHeight = measurestring('TEMP')&#10;&#10; setfillstyle('gradient', 'linear', 2, 0, 0, 0, 21)&#10; addgradcolors(unpack(HUD_Colors.SectionHeaderBackground))&#10; drawroundrect(0, YPosition + (SectionRow * 23) + (SectionItemsRow * 19), 240, 20, 2, 2)&#10; drawtext(Section.Name, 6, YPosition + (SectionRow * 23) + (SectionItemsRow * 19) + 20 / 2 - StringHeight * 0.5 + 1)&#10;&#10; setfillstyle('gradient', 'linear', 2, 0, 0, 0, 21)&#10; if (Section.State) then&#10; addgradcolors(unpack(HUD_Colors.EntryValueEnabledBackground))&#10; else&#10; addgradcolors(unpack(HUD_Colors.EntryValueDisabledBackground))&#10; end&#10; Section.StateSwitch = drawroundrect(220, YPosition + (SectionRow * 23) + (SectionItemsRow * 19), 20, 20, 2, 2)&#10; drawtext('X', 228, YPosition + (SectionRow * 23) + (SectionItemsRow * 19) + 20 / 2 - StringHeight * 0.5 + 1)&#10;&#10; SectionRow = SectionRow + 1&#10;&#10; if (Section.State) then&#10; setfontsize(7)&#10;&#10; local StringWidth, StringHeight = measurestring('TEMP')&#10;&#10; for SectionItemIndex, SectionItem in ipairs(Section.Items) do&#10; setfillstyle('gradient', 'linear', 2, 0, 0, 0, 17) &#10; addgradcolors(unpack(HUD_Colors.EntryNameBackground))&#10; drawroundrect(0, YPosition + (SectionRow * 23) + (SectionItemsRow * 19), 240, 16, 2, 2)&#10; drawtext(SectionItem[1], 6, YPosition + (SectionRow * 23) + (SectionItemsRow * 19) + 16 / 2 - StringHeight * 0.5 + 1)&#10;&#10; if (Section.Name == 'ENGINE STATES') then&#10; local EngineCurrentState = SectionItem[2]()&#10;&#10; setfillstyle('gradient', 'linear', 2, 0, 0, 0, 17)&#10; if (EngineCurrentState == 'yes') then&#10; addgradcolors(unpack(HUD_Colors.EntryValueEnabledBackground))&#10; else&#10; addgradcolors(unpack(HUD_Colors.EntryValueDisabledBackground))&#10; end&#10; HUD_Sections[SectionIndex].Items[SectionItemIndex][4] = drawroundrect(130, YPosition + (SectionRow * 23) + (SectionItemsRow * 19), 110, 16, 2, 2)&#10;&#10;&#10; drawtext((EngineCurrentState == 'yes' and ('On')) or ('Off'), 136, YPosition + (SectionRow * 23) + (SectionItemsRow * 19) + 16 / 2 - StringHeight * 0.5 + 1)&#10; else&#10; setfillstyle('gradient', 'linear', 2, 0, 0, 0, 17)&#10; addgradcolors(unpack(HUD_Colors.EntryValueBackground))&#10; drawroundrect(130, YPosition + (SectionRow * 23) + (SectionItemsRow * 19), 110, 16, 2, 2)&#10; drawtext(SectionItem[2](), 136, YPosition + (SectionRow * 23) + (SectionItemsRow * 19) + 16 / 2 - StringHeight * 0.5 + 1)&#10; end&#10;&#10; SectionItemsRow = SectionItemsRow + 1&#10; end&#10; end&#10;end" enabled="yes" refreshRate="1000"/>
  35. </HUDScripts>
  36. </HUDs>
  37. <GeneralSettings>
  38. <Input>
  39. <MouseOption mouseMode="Simulate Mouse"/>
  40. <MouseOption scrollMode="Use mouse wheel"/>
  41. <MouseOption stuckCursorPolicy="Release Instantly"/>
  42. <MouseOption moveSpeed="Instantaneous"/>
  43. <MouseOption clickWaitMin="40" clickWaitMax="80"/>
  44. <KeyboardOption keyboardMode="Simulate Keyboard"/>
  45. <KeyboardOption stuckCtrlShiftPolicy="Release Instantly"/>
  46. <KeyboardOption typeWaitMin="50" typeWaitMax="100"/>
  47. <KeyboardOption pressWaitMin="50" pressWaitMax="100"/>
  48. <FocusOption focusPolicy="Don't auto-focus"/>
  49. <FocusOption openMenuPolicy="Confirm menu"/>
  50. </Input>
  51. </GeneralSettings>
  52. <Alerts disableSounds="no">
  53. <alert name="Player On Screen" playSound="no" pauseBot="no" logout="no" safeList="&lt;SafeList&gt;&#10;"/>
  54. <alert name="Player Attacking" playSound="yes" pauseBot="no" logout="no" safeList="&lt;SafeList&gt;&#10;"/>
  55. <alert name="Monster Attacking" playSound="no" pauseBot="no" logout="no" safeList="&lt;SafeList&gt;&#10;"/>
  56. <alert name="Private Message" playSound="no" pauseBot="no" logout="no" safeList="&lt;SafeList&gt;&#10;"/>
  57. <alert name="Default Message" playSound="no" pauseBot="no" logout="no" safeList="&lt;SafeList&gt;&#10;"/>
  58. <alert name="GM Detected" playSound="no" pauseBot="no" logout="no"/>
  59. <alert name="Disconnected" playSound="no" pauseBot="no" logout="no"/>
  60. <alert name="Character Stuck" playSound="no" pauseBot="no" logout="no" standTime="30000"/>
  61. <alert name="Health Below" playSound="no" pauseBot="no" logout="no" healthPercent="50"/>
  62. <alert name="Mana Below" playSound="no" pauseBot="no" logout="no" manaPercent="50"/>
  63. <alert name="Unjust Kill" playSound="no" pauseBot="no" logout="no"/>
  64. <alert name="Enemies Online" playSound="no" pauseBot="no" logout="no" enemiesCount="50"/>
  65. </Alerts>
  66. <Cavebot enabled="yes">
  67. <Options>
  68. <Option shovel="5710"/>
  69. <Option rope="646"/>
  70. <Option machete="3308"/>
  71. <Option pick="3456"/>
  72. <Option nodeRange="5"/>
  73. <Option pauseBotOnDeath="yes"/>
  74. <Option refillAmmo="no" refillAmmoMin="30" refillAmmoMax="70"/>
  75. <Option autoMount="no"/>
  76. <Option fireAvoidanceMin="0" fireAvoidanceMax="0"/>
  77. <Option energyAvoidanceMin="0" energyAvoidanceMax="0"/>
  78. <Option poisonAvoidanceMin="0" poisonAvoidanceMax="0"/>
  79. <Option walkThroughPlayers="yes"/>
  80. <Option walkMethod="Walk With Map-Clicks"/>
  81. <Option walkableItems="105, 140, 404, 831, 832, 833, 834, 1998, 1999, 2000, 2118, 2119, 2120, 2121, 2122, 2123, 2124, 2125, 2126, 2127, 2128, 2129, 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, 2138, 2140, 2314, 2315, 2316, 2319, 2346, 2347, 2348, 2349, 2350, 2351, 2352, 2353, 2354, 2355, 2356, 2357, 2358, 2359, 2360, 2361, 2362, 2363, 2364, 2365, 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2383, 2384, 2385, 2386, 2426, 2430, 2431, 2432, 2433, 2434, 2441, 2469, 2470, 2471, 2472, 2473, 2474, 2475, 2476, 2477, 2478, 2480, 2481, 2482, 2483, 2484, 2485, 2486, 2519, 2523, 2775, 2776, 2777, 2778, 2779, 2780, 2781, 2782, 2783, 2784, 2785, 2786, 2787, 2788, 2789, 2790, 2791, 2792, 2793, 2794, 2795, 2796, 2797, 2798, 2799, 2800, 2801, 2802, 2803, 2804, 2805, 2806, 2807, 2808, 2809, 2810, 2811, 2812, 2981, 2983, 2984, 2985, 2987, 2988, 3503, 3504, 3514, 3666, 4054, 5086, 5087, 5088, 6114, 6115, 6371, 6372, 7864, 8519, 8520, 8521, 8522, 8763, 9061, 9062, 9630, 10181, 10182, 10207, 10209, 10216, 10288, 10978, 10979, 11010, 11011, 11012, 11013, 11540, 11800, 11801, 11802, 11803, 11806, 11808, 11809, 11810, 12743, 14237, 14421, 14425, 14426, 14427, 14428, 17361, 17364, 17365, 17367, 17972, 17974, 17975, 17977"/>
  82. <Option mapWalkDistMin="20" mapWalkDistMax="50"/>
  83. <Option userOptionsScript="{&#10;&#9;&quot;type&quot; : &quot;scriptinfo&quot;,&#10;&#9;&quot;name&quot; : &quot;MS - Hidden Crystal Spiders&quot;,&#10;&#9;&quot;version&quot; : &quot;2.0.0&quot;,&#10;&#9;&quot;author&quot; : &quot;RoxZin xD&quot;&#10;},&#10; {&#10; &quot;type&quot; : &quot;group&quot;,&#10; &quot;name&quot; : &quot;Optionals&quot;,&#10; &quot;children&quot; :&#10; [&#10; &#9;{&#10;&#9;&#9;&quot;type&quot; : &quot;checkbox&quot;,&#10;&#9;&#9;&quot;name&quot; : &quot;PVP on?&quot;,&#10;&#9;&#9;&quot;description&quot; : &quot;Check this box if you wish to be PVP-safe.&quot;,&#10;&#9;&#9;&quot;text&quot; : &quot;PVP Settings&quot;,&#10;&#9;&#9;&quot;value&quot; : false&#10;&#9;},&#10; &#9;{&#10;&#9;&#9;&quot;type&quot; : &quot;checkbox&quot;,&#10;&#9;&#9;&quot;name&quot; : &quot;Use Reach?&quot;,&#10;&#9;&#9;&quot;description&quot; : &quot;Check this box if you wish to use reach.&quot;,&#10;&#9;&#9;&quot;text&quot; : &quot;Use Reach&quot;,&#10;&#9;&#9;&quot;value&quot; : false&#10;&#9;},&#10; &#9;{&#10;&#9;&#9;&quot;type&quot; : &quot;checkbox&quot;,&#10;&#9;&#9;&quot;name&quot; : &quot;Haste on Spawn?&quot;,&#10;&#9;&#9;&quot;description&quot; : &quot;Check this box if you wish to use haste on spawn.&quot;,&#10;&#9;&#9;&quot;text&quot; : &quot;Haste on Spawn&quot;,&#10;&#9;&#9;&quot;value&quot; : false&#10;&#9;},&#10; &#9;{&#10;&#9;&#9;&quot;type&quot; : &quot;checkbox&quot;,&#10;&#9;&#9;&quot;name&quot; : &quot;Soft Refill?&quot;,&#10;&#9;&#9;&quot;description&quot; : &quot;Check this box if you wish to refill soft boots.&quot;,&#10;&#9;&#9;&quot;text&quot; : &quot;Soft Refill&quot;,&#10;&#9;&#9;&quot;value&quot; : false&#10;&#9;},&#10; &#9;{&#10;&#9;&#9;&quot;type&quot; : &quot;spinbox&quot;,&#10;&#9;&#9;&quot;name&quot; : &quot;Softs to Refill?&quot;,&#10;&#9;&#9;&quot;description&quot; : &quot;Choose the amount of soft boots to refill.&quot;,&#10;&#9;&#9;&quot;text&quot; : &quot;Low Softs:&quot;,&#10;&#9;&#9;&quot;min&quot; : 1,&#10;&#9;&#9;&quot;suffix&quot; : &quot; worn softs&quot;,&#10;&#9;&#9;&quot;value&quot; : 1&#10;&#9;},&#10; &#9;{&#10;&#9;&#9;&quot;type&quot; : &quot;checkbox&quot;,&#10;&#9;&#9;&quot;name&quot; : &quot;Use Training Statues?&quot;,&#10;&#9;&#9;&quot;description&quot; : &quot;Check this box if you wish to use training statues.&quot;,&#10;&#9;&#9;&quot;text&quot; : &quot;Offline Trainer&quot;,&#10;&#9;&#9;&quot;value&quot; : true&#10;&#9;},&#10;&#9;{&#10;&#9;&#9;&quot;type&quot; : &quot;combobox&quot;,&#10; &#9;&#9;&quot;name&quot; : &quot;Statue to use:&quot;,&#10;&#9;&#9;&quot;description&quot; : &quot;Choose the skill you wish to train.&quot;,&#10; &#9;&#9;&quot;text&quot; : &quot;Skill to train:&quot;,&#10; &#9;&#9;&quot;items&quot; : [&quot;Axe [[item: stonecutter axe]]&quot;, &quot;Club [[item: thunder hammer]]&quot;, &quot;Distance [[item: warsinger bow]]&quot;, &quot;Magic [[item: spellbook of ancient arcana]]&quot;, &quot;Sword [[item: magic sword]]&quot;]&#10;&#9;},&#10;&#9;{&#10; &#9;&#9;&quot;type&quot; : &quot;lineedit&quot;,&#10; &#9;&#9;&quot;name&quot; : &quot;Capacity to leave cave?&quot;,&#10;&#9;&#9;&quot;description&quot; : &quot;Write the capacity to leave cave.&quot;,&#10; &#9;&#9;&quot;text&quot; : &quot;Min Cap:&quot;,&#10; &#9;&#9;&quot;value&quot; : &quot;150&quot;&#10;&#9;},&#10; &#9;{&#10;&#9;&#9;&quot;type&quot; : &quot;checkbox&quot;,&#10;&#9;&#9;&quot;name&quot; : &quot;Optimize Hunting?&quot;,&#10;&#9;&#9;&quot;description&quot; : &quot;Check this box if you wish to optimize hunting.\n(Or if you have high ping)&quot;,&#10;&#9;&#9;&quot;text&quot; : &quot;High Ping&quot;,&#10;&#9;&#9;&quot;value&quot; : true&#10;&#9;}&#10; ]&#10;},&#10;{&#10;&#9;&quot;type&quot; : &quot;group&quot;,&#10;&#9;&quot;name&quot; : &quot;Supplies Setup&quot;,&#10;&#9;&quot;column&quot; : 2,&#10;&#9;&quot;children&quot; : [&#10; &#9;{&#10;&#9;&#9;&quot;type&quot; : &quot;checkbox&quot;,&#10;&#9;&#9;&quot;name&quot; : &quot;Withdraw Supplies?&quot;,&#10;&#9;&#9;&quot;description&quot; : &quot;Check this box if you wish to optimize hunting.\n(Or if you have high ping)&quot;,&#10;&#9;&#9;&quot;text&quot; : &quot;Withdraw Supplies&quot;,&#10;&#9;&#9;&quot;value&quot; : false&#10;&#9;},&#10;&#9;{&#10;&#9;&#9;&quot;type&quot; : &quot;combobox&quot;,&#10;&#9;&#9;&quot;name&quot; : &quot;MP Name&quot;,&#10;&#9;&#9;&quot;description&quot; : &quot;Choose the mana potion you wish to use.&quot;,&#10;&#9;&#9;&quot;text&quot; : &quot;Manas:&quot;,&#10;&#9;&#9;&quot;items&quot; : [&quot;Strong Mana Potion [[item: strong mana potion]]&quot;, &quot;Great Mana Potion [[item: great mana potion]]&quot;]&#10;&#9;},&#10; &#9;{&#10; &#9;&#9;&quot;type&quot; : &quot;lineedit&quot;,&#10; &#9;&#9;&quot;name&quot; : &quot;Total amount of MP to buy.&quot;,&#10;&#9;&#9;&quot;description&quot; : &quot;Write the total amount of MP to buy.&quot;,&#10; &#9;&#9;&quot;text&quot; : &quot;Total MP:&quot;,&#10; &#9;&#9;&quot;value&quot; : &quot;200&quot;&#10; &#9;},&#10; &#9;{&#10; &#9;&#9;&quot;type&quot; : &quot;lineedit&quot;,&#10; &#9;&#9;&quot;name&quot; : &quot;Amount of MP to skip refill.&quot;,&#10;&#9;&#9;&quot;description&quot; : &quot;Write the amount of MP to skip refill.&quot;,&#10; &#9;&#9;&quot;text&quot; : &quot;Hunt MP:&quot;,&#10; &#9;&#9;&quot;value&quot; : &quot;150&quot;&#10; &#9;},&#10; &#9;{&#10; &#9;&#9;&quot;type&quot; : &quot;lineedit&quot;,&#10; &#9;&#9;&quot;name&quot; : &quot;Amount of MP to leave.&quot;,&#10;&#9;&#9;&quot;description&quot; : &quot;Write the amount of MP to leave.&quot;,&#10; &#9;&#9;&quot;text&quot; : &quot;Leave MP:&quot;,&#10; &#9;&#9;&quot;value&quot; : &quot;60&quot;&#10; &#9;},&#10; &#9;{&#10;&#9;&#9;&quot;type&quot; : &quot;checkbox&quot;,&#10;&#9;&#9;&quot;name&quot; : &quot;Rune Refill?&quot;,&#10;&#9;&#9;&quot;description&quot; : &quot;Check this box if you wish to refill runes.&quot;,&#10;&#9;&#9;&quot;text&quot; : &quot;Rune Refill&quot;,&#10;&#9;&#9;&quot;value&quot; : false&#10;&#9;},&#10;&#9;{&#10;&#9;&#9;&quot;type&quot; : &quot;combobox&quot;,&#10;&#9;&#9;&quot;name&quot; : &quot;Rune Name&quot;,&#10;&#9;&#9;&quot;description&quot; : &quot;Choose the rune you wish to use.&quot;,&#10;&#9;&#9;&quot;text&quot; : &quot;Runes:&quot;,&#10;&#9;&#9;&quot;items&quot; : [&quot;Thunderstorm Rune [[item: thunderstorm rune]]&quot;]&#10;&#9;},&#10;&#9;{&#10; &#9;&#9;&quot;type&quot; : &quot;lineedit&quot;,&#10; &#9;&#9;&quot;name&quot; : &quot;Total amount of Rune to buy.&quot;,&#10;&#9;&#9;&quot;description&quot; : &quot;Write the total amount of Rune to buy.&quot;,&#10; &#9;&#9;&quot;text&quot; : &quot;Total Rune:&quot;,&#10; &#9;&#9;&quot;value&quot; : &quot;250&quot;&#10; &#9;},&#10; &#9;{&#10; &#9;&#9;&quot;type&quot; : &quot;lineedit&quot;,&#10; &#9;&#9;&quot;name&quot; : &quot;Amount of Rune to skip refill.&quot;,&#10;&#9;&#9;&quot;description&quot; : &quot;Write the amount of Rune to skip refill.&quot;,&#10; &#9;&#9;&quot;text&quot; : &quot;Hunt Rune:&quot;,&#10; &#9;&#9;&quot;value&quot; : &quot;95&quot;&#10; &#9;},&#10; &#9;{&#10; &#9;&#9;&quot;type&quot; : &quot;lineedit&quot;,&#10; &#9;&#9;&quot;name&quot; : &quot;Amount of Rune to leave.&quot;,&#10;&#9;&#9;&quot;description&quot; : &quot;Write the amount of Rune to leave.&quot;,&#10; &#9;&#9;&quot;text&quot; : &quot;Leave Rune:&quot;,&#10; &#9;&#9;&quot;value&quot; : &quot;20&quot;&#10; &#9;}&#10; ]&#10;},&#10;{&#10;&#9;&quot;type&quot; : &quot;group&quot;,&#10;&#9;&quot;name&quot; : &quot;Food Refill?&quot;,&#10;&#9;&quot;description&quot; : &quot;Check this box if you wish to refill food.&quot;,&#10;&#9;&quot;text&quot; : &quot;Food Refill&quot;,&#10;&#9;&quot;checkable&quot; : true,&#10;&#9;&quot;column&quot; : 2, &#10;&#9;&quot;value&quot; : true,&#10;&#9;&quot;children&quot; : [&#10;&#9;{&#10;&#9;&#9;&quot;type&quot; : &quot;combobox&quot;,&#10;&#9;&#9;&quot;name&quot; : &quot;Food Name&quot;,&#10;&#9;&#9;&quot;description&quot; : &quot;Choose the food you wish to use.&quot;,&#10;&#9;&#9;&quot;text&quot; : &quot;Food:&quot;,&#10;&#9;&#9;&quot;items&quot; : [&quot;Brown Mushroom [[item: brown mushroom]]&quot;]&#10;&#9;},&#10; &#9;{&#10; &#9;&#9;&quot;type&quot; : &quot;lineedit&quot;,&#10; &#9;&#9;&quot;name&quot; : &quot;Total amount of food to buy.&quot;,&#10;&#9;&#9;&quot;description&quot; : &quot;Write the total amount of food to buy.&quot;,&#10; &#9;&#9;&quot;text&quot; : &quot;Total Food:&quot;,&#10; &#9;&#9;&quot;value&quot; : &quot;100&quot;&#10;&#9;},&#10; &#9;{&#10; &#9;&#9;&quot;type&quot; : &quot;lineedit&quot;,&#10; &#9;&#9;&quot;name&quot; : &quot;Amount of food to skip refill.&quot;,&#10;&#9;&#9;&quot;description&quot; : &quot;Write the amount of food to skip refill.&quot;,&#10; &#9;&#9;&quot;text&quot; : &quot;Hunt Food:&quot;,&#10; &#9;&#9;&quot;value&quot; : &quot;25&quot;&#10;&#9;},&#10; &#9;{&#10; &#9;&#9;&quot;type&quot; : &quot;lineedit&quot;,&#10; &#9;&#9;&quot;name&quot; : &quot;Amount of food to leave.&quot;,&#10;&#9;&#9;&quot;description&quot; : &quot;Write the amount of food to leave.&quot;,&#10; &#9;&#9;&quot;text&quot; : &quot;Low Food:&quot;,&#10; &#9;&#9;&quot;value&quot; : &quot;15&quot;&#10;&#9;}&#10; ]&#10;},&#10;{&#10;&#9;&quot;type&quot; : &quot;group&quot;,&#10;&#9;&quot;name&quot; : &quot;Attacking Setup&quot;,&#10;&#9;&quot;children&quot; : [&#9;&#10;&#9;{&#10;&#9;&#9;&quot;type&quot; : &quot;checkbox&quot;,&#10;&#9;&#9;&quot;name&quot; : &quot;Use UE?&quot;,&#10;&#9;&#9;&quot;description&quot; : &quot;Check this box if you wish to use UE.&quot;,&#10;&#9;&#9;&quot;text&quot; : &quot;Cast UE&quot;, &#10;&#9;&#9;&quot;value&quot; : false&#10;&#9;},&#10;&#9;{&#10;&#9;&#9;&quot;type&quot; : &quot;checkbox&quot;,&#10;&#9;&#9;&quot;name&quot; : &quot;Use Wave?&quot;,&#10;&#9;&#9;&quot;description&quot; : &quot;Check this box if you wish to use wave.&quot;,&#10;&#9;&#9;&quot;text&quot; : &quot;Cast Wave&quot;, &#10;&#9;&#9;&quot;value&quot; : false&#10;&#9;},&#10; &#9;{&#10; &#9;&#9;&quot;type&quot; : &quot;spinbox&quot;,&#10; &#9;&#9;&quot;name&quot; : &quot;Amount of monsters to cast Rune.&quot;,&#10;&#9;&#9;&quot;description&quot; : &quot;Choose the amount of monsters to cast Rune.&quot;,&#10; &#9;&#9;&quot;text&quot; : &quot;Cast Rune If:&quot;,&#10;&#9;&#9;&quot;min&quot; : 1,&#10;&#9;&#9;&quot;suffix&quot; : &quot; monsters&quot;,&#10; &#9;&#9;&quot;value&quot; : 2&#10; &#9;},&#10; &#9;{&#10; &#9;&#9;&quot;type&quot; : &quot;spinbox&quot;,&#10; &#9;&#9;&quot;name&quot; : &quot;Amount of monsters to cast wave.&quot;,&#10;&#9;&#9;&quot;description&quot; : &quot;Choose the amount of monsters to cast wave.&quot;,&#10; &#9;&#9;&quot;text&quot; : &quot;Cast Wave If:&quot;,&#10;&#9;&#9;&quot;min&quot; : 1,&#10;&#9;&#9;&quot;suffix&quot; : &quot; monsters&quot;,&#10; &#9;&#9;&quot;value&quot; : 3&#10; &#9;},&#10;&#9;{&#10; &#9;&#9;&quot;type&quot; : &quot;spinbox&quot;,&#10; &#9;&#9;&quot;name&quot; : &quot;Amount of monsters to cast UE.&quot;,&#10;&#9;&#9;&quot;description&quot; : &quot;Choose the amount of monsters to cast UE.&quot;,&#10; &#9;&#9;&quot;text&quot; : &quot;Cast UE If:&quot;,&#10;&#9;&#9;&quot;min&quot; : 1,&#10;&#9;&#9;&quot;suffix&quot; : &quot; monsters&quot;,&#10; &#9;&#9;&quot;value&quot; : 5&#10;&#9;}&#10; ]&#10;}"/>
  84. </Options>
  85. <SpecialAreas>
  86. <Area name="SpecialArea" x="32128" y="31140" z="5" type="Square (Filled)" width="9" height="1" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  87. <Area name="SpecialArea1" x="32127" y="31143" z="5" type="Square (Filled)" width="1" height="1" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  88. <Area name="SpecialArea2" x="32125" y="31155" z="5" type="Square (Filled)" width="1" height="3" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  89. <Area name="SpecialArea3" x="32126" y="31152" z="5" type="Square (Filled)" width="1" height="1" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  90. <Area name="SpecialArea4" x="32127" y="31165" z="5" type="Square (Filled)" width="6" height="1" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  91. <Area name="SpecialArea5" x="32125" y="31175" z="5" type="Square (Filled)" width="1" height="4" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  92. <Area name="SpecialArea6" x="32115" y="31179" z="5" type="Square (Filled)" width="1" height="1" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  93. <Area name="SpecialArea7" x="32114" y="31175" z="5" type="Square (Filled)" width="1" height="1" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  94. <Area name="SpecialArea8" x="32114" y="31175" z="5" type="Square (Filled)" width="1" height="1" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  95. <Area name="SpecialArea9" x="32107" y="31179" z="5" type="Square (Filled)" width="1" height="1" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  96. <Area name="SpecialArea10" x="32100" y="31174" z="5" type="Square (Filled)" width="1" height="5" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  97. <Area name="SpecialArea11" x="32095" y="31180" z="5" type="Square (Filled)" width="3" height="1" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  98. <Area name="SpecialArea12" x="32101" y="31190" z="5" type="Square (Filled)" width="1" height="3" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  99. <Area name="SpecialArea13" x="32116" y="31193" z="5" type="Square (Filled)" width="5" height="1" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  100. <Area name="SpecialArea14" x="32117" y="31205" z="5" type="Square (Filled)" width="1" height="1" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  101. <Area name="SpecialArea15" x="32122" y="31204" z="5" type="Square (Filled)" width="1" height="1" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  102. <Area name="SpecialArea16" x="32130" y="31191" z="5" type="Square (Filled)" width="3" height="1" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  103. <Area name="SpecialArea17" x="32115" y="31197" z="5" type="Square (Filled)" width="1" height="1" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  104. <Area name="SpecialArea18" x="32095" y="31187" z="5" type="Square (Filled)" width="3" height="1" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  105. <Area name="SpecialArea19" x="32085" y="31195" z="5" type="Square (Filled)" width="1" height="3" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  106. <Area name="SpecialArea20" x="32081" y="31203" z="5" type="Square (Filled)" width="1" height="1" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  107. <Area name="SpecialArea21" x="32086" y="31200" z="5" type="Square (Filled)" width="4" height="1" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  108. <Area name="SpecialArea23" x="32074" y="31211" z="5" type="Square (Filled)" width="1" height="4" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  109. <Area name="SpecialArea24" x="32073" y="31215" z="5" type="Square (Filled)" width="1" height="1" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  110. <Area name="SpecialArea25" x="32070" y="31199" z="5" type="Square (Filled)" width="5" height="1" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  111. <Area name="SpecialArea26" x="32060" y="31193" z="5" type="Square (Filled)" width="5" height="1" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  112. <Area name="SpecialArea27" x="32060" y="31194" z="5" type="Square (Filled)" width="1" height="6" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  113. <Area name="SpecialArea28" x="32051" y="31190" z="5" type="Square (Filled)" width="6" height="1" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  114. <Area name="SpecialArea29" x="32047" y="31193" z="5" type="Square (Filled)" width="1" height="5" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  115. <Area name="SpecialArea30" x="32036" y="31200" z="5" type="Square (Filled)" width="1" height="5" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  116. <Area name="SpecialArea31" x="32050" y="31172" z="5" type="Square (Filled)" width="1" height="6" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  117. <Area name="SpecialArea32" x="32059" y="31172" z="5" type="Square (Filled)" width="1" height="7" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  118. <Area name="SpecialArea33" x="32062" y="31181" z="5" type="Square (Filled)" width="5" height="1" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  119. <Area name="SpecialArea34" x="32064" y="31187" z="5" type="Square (Filled)" width="2" height="1" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  120. <Area name="SpecialArea35" x="32072" y="31185" z="5" type="Square (Filled)" width="1" height="3" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  121. <Area name="SpecialArea36" x="32060" y="31170" z="5" type="Square (Filled)" width="1" height="1" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  122. <Area name="SpecialArea37" x="32070" y="31174" z="5" type="Square (Filled)" width="1" height="4" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  123. <Area name="SpecialArea38" x="32081" y="31182" z="5" type="Square (Filled)" width="5" height="1" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  124. <Area name="SpecialArea39" x="32101" y="31167" z="3" type="Square (Filled)" width="1" height="1" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  125. <Area name="SpecialArea40" x="32080" y="31174" z="3" type="Square (Filled)" width="4" height="1" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  126. <Area name="SpecialArea41" x="32070" y="31178" z="3" type="Square (Filled)" width="1" height="4" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  127. <Area name="SpecialArea42" x="32071" y="31183" z="3" type="Square (Filled)" width="5" height="1" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  128. <Area name="SpecialArea43" x="32055" y="31174" z="3" type="Square (Filled)" width="4" height="1" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  129. <Area name="SpecialArea44" x="32054" y="31185" z="3" type="Square (Filled)" width="2" height="1" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  130. <Area name="SpecialArea45" x="32061" y="31194" z="3" type="Square (Filled)" width="1" height="3" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  131. <Area name="SpecialArea46" x="32072" y="31192" z="3" type="Square (Filled)" width="4" height="1" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  132. <Area name="SpecialArea47" x="32074" y="31199" z="3" type="Square (Filled)" width="1" height="1" avoidance="250" waitTimeMin="0" waitTimeMax="100" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  133. <Area name="SArea" x="32128" y="31181" z="5" type="Square (Filled)" width="6" height="1" avoidance="250" waitTimeMin="0" waitTimeMax="0" policy="None" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  134. <Area name="SArea1" x="32091" y="31194" z="5" type="Square (Filled)" width="5" height="1" avoidance="250" waitTimeMin="0" waitTimeMax="0" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  135. <Area name="SArea2" x="32046" y="31193" z="5" type="Square (Filled)" width="1" height="1" avoidance="250" waitTimeMin="0" waitTimeMax="0" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  136. <Area name="SArea3" x="32048" y="31197" z="5" type="Square (Filled)" width="1" height="1" avoidance="250" waitTimeMin="0" waitTimeMax="0" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  137. <Area name="SArea4" x="32064" y="31183" z="3" type="Square (Filled)" width="1" height="1" avoidance="250" waitTimeMin="0" waitTimeMax="0" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  138. <Area name="SArea5" x="32063" y="31199" z="3" type="Square (Filled)" width="1" height="1" avoidance="250" waitTimeMin="0" waitTimeMax="0" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  139. <Area name="SArea6" x="32126" y="31197" z="5" type="Square (Filled)" width="1" height="5" avoidance="250" waitTimeMin="0" waitTimeMax="0" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  140. <Area name="SArea7" x="32078" y="31176" z="3" type="Square (Filled)" width="1" height="4" avoidance="250" waitTimeMin="0" waitTimeMax="0" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  141. <Area name="SArea8" x="32065" y="31206" z="5" type="Square (Filled)" width="3" height="1" avoidance="250" waitTimeMin="0" waitTimeMax="0" policy="Targeting" ignoreWhenLuring="no" ignoreWhenLooting="no" comment=""/>
  142. </SpecialAreas>
  143. <CavebotScripts>
  144. <CavebotScript name="Svargrond_Mover" script="auto(200)&#10;dontlist()&#10;&#10;if itemcount(MP, MainBP) &gt; 0 and not iscontainerfull(SupplyBP) then&#10;while itemcount(MP, MainBP) &gt; 0 and not iscontainerfull(SupplyBP) do&#10;moveitems(MP, SupplyBP, MainBP)&#10;waitping()&#10;end&#10;end&#10;&#10;if itemcount(Rune, MainBP) &gt; 0 and not iscontainerfull(SupplyBP) then&#10;while itemcount(Rune, MainBP) &gt; 0 and not iscontainerfull(SupplyBP) do&#10;moveitems(Rune, SupplyBP, MainBP)&#10;waitping()&#10;end&#10;end&#10;&#10;if itemcount('jewelled backpack', MainBP) &gt; 0 and $wptsection ~= 'Hunt' then&#10;while itemcount('jewelled backpack', MainBP) &gt; 0 and $wptsection ~= 'Hunt' do&#10;moveitems('jewelled backpack', LootBP, MainBP)&#10;waitping()&#10;end&#10;end" enabled="yes"/>
  145. <CavebotScript name="Svargrond_Settings" script="auto(1000)&#10;dontlist()&#10;&#10;if not PVP or $pzone then&#10;&#9;set('Cavebot/WalkThroughPlayers', 'yes')&#10;else&#10;&#9;set('Cavebot/WalkThroughPlayers', 'no')&#10;end&#10;&#10;set('PotionHealer/Rules/MP/Spell', MP)&#10;&#10;if getuseroption('Use Reach?') then&#10;&#9;set('Targeting/Creatures/Ice Golem/Setting1/Stance', 'Reach')&#10;&#9;set('Targeting/Creatures/Crystal Spider/Setting1/Stance', 'Reach')&#10;else&#10;&#9;set('Targeting/Creatures/Ice Golem/Setting1/Stance', 'Away in Line')&#10;&#9;set('Targeting/Creatures/Crystal Spider/Setting1/Stance', 'Away in Line')&#10;end" enabled="yes"/>
  146. <CavebotScript name="Optimize Hunting" script="auto(200)&#10;&#10;if getuseroption('Optimize Hunting?') then&#10;&#9;if $wptsection ~= 'Hunt' then&#10;&#9;&#9;set('Cavebot/WalkingMethod', 'Walk With Map-Clicks')&#10;&#9;else&#10;&#9;&#9;set('Cavebot/WalkingMethod', 'Walk With Arrow Keys')&#10;&#9;end&#10;end" enabled="yes"/>
  147. <CavebotScript name="Haste" script="auto(200)&#10;dontlist()&#10;&#10;local Haste = 'utani hur'&#10;local mpToCast = 60&#10;&#10;if $vocshort == 'D' or $vocshort == 'S' then&#10;&#9;Haste = 'utani gran hur'&#10;&#9;mpToCast = 100&#10;end&#10;&#10;if ($wptsection ~= 'Hunt' or HasteOnSpawn) and not $pzone and not $hasted and $mp &gt;= mpToCast and $hppc &gt;= 85 and $standtime &lt; 5000 then&#10;&#9;cast(Haste)&#10;&#9;wait(500)&#10;end" enabled="yes"/>
  148. <CavebotScript name="AntiFacing" script="--[[ Anti-Facing by Midnight Scripters&#10;MS_UNFACE = {&#10;&#9;Version = '1.0.0',&#10;&#9;Author = 'RoxZin xD'&#10;}&#10;]]--&#10;auto(200)&#10;dontlist()&#10;&#10;foreach creature m 'ps' do&#10;&#9;if not $pzone and PVP then&#10;&#9;&#9;if m.posx == $posx-1 and m.posy == $posy and $self.dir ~= 'e' then&#10;&#9;&#9;&#9;turn('e')&#10;&#9;&#9;elseif m.posx == $posx+1 and m.posy == $posy and $self.dir ~= 'w' then&#10;&#9;&#9;&#9;turn('w')&#10;&#9;&#9;elseif m.posx == $posx and m.posy == $posy-1 and $self.dir ~= 's' then&#10;&#9;&#9;&#9;turn('s')&#10;&#9;&#9;elseif m.posx == $posx and m.posy == $posy+1 and $self.dir ~= 'n' then&#10;&#9;&#9;&#9;turn('n')&#10;&#9;&#9;end&#10;&#9;end&#10;end&#9;&#9;" enabled="yes"/>
  149. <CavebotScript name="Drop Vials" script="--[[ Midnight Scripters's Randomized Drop Vials Action&#10;MS_VIALS = {&#10;&#9;Author = 'RoxZin xD',&#10;&#9;Version = '1.1.0'&#10;}&#10;--]]&#10;auto(200)&#10;if not $pzone and maround() == 0 then&#10;&#9;while (flasks() &gt; 0 and $cap &lt; random(120,130)) or ($cap &lt; random(200,220) and flasks() &gt;= random(50,60)) do&#10;&#9;&#9;pausewalking(200)&#10;&#9;&#9;moveitems(283, 'ground', '0-15', 100)&#10;&#9;&#9;moveitems(284, 'ground', '0-15', 100)&#10;&#9;&#9;moveitems(285, 'ground', '0-15', 100)&#10;&#9;&#9;pausewalking(0)&#10;&#9;&#9;break&#10;&#9;end&#10;waitping()&#10;end" enabled="yes"/>
  150. <CavebotScript name="SpellsMage" script="--[[ Midnight Scripters's Shooter, ED/MS version&#10;MS_SHOOTER = {&#10;&#9;Author = 'RoxZin xD &amp; TheNick',&#10;&#9;Version = '1.0.0'&#10;} &#10;--]]&#10;init start&#10;&#9;vocSpell = 'vis'&#10;&#9;wave = 'exevo vis hur'&#10;&#9;ueName = 'exevo gran mas vis'&#10;&#9;utSpell = 'utori mort'&#10;init end&#10;Mobs = {'Crystal Spider', 'Ice Golem'}&#10;MobsToUe = {'Crystal Spider', 'Ice Golem'}&#10;utMobs = {}&#10;WavAmount = getuseroption('Amount of monsters to cast wave.')&#10;AoEAmount = getuseroption('Amount of monsters to cast Rune.')&#10;UEAmount = getuseroption('Amount of monsters to cast UE.')&#10;curHp = creatureinfo($target.name).hp*($target.hppc/100)&#10;minMaxSpell = 400&#10;maxMaxSpell = 800&#10;minUE = 200--getuseroption('UE HP').from&#10;maxUE = 1200--getuseroption('UE HP').to&#10;filteruseroptions(true)&#10;auto(200)&#10;&#10;if $vocshort == 'D' then&#10;&#9;vocSpell = 'tera'&#10;&#9;wave = 'exevo tera hur'&#10;&#9;utSpell = 'utori pox'&#10;&#9;ueName = 'exevo gran mas tera'&#10;end&#10;&#10;amountToUe = 0&#10;if maroundspell(ueName, 'any', unpack(MobsToUe)) &gt;= UEAmount and CastMasVis and cancast(ueName) and (paround_ib(7, true) == 0 or not PVP) then&#10;&#9;foreach creature m 'ms' do&#10;&#9;local mobHp = creatureinfo(m.name).hp*(m.hppc/100)&#10;&#9;&#9;if table.find(MobsToUe, m.name) and mobHp &gt;= minUE and mobHp &lt;= maxUE and m.dist &lt;= 6 and m.isshootable then&#10;&#9;&#9;&#9;amountToUe = amountToUe + 1&#10;&#9;&#9;end&#10;&#9;end&#10;&#9;if amountToUe &gt;= UEAmount then&#10;&#9;&#9;cast(ueName)&#10;&#9;&#9;wait(500)&#10;&#9;end&#10;elseif maround(0, unpack(Mobs)) &gt;= WavAmount and CastWave and cancast(wave) then&#10;&#10;local BestAmount, BestDir = 0, $self.dir&#10;&#9;for Dir, Amount in pairs({n = 0, e = 0, s = 0, w = 0}) do&#10;&#9;&#9;Amount = maroundspell(wave, Dir, unpack(Mobs))&#10;&#9;&#9;if Amount &gt; BestAmount or (Amount &gt;= BestAmount and Dir == $self.dir) then&#10;&#9;&#9;&#9;BestAmount, BestDir = Amount, Dir&#10;&#9;&#9;end&#10;&#9;end&#10;&#9;if BestAmount &gt;= math.max(WavAmount, 1) then&#10;&#9;&#9;while $self.dir ~= BestDir do&#10;&#9;&#9;&#9;pausewalking(500)&#10;&#9;&#9;&#9;turn(BestDir) &#10;&#9;&#9;end&#10;&#9;cast(wave) &#10;&#9;pausewalking(0)&#10;&#9;end&#10;end&#10;&#10;if runeinfo(Rune).cancast and itemcount(Rune) &gt; 0 and (paround_ib(10, true) == 0 or not PVP) then&#10; local temp = getarearunetile(PVP, unpack(Mobs))&#10; if temp.amount &gt;= math.max(AoEAmount, 1) then&#10; useitemon(Rune, topitem(temp.x,temp.y,temp.z), temp.tile)&#10; return&#10; end&#10;end&#10;&#10;if $attacked.id &gt; 0 and $attacked.dist &lt;= 3 and $attacked.isshootable then&#10; --[[if table.find(utMobs, $target.name) and $target.hppc &gt;= 50 and cancast(utSpell) and UseUtori then&#10;&#9;&#9;cast(utSpell)&#10;&#9;&#9;wait(400)&#10;&#9;else]]--&#10;&#9;--[[if curHp &gt;= minMaxSpell and curHp &lt;= maxMaxSpell and cancast('exori max '..vocSpell) and table.find(Mobs, $target.name) and UseMaxSpell then&#10;&#9;&#9;cast('exori max '..vocSpell)&#10;&#9;&#9;wait(400)&#10; else]]--&#10;&#9;--if curHp &gt;= 280 and cancast('exori amp vis') and table.find(Mobs, $target.name) then&#10;&#9;--&#9;cast('exori amp vis')-- '..vocSpell)&#10;&#9;--&#9;wait(400)&#10;&#9;if cancast('exori vis') and (curHp &gt;= 100 or not PVP) then&#10;&#9;&#9;cast('exori vis')&#10;&#9;&#9;wait(400)&#10;&#9;end&#10;end" enabled="yes"/>
  151. <CavebotScript name="Mana Walk" script="auto(400)&#10;dontlist()&#10;&#10;if $wptsection == 'Hunt' then&#10;&#9;while maround() == 0 and $mppc &lt; random(65,70) and itemcount(MP) &gt; 0 do&#10;&#9;&#9;useoncreature(MP, $self)&#10;&#9;&#9;wait(500)&#10;&#9;end&#10;end" enabled="yes"/>
  152. <CavebotScript name="EatFood" script="auto(60000,120000)&#10;dontlist()&#10;&#10;if not $pzone and maround() == 0 then&#10;&#9;eatfoodfull()&#10;end" enabled="yes"/>
  153. <CavebotScript name="SAreas" script="auto(500)&#10;dontlist()&#10;&#10;AreaLessThanY(31181, 'SArea')&#10;&#10;AreaMoreThanY(31194, 'SArea1')&#10;AreaMoreThanY(31206, 'SArea8')&#10;AreaMoreThanY(31187, 'SpecialArea34')&#10;AreaMoreThanY(31191, 'SpecialArea16')&#10;&#10;AreaMoreThanX(32126, 'SArea6')&#10;AreaMoreThanX(32078, 'SArea7')&#10;&#10;AreaLessThanX(32070, 'SpecialArea41')" enabled="yes"/>
  154. </CavebotScripts>
  155. <WaypointSection name="Svargrond">
  156. <Waypoint type="Action" x="32257" y="31141" z="6" rangeX="1" rangeY="1" label="findLocation" script="--find location&#10;if $posz == 5 then&#10;&#9;print('Character located near hunting spot. Starting from hunt.')&#10;&#9;gotolabel('startHunt', 'Hunt')&#10;elseif $posz == 6 then&#10;&#9;print('Character located near depot. Starting from depositing.')&#10;&#9;gotolabel('Depot')&#10;else&#10;&#9;printerror('Start the script at Svargrond Depot +1 or at hunting spot!')&#10;&#9;setcavebot('off')&#10;end"/>
  157. <Waypoint type="Walk" x="32257" y="31140" z="6" rangeX="3" rangeY="3" label="Depot"/>
  158. <Waypoint type="Action" x="32257" y="31138" z="6" rangeX="1" rangeY="1" script="--open lootbp&#10;set('Looting/OpenNextBP', 'no')&#10;if windowcount(LootBP) &gt; 0 then&#10;waitping()&#10;closewindows(GoldBP)&#10;waitping()&#10;closewindows(SupplyBP)&#10;if Use_Ring or Use_Amulet then&#10;waitping()&#10;closewindows(ExtraBP)&#10;end&#10;waitping()&#10;closewindows(MainBP)&#10;waitping()&#10;else&#10;closewindows()&#10;waitping()&#10;MS_openMainBP()&#10;waitping()&#10;MS_openBP(LootBP, MainBP, false)&#10;waitping()&#10;repeat&#10;openitem(LootBP, LootBP)&#10;waitping()&#10;until itemcount(LootBP, LootBP) == 0&#10;waitping()&#10;end&#10;&#10;&#10;if windowcount(LootBP) ~= 1 then&#10;&#9;print('Failed to open LootBP. Repeating.')&#10;&#9;gotolabel($wptid-1)&#10;else&#10;&#9;print('Opened LootBPs sucessfully. Proceeding with item depositing.')&#10;end"/>
  159. <Waypoint type="Action" x="32128" y="32240" z="7" rangeX="1" rangeY="1" script="--deposit items&#10;set('Looting/OpenNextBP', 'no')&#10;wait(600,900)&#10;depotaction('depotbp', 'lootbp', {'s', 'stackdpbp', 'r', 'raredpbp'})"/>
  160. <Waypoint type="Action" x="33025" y="31449" z="11" rangeX="1" rangeY="1" script="--open suppdpbp&#10;if Use_Ring or WithdrawSupp or Use_Amulet then&#10;closewindows()&#10;waitping()&#10;MS_openMainBP()&#10;waitping()&#10;opendepot()&#10;waitping()&#10;MS_openBP(SuppDpBP, 'Depot Chest', true)&#10;waitping()&#10;closewindows('Depot Chest')&#10;waitping()&#10;minimizewindows('equip')&#10;waitping()&#10;MS_openBP(SupplyBP, MainBP, true)&#10;waitping()&#10;if Use_Ring or Use_Amulet then&#10;&#9;MS_openBP(ExtraBP, MainBP, true)&#10;end&#10;waitping()&#10;resizewindows()&#10;&#10;if (windowcount() ~= 4 and (Use_Ring or Use_Amulet)) or (windowcount() ~= 3 and (not Use_Ring and not Use_Amulet)) then&#10;gotolabel($wptid-1) end&#10;else&#10;gotolabel('skipWithdraw')&#10;end"/>
  161. <Waypoint type="Action" x="33025" y="31449" z="11" rangeX="1" rangeY="1" script="--withdraw items&#10;local manaBp = MainBP&#10;&#10;if $vocshort ~= 'P' or MovePotsToSupp then&#10;&#9;manaBp = SupplyBP&#10;end&#10;&#10;if mpChk &lt; HuntMp then&#10;&#9;MS_withdrawItem(MP, manaBp, AmountMp)&#10;&#9;wait(500)&#10;end&#10;&#10;if itemcount(HP, MainBP) &lt; HuntHp and chkHP then&#10;&#9;MS_withdrawItem(HP, MainBP, AmountHp)&#10;&#9;wait(500)&#10;end&#10;&#10;if itemcount(HP2, MainBP) &lt; HuntHp2 and $vocshort == 'K' then&#10;&#9;MS_withdrawItem(HP2, MainBP, AmountHp2)&#10;&#9;wait(500)&#10;end&#10;&#10;if itemcount(Rune, SupplyBP) &lt; HuntRune and RuneRefill then&#10;&#9;MS_withdrawItem(Rune, SupplyBP, AmountRune)&#10;&#9;wait(500)&#10;end&#10;&#10;if itemcount(Ammo, SupplyBP) &lt; HuntAmmo and chkAmmo then&#10;&#9;MS_withdrawItem(Ammo, SupplyBP, AmountAmmo)&#10;&#9;wait(500)&#10;end&#10;&#10;if itemcount(Ring, ExtraBP) &lt; AmountRing and Use_Ring then&#10;&#9;MS_withdrawItem(Ring, ExtraBP, AmountRing)&#10;&#9;wait(500)&#10;end&#10;&#10;if itemcount(Amulet, ExtraBP) &lt; AmountAmulet and Use_Amulet then&#10;&#9;MS_withdrawItem(Amulet, ExtraBP, AmountAmulet)&#10;&#9;wait(500)&#10;end"/>
  162. <Waypoint type="Action" x="33025" y="31449" z="11" rangeX="1" rangeY="1" script="--open next bp&#10;if itemcount(SuppDpBP, SuppDpBP) &gt; 0 and (WithdrawSupp and (mpChk &lt; HuntMp) or (RuneRefill and itemcount(Rune, SupplyBP) &lt; HuntRune) or (chkAmmo and itemcount(Ammo, SupplyBP) &lt; HuntAmmo) or (chkHP and itemcount(HP, MainBP) &lt; HuntHp) or (itemcount(Ring, ExtraBP) &lt; AmountRing and Use_Ring) or (itemcount(Amulet, ExtraBP) &lt; AmountAmulet and Use_Amulet) or (FoodRefill and itemcount(Food) &lt; HuntFood)) then&#10;openitem(SuppDpBP, SuppDpBP)&#10;waitping()&#10;gotolabel($wptid-1)&#10;end"/>
  163. <Waypoint type="Walk" x="32272" y="31141" z="6" rangeX="2" rangeY="2" label="skipWithdraw"/>
  164. <Waypoint type="Stand" x="32274" y="31143" z="6" rangeX="1" rangeY="1"/>
  165. <Waypoint type="Action" x="32276" y="31143" z="7" rangeX="1" rangeY="1" script="--check location&#10;MS_checkLoc(2)"/>
  166. <Waypoint type="Action" x="32299" y="31134" z="7" rangeX="1" rangeY="1" script="--open supplybp&#10;set('Looting/OpenNextBP', 'no')&#10;closewindows()&#10;waitping()&#10;MS_openMainBP()&#10;waitping()&#10;MS_openBP(SupplyBP, MainBP, true)&#10;waitping()&#10;&#10;if windowcount(SupplyBP) ~= 1 then&#10;&#9;print('Failed to open SupplyBP. Repeating.')&#10;&#9;gotolabel($wptid-1)&#10;else&#10;&#9;print('Opened SupplyBP sucessfully. Proceeding with refilling.')&#10;end"/>
  167. <Waypoint type="Walk" x="32281" y="31139" z="7" rangeX="2" rangeY="2"/>
  168. <Waypoint type="Walk" x="32299" y="31133" z="7" rangeX="2" rangeY="2"/>
  169. <Waypoint type="Stand" x="32299" y="31134" z="7" rangeX="2" rangeY="1" label="Bank"/>
  170. <Waypoint type="Action" x="32299" y="31134" z="7" rangeX="1" rangeY="1" script="--deposit gold&#10;MS_depositGold()"/>
  171. <Waypoint type="Action" x="32299" y="31134" z="7" rangeX="1" rangeY="1" script="--check withdraw&#10;if itemcount(MP) &lt; HuntMp or (RuneRefill and itemcount(Rune) &lt; HuntRune) or (FoodRefill and itemcount(Food) &lt; HuntFood) or (SoftRefill and itemcount(6530) &gt;= WornSoftAmount) then&#10;gotolabel('Withdraw')&#10;else&#10;gotolabel('pastBoat')&#10;end"/>
  172. <Waypoint type="Stand" x="32299" y="31134" z="7" rangeX="2" rangeY="1" label="Withdraw"/>
  173. <Waypoint type="Action" x="32299" y="31134" z="7" rangeX="1" rangeY="1" script="--withdraw gold&#10;&#10;local total = mpdraw + runedraw + softdraw + fooddraw + 1500&#10;&#10;if islocation(1) then&#10;npctalk('hi', 'withdraw '..total, 'yes', 'balance')&#10;else&#10;gotolabel('Withdraw')&#10;end"/>
  174. <Waypoint type="Action" x="32256" y="31141" z="7" rangeX="1" rangeY="1" script="--check gold&#10;&#10;local total = mpdraw + runedraw + softdraw + fooddraw + 1500&#10;&#10;if gold() &lt; total then&#10;&#9;print('Failed to withdraw gold amount. Repeating.')&#10;&#9;gotolabel('Withdraw')&#10;else&#10;&#9;print('Gold withdrawn successfully. Proceeding.')&#10;end"/>
  175. <Waypoint type="Stand" x="32307" y="31132" z="7" rangeX="2" rangeY="1" label="Nelly"/>
  176. <Waypoint type="Action" x="32307" y="31132" z="7" rangeX="1" rangeY="1" script="--buy potions&#10;if islocation(1) then&#10;waitping()&#10;sellflasks()&#10;waitping()&#10;if not $tradeopen then &#10;npctalk('hi', 'trade', 'potions')&#10;waitping() &#10;end&#10;if itemcount(MP) &lt; HuntMp then&#10;MS_shopUpTo(MP, AmountMp, SupplyBP)&#10;end&#10;npctalk('bye')&#10;else&#10;gotolabel('Nelly')&#10;end&#10;"/>
  177. <Waypoint type="Walk" x="32306" y="31128" z="7" rangeX="2" rangeY="2"/>
  178. <Waypoint type="Action" x="32302" y="31128" z="7" rangeX="1" rangeY="1" label="checkSofts" script="--check softs&#10;if SoftRefill and itemcount(6530) &gt;= WornSoftAmount then&#10;print('Heading to Venore to refill soft boots.')&#10;gotolabel(0, 'toSofts')&#10;else&#10;gotolabel('pastBoat')&#10;end"/>
  179. <Waypoint type="Walk" x="32288" y="31128" z="7" rangeX="2" rangeY="2" label="pastBoat"/>
  180. <Waypoint type="Walk" x="32258" y="31123" z="7" rangeX="2" rangeY="2"/>
  181. <Waypoint type="Walk" x="32257" y="31113" z="7" rangeX="2" rangeY="2"/>
  182. <Waypoint type="Stand" x="32249" y="31110" z="7" rangeX="1" rangeY="1"/>
  183. <Waypoint type="Action" x="32247" y="31110" z="6" rangeX="1" rangeY="1" script="--check location&#10;MS_checkLoc(2)"/>
  184. <Waypoint type="Stand" x="32247" y="31106" z="6" rangeX="1" rangeY="1"/>
  185. <Waypoint type="Action" x="32247" y="31104" z="5" rangeX="1" rangeY="1" script="--check location&#10;MS_checkLoc(2)"/>
  186. <Waypoint type="Action" x="32247" y="31104" z="5" rangeX="1" rangeY="1" script="if (FoodRefill and itemcount(Food) &lt; HuntFood) or (RuneRefill and itemcount(Rune) &lt; HuntRune) then&#10;gotolabel('toIyad', 'toCarpet')&#10;else&#10;gotolabel(0, 'toHunt')&#10;end"/>
  187. </WaypointSection>
  188. <WaypointSection name="toHunt">
  189. <Waypoint type="Walk" x="32235" y="31091" z="5" rangeX="2" rangeY="2"/>
  190. <Waypoint type="Action" x="32236" y="31088" z="5" rangeX="1" rangeY="1" label="openBps" script="--open bps&#10;set('Looting/OpenNextBP', 'no')&#10;MS_openMainBP()&#10;waitping()&#10;MS_openBP(SupplyBP, MainBP, true)&#10;waitping()&#10;MS_openBP(LootBP, MainBP, true)&#10;waitping()&#10;MS_openBP(GoldBP, MainBP, true)&#10;waitping()&#10;if Use_Ring or Use_Amulet then&#10;MS_openBP(ExtraBP, MainBP, true)&#10;waitping()&#10;end&#10;resizewindows()&#10;set('Looting/OpenNextBP', 'yes')&#10;&#10;if (windowcount() ~= 4 and (not Use_Ring and not Use_Amulet)) or (windowcount() ~= 5 and (Use_Ring and Use_Amulet)) then&#10;&#9;print('Failed to open all backpacks. Repeating the action.')&#10;&#9;gotolabel($wptid-1) &#10;else&#10;&#9;print('Opened all backpacks successfully. Going to hunt.')&#10;end"/>
  191. <Waypoint type="Action" x="32128" y="32240" z="7" rangeX="1" rangeY="1" script="--check supplies&#10;if itemcount(MP) &lt; HuntMp or (RuneRefill and itemcount(Rune) &lt; HuntRune) or (FoodRefill and itemcount(Food) &lt; HuntFood) then&#10;gotolabel('downBack', 'leaveHunt')&#10;end"/>
  192. <Waypoint type="Walk" x="32213" y="31085" z="5" rangeX="2" rangeY="2"/>
  193. <Waypoint type="Walk" x="32196" y="31092" z="5" rangeX="5" rangeY="5"/>
  194. <Waypoint type="Walk" x="32175" y="31093" z="5" rangeX="4" rangeY="3"/>
  195. <Waypoint type="Walk" x="32169" y="31113" z="5" rangeX="3" rangeY="3"/>
  196. <Waypoint type="Walk" x="32161" y="31125" z="5" rangeX="3" rangeY="3"/>
  197. <Waypoint type="Walk" x="32150" y="31135" z="5" rangeX="2" rangeY="2"/>
  198. <Waypoint type="Walk" x="32150" y="31151" z="5" rangeX="3" rangeY="3"/>
  199. <Waypoint type="Walk" x="32146" y="31166" z="5" rangeX="3" rangeY="3"/>
  200. <Waypoint type="Walk" x="32152" y="31186" z="5" rangeX="2" rangeY="2"/>
  201. <Waypoint type="Stand" x="32153" y="31194" z="5" rangeX="1" rangeY="1"/>
  202. <Waypoint type="Action" x="32151" y="31195" z="4" rangeX="1" rangeY="1" script="--check location&#10;MS_checkLoc(2)"/>
  203. <Waypoint type="Walk" x="32143" y="31183" z="4" rangeX="3" rangeY="3"/>
  204. <Waypoint type="Walk" x="32147" y="31165" z="4" rangeX="3" rangeY="3"/>
  205. <Waypoint type="Walk" x="32149" y="31150" z="4" rangeX="3" rangeY="3"/>
  206. <Waypoint type="Walk" x="32131" y="31132" z="4" rangeX="3" rangeY="3"/>
  207. <Waypoint type="Stand" x="32128" y="31132" z="4" rangeX="1" rangeY="1"/>
  208. <Waypoint type="Action" x="32128" y="31132" z="5" rangeX="1" rangeY="1" script="--check location&#10;MS_checkLoc(2)"/>
  209. <Waypoint type="Action" x="32128" y="31132" z="5" rangeX="1" rangeY="1" script="gotolabel(0, 'Hunt')"/>
  210. </WaypointSection>
  211. <WaypointSection name="Hunt">
  212. <Waypoint type="Node" x="32130" y="31137" z="5" rangeX="4" rangeY="4" label="startHunt"/>
  213. <Waypoint type="Node" x="32128" y="31156" z="5" rangeX="4" rangeY="4"/>
  214. <Waypoint type="Node" x="32129" y="31182" z="5" rangeX="3" rangeY="5"/>
  215. <Waypoint type="Node" x="32117" y="31192" z="5" rangeX="4" rangeY="4"/>
  216. <Waypoint type="Node" x="32101" y="31190" z="5" rangeX="3" rangeY="3"/>
  217. <Waypoint type="Node" x="32088" y="31197" z="5" rangeX="3" rangeY="3"/>
  218. <Waypoint type="Node" x="32075" y="31210" z="5" rangeX="3" rangeY="3"/>
  219. <Waypoint type="Node" x="32062" y="31198" z="5" rangeX="4" rangeY="4"/>
  220. <Waypoint type="Node" x="32051" y="31194" z="5" rangeX="3" rangeY="3"/>
  221. <Waypoint type="Node" x="32030" y="31203" z="5" rangeX="3" rangeY="3"/>
  222. <Waypoint type="Node" x="32047" y="31193" z="5" rangeX="3" rangeY="3"/>
  223. <Waypoint type="Node" x="32053" y="31177" z="5" rangeX="2" rangeY="3"/>
  224. <Waypoint type="Node" x="32055" y="31191" z="5" rangeX="3" rangeY="4"/>
  225. <Waypoint type="Node" x="32064" y="31183" z="5" rangeX="3" rangeY="4"/>
  226. <Waypoint type="Node" x="32063" y="31172" z="5" rangeX="3" rangeY="3"/>
  227. <Waypoint type="Node" x="32070" y="31185" z="5" rangeX="4" rangeY="2"/>
  228. <Waypoint type="Node" x="32082" y="31177" z="5" rangeX="3" rangeY="3"/>
  229. <Waypoint type="Stand" x="32085" y="31174" z="5" rangeX="1" rangeY="1"/>
  230. <Waypoint type="Action" x="32090" y="31170" z="4" rangeX="2" rangeY="2" script="--check supplies&#10;if itemcount(MP) &lt; LowMp or (RuneRefill and itemcount(Rune) &lt; LowRune) or (FoodRefill and itemcount(Food) &lt; LowFood) or $cap &lt; Cap or $stamina &lt; 14*60+20 then&#10;&#9;gotolabel('downStair')&#10;end"/>
  231. <Waypoint type="Stand" x="32086" y="31168" z="4" rangeX="1" rangeY="1" label="upStairs"/>
  232. <Waypoint type="Node" x="32094" y="31165" z="3" rangeX="3" rangeY="3"/>
  233. <Waypoint type="Node" x="32081" y="31173" z="3" rangeX="3" rangeY="3"/>
  234. <Waypoint type="Node" x="32066" y="31180" z="3" rangeX="3" rangeY="2"/>
  235. <Waypoint type="Node" x="32055" y="31177" z="3" rangeX="2" rangeY="3"/>
  236. <Waypoint type="Node" x="32056" y="31168" z="3" rangeX="3" rangeY="3"/>
  237. <Waypoint type="Node" x="32054" y="31181" z="3" rangeX="3" rangeY="3"/>
  238. <Waypoint type="Node" x="32063" y="31196" z="3" rangeX="3" rangeY="3"/>
  239. <Waypoint type="Walk" x="32066" y="31204" z="3" rangeX="2" rangeY="2"/>
  240. <Waypoint type="Node" x="32071" y="31191" z="3" rangeX="3" rangeY="3"/>
  241. <Waypoint type="Node" x="32077" y="31177" z="3" rangeX="3" rangeY="2"/>
  242. <Waypoint type="Node" x="32084" y="31169" z="3" rangeX="3" rangeY="3"/>
  243. <Waypoint type="Stand" x="32086" y="31168" z="3" rangeX="1" rangeY="1"/>
  244. <Waypoint type="Stand" x="32085" y="31174" z="4" rangeX="1" rangeY="1" label="downStair"/>
  245. <Waypoint type="Node" x="32092" y="31177" z="5" rangeX="3" rangeY="3"/>
  246. <Waypoint type="Node" x="32110" y="31176" z="5" rangeX="3" rangeY="3"/>
  247. <Waypoint type="Node" x="32128" y="31159" z="5" rangeX="4" rangeY="4"/>
  248. <Waypoint type="Node" x="32129" y="31145" z="5" rangeX="4" rangeY="4"/>
  249. <Waypoint type="Node" x="32130" y="31134" z="5" rangeX="4" rangeY="4"/>
  250. <Waypoint type="Action" x="32132" y="31132" z="5" rangeX="1" rangeY="1" script="if islocation(7) then&#10;if itemcount(MP) &lt; LowMp or (itemcount(Rune) &lt; LowRune and RuneRefill) or (FoodRefill and itemcount(Food) &lt; LowFood) or $cap &lt; Cap or $stamina &lt; 14*60+20 then&#10;&#9;gotolabel('leaveHunt')&#10;else&#10;&#9;gotolabel('startHunt')&#10;end&#10;else&#10;&#9;gotolabel($wptid-3)&#10;end"/>
  251. <Waypoint type="Stand" x="32128" y="31132" z="5" rangeX="1" rangeY="1" label="leaveHunt"/>
  252. <Waypoint type="Action" x="32126" y="31132" z="4" rangeX="2" rangeY="2" script="--check location&#10;MS_checkLoc(1)"/>
  253. <Waypoint type="Action" x="32133" y="31132" z="4" rangeX="2" rangeY="2" script="gotolabel(0, 'leaveHunt')"/>
  254. </WaypointSection>
  255. <WaypointSection name="leaveHunt">
  256. <Waypoint type="Walk" x="32138" y="31136" z="4" rangeX="4" rangeY="4"/>
  257. <Waypoint type="Walk" x="32149" y="31150" z="4" rangeX="3" rangeY="3"/>
  258. <Waypoint type="Walk" x="32146" y="31171" z="4" rangeX="2" rangeY="3"/>
  259. <Waypoint type="Walk" x="32143" y="31184" z="4" rangeX="3" rangeY="3"/>
  260. <Waypoint type="Walk" x="32149" y="31193" z="4" rangeX="3" rangeY="3"/>
  261. <Waypoint type="Stand" x="32153" y="31194" z="4" rangeX="1" rangeY="1"/>
  262. <Waypoint type="Action" x="32155" y="31194" z="5" rangeX="1" rangeY="1" script="--check location&#10;MS_checkLoc(2)"/>
  263. <Waypoint type="Walk" x="32148" y="31182" z="5" rangeX="2" rangeY="2"/>
  264. <Waypoint type="Walk" x="32149" y="31155" z="5" rangeX="3" rangeY="3"/>
  265. <Waypoint type="Walk" x="32151" y="31139" z="5" rangeX="3" rangeY="3"/>
  266. <Waypoint type="Walk" x="32163" y="31124" z="5" rangeX="4" rangeY="4"/>
  267. <Waypoint type="Walk" x="32168" y="31108" z="5" rangeX="3" rangeY="3"/>
  268. <Waypoint type="Walk" x="32186" y="31093" z="5" rangeX="3" rangeY="3"/>
  269. <Waypoint type="Walk" x="32204" y="31092" z="5" rangeX="3" rangeY="3"/>
  270. <Waypoint type="Walk" x="32227" y="31090" z="5" rangeX="3" rangeY="3"/>
  271. <Waypoint type="Walk" x="32241" y="31102" z="5" rangeX="3" rangeY="3" label="downBack"/>
  272. <Waypoint type="Stand" x="32246" y="31106" z="5" rangeX="1" rangeY="1"/>
  273. <Waypoint type="Action" x="32246" y="31108" z="6" rangeX="1" rangeY="1" script="--check location&#10;MS_checkLoc(2)"/>
  274. <Waypoint type="Stand" x="32244" y="31109" z="6" rangeX="1" rangeY="1"/>
  275. <Waypoint type="Action" x="32242" y="31110" z="7" rangeX="1" rangeY="1" script="--check location&#10;MS_checkLoc(1)"/>
  276. <Waypoint type="Action" x="32242" y="31110" z="7" rangeX="1" rangeY="1" script="if $stamina &lt; 14*60+20 then&#10;gotolabel(0, 'toStamina')&#10;else&#10;gotolabel('toDepot')&#10;end"/>
  277. <Waypoint type="Walk" x="32242" y="31139" z="7" rangeX="2" rangeY="2"/>
  278. <Waypoint type="Walk" x="32252" y="31142" z="7" rangeX="2" rangeY="3"/>
  279. <Waypoint type="Stand" x="32254" y="31143" z="7" rangeX="1" rangeY="1"/>
  280. <Waypoint type="Action" x="32254" y="31142" z="6" rangeX="1" rangeY="1" script="--check location&#10;MS_checkLoc(2)"/>
  281. <Waypoint type="Action" x="32254" y="31142" z="6" rangeX="1" rangeY="1" script="gotolabel('Depot', 'Svargrond')"/>
  282. </WaypointSection>
  283. <WaypointSection name="toSofts">
  284. <Waypoint type="Walk" x="32312" y="31122" z="7" rangeX="1" rangeY="1"/>
  285. <Waypoint type="Walk" x="32331" y="31115" z="7" rangeX="1" rangeY="1"/>
  286. <Waypoint type="Walk" x="32341" y="31113" z="7" rangeX="1" rangeY="1"/>
  287. <Waypoint type="Ladder" x="32341" y="31112" z="7" rangeX="1" rangeY="1"/>
  288. <Waypoint type="Action" x="32343" y="31109" z="6" rangeX="1" rangeY="1" script="--check location&#10;MS_checkLoc(2)"/>
  289. <Waypoint type="Walk" x="32343" y="31109" z="6" rangeX="1" rangeY="1" label="Breezelda"/>
  290. <Waypoint type="Action" x="32343" y="31109" z="6" rangeX="1" rangeY="1" script="travel('Venore')"/>
  291. <Waypoint type="Walk" x="32954" y="32034" z="6" rangeX="1" rangeY="1"/>
  292. <Waypoint type="Walk" x="32954" y="32055" z="6" rangeX="1" rangeY="1"/>
  293. <Waypoint type="Walk" x="32954" y="32079" z="6" rangeX="1" rangeY="1"/>
  294. <Waypoint type="Walk" x="32949" y="32101" z="6" rangeX="1" rangeY="1"/>
  295. <Waypoint type="Stand" x="32953" y="32108" z="6" rangeX="1" rangeY="1" label="Aldo"/>
  296. <Waypoint type="Action" x="32953" y="32108" z="6" rangeX="1" rangeY="1" script="--refill softs&#10;MS_softRepair()"/>
  297. <Waypoint type="Walk" x="32949" y="32101" z="6" rangeX="1" rangeY="1"/>
  298. <Waypoint type="Walk" x="32953" y="32085" z="6" rangeX="1" rangeY="1"/>
  299. <Waypoint type="Walk" x="32954" y="32066" z="6" rangeX="1" rangeY="1"/>
  300. <Waypoint type="Walk" x="32954" y="32049" z="6" rangeX="1" rangeY="1"/>
  301. <Waypoint type="Walk" x="32954" y="32031" z="6" rangeX="1" rangeY="1"/>
  302. <Waypoint type="Walk" x="32955" y="32023" z="6" rangeX="1" rangeY="1" label="Fearless"/>
  303. <Waypoint type="Action" x="32955" y="32023" z="6" rangeX="1" rangeY="1" script="travel('Svargrond')"/>
  304. <Waypoint type="Stand" x="32341" y="31112" z="6" rangeX="1" rangeY="1"/>
  305. <Waypoint type="Action" x="32341" y="31113" z="7" rangeX="1" rangeY="1" script="--check location&#10;MS_checkLoc(1)"/>
  306. <Waypoint type="Walk" x="32323" y="31118" z="7" rangeX="1" rangeY="1"/>
  307. <Waypoint type="Walk" x="32311" y="31127" z="7" rangeX="1" rangeY="1"/>
  308. <Waypoint type="Action" x="32301" y="31128" z="7" rangeX="1" rangeY="1" script="gotolabel('pastBoat', 'Svargrond')"/>
  309. </WaypointSection>
  310. <WaypointSection name="toStamina">
  311. <Waypoint type="Walk" x="32263" y="31140" z="7" rangeX="2" rangeY="3"/>
  312. <Waypoint type="Walk" x="32245" y="31140" z="7" rangeX="1" rangeY="1"/>
  313. <Waypoint type="Walk" x="32239" y="31127" z="7" rangeX="1" rangeY="1"/>
  314. <Waypoint type="Walk" x="32236" y="31113" z="7" rangeX="1" rangeY="1"/>
  315. <Waypoint type="Stand" x="32236" y="31108" z="7" rangeX="1" rangeY="1"/>
  316. <Waypoint type="Action" x="32236" y="31105" z="6" rangeX="1" rangeY="1" script="--check location&#10;MS_checkLoc(2)"/>
  317. <Waypoint type="Walk" x="32242" y="31087" z="6" rangeX="1" rangeY="1"/>
  318. <Waypoint type="Walk" x="32248" y="31067" z="6" rangeX="1" rangeY="1"/>
  319. <Waypoint type="Action" x="32248" y="31067" z="6" rangeX="1" rangeY="1" script="if not OfflineTrainer then&#10;printerror('Client closed due to low stamina.')&#10;closeclient()&#10;else&#10;gotolabel(Skill)&#10;end"/>
  320. <Waypoint type="Use" x="32246" y="31066" z="6" rangeX="1" rangeY="1" label="Distance"/>
  321. <Waypoint type="Action" x="32246" y="31066" z="6" rangeX="1" rangeY="1" script="printerror('Client closed due to low stamina.')&#10;closeclient()"/>
  322. <Waypoint type="Use" x="32247" y="31064" z="6" rangeX="1" rangeY="1" label="Sword"/>
  323. <Waypoint type="Action" x="32246" y="31066" z="6" rangeX="1" rangeY="1" script="printerror('Client closed due to low stamina.')&#10;closeclient()"/>
  324. <Waypoint type="Use" x="32249" y="31064" z="6" rangeX="1" rangeY="1" label="Axe"/>
  325. <Waypoint type="Action" x="32246" y="31066" z="6" rangeX="1" rangeY="1" script="printerror('Client closed due to low stamina.')&#10;closeclient()"/>
  326. <Waypoint type="Use" x="32251" y="31064" z="6" rangeX="1" rangeY="1" label="Club"/>
  327. <Waypoint type="Action" x="32246" y="31066" z="6" rangeX="1" rangeY="1" script="printerror('Client closed due to low stamina.')&#10;closeclient()"/>
  328. <Waypoint type="Use" x="32252" y="31066" z="6" rangeX="1" rangeY="1" label="Magic"/>
  329. <Waypoint type="Action" x="32246" y="31066" z="6" rangeX="1" rangeY="1" script="printerror('Client closed due to low stamina.')&#10;closeclient()"/>
  330. </WaypointSection>
  331. <WaypointSection name="toCarpet">
  332. <Waypoint type="Walk" x="32258" y="31123" z="7" rangeX="1" rangeY="1" label="toCarpet"/>
  333. <Waypoint type="Walk" x="32257" y="31113" z="7" rangeX="1" rangeY="1"/>
  334. <Waypoint type="Stand" x="32249" y="31110" z="7" rangeX="1" rangeY="1"/>
  335. <Waypoint type="Action" x="32247" y="31110" z="6" rangeX="1" rangeY="1" script="--check location&#10;MS_checkLoc(2)"/>
  336. <Waypoint type="Stand" x="32247" y="31106" z="6" rangeX="1" rangeY="1"/>
  337. <Waypoint type="Action" x="32247" y="31104" z="5" rangeX="1" rangeY="1" script="--check location&#10;MS_checkLoc(1)"/>
  338. <Waypoint type="Stand" x="32249" y="31101" z="5" rangeX="1" rangeY="1" label="toIyad"/>
  339. <Waypoint type="Action" x="32249" y="31099" z="4" rangeX="1" rangeY="1" script="--check location&#10;MS_checkLoc(1)"/>
  340. <Waypoint type="Stand" x="32252" y="31097" z="4" rangeX="1" rangeY="1" label="Iyad"/>
  341. <Waypoint type="Action" x="32252" y="31097" z="4" rangeX="1" rangeY="1" script="travel('Edron')"/>
  342. <Waypoint type="Action" x="32351" y="31051" z="3" rangeX="1" rangeY="1" script="--check location&#10;MS_checkLoc(2)"/>
  343. <Waypoint type="Stand" x="33189" y="31785" z="3" rangeX="1" rangeY="1"/>
  344. <Waypoint type="Action" x="33192" y="31782" z="4" rangeX="1" rangeY="1" script="--check location&#10;MS_checkLoc(1)"/>
  345. <Waypoint type="Stand" x="33192" y="31781" z="4" rangeX="1" rangeY="1"/>
  346. <Waypoint type="Action" x="33194" y="31784" z="5" rangeX="1" rangeY="1" script="--check location&#10;MS_checkLoc(1)"/>
  347. <Waypoint type="Stand" x="33195" y="31785" z="5" rangeX="1" rangeY="1"/>
  348. <Waypoint type="Action" x="33195" y="31786" z="6" rangeX="1" rangeY="1" script="--check location&#10;MS_checkLoc(1)"/>
  349. <Waypoint type="Walk" x="33208" y="31783" z="6" rangeX="1" rangeY="1"/>
  350. <Waypoint type="Walk" x="33211" y="31789" z="6" rangeX="1" rangeY="1"/>
  351. <Waypoint type="Stand" x="33209" y="31789" z="6" rangeX="1" rangeY="1"/>
  352. <Waypoint type="Action" x="33208" y="31789" z="7" rangeX="1" rangeY="1" script="--check location&#10;MS_checkLoc(2)"/>
  353. <Waypoint type="Action" x="33175" y="31764" z="6" rangeX="1" rangeY="1" script="gotolabel(0, 'toFood')"/>
  354. </WaypointSection>
  355. <WaypointSection name="toFood">
  356. <Waypoint type="Walk" x="33200" y="31802" z="7" rangeX="1" rangeY="1"/>
  357. <Waypoint type="Walk" x="33200" y="31814" z="7" rangeX="1" rangeY="1"/>
  358. <Waypoint type="Walk" x="33192" y="31823" z="7" rangeX="1" rangeY="1"/>
  359. <Waypoint type="Walk" x="33195" y="31837" z="7" rangeX="1" rangeY="1"/>
  360. <Waypoint type="Walk" x="33210" y="31843" z="7" rangeX="1" rangeY="1"/>
  361. <Waypoint type="Walk" x="33225" y="31841" z="7" rangeX="1" rangeY="1"/>
  362. <Waypoint type="Walk" x="33246" y="31841" z="7" rangeX="1" rangeY="1"/>
  363. <Waypoint type="Stand" x="33247" y="31841" z="7" rangeX="1" rangeY="1"/>
  364. <Waypoint type="Action" x="33248" y="31840" z="6" rangeX="1" rangeY="1" script="--check location&#10;MS_checkLoc(2)"/>
  365. <Waypoint type="Walk" x="33257" y="31841" z="6" rangeX="1" rangeY="1"/>
  366. <Waypoint type="Stand" x="33258" y="31840" z="6" rangeX="1" rangeY="1"/>
  367. <Waypoint type="Action" x="33258" y="31840" z="5" rangeX="1" rangeY="1" script="--check location&#10;MS_checkLoc(1)"/>
  368. <Waypoint type="Action" x="33256" y="31840" z="5" rangeX="1" rangeY="1" script="if not FoodRefill or itemcount(Food) &gt;= HuntFood then&#10;print('Skipping food refill. Going to rune shop.')&#10;gotolabel('toRune')&#10;end"/>
  369. <Waypoint type="Stand" x="33256" y="31840" z="5" rangeX="1" rangeY="1" label="Luna"/>
  370. <Waypoint type="Action" x="33256" y="31840" z="5" rangeX="1" rangeY="1" script="--buy food&#10;if islocation(1) then&#10;opentrade()&#10;waitping()&#10;if itemcount(Food) &lt; HuntFood and FoodRefill then&#10;MS_shopUpTo(Food, AmountFood, MainBP)&#10;end&#10;waitping()&#10;npctalk('bye')&#10;else&#10;gotolabel('Luna')&#10;end"/>
  371. <Waypoint type="Action" x="33216" y="31841" z="7" rangeX="1" rangeY="1" script="--check rune&#10;if not RuneRefill or itemcount(Rune) &gt;= HuntRune then&#10;&#9;gotolabel('pastFood')&#10;end"/>
  372. <Waypoint type="Stand" x="33257" y="31842" z="5" rangeX="1" rangeY="1" label="toRune"/>
  373. <Waypoint type="Action" x="33256" y="31842" z="4" rangeX="1" rangeY="1" script="--check location&#10;MS_checkLoc(1)"/>
  374. <Waypoint type="Stand" x="33255" y="31842" z="4" rangeX="1" rangeY="1"/>
  375. <Waypoint type="Action" x="33255" y="31841" z="3" rangeX="1" rangeY="1" script="--check location&#10;MS_checkLoc(1)"/>
  376. <Waypoint type="Stand" x="33255" y="31841" z="3" rangeX="1" rangeY="1" label="Alexander"/>
  377. <Waypoint type="Action" x="33255" y="31841" z="3" rangeX="1" rangeY="1" script="--buy runes&#10;if islocation(1) then&#10;npctalk('hi', 'trade')&#10;waitping()&#10;if itemcount(Rune) &lt; HuntRune and RuneRefill then&#10;MS_shopUpTo(Rune, AmountRune, SupplyBP)&#10;end&#10;npctalk('bye')&#10;else&#10;gotolabel('Alexander')&#10;end"/>
  378. <Waypoint type="Stand" x="33255" y="31842" z="3" rangeX="1" rangeY="1"/>
  379. <Waypoint type="Action" x="33255" y="31844" z="4" rangeX="1" rangeY="1" script="--check location&#10;MS_checkLoc(1)"/>
  380. <Waypoint type="Stand" x="33257" y="31842" z="4" rangeX="1" rangeY="1"/>
  381. <Waypoint type="Action" x="33257" y="31842" z="5" rangeX="1" rangeY="1" script="--check location&#10;MS_checkLoc(1)"/>
  382. <Waypoint type="Stand" x="33258" y="31840" z="5" rangeX="1" rangeY="1" label="pastFood"/>
  383. <Waypoint type="Action" x="33257" y="31841" z="6" rangeX="1" rangeY="1" script="--check location&#10;MS_checkLoc(1)"/>
  384. <Waypoint type="Walk" x="33248" y="31841" z="6" rangeX="1" rangeY="1"/>
  385. <Waypoint type="Stand" x="33247" y="31841" z="6" rangeX="1" rangeY="1"/>
  386. <Waypoint type="Action" x="33246" y="31842" z="7" rangeX="1" rangeY="1" script="--check location&#10;MS_checkLoc(2)"/>
  387. <Waypoint type="Walk" x="33235" y="31841" z="7" rangeX="1" rangeY="1"/>
  388. <Waypoint type="Walk" x="33219" y="31841" z="7" rangeX="1" rangeY="1"/>
  389. <Waypoint type="Walk" x="33199" y="31841" z="7" rangeX="1" rangeY="1"/>
  390. <Waypoint type="Walk" x="33192" y="31828" z="7" rangeX="1" rangeY="1"/>
  391. <Waypoint type="Walk" x="33201" y="31810" z="7" rangeX="1" rangeY="1"/>
  392. <Waypoint type="Walk" x="33201" y="31791" z="7" rangeX="1" rangeY="1"/>
  393. <Waypoint type="Action" x="33201" y="31791" z="7" rangeX="1" rangeY="1" script="gotolabel(0, 'backCarpet')"/>
  394. </WaypointSection>
  395. <WaypointSection name="backCarpet">
  396. <Waypoint type="Walk" x="33207" y="31789" z="7" rangeX="1" rangeY="1"/>
  397. <Waypoint type="Ladder" x="33208" y="31789" z="7" rangeX="1" rangeY="1"/>
  398. <Waypoint type="Action" x="33209" y="31790" z="6" rangeX="1" rangeY="1" script="--check location&#10;MS_checkLoc(2)"/>
  399. <Waypoint type="Walk" x="33216" y="31783" z="6" rangeX="1" rangeY="1"/>
  400. <Waypoint type="Ladder" x="33215" y="31783" z="6" rangeX="1" rangeY="1"/>
  401. <Waypoint type="Action" x="33216" y="31784" z="5" rangeX="1" rangeY="1" script="--check location&#10;MS_checkLoc(2)"/>
  402. <Waypoint type="Ladder" x="33215" y="31784" z="5" rangeX="1" rangeY="1"/>
  403. <Waypoint type="Action" x="33216" y="31784" z="4" rangeX="1" rangeY="1" script="--check location&#10;MS_checkLoc(1)"/>
  404. <Waypoint type="Walk" x="33194" y="31783" z="4" rangeX="1" rangeY="1"/>
  405. <Waypoint type="Ladder" x="33189" y="31785" z="4" rangeX="1" rangeY="1"/>
  406. <Waypoint type="Action" x="33192" y="31785" z="3" rangeX="1" rangeY="1" script="--check location&#10;MS_checkLoc(2)"/>
  407. <Waypoint type="Walk" x="33193" y="31784" z="3" rangeX="1" rangeY="1" label="Pino"/>
  408. <Waypoint type="Action" x="33193" y="31784" z="3" rangeX="1" rangeY="1" script="travel('Svargrond')"/>
  409. <Waypoint type="Action" x="32351" y="31051" z="4" rangeX="2" rangeY="2" script="--check location&#10;MS_checkLoc(2)"/>
  410. <Waypoint type="Stand" x="32248" y="31101" z="4" rangeX="1" rangeY="1"/>
  411. <Waypoint type="Action" x="32248" y="31103" z="5" rangeX="1" rangeY="1" script="--check location&#10;MS_checkLoc(1)"/>
  412. <Waypoint type="Action" x="32248" y="31105" z="5" rangeX="1" rangeY="1" script="--check script&#10;if scriptName:match('Hidden') then&#10;&#9;gotolabel(0, 'toHunt')&#10;end"/>
  413. <Waypoint type="Stand" x="32247" y="31106" z="5" rangeX="2" rangeY="1"/>
  414. <Waypoint type="Action" x="32247" y="31107" z="6" rangeX="1" rangeY="1" script="--check location&#10;MS_checkLoc(1)"/>
  415. <Waypoint type="Stand" x="32249" y="31110" z="6" rangeX="1" rangeY="2"/>
  416. <Waypoint type="Action" x="32251" y="31110" z="7" rangeX="1" rangeY="1" script="--check location&#10;MS_checkLoc(1)"/>
  417. <Waypoint type="Walk" x="32257" y="31120" z="7" rangeX="2" rangeY="2"/>
  418. <Waypoint type="Walk" x="32271" y="31126" z="7" rangeX="2" rangeY="2"/>
  419. <Waypoint type="Walk" x="32288" y="31130" z="7" rangeX="2" rangeY="2"/>
  420. <Waypoint type="Action" x="32294" y="31130" z="7" rangeX="1" rangeY="1" script="gotolabel(0, 'toHunt')"/>
  421. </WaypointSection>
  422. </Cavebot>
  423. <Looting enabled="yes">
  424. <Options>
  425. <Option range="50"/>
  426. <Option moveItemsQuickly="yes"/>
  427. <Option eatFoodFromCorpse="yes"/>
  428. <Option openNextBP="no"/>
  429. <Option openBPsAtLogin="no"/>
  430. <Option valuableBodies="3000"/>
  431. <Option ultraValuableBodies="5000"/>
  432. <Option alertOnValuableBodies="no"/>
  433. <Option openValuableBodiesOnly="no"/>
  434. <Option openUltraValuableBodiesImmediately="yes"/>
  435. <Option policy="Smart Looting"/>
  436. <LootingDestinations>
  437. <lootingDestination name="lootbp" destination="orange backpack"/>
  438. <lootingDestination name="goldbp" destination="brocade backpack"/>
  439. <lootingDestination name="supplybp" destination="dragon backpack"/>
  440. <lootingDestination name="depotbp" destination="brown backpack"/>
  441. <lootingDestination name="stackdpbp" destination="blue backpack"/>
  442. <lootingDestination name="raredpbp" destination="camouflage backpack"/>
  443. <lootingDestination name="suppdpbp" destination="red backpack"/>
  444. <lootingDestination name="extrabp" destination="green backpack"/>
  445. </LootingDestinations>
  446. </Options>
  447. <LootingProfile name="LootList" isCurrentProfile="yes">
  448. <LootItem name="gold coin" id="3031" sellPrice="1" weight="0.10" destinationName="goldbp" action="Loot" lootCondition="Cap above" lootConditionValue="125.00" itemCategory="g" alertOnDrop="no" alertOnMiss="no"/>
  449. <LootItem name="small diamond" id="3028" sellPrice="300" weight="0.10" destinationName="lootbp" action="Loot" lootCondition="Has Cap to Loot" itemCategory="s" alertOnDrop="no" alertOnMiss="no"/>
  450. <LootItem name="small sapphire" id="3029" sellPrice="250" weight="0.10" destinationName="lootbp" action="Loot" lootCondition="Has Cap to Loot" itemCategory="s" alertOnDrop="no" alertOnMiss="no"/>
  451. <LootItem name="black pearl" id="3027" sellPrice="280" weight="0.20" destinationName="lootbp" action="Loot" lootCondition="Has Cap to Loot" itemCategory="s" alertOnDrop="no" alertOnMiss="no"/>
  452. <LootItem name="spider silk" id="5879" sellPrice="1000" weight="0.10" destinationName="lootbp" action="Loot" lootCondition="Has Cap to Loot" itemCategory="s" alertOnDrop="no" alertOnMiss="no"/>
  453. <LootItem name="platinum amulet" id="3055" sellPrice="2500" weight="6.00" destinationName="lootbp" action="Loot" lootCondition="Has Cap to Loot" itemCategory="r" alertOnDrop="no" alertOnMiss="no"/>
  454. <LootItem name="sapphire hammer" id="7437" sellPrice="7000" weight="21.00" destinationName="lootbp" action="Loot" lootCondition="Has Cap to Loot" itemCategory="r" alertOnDrop="no" alertOnMiss="no"/>
  455. <LootItem name="crystal ring" id="3007" sellPrice="250" weight="0.90" destinationName="lootbp" action="Loot" lootCondition="Has Cap to Loot" itemCategory="r" alertOnDrop="no" alertOnMiss="no"/>
  456. <LootItem name="glacier mask" id="829" sellPrice="2500" weight="10.00" destinationName="lootbp" action="Loot" lootCondition="Has Cap to Loot" itemCategory="r" alertOnDrop="no" alertOnMiss="no"/>
  457. <LootItem name="frosty heart" id="9661" sellPrice="280" weight="1.86" destinationName="lootbp" action="Loot" lootCondition="Has Cap to Loot" itemCategory="s" alertOnDrop="no" alertOnMiss="no"/>
  458. <LootItem name="time ring" id="3053" sellPrice="100" weight="0.90" destinationName="lootbp" action="Loot" lootCondition="Has Cap to Loot" itemCategory="r" alertOnDrop="no" alertOnMiss="no"/>
  459. <LootItem name="shard" id="7290" sellPrice="2000" weight="19.00" destinationName="lootbp" action="Loot" lootCondition="Has Cap to Loot" itemCategory="r" alertOnDrop="no" alertOnMiss="no"/>
  460. <LootItem name="crystal necklace" id="3008" sellPrice="400" weight="4.90" destinationName="lootbp" action="Loot" lootCondition="Has Cap to Loot" itemCategory="r" alertOnDrop="no" alertOnMiss="no"/>
  461. <LootItem name="knight legs" id="3371" sellPrice="5000" weight="70.00" destinationName="lootbp" action="Loot" lootCondition="Has Cap to Loot" itemCategory="r" alertOnDrop="no" alertOnMiss="no"/>
  462. <LootItem name="ice rapier" id="3284" sellPrice="1000" weight="15.00" destinationName="lootbp" action="Loot" lootCondition="Has Cap to Loot" itemCategory="r" alertOnDrop="no" alertOnMiss="no"/>
  463. <LootItem name="knight armor" id="3370" sellPrice="5000" weight="120.00" destinationName="lootbp" action="Loot" lootCondition="Has Cap to Loot" itemCategory="r" alertOnDrop="no" alertOnMiss="yes"/>
  464. <LootItem name="strong health potion" id="236" sellPrice="0" weight="2.90" destinationName="lootbp" action="Loot" lootCondition="Has Cap to Loot" itemCategory="s" alertOnDrop="no" alertOnMiss="no"/>
  465. <LootItem name="jewelled backpack" id="5801" sellPrice="0" weight="17.00" destination="0" action="Loot" lootCondition="Has Cap to Loot" itemCategory="r" alertOnDrop="no" alertOnMiss="no"/>
  466. <LootItem name="strong mana potion" id="237" sellPrice="80" weight="2.90" destinationName="supplybp" action="Loot" lootCondition="Has Cap to Loot" itemCategory="s" alertOnDrop="no" alertOnMiss="no"/>
  467. </LootingProfile>
  468. </Looting>
  469. <Supplies>
  470. <Options>
  471. <Option defaultBackpack=""/>
  472. <Option extraCashMin="1000" extraCashMax="2500"/>
  473. <Option autoSwitchProfiles="no"/>
  474. </Options>
  475. <SupplyProfile name="SupplyList" vocation="Sorcerer, Druid" level="162" isCurrentProfile="yes">
  476. <SupplyItem name="strong mana potion" id="237" buyPrice="80" weight="2.90" leaveCaveAt="0" rule="Up to..." ruleValue="0" destination="" category=""/>
  477. <SupplyItem name="great mana potion" id="238" buyPrice="120" weight="3.10" leaveCaveAt="0" rule="Up to..." ruleValue="0" destination="" category=""/>
  478. <SupplyItem name="thunderstorm rune" id="3202" buyPrice="37" weight="0.52" leaveCaveAt="0" rule="Up to..." ruleValue="0" destination="" category=""/>
  479. <SupplyItem name="brown mushroom" id="3725" buyPrice="10" weight="0.20" leaveCaveAt="0" rule="Up to..." ruleValue="0" destination="" category=""/>
  480. </SupplyProfile>
  481. </Supplies>
  482. <Targeting enabled="yes" allowDiagonalMovement="yes" autoSwitchProfiles="no" nonPvPMode="no">
  483. <TargetingProfile name="TargetList" vocation="Sorcerer, Druid" level="161" targetMustBeShootable="yes" targetMustBeReachable="yes" isCurrentProfile="yes">
  484. <Priorities>
  485. <Priority health="36"/>
  486. <Priority proximity="54"/>
  487. <Priority danger="30"/>
  488. <Priority random="0"/>
  489. <Priority lure="30"/>
  490. <Priority stick="2"/>
  491. </Priorities>
  492. <Creatures>
  493. <Creature name="Crystal Spider" amount="Any" category="m" dontLoot="no" playAlarm="no" syncSpells="yes">
  494. <FightingSettings>
  495. <Setting index="0" hpFrom="0" hpTo="100" danger="6" onlyIfTrapped="no" mustAttackMe="no" action="Attack" avoidance="No Avoidance" desiredStance="Away in Line" distance="3" attackMode="No Change" firstSpell="" secondSpell="" thirdSpell="" fourthSpell="" spamMin="300" spamMax="500"/>
  496. <Setting index="1" hpFrom="0" hpTo="0" danger="0" onlyIfTrapped="no" mustAttackMe="no" action="Attack" avoidance="No Avoidance" desiredStance="No Movement" distance="3" attackMode="No Change" firstSpell="" secondSpell="" thirdSpell="" fourthSpell="" spamMin="300" spamMax="500"/>
  497. <Setting index="2" hpFrom="0" hpTo="0" danger="0" onlyIfTrapped="no" mustAttackMe="no" action="Attack" avoidance="No Avoidance" desiredStance="No Movement" distance="3" attackMode="No Change" firstSpell="" secondSpell="" thirdSpell="" fourthSpell="" spamMin="300" spamMax="500"/>
  498. <Setting index="3" hpFrom="0" hpTo="0" danger="0" onlyIfTrapped="no" mustAttackMe="no" action="Attack" avoidance="No Avoidance" desiredStance="No Movement" distance="3" attackMode="No Change" firstSpell="" secondSpell="" thirdSpell="" fourthSpell="" spamMin="300" spamMax="500"/>
  499. </FightingSettings>
  500. </Creature>
  501. <Creature name="Ice Golem" amount="Any" category="m" dontLoot="no" playAlarm="no" syncSpells="yes">
  502. <FightingSettings>
  503. <Setting index="0" hpFrom="0" hpTo="100" danger="10" onlyIfTrapped="no" mustAttackMe="no" action="Attack" avoidance="Avoid Beams" desiredStance="Away in Line" distance="3" attackMode="No Change" firstSpell="" secondSpell="" thirdSpell="" fourthSpell="" spamMin="300" spamMax="500"/>
  504. <Setting index="1" hpFrom="0" hpTo="0" danger="0" onlyIfTrapped="no" mustAttackMe="no" action="Attack" avoidance="No Avoidance" desiredStance="No Movement" distance="3" attackMode="No Change" firstSpell="" secondSpell="" thirdSpell="" fourthSpell="" spamMin="300" spamMax="500"/>
  505. <Setting index="2" hpFrom="0" hpTo="0" danger="0" onlyIfTrapped="no" mustAttackMe="no" action="Attack" avoidance="No Avoidance" desiredStance="No Movement" distance="3" attackMode="No Change" firstSpell="" secondSpell="" thirdSpell="" fourthSpell="" spamMin="300" spamMax="500"/>
  506. <Setting index="3" hpFrom="0" hpTo="0" danger="0" onlyIfTrapped="no" mustAttackMe="no" action="Attack" avoidance="No Avoidance" desiredStance="No Movement" distance="3" attackMode="No Change" firstSpell="" secondSpell="" thirdSpell="" fourthSpell="" spamMin="300" spamMax="500"/>
  507. </FightingSettings>
  508. </Creature>
  509. <Creature name="Others" amount="Any" category="t" dontLoot="yes" playAlarm="no" syncSpells="no">
  510. <FightingSettings>
  511. <Setting index="0" hpFrom="0" hpTo="100" danger="0" onlyIfTrapped="yes" mustAttackMe="no" action="Attack" avoidance="No Avoidance" desiredStance="Reach" distance="3" attackMode="No Change" firstSpell="" secondSpell="" thirdSpell="" fourthSpell="" spamMin="300" spamMax="500"/>
  512. <Setting index="1" hpFrom="0" hpTo="0" danger="0" onlyIfTrapped="yes" mustAttackMe="no" action="Attack" avoidance="No Avoidance" desiredStance="No Movement" distance="3" attackMode="No Change" firstSpell="" secondSpell="" thirdSpell="" fourthSpell="" spamMin="300" spamMax="500"/>
  513. <Setting index="2" hpFrom="0" hpTo="0" danger="0" onlyIfTrapped="yes" mustAttackMe="no" action="Attack" avoidance="No Avoidance" desiredStance="No Movement" distance="3" attackMode="No Change" firstSpell="" secondSpell="" thirdSpell="" fourthSpell="" spamMin="300" spamMax="500"/>
  514. <Setting index="3" hpFrom="0" hpTo="0" danger="0" onlyIfTrapped="yes" mustAttackMe="no" action="Attack" avoidance="No Avoidance" desiredStance="No Movement" distance="3" attackMode="No Change" firstSpell="" secondSpell="" thirdSpell="" fourthSpell="" spamMin="300" spamMax="500"/>
  515. </FightingSettings>
  516. </Creature>
  517. </Creatures>
  518. </TargetingProfile>
  519. </Targeting>
  520. <OtherBots>
  521. <HealingPaths/>
  522. <TargetingPaths/>
  523. </OtherBots>
  524. </WindbotSettings>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement