Skip to content
Outlands Hub

Razor script

Distillation/Map-bot 3000

by daklue · 513 lines
Download

UO Outlands By: SCGuy Minor Edits by DaKlue Most Scripts copied and modified from uorazorscritpts.com

DistillationMap-bot 3000.razor
1# This is an automated backup - check out https://outlands.uorazorscripts.com/script/522a39ec-6e01-40d9-8754-0dbf3e77f32a for latest2# Automation by Jaseowns3## Script: Distillation/Map-bot 30004## Created by: daklue#05#############################################6 7///////////////////////////////////////////////////////////   8# Distillation/Map-bot 30009# UO Outlands10# By: SCGuy11# Minor Edits by DaKlue 12# Most Scripts copied and modified from uorazorscritpts.com13///////////////////////////////////////////////////////////14 15# select the drop bag where people will place extracts16if not varexist chestToLookIn17    overhead 'Select the bag to watch for all items in.'18    @setvar! chestToLookIn19    dclick chestToLookIn20endif21 22if not varexist chestToDropIn23    overhead 'Select the bag to drop all items after bot has finished with it.'24    @setvar! chestToDropIn25    dclick chestToDropIn26endif27 28@setvar! alchGumpID 94909510129@setvar! aspectPageID 10830@setvar! nextPageResponse 1131 32if not timerexists "botTimer"33    createtimer "botTimer"34    settimer "botTimer" 035endif36if timer botTimer >= 6000037    wait 100038    say "Distillation/Map-bot 3000  ONLINE!" 8839    wait 50040    settimer "botTimer" 041endif42 43if not findtype "bottle" backpack44    dclick chestToLookIn45    wait 20046    overhead "Restock Extract" 8847    if findtype "bottle" chestToLookIn as bottle48        lift bottle49        drop backpack -1 -1 -150        wait 65051    endif52endif53    54if findtype 'bottle' self as extract55    overhead "Found a extract. Give us a moment as we turn it into a distilation." 8856    # pickup bottles on the floor57    if counttype 'empty bottle%s%' self = 058        @setvar bottleID 059        if findtype 'empty bottle%s%' ground -1 -1 2 as bottles60            @setvar bottleID bottles 61        elseif findtype 'empty bottle%s%'  as bottles62            @setvar bottleID bottles 63        endif64        65        if bottleID > 066            lift bottleID 6000067            drop backpack -1 -1 -168            say 'Thank you for the bottles!'69            wait 100070        endif71    endif72 73    # pickup mortal and pestle on the floor74    if counttype 'mortar and pestle' self = 0 75        @setvar! toolID 076        if findtype 'mortar and pestle' ground -1 -1 2 as tool77            @setvar! toolID tool78        elseif findtype 'mortar and pestle' chestToLookIn as tool79            @setvar! toolID tool80        endif81        82        if toolID > 083            lift toolID 6000084            drop backpack -1 -1 -185            say 'Thank you for the tools!'86            wait 100087       endif88    endif89 90    # check for an extract in the drop bag91    @setvar! foundExtract 092    @setvar! shouldSpeak 193    while findtype 'bottle' chestToLookIn as extract94        @setvar! foundExtract 195        overhead 'Found an extract! Creating a new distill...'96        getlabel extract extractName97        98        if shouldSpeak = 199            @setvar! shouldSpeak 0100            say 'Ah, an extract. Let me distill that for you...'101            wait 250102        endif103 104        # check for empty bottles105        if not findtype 'empty bottle%s%' self106            overhead 'Need more empty bottles!' 38107            say "I am out of empty bottles! Please drop some on the floor for me."108            wait 3000109            loop110        endif111 112        # open the alch gump, and go to page 2113        # of the aspect section where distills begin114        if findtype 'mortar and pestle' self as tool115            gumpclose alchGumpID116            dclick tool117            waitforgump alchGumpID118            119            # goto 'Aspect Items'120            gumpresponse aspectPageID121            waitforgump alchGumpID122            wait 650123            124            # goto page 3125            gumpresponse nextPageResponse126            waitforgump alchGumpID127            wait 650128            gumpresponse nextPageResponse129            waitforgump alchGumpID130            wait 650131        else132            overhead 'Need more mortal and pestles!' 38133            say "I am out of mortar and pestles! Please drop some on the floor for me."134            wait 3000135            loop136        endif137 138        # move the extract once we know we can make a distill139        lift extract 1140        drop backpack -1 -1 -1141        wait 650142 143        # go to the page for this extract,144        # then create it145        // page 3146        if 'Air' in extractName147            overhead 'Air' 1001148            gumpresponse 200 alchGumpID149 150        elseif 'Artisan' in extractName151            overhead 'Artisan' 544152            gumpresponse 201 alchGumpID153 154        elseif 'Blood' in extractName155            overhead 'Blood' 38        156            gumpresponse 202 alchGumpID157            158        elseif 'Command' in extractName159            overhead 'Command' 68160            gumpresponse 203 alchGumpID161 162        elseif 'Death' in extractName163            overhead 'Death' 923164            gumpresponse 204 alchGumpID165 166        elseif 'Discipline' in extractName167            overhead 'Discipline' 442168            gumpresponse 205 alchGumpID169 170        elseif 'Earth' in extractName171            overhead 'Earth' 544172            gumpresponse 206 alchGumpID173 174        elseif 'Eldritch' in extractName175            overhead 'Eldritch' 24176            gumpresponse 207 alchGumpID177 178        elseif 'Fire' in extractName179            overhead 'Fire' 38180            gumpresponse 208 alchGumpID181 182        elseif 'Fortune' in extractName183            overhead 'Fortune' 53184            gumpresponse 209 alchGumpID185        186        // page 4187        elseif 'Gadget' in extractName188            overhead 'Gadget' 53189            gumpresponse nextPageResponse alchGumpID190            waitforgump alchGumpID191            gumpresponse 200 alchGumpID192            193        elseif 'Harvest' in extractName194            overhead 'Harvest' 53195            gumpresponse nextPageResponse alchGumpID196            waitforgump alchGumpID197            gumpresponse 201 alchGumpID198 199        elseif 'Holy' in extractName200            overhead 'Holy' 53201            gumpresponse nextPageResponse alchGumpID202            waitforgump alchGumpID203            gumpresponse 202 alchGumpID204 205        elseif 'Lyric' in extractName206            overhead 'Lyric' 38207            gumpresponse nextPageResponse alchGumpID208            waitforgump alchGumpID209            gumpresponse 203 alchGumpID210 211        elseif 'Poison' in extractName212            overhead 'Poison' 68213            gumpresponse nextPageResponse alchGumpID214            waitforgump alchGumpID215            gumpresponse 204 alchGumpID216 217        elseif 'Shadow' in extractName218            overhead 'Shadow' 923219            gumpresponse nextPageResponse220            waitforgump alchGumpID221            gumpresponse 205 alchGumpID222 223        elseif 'Void' in extractName224            overhead 'Void' 14225            gumpresponse nextPageResponse alchGumpID226            waitforgump alchGumpID227            gumpresponse 206 alchGumpID228 229        elseif 'War' in extractName230            overhead 'War' 44231            gumpresponse nextPageResponse alchGumpID232            waitforgump alchGumpID233            gumpresponse 207 alchGumpID234            235        elseif 'Water' in extractName236            overhead 'Water' 8237            gumpresponse nextPageResponse alchGumpID238            waitforgump alchGumpID239            gumpresponse 208 alchGumpID240 241        else 242            overhead 'Unknown extract type! {{extractName}}' 38243            say 'DISTILLO-BOT FATAL ERROR! CANNOT COMPUTE! CANNOT COMPUTE!'244        endif245 246        waitforgump alchGumpID 1000247        gumpclose alchGumpID248        wait 3000249    endwhile250else 251    overhead "Out of Extracts!" 34252    wait 650253endif254 255# move the new distillations back into the drop bag256while findtype 'flask' self as distillation257    lift distillation 99258    drop chestToDropIn -1 -1 -1259    wait 1500260endwhile261 262if foundExtract == 1263    say 'There you go! Thank you for using Distillo-bot 3000 and have a nice day.'264endif265 266 267 268 269@setvar! globalTimeout 650270 271 272#################################273##### Item Id274###########################275 276if skill "Item Identification" >= 120277    278    if not find chestToLookIn ground -1 -1 2279        unsetvar chestToLookIn280        replay281    endif282    283    if not timerexists "itemIdTimer"284        createtimer "itemIdTimer"285        settimer "itemIdTimer" 20000286    endif287    288    if not timerexists "detectHidingPlayersTimer"289        createtimer "detectHidingPlayersTimer"290        settimer "detectHidingPlayersTimer" 11000291    endif292    293    getlabel chestToLookIn descItemId294    295    if "0 items, 0 stones" in descItemId296        // do nothing297    elseif timer "detectHidingPlayersTimer" >= 11000 and timer "itemIdTimer" >= 20000298        useskill 'itemidentification'299        wft 500300        target chestToLookIn301        settimer "detectHidingPlayersTimer" 9000302        settimer "itemIdTimer" 0303    endif304endif305 306 307 308 309if skill "Lockpicking" >= 50310        311    if not timerexists "unlockChestTimer"312        createtimer "unlockChestTimer"313        settimer "unlockChestTimer" 2000314    endif315 316    if not varexist haveParagonToOpen317        @setvar! haveParagonToOpen 0318    endif319 320    if findtype "lockpicks" backpack and findtype "drill" backpack321        @clearignore322        if not varexist chestToLookIn323            overhead "Select a chest to look in" 88324            @setvar! chestToLookIn325        endif326 327        if not find chestToLookIn ground -1 -1 2328            unsetvar chestToLookIn329            replay330        endif331 332        if haveParagonToOpen = 0333            while findtype 2473|3644|3645|3646|3647|3710|3701|3702|29832|29833|2472|2475|3648|3649|3708|29078|41449|41450|3705|3712|2474|3709|3650|3651|29077 chestToLookIn as container334                getlabel container desc335                if "sealed" in desc336                    overhead "paragon found"337                    lift container338                    drop backpack -1 -1 -1339                    wait globalTimeout340                endif341                342                if find container backpack343                    @setvar! haveParagonToOpen container344                else345                    @ignore! container346                endif347            endwhile348        elseif timer unlockChestTimer >= 3500349            if gumpexists 736038070350                if ingump "Cleared of Traps" 736038070351                    gumpresponse 4 736038070352                else353                    overhead "Remove Trap"354                    gumpresponse 7 736038070        355                endif356                settimer unlockChestTimer 0357            else358                getlabel haveParagonToOpen sealedDesc359                if "sealed" in sealedDesc360                    dclick haveParagonToOpen361                else362                    overhead "we done"363                    lift haveParagonToOpen364                    drop chestToLookIn -1 -1 -1365                    wait globalTimeout366                    if not find haveParagonToOpen backpack367                        @setvar! haveParagonToOpen 0368                    endif369                endif370            endif371        endif372    else373        overhead "No more lockpicks or drills bro" 34374    endif375 376endif377 378# All types of map decoder by Jaseowns379if skill 'cartography' >= 50380    if not findtype "spyglass" backpack381        if findtype "spyglass" chestToLookIn as item382            overhead "Grabbing spyglass" 34383            lift item384            drop backpack -1 -1 -1385            wait 650386        else387            overhead "Need spyglass" 34388            wait 5000        389        endif390        replay391    endif392 393    if not findtype "map" backpack394        dclick chestToLookIn395        wait 200396        overhead "Restock Map" 88397        if findtype "map" chestToLookIn as map398            lift map399            drop backpack -1 -1 -1400            wait 650401        endif402    endif403 404    # Close map gump405    // ore406    gumpclose 3367641484407    // skinning408    gumpclose 3473029237409    // lumber410    gumpclose 1332805401411    // treasure412    gumpclose 1520869851413    // fishing414    gumpclose 2589357942415 416 417    if findtype "map" backpack as my_map418        getlabel my_map desc419        overhead desc   420        dclicktype "spyglass" backpack421        wft 1500422        target my_map423        424        @setvar! gumpIdToCheck 0425        426        if "ore" in desc427            @setvar! gumpIdToCheck 3367641484428        elseif "skinning" in desc429            @setvar! gumpIdToCheck 3473029237430        elseif "lumber" in desc431            @setvar! gumpIdToCheck 1332805401432        elseif "treasure" in desc433            @setvar! gumpIdToCheck 1520869851434        elseif "fishing" in desc435            @setvar! gumpIdToCheck 2589357942436        else437           overhead "Unknown gump!" 34438        endif439        440        waitforgump gumpIdToCheck 1000441        442        if "[100.0%" in desc or "(100.0%" in desc443            dclick chestToDropIn444            wait 200445            overhead "Moving map..." 88446            lift my_map447            drop chestToDropIn -1 -1 -1448            wait 650449        else450            overhead "Updating..."451            clearsysmsg 452            while gumpexists gumpIdToCheck453                gumpresponse 4 gumpIdToCheck454                wait 500455                if insysmsg "maximum accuracy"456                    gumpclose gumpIdToCheck457                    lift my_map458                    drop chestToDropIn -1 -1 -1459                    wait 650460                endif461            endwhile462        endif    463        wait 200464        replay465    else466        overhead "Out of maps!" 34467        wait 5000468        replay469    endif470endif471if not listexists "friendsofthehouse"472    createlist "friendsofthehouse"473endif474 475if not timerexists "detectHidingPlayersTimer"476    createtimer "detectHidingPlayersTimer"477    settimer "detectHidingPlayersTimer" 11000478endif479 480if not timerexists "sayBanTimer"481    createtimer "sayBanTimer"482    settimer "sayBanTimer" 2000483endif484 485if timer "detectHidingPlayersTimer" >= 11000486    useskill 'detectinghidden'487    wft 500488    target 'self'489    settimer "detectHidingPlayersTimer" 0490endif491 492hotkey 'Next non-friendly player target'493wait 200494if insysmsg "no one matching"495    // do nothing496else 497    @setvar! removeTarget lasttarget498    if inlist "friendsofthehouse" removeTarget 499        // do nothing500    elseif timer sayBanTimer >= 2000501        say "I ban thee" 502        wft 1000503        target removeTarget 504        wait 200505        if insysmsg "You cannot eject a friend of the house!"506            pushlist "friendsofthehouse" removeTarget 507        endif  508        settimer "sayBanTimer" 0509    endif510endif511 512wait 50513loop