Ultimate Mining Script by Jaseowns with Sznicers touch.
GatheringHidingMiningTracking
Mining with search for hidden forge using Pack Ox.razor
1# This is an automated backup - check out https://outlands.uorazorscripts.com/script/88a1ed0f-9cad-4e8f-b2e7-7103407fdbf7 for latest2# Automation by Jaseowns3## Script: Mining with search for hidden forge using Pack Ox4## Created by: willemsznicer#05#############################################6 7# Ultimate Mining Script by Jaseowns with Sznicers touch.8 9# YOU NEED PACK OX!10 11# UO Outlands - https://outlands.uorazorscripts.com/miner-bot12# Requirements: 13####14# Walking has been removed. So Ive updated the script 7/10/2023.15# I also removed the captcha check and replaced it with a helper message 4/19/202416###################17# MAKE SURE FILTERS -> FILTER SYSTEM MESSAGES IS UNCHECKED18###########19#20###################21# Moving Ore <322#####23# This script no longer users organizer agents. It will automatically24# attempt to move your ore onto a near by pack horse. Once the pack horse25# is full, it will move to the next horse.26# 27###################28# Automatic Smelting29###########30# If you stand near a player made forge, your ignots on the packy31# will be automatically be smelted. 32# 33# You can turn on tryAndSmeltEvenIfNotNearPlayerMadeForge as 1 if you34# want to attempt to smelt randomly checking for natural forges35 36@setvar! forgeid 401737@setvar! forgeid2 656238@setvar! tryAndSmeltEvenIfNotNearPlayerMadeForge 039@setvar! cdTryAndSmeltEvenIfNotNearPlayerMadeForge 1500040@setvar! hideIngotsInRedPouch 141@setvar! oreCountToMove 3042@setvar! cdAvoidForgeTimerStuck 1500043 44 45@setvar! minimumWaitForPing 20046@setvar! globalTimeout 65047 48if not varexist jasePacky49 @setvar! jasePacky 050endif51 52if not varexist hasAnyPacky53 @setvar! hasAnyPacky 054endif55 56 57@setvar! forgeFound 058 59if not timerexists forgeCheckTimer 60 settimer forgeCheckTimer cdAvoidForgeTimerStuck61endif62 63if tryAndSmeltEvenIfNotNearPlayerMadeForge = 1 and findtype "iron ore" backpack as jore64292 65 if not timerexists tryAndSmeltEvenIfNotNearPlayerMadeForgeTimer 66 settimer tryAndSmeltEvenIfNotNearPlayerMadeForgeTimer cdTryAndSmeltEvenIfNotNearPlayerMadeForge67 endif68 69 if timer tryAndSmeltEvenIfNotNearPlayerMadeForgeTimer >= cdTryAndSmeltEvenIfNotNearPlayerMadeForge70 overhead "Checking for a natural forge..." 8871 dclick jore72 wait globalTimeout73 if insysmsg "You do not see any nearby forges"74 // do nothing75 else76 @setvar! forgeFound 177 endif78 settimer tryAndSmeltEvenIfNotNearPlayerMadeForgeTimer 079 endif80endif81 82if findtype forgeid ground -1 -1 22 as forge83 overhead "FORGE" 34 forge 84endif85 86if findtype forgeid2 ground -1 -1 22 as forge287 overhead "FORGE BIG" 34 forge2 88endif89 90if findtype "forge" ground -1 -1 2 or findtype 0x0FB1 ground -1 -1 2 or forgeFound = 191 overhead "Automatically Smelting..." 8892 @clearignore 93 while findtype 227| ground -1 -1 2 as smeltPacky94 if noto smeltPacky = "friend"95 getlabel smeltPacky testPacky96 if "[0/4000" in testPacky97 // do nothing98 else99 dclick smeltPacky100 wait globalTimeout101 settimer forgeCheckTimer 0102 while findtype "iron ore" smeltPacky as jore103 dclick jore104 wait globalTimeout105 if timer forgeCheckTimer >= cdAvoidForgeTimerStuck106 break107 endif108 endwhile109 endif110 endif111 @ignore smeltPacky112 endwhile113 114 settimer forgeCheckTimer 0115 while findtype "iron ore" backpack as jore116 dclick jore117 wait globalTimeout118 if timer forgeCheckTimer >= cdAvoidForgeTimerStuck119 break120 endif121 endwhile122 123 124 if hideIngotsInRedPouch = 1 and findtype "pouch" backpack 38 as jouch125 while findtype 7154 backpack as jingots126 if find jingots jouch127 // do nothing128 else129 lift jingots 60000130 drop jouch -1 -1 -1131 wait globalTimeout132 endif133 @ignore jingots134 endwhile135 endif136 137 @clearignore138endif139 140 141 142if not dead jasePacky143 @setvar! hasAnyPacky 1144 getlabel jasePacky desc145 if "[4000/4000" in desc or "[3999/4000" in desc or "[3998/4000" in desc or "[3997/4000" in desc or "[3996/4000" in desc or "[3995/4000" in desc or "[3994/4000" in desc or "[3993/4000" in desc or "[3992/4000" in desc or "[3991/4000" in desc or "[3990/4000" in desc or "[3989/4000" in desc or "[3988/4000" in desc or "[3987/4000" in desc or "[3986/4000" in desc or "[3985/4000" in desc or "[3984/4000" in desc or "[3983/4000" in desc or "[3982/4000" in desc or "[3981/4000" in desc or "[3980/4000" in desc or "[3979/4000" in desc or "[3978/4000" in desc or "[3977/4000" in desc or "[3976/4000" in desc or "[3975/4000" in desc or "[3974/4000" in desc or "[3973/4000" in desc or "[3972/4000" in desc or "[3971/4000" in desc or "[3970/4000" in desc or "[3969/4000" in desc or "[3968/4000" in desc or "[3967/4000" in desc or "[3966/4000" in desc or "[3965/4000" in desc or "[3964/4000" in desc or "[3963/4000" in desc or "[3962/4000" in desc or "[3961/4000" in desc or "[3960/4000" in desc146 147 overhead "Our packy is full, ignoring this one and moving to next" 34148 @ignore jasePacky149 @setvar! jasePacky 0150 replay151 elseif counttype 6585 backpack >= oreCountToMove152 overhead "Moving ore"153 while findtype 6585 backpack as jore154 lift jore oreCountToMove155 drop jasePacky -1 -1 -1156 wait globalTimeout157 endwhile158 endif159elseif followers > 0160 if findtype 227 ground -1 -1 10 as packy161 if noto packy = "friend"162 @setvar! jasePacky packy163 replay164 else165 @ignore packy166 replay167 endif168 elseif hasAnyPacky = 1169 overhead "we have no more packies to load.. be sure to drop off!" 34170 overhead "if you have already dropped off, clearignore"171 wait globalTimeout172 endif173endif174 175if not dead jasePacky176 @setvar! hasAnyPacky 1177 getlabel jasePacky desc178 if "[2000/2000" in desc or "[1999/2000" in desc or "[1998/2000" in desc or "[1997/2000" in desc or "[1996/2000" in desc or "[1995/2000" in desc or "[1994/2000" in desc or "[1993/2000" in desc or "[1992/2000" in desc or "[1991/2000" in desc or "[1990/2000" in desc or "[1989/2000" in desc or "[1988/2000" in desc or "[1987/2000" in desc or "[1986/2000" in desc or "[1985/2000" in desc or "[1984/2000" in desc or "[1983/2000" in desc or "[1982/2000" in desc or "[1981/2000" in desc or "[1980/2000" in desc or "[1979/2000" in desc or "[1978/2000" in desc or "[1977/2000" in desc or "[1976/2000" in desc or "[1975/2000" in desc or "[1974/2000" in desc or "[1973/2000" in desc or "[1972/2000" in desc or "[1971/2000" in desc or "[1970/2000" in desc or "[1969/2000" in desc or "[1968/2000" in desc or "[1967/2000" in desc or "[1966/2000" in desc or "[1965/2000" in desc or "[1964/2000" in desc or "[1963/2000" in desc or "[1962/2000" in desc or "[1961/2000" in desc or "[1960/2000" in desc179 overhead "Our packy is full, ignoring this one and moving to next" 34180 @ignore jasePacky181 @setvar! jasePacky 0182 replay183 elseif counttype 6585 backpack >= oreCountToMove184 overhead "Moving ore"185 while findtype 6585 backpack as jore186 lift jore oreCountToMove187 drop jasePacky -1 -1 -1188 wait globalTimeout189 endwhile190 endif191elseif followers > 0192 if findtype 291|292 ground -1 -1 10 as packy193 if noto packy = "friend"194 @setvar! jasePacky packy195 replay196 else197 @ignore packy198 replay199 endif200 elseif hasAnyPacky = 1201 overhead "we have no more packies to load.. be sure to drop off!" 34202 overhead "if you have already dropped off, clearignore"203 wait globalTimeout204 endif205endif206 207if not varexist jase_miner_runebook or not find jase_miner_runebook backpack208 if counttype "runebook" backpack = 1 and counttype "runetome" backpack = 0 and findtype "runebook" backpack as myBook209 overhead "Automatically selected your one runebook" 88210 @setvar jase_miner_runebook myBook211 elseif counttype "runebook" backpack = 0 and counttype "runetome" backpack = 1 and findtype "runetome" backpack as myBook212 overhead "Automatically selected your one runetome" 88213 @setvar jase_miner_runebook myBook214 elseif counttype 7956 backpack = 1 and findtype 7956 backpack as myBook215 overhead "Automatically selected your one rune" 88216 @setvar jase_miner_runebook myBook217 elseif counttype "runebook" backpack > 0 or counttype 7956 backpack > 0 or counttype "runetome" backpack > 0218 overhead "Select your escape plan (runebook or runetome)" 88219 @setvar jase_miner_runebook 220 endif221endif222 223if not listexists "jase_miner_actions"224 createlist "jase_miner_actions"225endif226 227 228if inlist "jase_miner_actions" "red_alert"229 overhead "Red Alert!" 34230 poplist "jase_miner_actions" "red_alert"231 # You could also replace this magery bit with your ultimate recaller232 # Ultimate Recall using Tome or Book as Escape (ALT-M)233 # https://outlands.uorazorscripts.com/script/5b3fde97-fa90-4707-9f8e-7f56dca6792b234 # hotkey "Play Script: Gh tele"235 if skill "Magery" >= 40236 overhead 'Recalling...'237 while not targetexists238 if findtype 8012 backpack as item239 dclick item240 else241 cast "Recall"242 endif243 wait minimumWaitForPing244 if insysmsg "You do not have that spell!"245 overhead "We cannot recall!" 34246 break247 endif248 endwhile249 target jase_miner_runebook250 elseif skill "Hiding" >= 40251 useskill "Hiding"252 endif253 overhead "Stopping script..." 34254 stop255 # replay256endif257 258if skill "Tracking" > 0259 if not findbuff "tracking"260 clearsysmsg261 while not gumpexists 4267467659262 useskill 'tracking'263 wait minimumWaitForPing264 endwhile265 if gumpexists 4267467659266 while not insysmsg "You will now hunt all hostile players."267 gumpresponse 8 4267467659268 waitforgump 4267467659 5000269 endwhile270 gumpresponse 6 4267467659271 wait minimumWaitForPing272 endif273 gumpclose 4267467659274 endif275endif276 277clearsysmsg 278 279if rhandempty ?? 0 280 if findtype "pickaxe" backpack281 dclicktype 'pickaxe' backpack282 wait minimumWaitForPing283 endif284endif285 286if rhandempty ?? 0 287 overhead "No more pickaxe!" 34288 wait minimumWaitForPing289 replay290endif291 292 293# Basic Heal to start bandage by Jaseowns294# https://outlands.uorazorscripts.com/script/fd1c9331-fc25-4a89-8d75-3eba6a929247295if skill "Healing" > 0296 if findtype "clean bandage%s%" backpack as aids297 if not bandaging and hp < maxhp298 dclick aids299 wft 500300 hotkey 'Target Self'301 elseif not bandaging and poisoned302 dclick aids303 wft 500304 hotkey 'Target Self'305 elseif not bandaging and findbuff "bleed"306 dclick aids307 wft 500308 hotkey 'Target Self'309 elseif not bandaging and findbuff "disease"310 dclick aids311 wft 500312 hotkey 'Target Self'313 endif314 else315 overhead "No bandages" 34316 endif317endif318 319if diffweight <= 30320 overhead "Too heavy... make sure to drop off ore (or find a pack horse)" 34321 wait minimumWaitForPing 322 replay323endif324 325overhead 'Mining' 0326hotkey 'Use item in hand'327wait minimumWaitForPing328for 25329 wait 250330 if insysmsg "now tracking"331 pushlist "jase_miner_actions" "red_alert"332 replay333 endif334 if insysmsg 'world is saving'335 for 30336 overhead 'Waiting for world save...'337 wait 1000338 if insysmsg 'save complete'339 overhead 'Save complete - continue on!' 88340 replay341 elseif insysmsg "now tracking"342 pushlist "jase_miner_actions" "red_alert"343 replay344 endif345 endfor346 elseif rhandempty ?? 0 347 overhead "Broke pickaxe" 34348 replay349 elseif insysmsg 'You do not see any'350 overhead 'Move to next spot' 88351 wait minimumWaitForPing352 replay353 elseif insysmsg "harvesting is not allowed"354 overhead 'Move out of town...' 66355 wait 1000356 replay357 elseif insysmsg "travel"358 overhead 'Waiting for travel...' 77359 wait 1000360 replay361 else362 if insysmsg "any harvestable"363 // No Ore364 overhead 'Move to next spot' 88365 replay366 elseif insysmsg "harvesting is not allowed"367 // Not allowed368 replay369 elseif insysmsg "world is saving" or insysmsg 'World save complete'370 // World Save371 replay372 elseif insysmsg "You loosen"373 // Failed374 replay375 elseif insysmsg "You dig"376 // Success377 replay378 elseif insysmsg "You must wait"379 // Wait message380 overhead 'You must wait..' 34381 wait minimumWaitForPing382 replay383 endif384 endif385endfor386 387if insysmsg "You must wait"388 // Wait message389 overhead 'You must wait..' 34390 wait minimumWaitForPing391 replay392endif393 394for 2395 overhead 'The script thinks you are stuck.. to speed it up go to:' 34396 overhead 'Razor: Filters Tab -> Text & Messages' 88397 overhead 'Uncheck filter repeating system messages' 77398 sysmsg 'The script thinks you are stuck.. to speed it up go to:' 34399 sysmsg 'Razor: Filters Tab -> Text & Messages ' 88400 sysmsg 'Uncheck filter repeating system messages' 77401 wait 5000402 if insysmsg 'Captcha successful'403 overhead 'Success - continue on!' 88404 wait 1000405 replay406 endif407endfor408replay