Skip to content
Outlands Hub

Razor script

Mining with search for hidden forge using Pack Ox

by willemsznicer · 408 lines
Download

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