Skip to content
Outlands Hub

Razor script

Decode research materials and store lore pages

by nev0r · 274 lines
Download

Script to decode research materials & store lore pages for UO Outlands - No mandatory setup, an optional setup section can be found below

Housing
Decode research materials and store lore pages.razor
1# This is an automated backup - check out https://outlands.uorazorscripts.com/script/b29af1f5-7037-4a05-a5b9-a3888430e2d9 for latest2# Automation by Jaseowns3## Script: Decode research materials and store lore pages4## Created by: nev0r#05#############################################6 7//////////////////////////////////////////8// 9//  Script to decode research materials & store lore pages 10//  for UO Outlands11// 12// - No mandatory setup, an optional setup section can be found below13//14//////////////////////////////////////////15 16######## MANUAL SETUP ########17 18# AutoDecodeLorePages: automatically decode research materials?19    # 0 ... No20    # 1 ... Yes21    setvar! AutoDecodeLorePages 122 23# AutoStoreLorePages: automatically store lore pages?24    # 0 ... No25    # 1 ... Yes26    setvar! AutoStoreLorePages  127 28###### END MANUAL SETUP ######29 30//Script variables31setvar! loreTomeHue          291032setvar! decodeOverheadCD     300033setvar! researchGumpID  70945575634setvar! lorePageGumpID 252034522335 36//Global variables37setvar! globalWaitForServerResponse 50038setvar! globalWaitForObjectDelay    60039if not timerexists globalObjectDelayTimer40    settimer globalObjectDelayTimer globalWaitForObjectDelay41endif42 43//Colors44setvar! cSuccess 6845setvar! cWarning 5546setvar! cError   3347 48@clearignore49//Skill level check50if 1 = AutoDecodeLorePages and skill "Cartography" < 120 and skill "Detecting Hidden" < 120 and skill "Item Identification" < 120 and not findtype 42516 backpack51    overhead "Need research guide to decode" cError52    setvar! AutoDecodeLorePages 053endif54 55while 1 = AutoDecodeLorePages56 57    //Collect research materials58    if not findtype "research materials" backpack59        60        setvar! targetContainer 0    61        if findtype "research materials" myResearchMaterialsSourceContainer62            setvar! targetContainer myResearchMaterialsSourceContainer63        elseif find myResearchMaterialsSourceContainer ground -1 -1 2 64            setvar! targetContainer myResearchMaterialsSourceContainer65            dclick targetContainer66            settimer globalObjectDelayTimer 067            wait globalWaitForServerResponse68            if not findtype "research materials" targetContainer69                setvar! targetContainer 070            endif71        endif        72 73        if 0 = targetContainer74            hotkey "Set Last Target"75            settimer decodeOverheadTimer decodeOverheadCD76            wft globalWaitForServerResponse77            while targetexists78                if timer decodeOverheadTimer > decodeOverheadCD79                    overhead "Click container holding" cWarning80                    overhead "your research materials" cWarning81                    settimer decodeOverheadTimer 082                endif83            endwhile84            setvar! targetContainer lasttarget85            if not findtype "research materials" targetContainer86                dclick targetContainer87                settimer globalObjectDelayTimer 088                wait globalWaitForServerResponse89            endif90        endif91 92        if not findtype "research materials" targetContainer93            overhead "No research mats found" cError94            break95        endif96 97        setvar! decodeCounter 098        settimer decodeOverheadTimer decodeOverheadCD99        while timer globalObjectDelayTimer < globalWaitForObjectDelay100        endwhile        101        while findtype "research materials" targetContainer as localResearchMats102            if timer decodeOverheadTimer > decodeOverheadCD103                overhead "Collecting research mats" cSuccess104                overhead "            �           " cSuccess targetContainer105                settimer decodeOverheadTimer 0106            endif107            overhead "            �           " cSuccess localResearchMats108            @drop backpack -1 -1 -1109            lift localResearchMats 60000110            @drop backpack -1 -1 -1                111            wait globalWaitForObjectDelay112            if counttype "research materials" backpack > decodeCounter and counttype "research materials" backpack as newCount113                setvar! decodeCounter newCount114            else115                break116            endif117        endwhile118        unsetvar decodeCounter119 120        if not findtype "research materials" backpack121            overhead "Could not collect research mats" cError122            unsetvar myResearchMaterialsSourceContainer123            break124        else125            @setvar myResearchMaterialsSourceContainer targetContainer126        endif127 128    endif129 130    //Decode research materials131    gumpclose researchGumpID132    while timer globalObjectDelayTimer < globalWaitForObjectDelay133    endwhile134 135    settimer decodeOverheadTimer decodeOverheadCD136    while findtype "research materials" backpack as localResearchMats137        if timer decodeOverheadTimer > decodeOverheadCD138            overhead "Decoding" cSuccess139            settimer decodeOverheadTimer 0140        endif    141        overhead "    �   " cSuccess localResearchMats142        dclick localResearchMats143        settimer globalObjectDelayTimer 0144        waitforgump researchGumpID globalWaitForServerResponse145        if skill "Cartography" = 120146            gumpresponse 2 researchGumpID147        elseif skill "Detecting Hidden" = 120148            gumpresponse 3 researchGumpID149        elseif skill "Item Identification" = 120 or findtype 42516 backpack150            gumpresponse 4 researchGumpID151        endif152        waitforgump researchGumpID globalWaitForServerResponse153        while timer globalObjectDelayTimer < globalWaitForObjectDelay154        endwhile155        if findtype "research materials" backpack and skill "Cartography" < 120 and skill "Detecting Hidden" < 120 and skill "Item Identification" < 120 and not findtype 42516 backpack156            overhead "Out of research guides" cWarning157            break158        endif159    endwhile160 161    break162endwhile163 164//Store lore pages165while 1 = AutoStoreLorePages and findtype 27612 backpack166 167    if insysmsg "No lore pages found in backpack." or insysmsg "lore pages added to tome."168    endif169    170    if varexist myLoreTomeContainer171        setvar! targetContainer myLoreTomeContainer172        menu targetContainer 0173        getlabel backpack waitForPing174        if insysmsg! "lore pages added to tome." or insysmsg! "No lore pages found in backpack."175            break176        else177            if not findtype 29104 targetContainer loreTomeHue178                while timer globalObjectDelayTimer < globalWaitForObjectDelay179                endwhile180                dclick targetContainer181                settimer globalObjectDelayTimer 0182                wait globalWaitForServerResponse183            endif184            if not findtype 29104 targetContainer loreTomeHue185                unsetvar myLoreTomeContainer186                setvar! targetContainer 0187            endif188        endif189    else190        setvar! targetContainer 0191    endif192 193    if findtype 29104 targetContainer loreTomeHue as localLoreTome194        setvar! loreTomeSerial localLoreTome195    elseif findtype 29104 backpack loreTomeHue as localLoreTome 196        setvar! loreTomeSerial localLoreTome197    elseif findtype 29104 ground loreTomeHue -1 2 as localLoreTome 198        setvar! loreTomeSerial localLoreTome        199    else 200        setvar! loreTomeSerial 0201    endif202        203    if 0 != loreTomeSerial204        menu loreTomeSerial 0205        getlabel backpack waitForPing206        if insysmsg! "lore pages added to tome." or insysmsg! "No lore pages found in backpack."207            break208        else209            unsetvar myLoreTomeContainer210            continue211        endif212    else213        hotkey "Set Last Target"214        settimer decodeOverheadTimer decodeOverheadCD215        wft globalWaitForServerResponse216        while targetexists217            if timer decodeOverheadTimer > decodeOverheadCD218                overhead "Click container to move pages"    cWarning219                overhead "or container holding a lore tome" cWarning220                settimer decodeOverheadTimer 0221            endif222        endwhile223        setvar!  targetContainer lasttarget224        getlabel targetContainer targetContainerLabel225        if "a lore page tome" in targetContainerLabel226            menu targetContainer 0227            @setvar myLoreTomeContainer targetContainer228            getlabel backpack waitForPing229        elseif "items, " in targetContainerLabel and findtype 29104 targetContainer loreTomeHue as localLoreTome230            menu localLoreTome 0231            @setvar myLoreTomeContainer targetContainer232            getlabel backpack waitForPing233        elseif "items, " in targetContainerLabel234            while timer globalObjectDelayTimer < globalWaitForObjectDelay235            endwhile236            dclick targetContainer237            wait globalWaitForObjectDelay238            if findtype 29104 targetContainer loreTomeHue as localLoreTome239                menu localLoreTome 0240                @setvar myLoreTomeContainer targetContainer241                getlabel backpack waitForPing242            else243                @clearignore244                while findtype 27612 backpack as localLorePage245                    @drop backpack -1 -1 -1246                    lift localLorePage247                    @drop targetContainer -1 -1 -1248                    wait globalWaitForObjectDelay249                    @ignore localLorePage250                endwhile251                @clearignore252                if not findtype 27612 backpack253                    overhead "Lore pages stored" cSuccess254                endif255            endif256        else257            overhead "Unknown container" cError258        endif259    endif260    261    break262endwhile263 264if insysmsg "lore pages added to tome."265    overhead "Lore pages stored" cSuccess 266    overhead "Lore pages stored" cSuccess targetContainer267    overhead "        �        " cSuccess targetContainer268elseif insysmsg "No lore pages found in backpack."269    overhead "No lore pages found" cWarning270endif271 272@clearignore273gumpclose researchGumpID274gumpclose lorePageGumpID