Compatibility unverified
This community Razor script has not been tested in game by the Hub. Read its setup and client requirements before use.
Ultimate Mining Script by Jaseowns UO Outlands - https://outlands.uorazorscripts.com/miner-bot Requirements: Walking has been removed. So Ive updated the script 7/10/2023. I also removed the captcha check and replaced it with a helper…
GatheringHidingMiningTracking
Ultimate Mining Script - Base Script.razor
1# This is an automated backup - check out https://outlands.uorazorscripts.com/script/69b83c73-6b39-4afd-9be0-539b037967cb for latest2# Automation by Jaseowns3## Script: Ultimate Mining Script - Base Script4## Created by: Jaseowns#66945#############################################6 7# Ultimate Mining Script by Jaseowns8# UO Outlands - https://outlands.uorazorscripts.com/miner-bot9# Requirements: 10####11# Walking has been removed. So Ive updated the script 7/10/2023.12# I also removed the captcha check and replaced it with a helper message 4/19/202413###################14# MAKE SURE FILTERS -> FILTER SYSTEM MESSAGES IS UNCHECKED15###########16#17###################18# Moving Ore <319#####20# This script no longer users organizer agents. It will automatically21# attempt to move your ore onto a near by pack horse. Once the pack horse22# is full, it will move to the next horse.23# 24###################25# Automatic Smelting26###########27# If you stand near a player made forge, your ignots on the packy28# will be automatically be smelted. 29# 30# You can turn on tryAndSmeltEvenIfNotNearPlayerMadeForge as 1 if you31# want to attempt to smelt randomly checking for natural forges32 33@setvar! tryAndSmeltEvenIfNotNearPlayerMadeForge 134@setvar! cdTryAndSmeltEvenIfNotNearPlayerMadeForge 1500035@setvar! hideIngotsInRedPouch 136@setvar! oreCountToMove 3037@setvar! cdAvoidForgeTimerStuck 1500038 39 40@setvar! minimumWaitForPing 20041@setvar! globalTimeout 65042 43if not varexist jasePacky44 @setvar! jasePacky 045endif46 47if not varexist hasAnyPacky48 @setvar! hasAnyPacky 049endif50 51 52@setvar! forgeFound 053 54if not timerexists forgeCheckTimer 55 settimer forgeCheckTimer cdAvoidForgeTimerStuck56endif57 58if tryAndSmeltEvenIfNotNearPlayerMadeForge = 1 and findtype "iron ore" backpack as jore59 60 if not timerexists tryAndSmeltEvenIfNotNearPlayerMadeForgeTimer 61 settimer tryAndSmeltEvenIfNotNearPlayerMadeForgeTimer cdTryAndSmeltEvenIfNotNearPlayerMadeForge62 endif63 64 if timer tryAndSmeltEvenIfNotNearPlayerMadeForgeTimer >= cdTryAndSmeltEvenIfNotNearPlayerMadeForge65 overhead "Checking for a natural forge..." 8866 dclick jore67 wait globalTimeout68 if insysmsg "You do not see any nearby forges"69 // do nothing70 else71 @setvar! forgeFound 172 endif73 settimer tryAndSmeltEvenIfNotNearPlayerMadeForgeTimer 074 endif75endif76 77 78if findtype "forge" ground -1 -1 2 or findtype 0x0FB1 ground -1 -1 2 or forgeFound = 179 overhead "Automatically Smelting..." 8880 @clearignore 81 while findtype 291|292 ground -1 -1 2 as smeltPacky82 if noto smeltPacky = "friend"83 getlabel smeltPacky testPacky84 if "[0/2000" in testPacky85 // do nothing86 else87 dclick smeltPacky88 wait globalTimeout89 settimer forgeCheckTimer 090 while findtype "iron ore" smeltPacky as jore91 dclick jore92 wait globalTimeout93 if timer forgeCheckTimer >= cdAvoidForgeTimerStuck94 break95 endif96 endwhile97 endif98 endif99 @ignore smeltPacky100 endwhile101 102 settimer forgeCheckTimer 0103 while findtype "iron ore" backpack as jore104 dclick jore105 wait globalTimeout106 if timer forgeCheckTimer >= cdAvoidForgeTimerStuck107 break108 endif109 endwhile110 111 112 if hideIngotsInRedPouch = 1 and findtype "pouch" backpack 38 as jouch113 while findtype 7154 backpack as jingots114 if find jingots jouch115 // do nothing116 else117 lift jingots 60000118 drop jouch -1 -1 -1119 wait globalTimeout120 endif121 @ignore jingots122 endwhile123 endif124 125 @clearignore126endif127 128 129 130if not dead jasePacky131 @setvar! hasAnyPacky 1132 getlabel jasePacky desc133 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 desc134 overhead "Our packy is full, ignoring this one and moving to next" 34135 @ignore jasePacky136 @setvar! jasePacky 0137 replay138 elseif counttype 6585 backpack >= oreCountToMove139 overhead "Moving ore"140 while findtype 6585 backpack as jore141 lift jore oreCountToMove142 drop jasePacky -1 -1 -1143 wait globalTimeout144 endwhile145 endif146elseif followers > 0147 if findtype 291|292 ground -1 -1 10 as packy148 if noto packy = "friend"149 @setvar! jasePacky packy150 replay151 else152 @ignore packy153 replay154 endif155 elseif hasAnyPacky = 1156 overhead "we have no more packies to load.. be sure to drop off!" 34157 overhead "if you have already dropped off, clearignore"158 wait globalTimeout159 endif160endif161 162if not varexist jase_miner_runebook or not find jase_miner_runebook backpack163 if counttype "runebook" backpack = 1 and counttype "runetome" backpack = 0 and findtype "runebook" backpack as myBook164 overhead "Automatically selected your one runebook" 88165 @setvar jase_miner_runebook myBook166 elseif counttype "runebook" backpack = 0 and counttype "runetome" backpack = 1 and findtype "runetome" backpack as myBook167 overhead "Automatically selected your one runetome" 88168 @setvar jase_miner_runebook myBook169 elseif counttype 7956 backpack = 1 and findtype 7956 backpack as myBook170 overhead "Automatically selected your one rune" 88171 @setvar jase_miner_runebook myBook172 elseif counttype "runebook" backpack > 0 or counttype 7956 backpack > 0 or counttype "runetome" backpack > 0173 overhead "Select your escape plan (runebook or runetome)" 88174 @setvar jase_miner_runebook 175 endif176endif177 178if not listexists "jase_miner_actions"179 createlist "jase_miner_actions"180endif181 182 183if inlist "jase_miner_actions" "red_alert"184 overhead "Red Alert!" 34185 poplist "jase_miner_actions" "red_alert"186 # You could also replace this magery bit with your ultimate recaller187 # Ultimate Recall using Tome or Book as Escape (ALT-M)188 # https://outlands.uorazorscripts.com/script/5b3fde97-fa90-4707-9f8e-7f56dca6792b189 # hotkey "Play Script: UltimaRecaller"190 if skill "Magery" >= 40191 overhead 'Recalling...'192 while not targetexists193 if findtype 8012 backpack as item194 dclick item195 else196 cast "Recall"197 endif198 wait minimumWaitForPing199 if insysmsg "You do not have that spell!"200 overhead "We cannot recall!" 34201 break202 endif203 endwhile204 target jase_miner_runebook205 elseif skill "Hiding" >= 40206 useskill "Hiding"207 endif208 overhead "Stopping script..." 34209 stop210 # replay211endif212 213if skill "Tracking" > 0214 if not findbuff "tracking"215 clearsysmsg216 while not gumpexists 4267467659217 useskill 'tracking'218 wait minimumWaitForPing219 endwhile220 if gumpexists 4267467659221 while not insysmsg "You will now hunt all hostile players."222 gumpresponse 8 4267467659223 waitforgump 4267467659 5000224 endwhile225 gumpresponse 6 4267467659226 wait minimumWaitForPing227 endif228 gumpclose 4267467659229 endif230endif231 232clearsysmsg 233 234if rhandempty ?? 0 235 if findtype "pickaxe" backpack236 dclicktype 'pickaxe' backpack237 wait minimumWaitForPing238 endif239endif240 241if rhandempty ?? 0 242 overhead "No more pickaxe!" 34243 wait minimumWaitForPing244 replay245endif246 247 248# Basic Heal to start bandage by Jaseowns249# https://outlands.uorazorscripts.com/script/fd1c9331-fc25-4a89-8d75-3eba6a929247250if skill "Healing" > 0251 if findtype "clean bandage%s%" backpack as aids252 if not bandaging and hp < maxhp253 dclick aids254 wft 500255 hotkey 'Target Self'256 elseif not bandaging and poisoned257 dclick aids258 wft 500259 hotkey 'Target Self'260 elseif not bandaging and findbuff "bleed"261 dclick aids262 wft 500263 hotkey 'Target Self'264 elseif not bandaging and findbuff "disease"265 dclick aids266 wft 500267 hotkey 'Target Self'268 endif269 else270 overhead "No bandages" 34271 endif272endif273 274if diffweight <= 30275 overhead "Too heavy... make sure to drop off ore (or find a pack horse)" 34276 wait minimumWaitForPing 277 replay278endif279 280overhead 'Mining' 0281hotkey 'Use item in hand'282wait minimumWaitForPing283for 25284 wait 250285 if insysmsg "now tracking"286 pushlist "jase_miner_actions" "red_alert"287 replay288 endif289 if insysmsg 'world is saving'290 for 30291 overhead 'Waiting for world save...'292 wait 1000293 if insysmsg 'save complete'294 overhead 'Save complete - continue on!' 88295 replay296 elseif insysmsg "now tracking"297 pushlist "jase_miner_actions" "red_alert"298 replay299 endif300 endfor301 elseif rhandempty ?? 0 302 overhead "Broke pickaxe" 34303 replay304 elseif insysmsg 'You do not see any'305 overhead 'Move to next spot' 88306 wait minimumWaitForPing307 replay308 elseif insysmsg "harvesting is not allowed"309 overhead 'Move out of town...' 66310 wait 1000311 replay312 elseif insysmsg "travel"313 overhead 'Waiting for travel...' 77314 wait 1000315 replay316 else317 if insysmsg "any harvestable"318 // No Ore319 overhead 'Move to next spot' 88320 replay321 elseif insysmsg "harvesting is not allowed"322 // Not allowed323 replay324 elseif insysmsg "world is saving" or insysmsg 'World save complete'325 // World Save326 replay327 elseif insysmsg "You loosen"328 // Failed329 replay330 elseif insysmsg "You dig"331 // Success332 replay333 elseif insysmsg "You must wait"334 // Wait message335 overhead 'You must wait..' 34336 wait minimumWaitForPing337 replay338 endif339 endif340endfor341 342if insysmsg "You must wait"343 // Wait message344 overhead 'You must wait..' 34345 wait minimumWaitForPing346 replay347endif348 349for 2350 overhead 'The script thinks you are stuck.. to speed it up go to:' 34351 overhead 'Razor: Filters Tab -> Text & Messages' 88352 overhead 'Uncheck filter repeating system messages' 77353 sysmsg 'The script thinks you are stuck.. to speed it up go to:' 34354 sysmsg 'Razor: Filters Tab -> Text & Messages ' 88355 sysmsg 'Uncheck filter repeating system messages' 77356 wait 5000357 if insysmsg 'Captcha successful'358 overhead 'Success - continue on!' 88359 wait 1000360 replay361 endif362endfor363replay