Skip to content
Outlands Hub

Razor script

Ultimate Mining Script - Base Script

by Jaseowns · 363 lines
Download

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