Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0" encoding="UTF-8"?>
- <WindbotSettings>
- <Healer>
- <SpellHealer enabled="yes">
- <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="<no key>" dontOverrideActions="no"/>
- <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="<no key>" dontOverrideActions="no"/>
- <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="<no key>" dontOverrideActions="yes"/>
- </SpellHealer>
- <PotionHealer enabled="yes">
- <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="<no key>" dontOverrideActions="yes"/>
- </PotionHealer>
- <ConditionHealer enabled="no">
- <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="<no key>" dontOverrideActions="no"/>
- </ConditionHealer>
- <ManaTrainer manaTrainCondition="Mana Missing below" manaTrainMin="87" manaTrainMax="93" enabled="no"/>
- </Healer>
- <Scripter>
- <HotkeyScripts>
- <HotkeyScript name="PauseHotkey" script="if not $cavebot or not $targeting then listas('Enabling Cavebot and Targeting') setcavebot('on') settargeting('on') wait(1000) else listas('Disabling Cavebot and Targeting') setcavebot('off') settargeting('off') stopattack() wait(1000) end" triggerKey="Pause" hotkeyTriggerMode="0"/>
- </HotkeyScripts>
- <PersistentScripts>
- <PersistentScript name="MidnightSetup" script="--[[ Midnight Scripters's Setup 			DO NOT TOUCH ANYTHING BELOW! Last changed: Apr 13, 2015 Edited: WornSoftAmount to work without Setup --]] MS_Setup = { 	Version = '0.2.1', 	Author = 'RoxZin xD' } auto(1000) --Backpack Setup MainBP = itemname($back.id) SupplyBP = getlootingdestination('supplybp') LootBP = getlootingdestination('lootbp') StackBP = getlootingdestination('stackbp') GoldBP = getlootingdestination('goldbp') SuppDpBP = getlootingdestination('suppdpbp') ExtraBP = getlootingdestination('extrabp') --General Booleans PVP = getuseroption('PVP on?') MovePotsToSupp = getuseroption('Move Pots To Supp?') LootGold = getuseroption('Loot Gold?') Shortcut = getuseroption('Shortcut?') Use_Carpet = getuseroption('Use Carpet?') CastWave = getuseroption('Use Wave?') CastMasVis = getuseroption('Use UE?') HasteOnSpawn = getuseroption('Haste on Spawn?') KillPath = getuseroption('Kill Path?') RuneWalk = getuseroption('Rune Walk?') farmineShop = getuseroption('Auto Sell Optionals') SafeRune = getuseroption('Safe Rune?') UseSpells = getuseroption('Use Spells?') UseGate = getuseroption('Use Gate?') UseUtori = getuseroption('Use Utori Spell?') UseMaxSpell = getuseroption('Use Max Spell?') LureMode = getuseroption('Lure Mode?') --Soft Setup SoftRefill = getuseroption('Soft Refill?') WornSoftAmount = getuseroption('Softs to Refill?') or 0 --Stamina Setup OfflineTrainer = getuseroption('Use Training Statues?') staminaTime = getuseroption('Stamina Hours') or 15 Skill = getuseroption('Statue to use:') --Anti-Lure Setup AntiLure = getuseroption('Anti Lure') antiLureAmount = getuseroption('Amount of monsters to trigger anti-lure.') antiLureWait = getuseroption('Amount of seconds to wait after lure.') --Numbers/Strings Cap = tonumber(getuseroption('Capacity to leave cave?')) --Supplies Setup WithdrawSupp = getuseroption('Withdraw Supplies?') --Main Mana Potion MP = getuseroption('MP Name') AmountMp = tonumber(getuseroption('Total amount of MP to buy.')) or 0 HuntMp = tonumber(getuseroption('Amount of MP to skip refill.')) or 0 LowMp = tonumber(getuseroption('Amount of MP to leave.')) or 0 PriceMp = itemcost(MP) --Main Health Potion chkHP = false HP = getuseroption('HP Name') AmountHp = tonumber(getuseroption('Total amount of HP to buy.')) or 0 HuntHp = tonumber(getuseroption('Amount of HP to skip refill.')) or 0 LowHp = tonumber(getuseroption('Amount of HP to leave.')) or 0 PriceHp = itemcost(HP) or 0 --Secondary Health Potion HP2 = getuseroption('HP2 Name') AmountHp2 = tonumber(getuseroption('Total amount of HP2 to buy.')) or 0 HuntHp2 = tonumber(getuseroption('Amount of HP2 to skip refill.')) or 0 LowHp2 = tonumber(getuseroption('Amount of HP2 to leave.')) or 0 PriceHp2 = itemcost(HP2) or 0 --Main Ammunition (Royal Paladins) chkAmmo = false Ammo = getuseroption('Ammo Name') AmountAmmo = tonumber(getuseroption('Total amount of Ammo to buy.')) or 0 HuntAmmo = tonumber(getuseroption('Amount of Ammo to skip refill.')) or 0 LowAmmo = tonumber(getuseroption('Amount of Ammo to leave.')) or 0 PriceAmmo = itemcost(Ammo) or 0 --Main Rune RuneRefill = getuseroption('Rune Refill?') Rune = getuseroption('Rune Name') AmountRune = tonumber(getuseroption('Total amount of Rune to buy.')) or 0 HuntRune = tonumber(getuseroption('Amount of Rune to skip refill.')) or 0 LowRune = tonumber(getuseroption('Amount of Rune to leave.')) or 0 PriceRune = itemcost(Rune) or 0 --Sudden Death Rune SDRefill = getuseroption('SD Refill?') SD = getuseroption('SD Name') or 'sudden death rune' AmountSD = tonumber(getuseroption('Total amount of SD to buy.')) or 0 HuntSD = tonumber(getuseroption('Amount of SD to skip refill.')) or 0 LowSD = tonumber(getuseroption('Amount of SD to leave.')) or 0 PriceSD = itemcost(SD) or 0 --AoE Rune (Anti-Trap) GFBRefill = getuseroption('GFB Refill?') GFB = getuseroption('GFB Name') AmountGFB = tonumber(getuseroption('Total amount of GFB to buy.')) or 0 HuntGFB = tonumber(getuseroption('Amount of GFB to skip refill.')) or 0 LowGFB = tonumber(getuseroption('Amount of GFB to leave.')) or 0 PriceGFB = itemcost(GFB) or 0 --Main Food FoodRefill = getuseroption('Food Refill?') Food = getuseroption('Food Name') AmountFood = tonumber(getuseroption('Total amount of food to buy.')) or 0 or 0 HuntFood = tonumber(getuseroption('Amount of food to skip refill.')) or 0 LowFood = tonumber(getuseroption('Amount of food to leave.')) or 0 PriceFood = itemcost(Food) or 0 --Main Ring Use_Ring = getuseroption('Use Rings?') Ring = getuseroption('Ring Name') AmountRing = getuseroption('Amount of rings to withdraw.') or 0 --Main Amulet Use_Amulet = getuseroption('Use Amulets?') Amulet = getuseroption('Amulet Name') AmountAmulet = getuseroption('Amount of amulets to withdraw.') or 0 --Miscellaneous Setup --Scarab Coin Setup WithdrawCoins = getuseroption('Withdraw Coins') Coin = 'scarab coin' AmountCoin = getuseroption('Total amount of coins to withdraw.') LowCoin = getuseroption('Amount of coins to refill.') --Tasker Setup AutoTask = getuseroption('Auto Task?') KillBoss = getuseroption('Kill Boss?') Boss = getuseroption('Boss Option?') --Hive Tasker Items atItem = 13974 psItem = 14051 hdItem = 13976 --Hive Tasker Setup Pore = Pore or 0 Blind = Blind or 0 Digest = Digest or 0 --Bosses Setup Leviathan = Leviathan or false TheMany = TheMany or false Gorgo = Gorgo or false Noxious = Noxious or false Bretzek = Bretzek or false --Other Check gemName = 'small ruby' scriptName = getuseroption('scriptname') mpChk = itemcount(MP, SupplyBP) + itemcount(MP, MainBP) --[[ 		DO NOT EDIT THE ACTIONS BELOW OR THE SCRIPT CAN STOP WORKING! ]]-- --@name 	MS_checkLoc --@desc 		Returns to a specified waypoint or label on an optional waypoint section. --@param	{number} or {string}	wpt --@param 	{string}	section --@returns	{null} function MS_checkLoc(wpt, section) 	section = section or $wptsection 	wpt = (type(wpt) == 'number') and ($wptid - wpt) or wpt --credits to @Raphael 	waitping() 	if $posz ~= $wptz then 		print('Failed reaching floor '..$wptz..'. Trying again.') 		gotolabel(wpt, section) 	end end --@name 	MS_depositGold --@desc 		Deposits gold to the local bank, optionally withdrawing an extra amount. --@param 	{number}	extraGold --@returns	{boolean} function MS_depositGold(extraGold) 	extraGold = extraGold or 0 	local rand = random(10,20) 	if rand >= 15 and extraGold ~= 0 then 		extraGold = extraGold+100 	end 	if islocation(1) then 		print('Depositing gold to the nearest bank NPC.') 			npctalk('hi', 'deposit all', 'yes') 			wait(500,600) 		if windowcount() == 0 then 			return false 		end 		if extraGold > 0 then 			print('Withdrawing extra gold.') 			npctalk('withdraw '..extraGold, 'yes') 			wait(500,600) 		end 		npctalk('balance') 		wait(500,600) 		if gold() <= extraGold then 			print('Deposited gold sucessfully.') 			return true 		else 			print('Failed to deposit gold. Retrying.') 			gotolabel('Bank') 			return false 		end 	else 		gotolabel('Bank') 		return false 	end end --@name 	MS_levitate --@desc 		Tries to walk to another floor, casting exani hur up/down if failing. --@param	{string}	side --@param 	{string}	updown --@returns	{boolean} function MS_levitate(side, updown) 	local initialZ = $posz 	 	move(side) 	wait(700,900) 	if $posz ~= initialZ then return true end 	if $posz == initialZ then 		turn(side) 		wait(300,500) 		cast('exani hur '..updown) 		if $posz ~= initialZ then return true end 	end 	return false end --@name 	MS_openhole --@desc 		Tries to open a hole, repeating if failing. --@returns	{boolean} function MS_openhole() 	local shovel = getsetting('Cavebot/Shovel') 	local initZ = $posz 	if islocation() then 		print('Trying to open a hole.') 		useitemon(shovel, 0, ground($posx, $posy, $posz)) 		wait(500) 		if $posz ~= initZ then 			print('Hole opened sucessfully.') 			return true 		else 			print('Retrying to open hole.') 			gotolabel($wptid-1) 			return false 		end 	end end --@name 	MS_openMainBP --@desc 		Opens the main container. --@returns	{boolean} function MS_openMainBP() 	while windowcount(MainBP) == 0 do 		openitem($back.id, 'back') 		waitcontainer(MainBP, true) 	end 	wait(500,700) 	if windowcount(MainBP) > 0 then 		return true 	end 	return false end --@name 	MS_openBP --@desc 		Opens the main container. --@param	{string}	bpto --@param	{string}	cont --@param	{boolean}	chk --@returns	{boolean} function MS_openBP(bpto, cont, chk) 	while windowcount(bpto) == 0 do 		openitem(bpto, cont, true) 		waitcontainer(bpto, chk) 	end 	resizewindows() 	wait(500,700) 	if windowcount(bpto) > 0 then 		return true 	end 	return false end --@name 	MS_softRepair() --@desc 		Repairs all pairs of worn soft boots. --@returns	{null} function MS_softRepair() 	if islocation(1) then 		npctalk('hi') 		waitping() 	if itemcount(6530) > 0 and gold() >= 10000 then 		while itemcount(6530) > 0 do 			print('Repairing a pair of soft boots.') 			npctalk('repair', 'yes') 			wait(500,1000) 			increasemoneyspent(10000) 			wait(1700,2000) 		end 	end 	print('All pairs were repaired.') 	npctalk('bye') 	else 		gotolabel('Aldo') 	end end --@name 	MS_shopUpTo --@desc 		Checks if character has enough money to buy something. --@param	{string/number}	item --@param	{number}	amount --@param	{string}	backpack --@returns	{null} function MS_shopUpTo(item, amount, backpack) 	backpack = backpack or '0-15' 	local hasMoney = false 	if gold() >= itemcost(item)*(amount - itemcount(item)) then 		hasMoney = true 	end 	waitping(2,3) 	while itemcount(item) < amount and $tradeopen and windowcount(backpack) > 0 and hasMoney and $cap >= 15 do 		buyitemsupto(item, amount) 		waitping(1,2) 	end end --@name 	MS_withdrawItem --@desc 		Withdraws item from the suppdpbp with Midnight Scripts. --@param	{string/number}	item --@param	{string}	backpack --@param	{number}	amount --@param	{boolean}	chk --@returns	{null} function MS_withdrawItem(item, backpack, amount) 	if itemcount(item, SuppDpBP) > 0 and itemcount(item, backpack) < amount then 		while itemcount(item, SuppDpBP) > 0 and itemcount(item, backpack) < amount and not iscontainerfull(backpack) do 			moveitemsupto(item, amount, backpack, SuppDpBP) 			wait(500,1000) 		end 	end 	return nil end --@name 	AreaLessThanX --@desc 		Changes an area policy to none when character and target are located behind X. --@param	{number}	x --@param	{string}	area --@returns	{null} function AreaLessThanX(x, area) 	if $posx <= x and $target.posx <= x then 		set('Cavebot/SpecialAreas/'..area..'/Policy', 'None') 	else 		set('Cavebot/SpecialAreas/'..area..'/Policy', 'Targeting') 	end end --@name 	AreaMoreThanX --@desc 		Changes an area policy to none when character and target are located ahead of X. --@param	{number}	x --@param	{string}	area --@returns	{null} function AreaMoreThanX(x, area) 	if $posx >= x and $target.posx >= x then 		set('Cavebot/SpecialAreas/'..area..'/Policy', 'None') 	else 		set('Cavebot/SpecialAreas/'..area..'/Policy', 'Targeting') 	end end --@name 	AreaLessThanY --@desc 		Changes an area policy to none when character and target are located behind Y. --@param	{number}	x --@param	{string}	area --@returns	{null} function AreaLessThanY(x, area) 	if $posy <= x and $target.posy <= x then 		set('Cavebot/SpecialAreas/'..area..'/Policy', 'None') 	else 		set('Cavebot/SpecialAreas/'..area..'/Policy', 'Targeting') 	end end --@name 	AreaMoreThanY --@desc 		Changes an area policy to none when character and target are located ahead of Y. --@param	{number}	x --@param	{string}	area --@returns	{null} function AreaMoreThanY(x, area) 	if $posy >= x and $target.posy >= x then 		set('Cavebot/SpecialAreas/'..area..'/Policy', 'None') 	else 		set('Cavebot/SpecialAreas/'..area..'/Policy', 'Targeting') 	end end if $vocshort == 'P' or $vocshort == 'K' then 	chkHP = true end if $vocshort == 'P' then 	chkAmmo = true end if $vocshort == 'D' then 	gemName = 'small emerald' end --Withdrawing Checkers mpdraw = PriceMp*(AmountMp - itemcount(MP)) hpdraw = PriceHp*(AmountHp - itemcount(HP)) hp2draw = PriceHp2*(AmountHp2 - itemcount(HP2)) gfbdraw = PriceGFB*(AmountGFB - itemcount(GFB)) ammodraw = PriceAmmo*(AmountAmmo - itemcount(Ammo)) fooddraw = PriceFood*(AmountFood - itemcount(Food)) runedraw = PriceRune*(AmountRune - itemcount(Rune)) SDdraw = PriceSD*(AmountSD - itemcount(SD)) softdraw = 10000*itemcount(6530) if mpdraw < 0 or itemcount(MP) >= HuntMp then mpdraw = 0 end if hpdraw < 0 or itemcount(HP) >= HuntHp or not chkHP then hpdraw = 0 end if hp2draw < 0 or itemcount(HP2) >= HuntHp2 or $vocshort ~= 'K' then hp2draw = 0 end if gfbdraw < 0 or itemcount(GFB) >= HuntGFB or not GFBRefill then gfbdraw = 0 end if ammodraw < 0 or itemcount(Ammo) >= HuntAmmo or not chkAmmo then ammodraw = 0 end if fooddraw < 0 or itemcount(Food) >= HuntFood or not FoodRefill then fooddraw = 0 end if SDdraw < 0 or itemcount(SD) >= HuntSD or not SDRefill then SDdraw = 0 end if runedraw < 0 or itemcount(Rune) >= HuntRune or not RuneRefill then runedraw = 0 end if softdraw < 0 or itemcount(6530) < WornSoftAmount or not SoftRefill then softdraw = 0 end" enabled="yes"/>
- <PersistentScript name="EscapeTrap" script="-- Anti-Trap by Midnight Scripters --MS_UNTRAP = { --	Version = '1.1.0', --	Author = 'RoxZin xD' --} -- init start 	local printMsg = true init end auto(1000) if $standtime >= 150000 and maround() > 0 then 	if printMsg then 		print('Being idle for too long. Anti-Stuck was triggered at waypoint '..$wptid..' of the section '..$wptsection) 	end 	set('Targeting/Creatures/Others/Setting*/OnlyIfTrapped', 'no') 	printMsg = false else 	set('Targeting/Creatures/Others/Setting*/OnlyIfTrapped', 'yes') 	printMsg = true end" enabled="yes"/>
- <PersistentScript name="HealerActionMage" script="--[[ Midnight Scripters's Healer Action, Mage version MS_HEALER = { 	Author = 'RoxZin xD', 	Version = '2.0.0' } --]] setpriority(80, 70, 1000, 3000, 0) auto(60,90) if $vocshort == 'D' or $vocshort == 'S' then if $hppc <= 62 and $mp >= 160 then 	cast('exura vita') 	wait(500) elseif $hppc >= 63 and $hppc <= 86 and $mp >= 70 then 	cast('exura gran') 	wait(500) elseif $hppc >= 87 and $hppc < 93 and $mp >= 20 then 	cast('exura') 	wait(500) end if itemcount(MP) > 0 and $mppc < random(25,28) then 	useoncreature(MP, $self) 	wait(500) end if $paralyzed then 	if $hppc <= 63 then 		cast('exura vita') 		wait(500) 	elseif $hppc <= 86 and $hppc >= 64 then 		cast('exura gran') 		wait(500) 	elseif $hppc >= 87 then 		cast('exura') 		wait(500) 	end end else return end" enabled="yes"/>
- <PersistentScript name="SS at Death" script="init start 	takeSS = true init end auto(200) if $hppc < 10 and $connected and takeSS then screenshot($name.. ' died at '..currenttime()) waitping() traymessage('Death', 'Your character has died at waypoint '..$wptid.. ' of section '..$wptsection..'.', 5000) takeSS = false end takeSS = true" enabled="yes"/>
- <PersistentScript name="SS at Level" script="init start local curlevel = $level init end auto(200) if $level > curlevel then 	wait(300,400) smartscreenshot($name..' - Level '..$level) traymessage('Level Up!', 'Congratulations! You advanced from Level ' ..curlevel.. ' to Level ' ..$level, 5000) curlevel = $level end" enabled="yes"/>
- </PersistentScripts>
- </Scripter>
- <HUDs>
- <HUDScripts>
- <HUDScript name="MonitorMyHunting" script="auto(200) init start 	-- 	-- 88 	-- "" ,d 	-- 88 	-- ,adPPYba, 88 8b,dPPYba, 88,dPYba,,adPYba, ,adPPYYba, MM88MMM ,adPPYba, 	-- I8[ "" 88 88P' "Y8 88P' "88" "8a "" `Y8 88 a8P_____88 	-- `"Y8ba, 88 88 88 88 88 ,adPPPPP88 88 8PP""""""" 	-- aa ]8I 88 88 88 88 88 88, ,88 88, "8b, ,aa 	-- Author: `"YbbdP"' 88 88 88 88 88 `"8bbdP"Y8 "Y888 `"Ybbd8"' 	-- 	-- Monitor My Hunting! 	-- 	-- Version: 1.0 	-- Created: 29.12.2013 	-- Last update: 29.12.2013 	-- 	local MMH = { 		SHOW_ALL_ITEMS = false, 		SHOW_ALL_SUPPLIES = false, 	} 	-- [[ Do not change anything below this line. ]] -- 	-- [[ COLORS ]] -- 	MMH.COLORS = {} 	MMH.COLORS.FONT_COLOR = color(255, 255, 255, 0) 	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)} 	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)} 	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)} 	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)} 	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)} 	MMH.COLORS.RESET_BUTTON_BACKGROUND = MMH.COLORS.RESULT_POSITIVE_BACKGROUND 	-- [[ ELEMENTS ]] -- 	MMH.ELEMENTS = {} 	MMH.ELEMENTS.RESET_BUTTON = -1 	MMH.ELEMENTS.SWITCH_ITEMS_LOOTED = -1 	MMH.ELEMENTS.SWITCH_SUPPLIES_USED = -1 	-- [[ SECTION STATES ]] -- 	MMH.SECTIONS = {} 	MMH.SECTIONS.ITEMS_LOOTED = true 	MMH.SECTIONS.SUPPLIES_USED = true 	-- [[ OTHERS ]] --	 	filterinput(false, true, false, false) 	local MOVING, TEMP, MOVED = false, {0, 0}, {0, 0} 	function inputevents(e) 		if (e.type == IEVENT_LMOUSEDOWN) then 			if (e.elementid == MMH.ELEMENTS.RESET_BUTTON) then 				resetcharactertime() 				resetlootcounter() 				resetexpcounter() 			elseif (e.elementid == MMH.ELEMENTS.SWITCH_ITEMS_LOOTED) then 				MMH.SECTIONS.ITEMS_LOOTED = not MMH.SECTIONS.ITEMS_LOOTED 			elseif (e.elementid == MMH.ELEMENTS.SWITCH_SUPPLIES_USED) then 				MMH.SECTIONS.SUPPLIES_USED = not MMH.SECTIONS.SUPPLIES_USED 			end 		end 		if (e.type == IEVENT_MMOUSEDOWN) then 			MOVING, TEMP = true, {$cursor.x - MOVED[1], $cursor.y - MOVED[2]} 		end 		if (e.type == IEVENT_MMOUSEUP) then 			MOVING = false 		end 	end init end if (MOVING) then auto(10) MOVED = {$cursor.x - TEMP[1], $cursor.y - TEMP[2]} end setposition($clientwin.right - 424 + MOVED[1], $worldwin.top + MOVED[2]) setfontstyle('Tahoma', 8, 75, MMH.COLORS.FONT_COLOR, 1, color(0, 0, 0, 20)) local ROW_QUANTITY, STRING_WIDTH, STRING_HEIGHT = 0, measurestring('TEMP') local ITEMS_LOOTED_WORTH, ITEM_LOOTED_QUANTITY, ITEM_LOOTED_WORTH = 0, 0, 0 local SUPPLIES_USED_WORTH, SUPPLY_USED_QUANTITY, SUPPLY_USED_WORTH = 0, 0, 0 setfillstyle('gradient', 'linear', 2, 0, 0, 0, 21) addgradcolors(unpack(MMH.COLORS.ENTRY_NAME_BACKGROUND)) drawroundrect(0, 0, 240, 20, 2, 2) drawtext('Monitor My Hunting v1.0', 6, 20 / 2 - STRING_HEIGHT * 0.5) setfillstyle('gradient', 'linear', 2, 0, 0, 0, 21) addgradcolors(unpack(MMH.COLORS.RESET_BUTTON_BACKGROUND)) MMH.ELEMENTS.RESET_BUTTON = drawroundrect(196, 0, 44, 20, 2, 2) drawtext('RESET', 202, 20 / 2 - STRING_HEIGHT * 0.5) setfontsize(7) STRING_WIDTH, STRING_HEIGHT = measurestring('TEMP') setfillstyle('gradient', 'linear', 2, 0, 0, 0, 16) addgradcolors(unpack(MMH.COLORS.ENTRY_NAME_BACKGROUND)) drawroundrect(0, 23, 240, 15, 2, 2) drawtext('Looting Accuracy', 6, 23 + 15 / 2 - STRING_HEIGHT * 0.5 + 1) setfillstyle('gradient', 'linear', 2, 0, 0, 0, 16) addgradcolors(unpack(MMH.COLORS.ENTRY_VALUE_BACKGROUND)) drawroundrect(130, 23, 110, 15, 2, 2) drawtext(string.format('%.2f', $lootaccuracy) .. '%', 136, 23 + 15 / 2 - STRING_HEIGHT * 0.5 + 1) setfontsize(8) STRING_WIDTH, STRING_HEIGHT = measurestring('TEMP') setfillstyle('gradient', 'linear', 2, 0, 0, 0, 21) addgradcolors(unpack(MMH.COLORS.SECTION_HEADER_BACKGROUND)) drawroundrect(0, 41, 240, 20, 2, 2) drawtext('ITEMS LOOTED', 6, 41 + 20 / 2 - STRING_HEIGHT * 0.5) setfillstyle('gradient', 'linear', 2, 0, 0, 0, 21) if (MMH.SECTIONS.ITEMS_LOOTED) then 	addgradcolors(unpack(MMH.COLORS.RESULT_POSITIVE_BACKGROUND)) else 	addgradcolors(unpack(MMH.COLORS.RESULT_NEGATIVE_BACKGROUND)) end MMH.ELEMENTS.SWITCH_ITEMS_LOOTED = drawroundrect(220, 41, 20, 20, 2, 2) drawtext('X', 228, 41 + 20 / 2 - STRING_HEIGHT * 0.5) setfontsize(7) STRING_WIDTH, STRING_HEIGHT = measurestring('TEMP') foreach lootingitem ItemEntry do 	if (MMH.SHOW_ALL_ITEMS or ItemEntry.amountlooted > 0) then 		ITEM_LOOTED_QUANTITY = ItemEntry.amountlooted 		ITEM_LOOTED_WORTH = ItemEntry.sellprice * ITEM_LOOTED_QUANTITY 		if (MMH.SECTIONS.ITEMS_LOOTED) then 			setfillstyle('gradient', 'linear', 2, 0, 0, 0, 16) 			addgradcolors(unpack(MMH.COLORS.ENTRY_NAME_BACKGROUND)) 			drawroundrect(0, 64 + ROW_QUANTITY * 18, 240, 15, 2, 2) 		 			setcompositionmode(CompositionMode_SourceOver) 			drawitem(ItemEntry.id, 6, 64 + ROW_QUANTITY * 18, 50, 100) 			setcompositionmode(CompositionMode_Automatic) 			drawtext(((#ItemEntry.name > 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) 			setfillstyle('gradient', 'linear', 2, 0, 0, 0, 16) 			addgradcolors(unpack(MMH.COLORS.ENTRY_VALUE_BACKGROUND)) 			drawroundrect(130, 64 + ROW_QUANTITY * 18, 110, 15, 2, 2) 			drawtext(num(ITEM_LOOTED_QUANTITY) .. ' (' .. math.floor(ITEM_LOOTED_WORTH / 100) / 10 .. 'K)', 136, 64 + ROW_QUANTITY * 18 + 15 / 2 - STRING_HEIGHT * 0.5) 			ROW_QUANTITY = ROW_QUANTITY + 1 		end 		ITEMS_LOOTED_WORTH = ITEMS_LOOTED_WORTH + ITEM_LOOTED_WORTH 	end end setfillstyle('gradient', 'linear', 2, 0, 0, 0, 16) addgradcolors(unpack(MMH.COLORS.ENTRY_NAME_BACKGROUND)) drawroundrect(0, 64 + ROW_QUANTITY * 18, 240, 15, 2, 2) drawtext('Total: ' .. num(ITEMS_LOOTED_WORTH) .. ' GPs', 6, 64 + ROW_QUANTITY * 18 + 15 / 2 - STRING_HEIGHT * 0.5) ROW_QUANTITY = ROW_QUANTITY + 1 setfontsize(8) STRING_WIDTH, STRING_HEIGHT = measurestring('TEMP') setfillstyle('gradient', 'linear', 2, 0, 0, 0, 21) addgradcolors(unpack(MMH.COLORS.SECTION_HEADER_BACKGROUND)) drawroundrect(0, 64 + ROW_QUANTITY * 18, 240, 20, 2, 2) drawtext('SUPPLIES USED', 6, 64 + ROW_QUANTITY * 18 + 20 / 2 - STRING_HEIGHT * 0.5) setfillstyle('gradient', 'linear', 2, 0, 0, 0, 21) if (MMH.SECTIONS.SUPPLIES_USED) then 	addgradcolors(unpack(MMH.COLORS.RESULT_POSITIVE_BACKGROUND)) else 	addgradcolors(unpack(MMH.COLORS.RESULT_NEGATIVE_BACKGROUND)) end MMH.ELEMENTS.SWITCH_SUPPLIES_USED = drawroundrect(220, 64 + ROW_QUANTITY * 18, 20, 20, 2, 2) drawtext('X', 228, 64 + ROW_QUANTITY * 18 + 20 / 2 - STRING_HEIGHT * 0.5) setfontsize(7) STRING_WIDTH, STRING_HEIGHT = measurestring('TEMP') foreach supplyitem ItemEntry do 	if (MMH.SHOW_ALL_SUPPLIES or ItemEntry.amountused > 0) then 		SUPPLY_USED_QUANTITY = ItemEntry.amountused 		SUPPLY_USED_WORTH = ItemEntry.buyprice * SUPPLY_USED_QUANTITY 		if (MMH.SECTIONS.SUPPLIES_USED) then 			setfillstyle('gradient', 'linear', 2, 0, 0, 0, 16) 			addgradcolors(unpack(MMH.COLORS.ENTRY_NAME_BACKGROUND)) 			drawroundrect(0, 87 + ROW_QUANTITY * 18, 240, 15, 2, 2) 			setcompositionmode(CompositionMode_SourceOver) 			drawitem(ItemEntry.id, 6, 87 + ROW_QUANTITY * 18, 50, 100) 			setcompositionmode(CompositionMode_Automatic) 			drawtext(((#ItemEntry.name > 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) 			setfillstyle('gradient', 'linear', 2, 0, 0, 0, 16) 			addgradcolors(unpack(MMH.COLORS.ENTRY_VALUE_BACKGROUND)) 			drawroundrect(130, 87 + ROW_QUANTITY * 18, 110, 15, 2, 2) 			drawtext(num(SUPPLY_USED_QUANTITY) .. ' (' .. math.floor(SUPPLY_USED_WORTH / 100) / 10 .. 'K)', 136, 87 + ROW_QUANTITY * 18 + 15 / 2 - STRING_HEIGHT * 0.5) 			ROW_QUANTITY = ROW_QUANTITY + 1 		end 		SUPPLIES_USED_WORTH = SUPPLIES_USED_WORTH + SUPPLY_USED_WORTH 	end end if (MMH.SECTIONS.SUPPLIES_USED) then 	setfillstyle('gradient', 'linear', 2, 0, 0, 0, 16) 	addgradcolors(unpack(MMH.COLORS.ENTRY_NAME_BACKGROUND)) 	drawroundrect(0, 87 + ROW_QUANTITY * 18, 240, 15, 2, 2) 	setcompositionmode(CompositionMode_SourceOver) 	drawitem(3031, 6, 87 + ROW_QUANTITY * 18, 50, 100) 	setcompositionmode(CompositionMode_Automatic) 	drawtext('Money Spent', 28, 87 + ROW_QUANTITY * 18 + 15 / 2 - STRING_HEIGHT * 0.5) 	setfillstyle('gradient', 'linear', 2, 0, 0, 0, 16) 	addgradcolors(unpack(MMH.COLORS.ENTRY_VALUE_BACKGROUND)) 	drawroundrect(130, 87 + ROW_QUANTITY * 18, 110, 15, 2, 2) 	drawtext(num($moneyspent) .. ' (' .. math.floor($moneyspent / 100) / 10 .. 'K)', 136, 87 + ROW_QUANTITY * 18 + 15 / 2 - STRING_HEIGHT * 0.5) 	ROW_QUANTITY = ROW_QUANTITY + 1 end SUPPLIES_USED_WORTH = SUPPLIES_USED_WORTH + $moneyspent setfillstyle('gradient', 'linear', 2, 0, 0, 0, 16) addgradcolors(unpack(MMH.COLORS.ENTRY_NAME_BACKGROUND)) drawroundrect(0, 87 + ROW_QUANTITY * 18, 240, 15, 2, 2) drawtext('Total: ' .. num(SUPPLIES_USED_WORTH) .. ' GPs', 6, 87 + ROW_QUANTITY * 18 + 15 / 2 - STRING_HEIGHT * 0.5) ROW_QUANTITY = ROW_QUANTITY + 1 setfontsize(8) STRING_WIDTH, STRING_HEIGHT = measurestring('TEMP') setfillstyle('gradient', 'linear', 2, 0, 0, 0, 21) if (ITEMS_LOOTED_WORTH >= SUPPLIES_USED_WORTH) then 	addgradcolors(unpack(MMH.COLORS.RESULT_POSITIVE_BACKGROUND)) else 	addgradcolors(unpack(MMH.COLORS.RESULT_NEGATIVE_BACKGROUND)) end drawroundrect(0, 87 + ROW_QUANTITY * 18, 240, 20, 2, 2) drawtext(((ITEMS_LOOTED_WORTH >= 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"/>
- <HUDScript name="RecentLootHUD" script="init start 	-- SCRIPT_VERSION = '1.1.0' 	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 	local maxMsgs = 10 -- max lines to display at once 	local msgTimeOut = 90000 -- will only show loots from the last 30 seconds 	local position = 'left' -- right or left 	local rareLootColor = 0xFFC800 	local lootColor = 0xFAFAFA 	-- dont edit anything below this line 	local fontsize = 7 	local fontspacing = fontsize + 6 	local isRight = (position == 'right') 	local msgs = {} 	setfontstyle("Tahoma", fontsize, 75, lootColor, 1, 0x002200) 	setmaskcolorxp(0) init end foreach newmessage m do 	if m.level == 0 and m.content:sub(0,8) == 'Loot of ' then 		local msgInfo = m.content:lootmsg() 		local color = lootColor 		local hasItems = false 		local msg = msgInfo.name .. ': ' 		local lastIndex = #msgInfo.items 		for index, item in ipairs(msgInfo.items) do 			hasItems = true 			if (item.count > 1) then 				msg = msg .. item.count .. ' ' 			end 			msg = msg .. item.name 			if index ~= lastIndex then 				msg = msg .. ', ' 			end 			if table.find(warnItems, item.name) then 				color = rareLootColor 			end 		end 		if (hasItems) then 			local msgWidth = measurestring(msg) 			table.insert(msgs, {['msg'] = msg, ['color'] = color, ['time'] = $timems, ['width'] = msgWidth}) 		end 	end end local msgsLen = #msgs local longestLine = 0 if isRight then 	for index = msgsLen, math.max(msgsLen - maxMsgs + 1, 1), -1 do 		if msgs[index].width > longestLine then longestLine = msgs[index].width end 	end end local i = 1 while (i <= msgsLen) do 	if $timems - msgs[i].time <= msgTimeOut and i > msgsLen - maxMsgs then 		setfontcolor(msgs[i].color) 		addtext(msgs[i].msg, tern(isRight, longestLine - msgs[i].width - 2, 2), i*fontspacing) 		i = i + 1 	else 		table.remove(msgs, i) 	end 	msgsLen = #msgs end if not isRight then 	setposition($worldwin.left + 3, $worldwin.bottom - i*fontspacing) else 	setposition($worldwin.right - 3 - longestLine, $worldwin.bottom - i*fontspacing) end if msgsLen == 0 then -- to clear HUD when resetting script 	addtext('', 0, 0) end" enabled="yes" refreshRate="1000"/>
- <HUDScript name="SSTaker" script="init start -- local SCRIPT_VERSION = '1.0.1' -- screenshot options local saveOriginal = false			-- save full original, unaltered screenshot local createWorldVersion = true		-- create a version of the screenshot that only shows the world area local createFullVersion = false		-- create a version of the screenshot that shows the whole client local focusClient = true			-- focus client before taking the screenshot local drawHuds = true				-- if desktop composition is enabled (Windows Vista, 7 or 8), draw HUDs on SS local relocateHuds = true			-- draws the huds at a custom location on the screenshot (need desktop composition enabled) -- hud locations, relative to world window. negative coordinates will be right / bottom aligned local relocateLocations = { 	{ name = "GeneralInfo", x = 4, y = -20 }, 	{ name = "MonitorMyStats", x = 0, y = 0 }, 	{ name = "MonitorMyHunting", x = - 242, y = 0 }, } -- alteration options local showEquipment = true			-- show your character equipment on world screenshot local hidePersonalInfo = true		-- hide personal info on screenshot (character name) local hideHudInfo = true			-- hide personal info on HUD (must be supported by HUD) -- technical settings local hideMethod = "both"			-- "shuffle" = shuffle pixels, "blur" = blur region, "both" = both (strongest) local textSearchTolerance = 30		-- how many % of the text for hiding we want to can be obstructed (by other text on top) -- internal setup (don't change below) -- note: textures/child_huds get rendered in the order -- they were created and not selected, needs fixing local glowTexture = createtexture() local clientTexture = createtexture() local shotTexture = createtexture() local glowRendered = false local takeScreenshot = false local fileName = 'smartss' local function renderglow() 	local rectSize = 34 	local glowSize = 4 	local fullSize = glowSize + rectSize + glowSize 	-- leave space for glow on edges 	selecthud(glowTexture) 	setfixedsize(fullSize, fullSize) 	 	-- fill with transparent color 	setbordercolor(-1) 	setfillstyle("color", -1) 	drawrect(0, 0, fullSize, fullSize) 	 	-- black rect in center 	setfillstyle("color", 0x80000000) 	drawrect(glowSize, glowSize, rectSize-1, rectSize-1) 	 	-- apply glow around rect 	drawgloweffect(0x000000, glowSize) 	 	--hudsnapshot("glow", 100) end local function copyequip() 	local slotLocations = {37, 2, 0, 16, 74, 16, 37, 39, 74, 53, 0, 53, 37, 76, 37, 113, 0, 90, 74, 90} 	local equipx, equipy = getwindowpos("equip") 	 	if equipx ~= nil then 		local destx = $worldwin.width - 123 - 16 		local desty = $worldwin.height - 155 - 16 	 		for i=1,10 do 			local slotx = 10 + slotLocations[i*2-1] 			local sloty = 4 + slotLocations[i*2] 			 			-- add glow 			setcompositionmode(CompositionMode_SourceOver) 			drawtexture(glowTexture, destx+slotx-2, desty+sloty-2, 100) 			 			-- copy equip slot 			setcompositionmode(CompositionMode_Automatic) 			drawtexture(clientTexture, destx+slotx, desty+sloty, 100, equipx - $clientwin.x + slotx, equipy - $clientwin.y + sloty, 34, 34) 		end 	end end local function hideregion(r) 	if hideMethod == "shuffle" or hideMethod == "both" then 		drawshufflepixelseffect(r.left, r.top, r.width, r.height) 	end 	 	if hideMethod == "blur" or hideMethod == "both" then 		drawblureffect(r.left, r.top, r.width, r.height, 8, 2) 	end end local function takeshot() 	if hudready(clientTexture) and hudready(shotTexture) and hudready(glowTexture) then 		local worldx = $worldwin.x - $clientwin.x 		local worldy = $worldwin.y - $clientwin.y 		local worldw = $worldwin.width 		local worldh = $worldwin.height 		-- grab whole client screen 		selecthud(clientTexture) 		setfixedsize($clientwin.width, $clientwin.height) 		grabclientwindow() 		 		if saveOriginal then 			hudsnapshot(fileName .. ".original", 100) 		end 		 		-- hide information 		if hidePersonalInfo then		 			-- hide name in chat text in world window ($name says:) 			hideclienttext($name, worldx, worldy, worldw, worldh, true, hideMethod, 8, 2, textSearchTolerance) 			 			if createFullVersion then 				-- hide name in chat window 				hideclienttext($name, 0, worldy + worldh + 62, -194, -22, false, hideMethod, 8, 2) 				 				-- hide private channel names 				foreach channel c do 					if c.outid > 6 then 						hideclienttext(c.name, 0, worldy + worldh + 44, -194, 16, true, hideMethod, 8, 2) 					end 				end 			end 			 			-- hide name above char, in case the other way failed (text/other names on top?) 			local r = getnamearea($self, worldw, worldh) 			if r then 				-- map to client coordinates, and expand 				r.left = r.left + worldx 				r.top = r.top + worldy + 1 				r.width = r.width + 1 				r.height = r.height + 2 				 				-- hide the region 				hideregion(r) 			end 		end 		 		if drawHuds and not $windowsxp then 			-- draw huds transparently 			setcompositionmode(CompositionMode_SourceOver) 			 			local i = 0 			while isscript("display", i) do 				local listname = scriptlistname("display", i) 				local x = nil 				local y = nil 				 				if relocateHuds then 					for _, h in ipairs(relocateLocations) do 						if h.name == listname then 							if h.x < 0 then x = worldx + worldw + h.x else x = worldx + h.x end 							if h.y < 0 then y = worldy + worldh + h.y else y = worldy + h.y end 						end 					end 				end 				 				grabhud(listname, x, y) 				 				i = i + 1 			end 			 			-- restore changed defaults 			setcompositionmode(CompositionMode_Automatic) 		end 		-- draw windbot logo 		setcompositionmode(CompositionMode_SourceOver) 		local logow, logoh = 64, 64 		drawimage('windbot.png', worldx + 5, worldy + worldh - (logoh + 25), 0, 0, logow, logoh) 		-- restore changed defaults 		setcompositionmode(CompositionMode_Automatic) 		 		if createFullVersion then 			hudsnapshot(fileName .. ".full", 100) 		end 		 		if createWorldVersion then 			-- render a glow effect to place under equip 			if not glowRendered then 				renderglow() 				glowRendered = true 			end 		 			-- switch to screenshot texture 			selecthud(shotTexture) 			setfixedsize(worldw, worldh) 			 			-- copy world area of client 			drawtexture(clientTexture, 0, 0, 100, worldx, worldy, worldw, worldh) 		 			-- copy equipment 			if showEquipment then 				copyequip() 			end 		 			-- save texture to file 			hudsnapshot(fileName .. ".world", 100) 			 			-- free texture 			freetexture(shotTexture) 		end 		 		-- release texture contents to free memory (without deleting it) 		-- we won't be using it until next screenshot 		 		freetexture(clientTexture) 	end end function smartscreenshot(name) 	takeScreenshot = true 	fileName = name or 'smartss' end auto(50) init end -- runtime part if takeScreenshot then 	if not TakingScreenshot then 		-- huds can check for TakingScreenshot type 		-- to avoid drawing identifiable information 		 		TakingScreenshot = hideHudInfo and ("hide_personal_info method:" .. hideMethod) or "normal" 		 		debugscript("Taking screenshot") 		 		-- huds can be hidden and outdated if client not focused 		-- and give chance for hud to hide personal info 		forcerefreshhuds() 		 		debugscript("Huds refreshed") 		 		-- take the screenshot 		takeshot() 		 		debugscript("Done") 		 		TakingScreenshot = nil 	end 	 	takeScreenshot = false end" enabled="yes" refreshRate="100"/>
- <HUDScript name="MonitorMyStats" script="init start -- -- 88 -- "" ,d -- 88 -- ,adPPYba, 88 8b,dPPYba, 88,dPYba,,adPYba, ,adPPYYba, MM88MMM ,adPPYba, -- I8[ "" 88 88P' "Y8 88P' "88" "8a "" `Y8 88 a8P_____88 -- `"Y8ba, 88 88 88 88 88 ,adPPPPP88 88 8PP""""""" -- aa ]8I 88 88 88 88 88 88, ,88 88, "8b, ,aa -- `"YbbdP"' 88 88 88 88 88 `"8bbdP"Y8 "Y888 `"Ybbd8"' -- -- Name: Monitor My Stats -- Last Updated: 19/12/2013 -- Version: 1.0 local MMS = { ShowInfo = true, Title = 'SCRIPT INFO', Creator = 'by '..getuseroption('scriptauthor'), Info = '[ED/MS] Hidden Crystal Spiders', Version = getuseroption('scriptversion') } -- [[ Do not change anything below this line. ]] -- filterinput(false, true, false, false) local HUD_Sections = { {Name = 'OTHERS', State = true, Items = { {'Ping', function() return $ping .. ' (avg: ' .. $pingaverage .. ')' end}, {'Bank Balance', function() return num($balance) end}, } }, {Name = 'CHARACTER STATS', State = true, Items = { {'Level', function() return $level .. ' (' .. 100 - math.floor(($exp - expatlvl($level)) * 100 / (expatlvl($level + 1) - expatlvl($level))) .. '%)' end}, {'Experience', function() return num($exp) end}, {'Magic Level', function() return $mlevel .. ' (' .. 100 - $mlevelpc .. '%)' end}, {'Weapon Skill', function() local _ = WeaponSkill() return _.skill .. ' (' .. 100 - _.skillpc .. '%)' end}, {'Shielding', function() return $shielding .. ' (' .. 100 - $shieldingpc .. '%)' end}, {'Fishing', function() return $fishing .. ' (' .. 100 - $fishingpc .. '%)' end} } }, {Name = 'ENGINE STATES', State = true, Items = { {'Spell Healer', function() return getsetting('SpellHealer/Enabled') end, function() return toggle('SpellHealer/Enabled') end}, {'Potion Healer', function() return getsetting('PotionHealer/Enabled') end, function() return toggle('PotionHealer/Enabled') end}, {'Condition Healer', function() return getsetting('ConditionHealer/Enabled') end, function() return toggle('ConditionHealer/Enabled') end}, {'Mana Training', function() return getsetting('ManaTrainer/Enabled') end, function() return toggle('ManaTrainer/Enabled') end}, {'Cavebot', function() return getsetting('Cavebot/Enabled') end, function() return toggle('Cavebot/Enabled') end}, {'Looting', function() return getsetting('Looting/Enabled') end, function() return toggle('Looting/Enabled') end}, {'Targeting', function() return getsetting('Targeting/Enabled') end, function() return toggle('Targeting/Enabled') end} } }, {Name = 'BOTTING STATS', State = true, Items = { {'Experience per Hour', function() return num($exphour) end}, {'Experience Left', function() return num(exptolevel()) end}, {'Experience Today', function() return num($expgained) end}, {'Time to Next Level', function() return time(timetolevel()) end}, {'Played Time', function() return time(math.floor($charactertime / 1000)) end}, {'Stamina', function() return time($stamina) end} } } } local HUD_Colors = { Font = color(255, 255, 255, 0), SectionHeaderBackground = {0.0, color(36, 68, 105, 20), 0.23, color(39, 73, 114, 20), 0.76, color(21, 39, 60, 20)}, EntryNameBackground = {0.0, color(75, 75, 75, 20), 0.23, color(45, 45, 45, 20), 0.76, color(19, 19, 19, 20)}, EntryValueBackground = {0.0, color(145, 95, 0, 20), 0.23, color(158, 104, 0, 20), 0.76, color(84, 55, 0, 20)}, EntryValueEnabledBackground = {0.0, color(65, 96, 12, 20), 0.23, color(67, 99, 13, 20), 0.76, color(36, 52, 6, 20)}, EntryValueDisabledBackground = {0.0, color(90, 12, 15, 20), 0.23, color(98, 13, 17, 20), 0.76, color(52, 6, 9, 20)}, } function WeaponSkill() local SkillTypes = { ['axe'] = {type = 'axe', skill = $axe, skillpc = $axepc}, ['club'] = {type = 'club', skill = $club, skillpc = $clubpc}, ['sword'] = {type = 'sword', skill = $sword, skillpc = $swordpc}, ['bow'] = {type = 'distance', skill = $distance, skillpc = $distancepc}, ['distance weapon'] = {type = 'distance', skill = $distance, skillpc = $distancepc}, ['no weapon'] = {type = 'fist', skill = $fist, skillpc = $fistpc}, ['rod'] = {type = 'magic', skill = $mlevel, skillpc = $mlevelpc}, ['wand'] = {type = 'magic', skill = $mlevel, skillpc = $mlevelpc}, } return SkillTypes[findweapontype()] end local Moving, Temp, Moved = false, {0, 0}, {0, 0} function inputevents(e) if (e.type == IEVENT_LMOUSEDOWN) then for _, Section in ipairs(HUD_Sections) do if (e.elementid == Section.StateSwitch) then Section.State = not Section.State return end end for _, Section in ipairs(HUD_Sections) do if (Section.Name == 'ENGINE STATES') then for _, SectionItem in ipairs(Section.Items) do if (e.elementid == SectionItem[4]) then SectionItem[3]() return end end end end end if (e.type == IEVENT_MMOUSEDOWN) then Moving, Temp = true, {$cursor.x - Moved[1], $cursor.y - Moved[2]} end if (e.type == IEVENT_MMOUSEUP) then Moving = false end end setmaskcolorxp(0) init end if (Moving) then auto(10) Moved = {$cursor.x - Temp[1], $cursor.y - Temp[2]} end setposition($clientwin.left + 5 + Moved[1], $worldwin.top + 15 + Moved[2]) setfontstyle('Tahoma', 8, 75, 0xFFFFFF, 1, color(0, 0, 0, 20)) local YPosition, SectionRow, SectionItemsRow = 0, 0, 0 if MMS.ShowInfo then local StringWidth, StringHeight = measurestring('TEMP') setfillstyle('gradient', 'linear', 2, 0, 0, 0, 22) addgradcolors(unpack(HUD_Colors.SectionHeaderBackground)) drawroundrect(0, 0, 240, 21, 2, 2) drawtext(MMS.Title, 6, 21 / 2 - StringHeight * 0.5) setfillstyle('gradient', 'linear', 2, 0, 0, 0, 22) addgradcolors(unpack(HUD_Colors.EntryValueBackground)) drawroundrect(130, 0, 110, 21, 2, 2) drawtext(MMS.Creator, 136, 21 / 2 - StringHeight * 0.5) setfontsize(7) local StringWidth, StringHeight = measurestring('TEMP') setfillstyle('gradient', 'linear', 2, 0, 0, 0, 16) addgradcolors(unpack(HUD_Colors.EntryNameBackground)) drawroundrect(0, 24 + 0 * 18, 240, 15, 2, 2) drawtext(MMS.Info, 6, 24 + 0 * 18 + 15 / 2 - StringHeight * 0.5 + 1) setfillstyle('gradient', 'linear', 2, 0, 0, 0, 16) addgradcolors(unpack(HUD_Colors.EntryNameBackground)) drawroundrect(0, 24 + 1 * 18, 240, 15, 2, 2) drawtext('Script version:', 6, 24 + 1 * 18 + 15 / 2 - StringHeight * 0.5 + 1) setfillstyle('gradient', 'linear', 2, 0, 0, 0, 16) addgradcolors(unpack(HUD_Colors.EntryValueBackground)) drawroundrect(130, 24 + 1 * 18, 110, 15, 2, 2) drawtext(MMS.Version, 136, 24 + 1 * 18 + 15 / 2 - StringHeight * 0.5 + 1) YPosition = 22 + 2 * 19 end for SectionIndex, Section in ipairs(HUD_Sections) do setfontsize(8) local StringWidth, StringHeight = measurestring('TEMP') setfillstyle('gradient', 'linear', 2, 0, 0, 0, 21) addgradcolors(unpack(HUD_Colors.SectionHeaderBackground)) drawroundrect(0, YPosition + (SectionRow * 23) + (SectionItemsRow * 19), 240, 20, 2, 2) drawtext(Section.Name, 6, YPosition + (SectionRow * 23) + (SectionItemsRow * 19) + 20 / 2 - StringHeight * 0.5 + 1) setfillstyle('gradient', 'linear', 2, 0, 0, 0, 21) if (Section.State) then addgradcolors(unpack(HUD_Colors.EntryValueEnabledBackground)) else addgradcolors(unpack(HUD_Colors.EntryValueDisabledBackground)) end Section.StateSwitch = drawroundrect(220, YPosition + (SectionRow * 23) + (SectionItemsRow * 19), 20, 20, 2, 2) drawtext('X', 228, YPosition + (SectionRow * 23) + (SectionItemsRow * 19) + 20 / 2 - StringHeight * 0.5 + 1) SectionRow = SectionRow + 1 if (Section.State) then setfontsize(7) local StringWidth, StringHeight = measurestring('TEMP') for SectionItemIndex, SectionItem in ipairs(Section.Items) do setfillstyle('gradient', 'linear', 2, 0, 0, 0, 17) addgradcolors(unpack(HUD_Colors.EntryNameBackground)) drawroundrect(0, YPosition + (SectionRow * 23) + (SectionItemsRow * 19), 240, 16, 2, 2) drawtext(SectionItem[1], 6, YPosition + (SectionRow * 23) + (SectionItemsRow * 19) + 16 / 2 - StringHeight * 0.5 + 1) if (Section.Name == 'ENGINE STATES') then local EngineCurrentState = SectionItem[2]() setfillstyle('gradient', 'linear', 2, 0, 0, 0, 17) if (EngineCurrentState == 'yes') then addgradcolors(unpack(HUD_Colors.EntryValueEnabledBackground)) else addgradcolors(unpack(HUD_Colors.EntryValueDisabledBackground)) end HUD_Sections[SectionIndex].Items[SectionItemIndex][4] = drawroundrect(130, YPosition + (SectionRow * 23) + (SectionItemsRow * 19), 110, 16, 2, 2) drawtext((EngineCurrentState == 'yes' and ('On')) or ('Off'), 136, YPosition + (SectionRow * 23) + (SectionItemsRow * 19) + 16 / 2 - StringHeight * 0.5 + 1) else setfillstyle('gradient', 'linear', 2, 0, 0, 0, 17) addgradcolors(unpack(HUD_Colors.EntryValueBackground)) drawroundrect(130, YPosition + (SectionRow * 23) + (SectionItemsRow * 19), 110, 16, 2, 2) drawtext(SectionItem[2](), 136, YPosition + (SectionRow * 23) + (SectionItemsRow * 19) + 16 / 2 - StringHeight * 0.5 + 1) end SectionItemsRow = SectionItemsRow + 1 end end end" enabled="yes" refreshRate="1000"/>
- </HUDScripts>
- </HUDs>
- <GeneralSettings>
- <Input>
- <MouseOption mouseMode="Simulate Mouse"/>
- <MouseOption scrollMode="Use mouse wheel"/>
- <MouseOption stuckCursorPolicy="Release Instantly"/>
- <MouseOption moveSpeed="Instantaneous"/>
- <MouseOption clickWaitMin="40" clickWaitMax="80"/>
- <KeyboardOption keyboardMode="Simulate Keyboard"/>
- <KeyboardOption stuckCtrlShiftPolicy="Release Instantly"/>
- <KeyboardOption typeWaitMin="50" typeWaitMax="100"/>
- <KeyboardOption pressWaitMin="50" pressWaitMax="100"/>
- <FocusOption focusPolicy="Don't auto-focus"/>
- <FocusOption openMenuPolicy="Confirm menu"/>
- </Input>
- </GeneralSettings>
- <Alerts disableSounds="no">
- <alert name="Player On Screen" playSound="no" pauseBot="no" logout="no" safeList="<SafeList> "/>
- <alert name="Player Attacking" playSound="yes" pauseBot="no" logout="no" safeList="<SafeList> "/>
- <alert name="Monster Attacking" playSound="no" pauseBot="no" logout="no" safeList="<SafeList> "/>
- <alert name="Private Message" playSound="no" pauseBot="no" logout="no" safeList="<SafeList> "/>
- <alert name="Default Message" playSound="no" pauseBot="no" logout="no" safeList="<SafeList> "/>
- <alert name="GM Detected" playSound="no" pauseBot="no" logout="no"/>
- <alert name="Disconnected" playSound="no" pauseBot="no" logout="no"/>
- <alert name="Character Stuck" playSound="no" pauseBot="no" logout="no" standTime="30000"/>
- <alert name="Health Below" playSound="no" pauseBot="no" logout="no" healthPercent="50"/>
- <alert name="Mana Below" playSound="no" pauseBot="no" logout="no" manaPercent="50"/>
- <alert name="Unjust Kill" playSound="no" pauseBot="no" logout="no"/>
- <alert name="Enemies Online" playSound="no" pauseBot="no" logout="no" enemiesCount="50"/>
- </Alerts>
- <Cavebot enabled="yes">
- <Options>
- <Option shovel="5710"/>
- <Option rope="646"/>
- <Option machete="3308"/>
- <Option pick="3456"/>
- <Option nodeRange="5"/>
- <Option pauseBotOnDeath="yes"/>
- <Option refillAmmo="no" refillAmmoMin="30" refillAmmoMax="70"/>
- <Option autoMount="no"/>
- <Option fireAvoidanceMin="0" fireAvoidanceMax="0"/>
- <Option energyAvoidanceMin="0" energyAvoidanceMax="0"/>
- <Option poisonAvoidanceMin="0" poisonAvoidanceMax="0"/>
- <Option walkThroughPlayers="yes"/>
- <Option walkMethod="Walk With Map-Clicks"/>
- <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"/>
- <Option mapWalkDistMin="20" mapWalkDistMax="50"/>
- <Option userOptionsScript="{ 	"type" : "scriptinfo", 	"name" : "MS - Hidden Crystal Spiders", 	"version" : "2.0.0", 	"author" : "RoxZin xD" }, { "type" : "group", "name" : "Optionals", "children" : [ 	{ 		"type" : "checkbox", 		"name" : "PVP on?", 		"description" : "Check this box if you wish to be PVP-safe.", 		"text" : "PVP Settings", 		"value" : false 	}, 	{ 		"type" : "checkbox", 		"name" : "Use Reach?", 		"description" : "Check this box if you wish to use reach.", 		"text" : "Use Reach", 		"value" : false 	}, 	{ 		"type" : "checkbox", 		"name" : "Haste on Spawn?", 		"description" : "Check this box if you wish to use haste on spawn.", 		"text" : "Haste on Spawn", 		"value" : false 	}, 	{ 		"type" : "checkbox", 		"name" : "Soft Refill?", 		"description" : "Check this box if you wish to refill soft boots.", 		"text" : "Soft Refill", 		"value" : false 	}, 	{ 		"type" : "spinbox", 		"name" : "Softs to Refill?", 		"description" : "Choose the amount of soft boots to refill.", 		"text" : "Low Softs:", 		"min" : 1, 		"suffix" : " worn softs", 		"value" : 1 	}, 	{ 		"type" : "checkbox", 		"name" : "Use Training Statues?", 		"description" : "Check this box if you wish to use training statues.", 		"text" : "Offline Trainer", 		"value" : true 	}, 	{ 		"type" : "combobox", 		"name" : "Statue to use:", 		"description" : "Choose the skill you wish to train.", 		"text" : "Skill to train:", 		"items" : ["Axe [[item: stonecutter axe]]", "Club [[item: thunder hammer]]", "Distance [[item: warsinger bow]]", "Magic [[item: spellbook of ancient arcana]]", "Sword [[item: magic sword]]"] 	}, 	{ 		"type" : "lineedit", 		"name" : "Capacity to leave cave?", 		"description" : "Write the capacity to leave cave.", 		"text" : "Min Cap:", 		"value" : "150" 	}, 	{ 		"type" : "checkbox", 		"name" : "Optimize Hunting?", 		"description" : "Check this box if you wish to optimize hunting.\n(Or if you have high ping)", 		"text" : "High Ping", 		"value" : true 	} ] }, { 	"type" : "group", 	"name" : "Supplies Setup", 	"column" : 2, 	"children" : [ 	{ 		"type" : "checkbox", 		"name" : "Withdraw Supplies?", 		"description" : "Check this box if you wish to optimize hunting.\n(Or if you have high ping)", 		"text" : "Withdraw Supplies", 		"value" : false 	}, 	{ 		"type" : "combobox", 		"name" : "MP Name", 		"description" : "Choose the mana potion you wish to use.", 		"text" : "Manas:", 		"items" : ["Strong Mana Potion [[item: strong mana potion]]", "Great Mana Potion [[item: great mana potion]]"] 	}, 	{ 		"type" : "lineedit", 		"name" : "Total amount of MP to buy.", 		"description" : "Write the total amount of MP to buy.", 		"text" : "Total MP:", 		"value" : "200" 	}, 	{ 		"type" : "lineedit", 		"name" : "Amount of MP to skip refill.", 		"description" : "Write the amount of MP to skip refill.", 		"text" : "Hunt MP:", 		"value" : "150" 	}, 	{ 		"type" : "lineedit", 		"name" : "Amount of MP to leave.", 		"description" : "Write the amount of MP to leave.", 		"text" : "Leave MP:", 		"value" : "60" 	}, 	{ 		"type" : "checkbox", 		"name" : "Rune Refill?", 		"description" : "Check this box if you wish to refill runes.", 		"text" : "Rune Refill", 		"value" : false 	}, 	{ 		"type" : "combobox", 		"name" : "Rune Name", 		"description" : "Choose the rune you wish to use.", 		"text" : "Runes:", 		"items" : ["Thunderstorm Rune [[item: thunderstorm rune]]"] 	}, 	{ 		"type" : "lineedit", 		"name" : "Total amount of Rune to buy.", 		"description" : "Write the total amount of Rune to buy.", 		"text" : "Total Rune:", 		"value" : "250" 	}, 	{ 		"type" : "lineedit", 		"name" : "Amount of Rune to skip refill.", 		"description" : "Write the amount of Rune to skip refill.", 		"text" : "Hunt Rune:", 		"value" : "95" 	}, 	{ 		"type" : "lineedit", 		"name" : "Amount of Rune to leave.", 		"description" : "Write the amount of Rune to leave.", 		"text" : "Leave Rune:", 		"value" : "20" 	} ] }, { 	"type" : "group", 	"name" : "Food Refill?", 	"description" : "Check this box if you wish to refill food.", 	"text" : "Food Refill", 	"checkable" : true, 	"column" : 2, 	"value" : true, 	"children" : [ 	{ 		"type" : "combobox", 		"name" : "Food Name", 		"description" : "Choose the food you wish to use.", 		"text" : "Food:", 		"items" : ["Brown Mushroom [[item: brown mushroom]]"] 	}, 	{ 		"type" : "lineedit", 		"name" : "Total amount of food to buy.", 		"description" : "Write the total amount of food to buy.", 		"text" : "Total Food:", 		"value" : "100" 	}, 	{ 		"type" : "lineedit", 		"name" : "Amount of food to skip refill.", 		"description" : "Write the amount of food to skip refill.", 		"text" : "Hunt Food:", 		"value" : "25" 	}, 	{ 		"type" : "lineedit", 		"name" : "Amount of food to leave.", 		"description" : "Write the amount of food to leave.", 		"text" : "Low Food:", 		"value" : "15" 	} ] }, { 	"type" : "group", 	"name" : "Attacking Setup", 	"children" : [	 	{ 		"type" : "checkbox", 		"name" : "Use UE?", 		"description" : "Check this box if you wish to use UE.", 		"text" : "Cast UE", 		"value" : false 	}, 	{ 		"type" : "checkbox", 		"name" : "Use Wave?", 		"description" : "Check this box if you wish to use wave.", 		"text" : "Cast Wave", 		"value" : false 	}, 	{ 		"type" : "spinbox", 		"name" : "Amount of monsters to cast Rune.", 		"description" : "Choose the amount of monsters to cast Rune.", 		"text" : "Cast Rune If:", 		"min" : 1, 		"suffix" : " monsters", 		"value" : 2 	}, 	{ 		"type" : "spinbox", 		"name" : "Amount of monsters to cast wave.", 		"description" : "Choose the amount of monsters to cast wave.", 		"text" : "Cast Wave If:", 		"min" : 1, 		"suffix" : " monsters", 		"value" : 3 	}, 	{ 		"type" : "spinbox", 		"name" : "Amount of monsters to cast UE.", 		"description" : "Choose the amount of monsters to cast UE.", 		"text" : "Cast UE If:", 		"min" : 1, 		"suffix" : " monsters", 		"value" : 5 	} ] }"/>
- </Options>
- <SpecialAreas>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- <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=""/>
- </SpecialAreas>
- <CavebotScripts>
- <CavebotScript name="Svargrond_Mover" script="auto(200) dontlist() if itemcount(MP, MainBP) > 0 and not iscontainerfull(SupplyBP) then while itemcount(MP, MainBP) > 0 and not iscontainerfull(SupplyBP) do moveitems(MP, SupplyBP, MainBP) waitping() end end if itemcount(Rune, MainBP) > 0 and not iscontainerfull(SupplyBP) then while itemcount(Rune, MainBP) > 0 and not iscontainerfull(SupplyBP) do moveitems(Rune, SupplyBP, MainBP) waitping() end end if itemcount('jewelled backpack', MainBP) > 0 and $wptsection ~= 'Hunt' then while itemcount('jewelled backpack', MainBP) > 0 and $wptsection ~= 'Hunt' do moveitems('jewelled backpack', LootBP, MainBP) waitping() end end" enabled="yes"/>
- <CavebotScript name="Svargrond_Settings" script="auto(1000) dontlist() if not PVP or $pzone then 	set('Cavebot/WalkThroughPlayers', 'yes') else 	set('Cavebot/WalkThroughPlayers', 'no') end set('PotionHealer/Rules/MP/Spell', MP) if getuseroption('Use Reach?') then 	set('Targeting/Creatures/Ice Golem/Setting1/Stance', 'Reach') 	set('Targeting/Creatures/Crystal Spider/Setting1/Stance', 'Reach') else 	set('Targeting/Creatures/Ice Golem/Setting1/Stance', 'Away in Line') 	set('Targeting/Creatures/Crystal Spider/Setting1/Stance', 'Away in Line') end" enabled="yes"/>
- <CavebotScript name="Optimize Hunting" script="auto(200) if getuseroption('Optimize Hunting?') then 	if $wptsection ~= 'Hunt' then 		set('Cavebot/WalkingMethod', 'Walk With Map-Clicks') 	else 		set('Cavebot/WalkingMethod', 'Walk With Arrow Keys') 	end end" enabled="yes"/>
- <CavebotScript name="Haste" script="auto(200) dontlist() local Haste = 'utani hur' local mpToCast = 60 if $vocshort == 'D' or $vocshort == 'S' then 	Haste = 'utani gran hur' 	mpToCast = 100 end if ($wptsection ~= 'Hunt' or HasteOnSpawn) and not $pzone and not $hasted and $mp >= mpToCast and $hppc >= 85 and $standtime < 5000 then 	cast(Haste) 	wait(500) end" enabled="yes"/>
- <CavebotScript name="AntiFacing" script="--[[ Anti-Facing by Midnight Scripters MS_UNFACE = { 	Version = '1.0.0', 	Author = 'RoxZin xD' } ]]-- auto(200) dontlist() foreach creature m 'ps' do 	if not $pzone and PVP then 		if m.posx == $posx-1 and m.posy == $posy and $self.dir ~= 'e' then 			turn('e') 		elseif m.posx == $posx+1 and m.posy == $posy and $self.dir ~= 'w' then 			turn('w') 		elseif m.posx == $posx and m.posy == $posy-1 and $self.dir ~= 's' then 			turn('s') 		elseif m.posx == $posx and m.posy == $posy+1 and $self.dir ~= 'n' then 			turn('n') 		end 	end end		" enabled="yes"/>
- <CavebotScript name="Drop Vials" script="--[[ Midnight Scripters's Randomized Drop Vials Action MS_VIALS = { 	Author = 'RoxZin xD', 	Version = '1.1.0' } --]] auto(200) if not $pzone and maround() == 0 then 	while (flasks() > 0 and $cap < random(120,130)) or ($cap < random(200,220) and flasks() >= random(50,60)) do 		pausewalking(200) 		moveitems(283, 'ground', '0-15', 100) 		moveitems(284, 'ground', '0-15', 100) 		moveitems(285, 'ground', '0-15', 100) 		pausewalking(0) 		break 	end waitping() end" enabled="yes"/>
- <CavebotScript name="SpellsMage" script="--[[ Midnight Scripters's Shooter, ED/MS version MS_SHOOTER = { 	Author = 'RoxZin xD & TheNick', 	Version = '1.0.0' } --]] init start 	vocSpell = 'vis' 	wave = 'exevo vis hur' 	ueName = 'exevo gran mas vis' 	utSpell = 'utori mort' init end Mobs = {'Crystal Spider', 'Ice Golem'} MobsToUe = {'Crystal Spider', 'Ice Golem'} utMobs = {} WavAmount = getuseroption('Amount of monsters to cast wave.') AoEAmount = getuseroption('Amount of monsters to cast Rune.') UEAmount = getuseroption('Amount of monsters to cast UE.') curHp = creatureinfo($target.name).hp*($target.hppc/100) minMaxSpell = 400 maxMaxSpell = 800 minUE = 200--getuseroption('UE HP').from maxUE = 1200--getuseroption('UE HP').to filteruseroptions(true) auto(200) if $vocshort == 'D' then 	vocSpell = 'tera' 	wave = 'exevo tera hur' 	utSpell = 'utori pox' 	ueName = 'exevo gran mas tera' end amountToUe = 0 if maroundspell(ueName, 'any', unpack(MobsToUe)) >= UEAmount and CastMasVis and cancast(ueName) and (paround_ib(7, true) == 0 or not PVP) then 	foreach creature m 'ms' do 	local mobHp = creatureinfo(m.name).hp*(m.hppc/100) 		if table.find(MobsToUe, m.name) and mobHp >= minUE and mobHp <= maxUE and m.dist <= 6 and m.isshootable then 			amountToUe = amountToUe + 1 		end 	end 	if amountToUe >= UEAmount then 		cast(ueName) 		wait(500) 	end elseif maround(0, unpack(Mobs)) >= WavAmount and CastWave and cancast(wave) then local BestAmount, BestDir = 0, $self.dir 	for Dir, Amount in pairs({n = 0, e = 0, s = 0, w = 0}) do 		Amount = maroundspell(wave, Dir, unpack(Mobs)) 		if Amount > BestAmount or (Amount >= BestAmount and Dir == $self.dir) then 			BestAmount, BestDir = Amount, Dir 		end 	end 	if BestAmount >= math.max(WavAmount, 1) then 		while $self.dir ~= BestDir do 			pausewalking(500) 			turn(BestDir) 		end 	cast(wave) 	pausewalking(0) 	end end if runeinfo(Rune).cancast and itemcount(Rune) > 0 and (paround_ib(10, true) == 0 or not PVP) then local temp = getarearunetile(PVP, unpack(Mobs)) if temp.amount >= math.max(AoEAmount, 1) then useitemon(Rune, topitem(temp.x,temp.y,temp.z), temp.tile) return end end if $attacked.id > 0 and $attacked.dist <= 3 and $attacked.isshootable then --[[if table.find(utMobs, $target.name) and $target.hppc >= 50 and cancast(utSpell) and UseUtori then 		cast(utSpell) 		wait(400) 	else]]-- 	--[[if curHp >= minMaxSpell and curHp <= maxMaxSpell and cancast('exori max '..vocSpell) and table.find(Mobs, $target.name) and UseMaxSpell then 		cast('exori max '..vocSpell) 		wait(400) else]]-- 	--if curHp >= 280 and cancast('exori amp vis') and table.find(Mobs, $target.name) then 	--	cast('exori amp vis')-- '..vocSpell) 	--	wait(400) 	if cancast('exori vis') and (curHp >= 100 or not PVP) then 		cast('exori vis') 		wait(400) 	end end" enabled="yes"/>
- <CavebotScript name="Mana Walk" script="auto(400) dontlist() if $wptsection == 'Hunt' then 	while maround() == 0 and $mppc < random(65,70) and itemcount(MP) > 0 do 		useoncreature(MP, $self) 		wait(500) 	end end" enabled="yes"/>
- <CavebotScript name="EatFood" script="auto(60000,120000) dontlist() if not $pzone and maround() == 0 then 	eatfoodfull() end" enabled="yes"/>
- <CavebotScript name="SAreas" script="auto(500) dontlist() AreaLessThanY(31181, 'SArea') AreaMoreThanY(31194, 'SArea1') AreaMoreThanY(31206, 'SArea8') AreaMoreThanY(31187, 'SpecialArea34') AreaMoreThanY(31191, 'SpecialArea16') AreaMoreThanX(32126, 'SArea6') AreaMoreThanX(32078, 'SArea7') AreaLessThanX(32070, 'SpecialArea41')" enabled="yes"/>
- </CavebotScripts>
- <WaypointSection name="Svargrond">
- <Waypoint type="Action" x="32257" y="31141" z="6" rangeX="1" rangeY="1" label="findLocation" script="--find location if $posz == 5 then 	print('Character located near hunting spot. Starting from hunt.') 	gotolabel('startHunt', 'Hunt') elseif $posz == 6 then 	print('Character located near depot. Starting from depositing.') 	gotolabel('Depot') else 	printerror('Start the script at Svargrond Depot +1 or at hunting spot!') 	setcavebot('off') end"/>
- <Waypoint type="Walk" x="32257" y="31140" z="6" rangeX="3" rangeY="3" label="Depot"/>
- <Waypoint type="Action" x="32257" y="31138" z="6" rangeX="1" rangeY="1" script="--open lootbp set('Looting/OpenNextBP', 'no') if windowcount(LootBP) > 0 then waitping() closewindows(GoldBP) waitping() closewindows(SupplyBP) if Use_Ring or Use_Amulet then waitping() closewindows(ExtraBP) end waitping() closewindows(MainBP) waitping() else closewindows() waitping() MS_openMainBP() waitping() MS_openBP(LootBP, MainBP, false) waitping() repeat openitem(LootBP, LootBP) waitping() until itemcount(LootBP, LootBP) == 0 waitping() end if windowcount(LootBP) ~= 1 then 	print('Failed to open LootBP. Repeating.') 	gotolabel($wptid-1) else 	print('Opened LootBPs sucessfully. Proceeding with item depositing.') end"/>
- <Waypoint type="Action" x="32128" y="32240" z="7" rangeX="1" rangeY="1" script="--deposit items set('Looting/OpenNextBP', 'no') wait(600,900) depotaction('depotbp', 'lootbp', {'s', 'stackdpbp', 'r', 'raredpbp'})"/>
- <Waypoint type="Action" x="33025" y="31449" z="11" rangeX="1" rangeY="1" script="--open suppdpbp if Use_Ring or WithdrawSupp or Use_Amulet then closewindows() waitping() MS_openMainBP() waitping() opendepot() waitping() MS_openBP(SuppDpBP, 'Depot Chest', true) waitping() closewindows('Depot Chest') waitping() minimizewindows('equip') waitping() MS_openBP(SupplyBP, MainBP, true) waitping() if Use_Ring or Use_Amulet then 	MS_openBP(ExtraBP, MainBP, true) end waitping() resizewindows() if (windowcount() ~= 4 and (Use_Ring or Use_Amulet)) or (windowcount() ~= 3 and (not Use_Ring and not Use_Amulet)) then gotolabel($wptid-1) end else gotolabel('skipWithdraw') end"/>
- <Waypoint type="Action" x="33025" y="31449" z="11" rangeX="1" rangeY="1" script="--withdraw items local manaBp = MainBP if $vocshort ~= 'P' or MovePotsToSupp then 	manaBp = SupplyBP end if mpChk < HuntMp then 	MS_withdrawItem(MP, manaBp, AmountMp) 	wait(500) end if itemcount(HP, MainBP) < HuntHp and chkHP then 	MS_withdrawItem(HP, MainBP, AmountHp) 	wait(500) end if itemcount(HP2, MainBP) < HuntHp2 and $vocshort == 'K' then 	MS_withdrawItem(HP2, MainBP, AmountHp2) 	wait(500) end if itemcount(Rune, SupplyBP) < HuntRune and RuneRefill then 	MS_withdrawItem(Rune, SupplyBP, AmountRune) 	wait(500) end if itemcount(Ammo, SupplyBP) < HuntAmmo and chkAmmo then 	MS_withdrawItem(Ammo, SupplyBP, AmountAmmo) 	wait(500) end if itemcount(Ring, ExtraBP) < AmountRing and Use_Ring then 	MS_withdrawItem(Ring, ExtraBP, AmountRing) 	wait(500) end if itemcount(Amulet, ExtraBP) < AmountAmulet and Use_Amulet then 	MS_withdrawItem(Amulet, ExtraBP, AmountAmulet) 	wait(500) end"/>
- <Waypoint type="Action" x="33025" y="31449" z="11" rangeX="1" rangeY="1" script="--open next bp if itemcount(SuppDpBP, SuppDpBP) > 0 and (WithdrawSupp and (mpChk < HuntMp) or (RuneRefill and itemcount(Rune, SupplyBP) < HuntRune) or (chkAmmo and itemcount(Ammo, SupplyBP) < HuntAmmo) or (chkHP and itemcount(HP, MainBP) < HuntHp) or (itemcount(Ring, ExtraBP) < AmountRing and Use_Ring) or (itemcount(Amulet, ExtraBP) < AmountAmulet and Use_Amulet) or (FoodRefill and itemcount(Food) < HuntFood)) then openitem(SuppDpBP, SuppDpBP) waitping() gotolabel($wptid-1) end"/>
- <Waypoint type="Walk" x="32272" y="31141" z="6" rangeX="2" rangeY="2" label="skipWithdraw"/>
- <Waypoint type="Stand" x="32274" y="31143" z="6" rangeX="1" rangeY="1"/>
- <Waypoint type="Action" x="32276" y="31143" z="7" rangeX="1" rangeY="1" script="--check location MS_checkLoc(2)"/>
- <Waypoint type="Action" x="32299" y="31134" z="7" rangeX="1" rangeY="1" script="--open supplybp set('Looting/OpenNextBP', 'no') closewindows() waitping() MS_openMainBP() waitping() MS_openBP(SupplyBP, MainBP, true) waitping() if windowcount(SupplyBP) ~= 1 then 	print('Failed to open SupplyBP. Repeating.') 	gotolabel($wptid-1) else 	print('Opened SupplyBP sucessfully. Proceeding with refilling.') end"/>
- <Waypoint type="Walk" x="32281" y="31139" z="7" rangeX="2" rangeY="2"/>
- <Waypoint type="Walk" x="32299" y="31133" z="7" rangeX="2" rangeY="2"/>
- <Waypoint type="Stand" x="32299" y="31134" z="7" rangeX="2" rangeY="1" label="Bank"/>
- <Waypoint type="Action" x="32299" y="31134" z="7" rangeX="1" rangeY="1" script="--deposit gold MS_depositGold()"/>
- <Waypoint type="Action" x="32299" y="31134" z="7" rangeX="1" rangeY="1" script="--check withdraw if itemcount(MP) < HuntMp or (RuneRefill and itemcount(Rune) < HuntRune) or (FoodRefill and itemcount(Food) < HuntFood) or (SoftRefill and itemcount(6530) >= WornSoftAmount) then gotolabel('Withdraw') else gotolabel('pastBoat') end"/>
- <Waypoint type="Stand" x="32299" y="31134" z="7" rangeX="2" rangeY="1" label="Withdraw"/>
- <Waypoint type="Action" x="32299" y="31134" z="7" rangeX="1" rangeY="1" script="--withdraw gold local total = mpdraw + runedraw + softdraw + fooddraw + 1500 if islocation(1) then npctalk('hi', 'withdraw '..total, 'yes', 'balance') else gotolabel('Withdraw') end"/>
- <Waypoint type="Action" x="32256" y="31141" z="7" rangeX="1" rangeY="1" script="--check gold local total = mpdraw + runedraw + softdraw + fooddraw + 1500 if gold() < total then 	print('Failed to withdraw gold amount. Repeating.') 	gotolabel('Withdraw') else 	print('Gold withdrawn successfully. Proceeding.') end"/>
- <Waypoint type="Stand" x="32307" y="31132" z="7" rangeX="2" rangeY="1" label="Nelly"/>
- <Waypoint type="Action" x="32307" y="31132" z="7" rangeX="1" rangeY="1" script="--buy potions if islocation(1) then waitping() sellflasks() waitping() if not $tradeopen then npctalk('hi', 'trade', 'potions') waitping() end if itemcount(MP) < HuntMp then MS_shopUpTo(MP, AmountMp, SupplyBP) end npctalk('bye') else gotolabel('Nelly') end "/>
- <Waypoint type="Walk" x="32306" y="31128" z="7" rangeX="2" rangeY="2"/>
- <Waypoint type="Action" x="32302" y="31128" z="7" rangeX="1" rangeY="1" label="checkSofts" script="--check softs if SoftRefill and itemcount(6530) >= WornSoftAmount then print('Heading to Venore to refill soft boots.') gotolabel(0, 'toSofts') else gotolabel('pastBoat') end"/>
- <Waypoint type="Walk" x="32288" y="31128" z="7" rangeX="2" rangeY="2" label="pastBoat"/>
- <Waypoint type="Walk" x="32258" y="31123" z="7" rangeX="2" rangeY="2"/>
- <Waypoint type="Walk" x="32257" y="31113" z="7" rangeX="2" rangeY="2"/>
- <Waypoint type="Stand" x="32249" y="31110" z="7" rangeX="1" rangeY="1"/>
- <Waypoint type="Action" x="32247" y="31110" z="6" rangeX="1" rangeY="1" script="--check location MS_checkLoc(2)"/>
- <Waypoint type="Stand" x="32247" y="31106" z="6" rangeX="1" rangeY="1"/>
- <Waypoint type="Action" x="32247" y="31104" z="5" rangeX="1" rangeY="1" script="--check location MS_checkLoc(2)"/>
- <Waypoint type="Action" x="32247" y="31104" z="5" rangeX="1" rangeY="1" script="if (FoodRefill and itemcount(Food) < HuntFood) or (RuneRefill and itemcount(Rune) < HuntRune) then gotolabel('toIyad', 'toCarpet') else gotolabel(0, 'toHunt') end"/>
- </WaypointSection>
- <WaypointSection name="toHunt">
- <Waypoint type="Walk" x="32235" y="31091" z="5" rangeX="2" rangeY="2"/>
- <Waypoint type="Action" x="32236" y="31088" z="5" rangeX="1" rangeY="1" label="openBps" script="--open bps set('Looting/OpenNextBP', 'no') MS_openMainBP() waitping() MS_openBP(SupplyBP, MainBP, true) waitping() MS_openBP(LootBP, MainBP, true) waitping() MS_openBP(GoldBP, MainBP, true) waitping() if Use_Ring or Use_Amulet then MS_openBP(ExtraBP, MainBP, true) waitping() end resizewindows() set('Looting/OpenNextBP', 'yes') if (windowcount() ~= 4 and (not Use_Ring and not Use_Amulet)) or (windowcount() ~= 5 and (Use_Ring and Use_Amulet)) then 	print('Failed to open all backpacks. Repeating the action.') 	gotolabel($wptid-1) else 	print('Opened all backpacks successfully. Going to hunt.') end"/>
- <Waypoint type="Action" x="32128" y="32240" z="7" rangeX="1" rangeY="1" script="--check supplies if itemcount(MP) < HuntMp or (RuneRefill and itemcount(Rune) < HuntRune) or (FoodRefill and itemcount(Food) < HuntFood) then gotolabel('downBack', 'leaveHunt') end"/>
- <Waypoint type="Walk" x="32213" y="31085" z="5" rangeX="2" rangeY="2"/>
- <Waypoint type="Walk" x="32196" y="31092" z="5" rangeX="5" rangeY="5"/>
- <Waypoint type="Walk" x="32175" y="31093" z="5" rangeX="4" rangeY="3"/>
- <Waypoint type="Walk" x="32169" y="31113" z="5" rangeX="3" rangeY="3"/>
- <Waypoint type="Walk" x="32161" y="31125" z="5" rangeX="3" rangeY="3"/>
- <Waypoint type="Walk" x="32150" y="31135" z="5" rangeX="2" rangeY="2"/>
- <Waypoint type="Walk" x="32150" y="31151" z="5" rangeX="3" rangeY="3"/>
- <Waypoint type="Walk" x="32146" y="31166" z="5" rangeX="3" rangeY="3"/>
- <Waypoint type="Walk" x="32152" y="31186" z="5" rangeX="2" rangeY="2"/>
- <Waypoint type="Stand" x="32153" y="31194" z="5" rangeX="1" rangeY="1"/>
- <Waypoint type="Action" x="32151" y="31195" z="4" rangeX="1" rangeY="1" script="--check location MS_checkLoc(2)"/>
- <Waypoint type="Walk" x="32143" y="31183" z="4" rangeX="3" rangeY="3"/>
- <Waypoint type="Walk" x="32147" y="31165" z="4" rangeX="3" rangeY="3"/>
- <Waypoint type="Walk" x="32149" y="31150" z="4" rangeX="3" rangeY="3"/>
- <Waypoint type="Walk" x="32131" y="31132" z="4" rangeX="3" rangeY="3"/>
- <Waypoint type="Stand" x="32128" y="31132" z="4" rangeX="1" rangeY="1"/>
- <Waypoint type="Action" x="32128" y="31132" z="5" rangeX="1" rangeY="1" script="--check location MS_checkLoc(2)"/>
- <Waypoint type="Action" x="32128" y="31132" z="5" rangeX="1" rangeY="1" script="gotolabel(0, 'Hunt')"/>
- </WaypointSection>
- <WaypointSection name="Hunt">
- <Waypoint type="Node" x="32130" y="31137" z="5" rangeX="4" rangeY="4" label="startHunt"/>
- <Waypoint type="Node" x="32128" y="31156" z="5" rangeX="4" rangeY="4"/>
- <Waypoint type="Node" x="32129" y="31182" z="5" rangeX="3" rangeY="5"/>
- <Waypoint type="Node" x="32117" y="31192" z="5" rangeX="4" rangeY="4"/>
- <Waypoint type="Node" x="32101" y="31190" z="5" rangeX="3" rangeY="3"/>
- <Waypoint type="Node" x="32088" y="31197" z="5" rangeX="3" rangeY="3"/>
- <Waypoint type="Node" x="32075" y="31210" z="5" rangeX="3" rangeY="3"/>
- <Waypoint type="Node" x="32062" y="31198" z="5" rangeX="4" rangeY="4"/>
- <Waypoint type="Node" x="32051" y="31194" z="5" rangeX="3" rangeY="3"/>
- <Waypoint type="Node" x="32030" y="31203" z="5" rangeX="3" rangeY="3"/>
- <Waypoint type="Node" x="32047" y="31193" z="5" rangeX="3" rangeY="3"/>
- <Waypoint type="Node" x="32053" y="31177" z="5" rangeX="2" rangeY="3"/>
- <Waypoint type="Node" x="32055" y="31191" z="5" rangeX="3" rangeY="4"/>
- <Waypoint type="Node" x="32064" y="31183" z="5" rangeX="3" rangeY="4"/>
- <Waypoint type="Node" x="32063" y="31172" z="5" rangeX="3" rangeY="3"/>
- <Waypoint type="Node" x="32070" y="31185" z="5" rangeX="4" rangeY="2"/>
- <Waypoint type="Node" x="32082" y="31177" z="5" rangeX="3" rangeY="3"/>
- <Waypoint type="Stand" x="32085" y="31174" z="5" rangeX="1" rangeY="1"/>
- <Waypoint type="Action" x="32090" y="31170" z="4" rangeX="2" rangeY="2" script="--check supplies if itemcount(MP) < LowMp or (RuneRefill and itemcount(Rune) < LowRune) or (FoodRefill and itemcount(Food) < LowFood) or $cap < Cap or $stamina < 14*60+20 then 	gotolabel('downStair') end"/>
- <Waypoint type="Stand" x="32086" y="31168" z="4" rangeX="1" rangeY="1" label="upStairs"/>
- <Waypoint type="Node" x="32094" y="31165" z="3" rangeX="3" rangeY="3"/>
- <Waypoint type="Node" x="32081" y="31173" z="3" rangeX="3" rangeY="3"/>
- <Waypoint type="Node" x="32066" y="31180" z="3" rangeX="3" rangeY="2"/>
- <Waypoint type="Node" x="32055" y="31177" z="3" rangeX="2" rangeY="3"/>
- <Waypoint type="Node" x="32056" y="31168" z="3" rangeX="3" rangeY="3"/>
- <Waypoint type="Node" x="32054" y="31181" z="3" rangeX="3" rangeY="3"/>
- <Waypoint type="Node" x="32063" y="31196" z="3" rangeX="3" rangeY="3"/>
- <Waypoint type="Walk" x="32066" y="31204" z="3" rangeX="2" rangeY="2"/>
- <Waypoint type="Node" x="32071" y="31191" z="3" rangeX="3" rangeY="3"/>
- <Waypoint type="Node" x="32077" y="31177" z="3" rangeX="3" rangeY="2"/>
- <Waypoint type="Node" x="32084" y="31169" z="3" rangeX="3" rangeY="3"/>
- <Waypoint type="Stand" x="32086" y="31168" z="3" rangeX="1" rangeY="1"/>
- <Waypoint type="Stand" x="32085" y="31174" z="4" rangeX="1" rangeY="1" label="downStair"/>
- <Waypoint type="Node" x="32092" y="31177" z="5" rangeX="3" rangeY="3"/>
- <Waypoint type="Node" x="32110" y="31176" z="5" rangeX="3" rangeY="3"/>
- <Waypoint type="Node" x="32128" y="31159" z="5" rangeX="4" rangeY="4"/>
- <Waypoint type="Node" x="32129" y="31145" z="5" rangeX="4" rangeY="4"/>
- <Waypoint type="Node" x="32130" y="31134" z="5" rangeX="4" rangeY="4"/>
- <Waypoint type="Action" x="32132" y="31132" z="5" rangeX="1" rangeY="1" script="if islocation(7) then if itemcount(MP) < LowMp or (itemcount(Rune) < LowRune and RuneRefill) or (FoodRefill and itemcount(Food) < LowFood) or $cap < Cap or $stamina < 14*60+20 then 	gotolabel('leaveHunt') else 	gotolabel('startHunt') end else 	gotolabel($wptid-3) end"/>
- <Waypoint type="Stand" x="32128" y="31132" z="5" rangeX="1" rangeY="1" label="leaveHunt"/>
- <Waypoint type="Action" x="32126" y="31132" z="4" rangeX="2" rangeY="2" script="--check location MS_checkLoc(1)"/>
- <Waypoint type="Action" x="32133" y="31132" z="4" rangeX="2" rangeY="2" script="gotolabel(0, 'leaveHunt')"/>
- </WaypointSection>
- <WaypointSection name="leaveHunt">
- <Waypoint type="Walk" x="32138" y="31136" z="4" rangeX="4" rangeY="4"/>
- <Waypoint type="Walk" x="32149" y="31150" z="4" rangeX="3" rangeY="3"/>
- <Waypoint type="Walk" x="32146" y="31171" z="4" rangeX="2" rangeY="3"/>
- <Waypoint type="Walk" x="32143" y="31184" z="4" rangeX="3" rangeY="3"/>
- <Waypoint type="Walk" x="32149" y="31193" z="4" rangeX="3" rangeY="3"/>
- <Waypoint type="Stand" x="32153" y="31194" z="4" rangeX="1" rangeY="1"/>
- <Waypoint type="Action" x="32155" y="31194" z="5" rangeX="1" rangeY="1" script="--check location MS_checkLoc(2)"/>
- <Waypoint type="Walk" x="32148" y="31182" z="5" rangeX="2" rangeY="2"/>
- <Waypoint type="Walk" x="32149" y="31155" z="5" rangeX="3" rangeY="3"/>
- <Waypoint type="Walk" x="32151" y="31139" z="5" rangeX="3" rangeY="3"/>
- <Waypoint type="Walk" x="32163" y="31124" z="5" rangeX="4" rangeY="4"/>
- <Waypoint type="Walk" x="32168" y="31108" z="5" rangeX="3" rangeY="3"/>
- <Waypoint type="Walk" x="32186" y="31093" z="5" rangeX="3" rangeY="3"/>
- <Waypoint type="Walk" x="32204" y="31092" z="5" rangeX="3" rangeY="3"/>
- <Waypoint type="Walk" x="32227" y="31090" z="5" rangeX="3" rangeY="3"/>
- <Waypoint type="Walk" x="32241" y="31102" z="5" rangeX="3" rangeY="3" label="downBack"/>
- <Waypoint type="Stand" x="32246" y="31106" z="5" rangeX="1" rangeY="1"/>
- <Waypoint type="Action" x="32246" y="31108" z="6" rangeX="1" rangeY="1" script="--check location MS_checkLoc(2)"/>
- <Waypoint type="Stand" x="32244" y="31109" z="6" rangeX="1" rangeY="1"/>
- <Waypoint type="Action" x="32242" y="31110" z="7" rangeX="1" rangeY="1" script="--check location MS_checkLoc(1)"/>
- <Waypoint type="Action" x="32242" y="31110" z="7" rangeX="1" rangeY="1" script="if $stamina < 14*60+20 then gotolabel(0, 'toStamina') else gotolabel('toDepot') end"/>
- <Waypoint type="Walk" x="32242" y="31139" z="7" rangeX="2" rangeY="2"/>
- <Waypoint type="Walk" x="32252" y="31142" z="7" rangeX="2" rangeY="3"/>
- <Waypoint type="Stand" x="32254" y="31143" z="7" rangeX="1" rangeY="1"/>
- <Waypoint type="Action" x="32254" y="31142" z="6" rangeX="1" rangeY="1" script="--check location MS_checkLoc(2)"/>
- <Waypoint type="Action" x="32254" y="31142" z="6" rangeX="1" rangeY="1" script="gotolabel('Depot', 'Svargrond')"/>
- </WaypointSection>
- <WaypointSection name="toSofts">
- <Waypoint type="Walk" x="32312" y="31122" z="7" rangeX="1" rangeY="1"/>
- <Waypoint type="Walk" x="32331" y="31115" z="7" rangeX="1" rangeY="1"/>
- <Waypoint type="Walk" x="32341" y="31113" z="7" rangeX="1" rangeY="1"/>
- <Waypoint type="Ladder" x="32341" y="31112" z="7" rangeX="1" rangeY="1"/>
- <Waypoint type="Action" x="32343" y="31109" z="6" rangeX="1" rangeY="1" script="--check location MS_checkLoc(2)"/>
- <Waypoint type="Walk" x="32343" y="31109" z="6" rangeX="1" rangeY="1" label="Breezelda"/>
- <Waypoint type="Action" x="32343" y="31109" z="6" rangeX="1" rangeY="1" script="travel('Venore')"/>
- <Waypoint type="Walk" x="32954" y="32034" z="6" rangeX="1" rangeY="1"/>
- <Waypoint type="Walk" x="32954" y="32055" z="6" rangeX="1" rangeY="1"/>
- <Waypoint type="Walk" x="32954" y="32079" z="6" rangeX="1" rangeY="1"/>
- <Waypoint type="Walk" x="32949" y="32101" z="6" rangeX="1" rangeY="1"/>
- <Waypoint type="Stand" x="32953" y="32108" z="6" rangeX="1" rangeY="1" label="Aldo"/>
- <Waypoint type="Action" x="32953" y="32108" z="6" rangeX="1" rangeY="1" script="--refill softs MS_softRepair()"/>
- <Waypoint type="Walk" x="32949" y="32101" z="6" rangeX="1" rangeY="1"/>
- <Waypoint type="Walk" x="32953" y="32085" z="6" rangeX="1" rangeY="1"/>
- <Waypoint type="Walk" x="32954" y="32066" z="6" rangeX="1" rangeY="1"/>
- <Waypoint type="Walk" x="32954" y="32049" z="6" rangeX="1" rangeY="1"/>
- <Waypoint type="Walk" x="32954" y="32031" z="6" rangeX="1" rangeY="1"/>
- <Waypoint type="Walk" x="32955" y="32023" z="6" rangeX="1" rangeY="1" label="Fearless"/>
- <Waypoint type="Action" x="32955" y="32023" z="6" rangeX="1" rangeY="1" script="travel('Svargrond')"/>
- <Waypoint type="Stand" x="32341" y="31112" z="6" rangeX="1" rangeY="1"/>
- <Waypoint type="Action" x="32341" y="31113" z="7" rangeX="1" rangeY="1" script="--check location MS_checkLoc(1)"/>
- <Waypoint type="Walk" x="32323" y="31118" z="7" rangeX="1" rangeY="1"/>
- <Waypoint type="Walk" x="32311" y="31127" z="7" rangeX="1" rangeY="1"/>
- <Waypoint type="Action" x="32301" y="31128" z="7" rangeX="1" rangeY="1" script="gotolabel('pastBoat', 'Svargrond')"/>
- </WaypointSection>
- <WaypointSection name="toStamina">
- <Waypoint type="Walk" x="32263" y="31140" z="7" rangeX="2" rangeY="3"/>
- <Waypoint type="Walk" x="32245" y="31140" z="7" rangeX="1" rangeY="1"/>
- <Waypoint type="Walk" x="32239" y="31127" z="7" rangeX="1" rangeY="1"/>
- <Waypoint type="Walk" x="32236" y="31113" z="7" rangeX="1" rangeY="1"/>
- <Waypoint type="Stand" x="32236" y="31108" z="7" rangeX="1" rangeY="1"/>
- <Waypoint type="Action" x="32236" y="31105" z="6" rangeX="1" rangeY="1" script="--check location MS_checkLoc(2)"/>
- <Waypoint type="Walk" x="32242" y="31087" z="6" rangeX="1" rangeY="1"/>
- <Waypoint type="Walk" x="32248" y="31067" z="6" rangeX="1" rangeY="1"/>
- <Waypoint type="Action" x="32248" y="31067" z="6" rangeX="1" rangeY="1" script="if not OfflineTrainer then printerror('Client closed due to low stamina.') closeclient() else gotolabel(Skill) end"/>
- <Waypoint type="Use" x="32246" y="31066" z="6" rangeX="1" rangeY="1" label="Distance"/>
- <Waypoint type="Action" x="32246" y="31066" z="6" rangeX="1" rangeY="1" script="printerror('Client closed due to low stamina.') closeclient()"/>
- <Waypoint type="Use" x="32247" y="31064" z="6" rangeX="1" rangeY="1" label="Sword"/>
- <Waypoint type="Action" x="32246" y="31066" z="6" rangeX="1" rangeY="1" script="printerror('Client closed due to low stamina.') closeclient()"/>
- <Waypoint type="Use" x="32249" y="31064" z="6" rangeX="1" rangeY="1" label="Axe"/>
- <Waypoint type="Action" x="32246" y="31066" z="6" rangeX="1" rangeY="1" script="printerror('Client closed due to low stamina.') closeclient()"/>
- <Waypoint type="Use" x="32251" y="31064" z="6" rangeX="1" rangeY="1" label="Club"/>
- <Waypoint type="Action" x="32246" y="31066" z="6" rangeX="1" rangeY="1" script="printerror('Client closed due to low stamina.') closeclient()"/>
- <Waypoint type="Use" x="32252" y="31066" z="6" rangeX="1" rangeY="1" label="Magic"/>
- <Waypoint type="Action" x="32246" y="31066" z="6" rangeX="1" rangeY="1" script="printerror('Client closed due to low stamina.') closeclient()"/>
- </WaypointSection>
- <WaypointSection name="toCarpet">
- <Waypoint type="Walk" x="32258" y="31123" z="7" rangeX="1" rangeY="1" label="toCarpet"/>
- <Waypoint type="Walk" x="32257" y="31113" z="7" rangeX="1" rangeY="1"/>
- <Waypoint type="Stand" x="32249" y="31110" z="7" rangeX="1" rangeY="1"/>
- <Waypoint type="Action" x="32247" y="31110" z="6" rangeX="1" rangeY="1" script="--check location MS_checkLoc(2)"/>
- <Waypoint type="Stand" x="32247" y="31106" z="6" rangeX="1" rangeY="1"/>
- <Waypoint type="Action" x="32247" y="31104" z="5" rangeX="1" rangeY="1" script="--check location MS_checkLoc(1)"/>
- <Waypoint type="Stand" x="32249" y="31101" z="5" rangeX="1" rangeY="1" label="toIyad"/>
- <Waypoint type="Action" x="32249" y="31099" z="4" rangeX="1" rangeY="1" script="--check location MS_checkLoc(1)"/>
- <Waypoint type="Stand" x="32252" y="31097" z="4" rangeX="1" rangeY="1" label="Iyad"/>
- <Waypoint type="Action" x="32252" y="31097" z="4" rangeX="1" rangeY="1" script="travel('Edron')"/>
- <Waypoint type="Action" x="32351" y="31051" z="3" rangeX="1" rangeY="1" script="--check location MS_checkLoc(2)"/>
- <Waypoint type="Stand" x="33189" y="31785" z="3" rangeX="1" rangeY="1"/>
- <Waypoint type="Action" x="33192" y="31782" z="4" rangeX="1" rangeY="1" script="--check location MS_checkLoc(1)"/>
- <Waypoint type="Stand" x="33192" y="31781" z="4" rangeX="1" rangeY="1"/>
- <Waypoint type="Action" x="33194" y="31784" z="5" rangeX="1" rangeY="1" script="--check location MS_checkLoc(1)"/>
- <Waypoint type="Stand" x="33195" y="31785" z="5" rangeX="1" rangeY="1"/>
- <Waypoint type="Action" x="33195" y="31786" z="6" rangeX="1" rangeY="1" script="--check location MS_checkLoc(1)"/>
- <Waypoint type="Walk" x="33208" y="31783" z="6" rangeX="1" rangeY="1"/>
- <Waypoint type="Walk" x="33211" y="31789" z="6" rangeX="1" rangeY="1"/>
- <Waypoint type="Stand" x="33209" y="31789" z="6" rangeX="1" rangeY="1"/>
- <Waypoint type="Action" x="33208" y="31789" z="7" rangeX="1" rangeY="1" script="--check location MS_checkLoc(2)"/>
- <Waypoint type="Action" x="33175" y="31764" z="6" rangeX="1" rangeY="1" script="gotolabel(0, 'toFood')"/>
- </WaypointSection>
- <WaypointSection name="toFood">
- <Waypoint type="Walk" x="33200" y="31802" z="7" rangeX="1" rangeY="1"/>
- <Waypoint type="Walk" x="33200" y="31814" z="7" rangeX="1" rangeY="1"/>
- <Waypoint type="Walk" x="33192" y="31823" z="7" rangeX="1" rangeY="1"/>
- <Waypoint type="Walk" x="33195" y="31837" z="7" rangeX="1" rangeY="1"/>
- <Waypoint type="Walk" x="33210" y="31843" z="7" rangeX="1" rangeY="1"/>
- <Waypoint type="Walk" x="33225" y="31841" z="7" rangeX="1" rangeY="1"/>
- <Waypoint type="Walk" x="33246" y="31841" z="7" rangeX="1" rangeY="1"/>
- <Waypoint type="Stand" x="33247" y="31841" z="7" rangeX="1" rangeY="1"/>
- <Waypoint type="Action" x="33248" y="31840" z="6" rangeX="1" rangeY="1" script="--check location MS_checkLoc(2)"/>
- <Waypoint type="Walk" x="33257" y="31841" z="6" rangeX="1" rangeY="1"/>
- <Waypoint type="Stand" x="33258" y="31840" z="6" rangeX="1" rangeY="1"/>
- <Waypoint type="Action" x="33258" y="31840" z="5" rangeX="1" rangeY="1" script="--check location MS_checkLoc(1)"/>
- <Waypoint type="Action" x="33256" y="31840" z="5" rangeX="1" rangeY="1" script="if not FoodRefill or itemcount(Food) >= HuntFood then print('Skipping food refill. Going to rune shop.') gotolabel('toRune') end"/>
- <Waypoint type="Stand" x="33256" y="31840" z="5" rangeX="1" rangeY="1" label="Luna"/>
- <Waypoint type="Action" x="33256" y="31840" z="5" rangeX="1" rangeY="1" script="--buy food if islocation(1) then opentrade() waitping() if itemcount(Food) < HuntFood and FoodRefill then MS_shopUpTo(Food, AmountFood, MainBP) end waitping() npctalk('bye') else gotolabel('Luna') end"/>
- <Waypoint type="Action" x="33216" y="31841" z="7" rangeX="1" rangeY="1" script="--check rune if not RuneRefill or itemcount(Rune) >= HuntRune then 	gotolabel('pastFood') end"/>
- <Waypoint type="Stand" x="33257" y="31842" z="5" rangeX="1" rangeY="1" label="toRune"/>
- <Waypoint type="Action" x="33256" y="31842" z="4" rangeX="1" rangeY="1" script="--check location MS_checkLoc(1)"/>
- <Waypoint type="Stand" x="33255" y="31842" z="4" rangeX="1" rangeY="1"/>
- <Waypoint type="Action" x="33255" y="31841" z="3" rangeX="1" rangeY="1" script="--check location MS_checkLoc(1)"/>
- <Waypoint type="Stand" x="33255" y="31841" z="3" rangeX="1" rangeY="1" label="Alexander"/>
- <Waypoint type="Action" x="33255" y="31841" z="3" rangeX="1" rangeY="1" script="--buy runes if islocation(1) then npctalk('hi', 'trade') waitping() if itemcount(Rune) < HuntRune and RuneRefill then MS_shopUpTo(Rune, AmountRune, SupplyBP) end npctalk('bye') else gotolabel('Alexander') end"/>
- <Waypoint type="Stand" x="33255" y="31842" z="3" rangeX="1" rangeY="1"/>
- <Waypoint type="Action" x="33255" y="31844" z="4" rangeX="1" rangeY="1" script="--check location MS_checkLoc(1)"/>
- <Waypoint type="Stand" x="33257" y="31842" z="4" rangeX="1" rangeY="1"/>
- <Waypoint type="Action" x="33257" y="31842" z="5" rangeX="1" rangeY="1" script="--check location MS_checkLoc(1)"/>
- <Waypoint type="Stand" x="33258" y="31840" z="5" rangeX="1" rangeY="1" label="pastFood"/>
- <Waypoint type="Action" x="33257" y="31841" z="6" rangeX="1" rangeY="1" script="--check location MS_checkLoc(1)"/>
- <Waypoint type="Walk" x="33248" y="31841" z="6" rangeX="1" rangeY="1"/>
- <Waypoint type="Stand" x="33247" y="31841" z="6" rangeX="1" rangeY="1"/>
- <Waypoint type="Action" x="33246" y="31842" z="7" rangeX="1" rangeY="1" script="--check location MS_checkLoc(2)"/>
- <Waypoint type="Walk" x="33235" y="31841" z="7" rangeX="1" rangeY="1"/>
- <Waypoint type="Walk" x="33219" y="31841" z="7" rangeX="1" rangeY="1"/>
- <Waypoint type="Walk" x="33199" y="31841" z="7" rangeX="1" rangeY="1"/>
- <Waypoint type="Walk" x="33192" y="31828" z="7" rangeX="1" rangeY="1"/>
- <Waypoint type="Walk" x="33201" y="31810" z="7" rangeX="1" rangeY="1"/>
- <Waypoint type="Walk" x="33201" y="31791" z="7" rangeX="1" rangeY="1"/>
- <Waypoint type="Action" x="33201" y="31791" z="7" rangeX="1" rangeY="1" script="gotolabel(0, 'backCarpet')"/>
- </WaypointSection>
- <WaypointSection name="backCarpet">
- <Waypoint type="Walk" x="33207" y="31789" z="7" rangeX="1" rangeY="1"/>
- <Waypoint type="Ladder" x="33208" y="31789" z="7" rangeX="1" rangeY="1"/>
- <Waypoint type="Action" x="33209" y="31790" z="6" rangeX="1" rangeY="1" script="--check location MS_checkLoc(2)"/>
- <Waypoint type="Walk" x="33216" y="31783" z="6" rangeX="1" rangeY="1"/>
- <Waypoint type="Ladder" x="33215" y="31783" z="6" rangeX="1" rangeY="1"/>
- <Waypoint type="Action" x="33216" y="31784" z="5" rangeX="1" rangeY="1" script="--check location MS_checkLoc(2)"/>
- <Waypoint type="Ladder" x="33215" y="31784" z="5" rangeX="1" rangeY="1"/>
- <Waypoint type="Action" x="33216" y="31784" z="4" rangeX="1" rangeY="1" script="--check location MS_checkLoc(1)"/>
- <Waypoint type="Walk" x="33194" y="31783" z="4" rangeX="1" rangeY="1"/>
- <Waypoint type="Ladder" x="33189" y="31785" z="4" rangeX="1" rangeY="1"/>
- <Waypoint type="Action" x="33192" y="31785" z="3" rangeX="1" rangeY="1" script="--check location MS_checkLoc(2)"/>
- <Waypoint type="Walk" x="33193" y="31784" z="3" rangeX="1" rangeY="1" label="Pino"/>
- <Waypoint type="Action" x="33193" y="31784" z="3" rangeX="1" rangeY="1" script="travel('Svargrond')"/>
- <Waypoint type="Action" x="32351" y="31051" z="4" rangeX="2" rangeY="2" script="--check location MS_checkLoc(2)"/>
- <Waypoint type="Stand" x="32248" y="31101" z="4" rangeX="1" rangeY="1"/>
- <Waypoint type="Action" x="32248" y="31103" z="5" rangeX="1" rangeY="1" script="--check location MS_checkLoc(1)"/>
- <Waypoint type="Action" x="32248" y="31105" z="5" rangeX="1" rangeY="1" script="--check script if scriptName:match('Hidden') then 	gotolabel(0, 'toHunt') end"/>
- <Waypoint type="Stand" x="32247" y="31106" z="5" rangeX="2" rangeY="1"/>
- <Waypoint type="Action" x="32247" y="31107" z="6" rangeX="1" rangeY="1" script="--check location MS_checkLoc(1)"/>
- <Waypoint type="Stand" x="32249" y="31110" z="6" rangeX="1" rangeY="2"/>
- <Waypoint type="Action" x="32251" y="31110" z="7" rangeX="1" rangeY="1" script="--check location MS_checkLoc(1)"/>
- <Waypoint type="Walk" x="32257" y="31120" z="7" rangeX="2" rangeY="2"/>
- <Waypoint type="Walk" x="32271" y="31126" z="7" rangeX="2" rangeY="2"/>
- <Waypoint type="Walk" x="32288" y="31130" z="7" rangeX="2" rangeY="2"/>
- <Waypoint type="Action" x="32294" y="31130" z="7" rangeX="1" rangeY="1" script="gotolabel(0, 'toHunt')"/>
- </WaypointSection>
- </Cavebot>
- <Looting enabled="yes">
- <Options>
- <Option range="50"/>
- <Option moveItemsQuickly="yes"/>
- <Option eatFoodFromCorpse="yes"/>
- <Option openNextBP="no"/>
- <Option openBPsAtLogin="no"/>
- <Option valuableBodies="3000"/>
- <Option ultraValuableBodies="5000"/>
- <Option alertOnValuableBodies="no"/>
- <Option openValuableBodiesOnly="no"/>
- <Option openUltraValuableBodiesImmediately="yes"/>
- <Option policy="Smart Looting"/>
- <LootingDestinations>
- <lootingDestination name="lootbp" destination="orange backpack"/>
- <lootingDestination name="goldbp" destination="brocade backpack"/>
- <lootingDestination name="supplybp" destination="dragon backpack"/>
- <lootingDestination name="depotbp" destination="brown backpack"/>
- <lootingDestination name="stackdpbp" destination="blue backpack"/>
- <lootingDestination name="raredpbp" destination="camouflage backpack"/>
- <lootingDestination name="suppdpbp" destination="red backpack"/>
- <lootingDestination name="extrabp" destination="green backpack"/>
- </LootingDestinations>
- </Options>
- <LootingProfile name="LootList" isCurrentProfile="yes">
- <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"/>
- <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"/>
- <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"/>
- <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"/>
- <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"/>
- <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"/>
- <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"/>
- <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"/>
- <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"/>
- <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"/>
- <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"/>
- <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"/>
- <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"/>
- <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"/>
- <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"/>
- <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"/>
- <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"/>
- <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"/>
- <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"/>
- </LootingProfile>
- </Looting>
- <Supplies>
- <Options>
- <Option defaultBackpack=""/>
- <Option extraCashMin="1000" extraCashMax="2500"/>
- <Option autoSwitchProfiles="no"/>
- </Options>
- <SupplyProfile name="SupplyList" vocation="Sorcerer, Druid" level="162" isCurrentProfile="yes">
- <SupplyItem name="strong mana potion" id="237" buyPrice="80" weight="2.90" leaveCaveAt="0" rule="Up to..." ruleValue="0" destination="" category=""/>
- <SupplyItem name="great mana potion" id="238" buyPrice="120" weight="3.10" leaveCaveAt="0" rule="Up to..." ruleValue="0" destination="" category=""/>
- <SupplyItem name="thunderstorm rune" id="3202" buyPrice="37" weight="0.52" leaveCaveAt="0" rule="Up to..." ruleValue="0" destination="" category=""/>
- <SupplyItem name="brown mushroom" id="3725" buyPrice="10" weight="0.20" leaveCaveAt="0" rule="Up to..." ruleValue="0" destination="" category=""/>
- </SupplyProfile>
- </Supplies>
- <Targeting enabled="yes" allowDiagonalMovement="yes" autoSwitchProfiles="no" nonPvPMode="no">
- <TargetingProfile name="TargetList" vocation="Sorcerer, Druid" level="161" targetMustBeShootable="yes" targetMustBeReachable="yes" isCurrentProfile="yes">
- <Priorities>
- <Priority health="36"/>
- <Priority proximity="54"/>
- <Priority danger="30"/>
- <Priority random="0"/>
- <Priority lure="30"/>
- <Priority stick="2"/>
- </Priorities>
- <Creatures>
- <Creature name="Crystal Spider" amount="Any" category="m" dontLoot="no" playAlarm="no" syncSpells="yes">
- <FightingSettings>
- <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"/>
- <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"/>
- <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"/>
- <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"/>
- </FightingSettings>
- </Creature>
- <Creature name="Ice Golem" amount="Any" category="m" dontLoot="no" playAlarm="no" syncSpells="yes">
- <FightingSettings>
- <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"/>
- <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"/>
- <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"/>
- <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"/>
- </FightingSettings>
- </Creature>
- <Creature name="Others" amount="Any" category="t" dontLoot="yes" playAlarm="no" syncSpells="no">
- <FightingSettings>
- <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"/>
- <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"/>
- <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"/>
- <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"/>
- </FightingSettings>
- </Creature>
- </Creatures>
- </TargetingProfile>
- </Targeting>
- <OtherBots>
- <HealingPaths/>
- <TargetingPaths/>
- </OtherBots>
- </WindbotSettings>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement