Skip to content
Outlands Hub

Razor script

Distillo-bot 3000

by Aphlux · 258 lines
Download

Automatically creates new distillations when extracts are placed into a selected container. The new distillation will be returned to the same container. Designed for use by guilds or homeowners who want to run a bot that…

Organizing
Distillo-bot 3000.razor
1# This is an automated backup - check out https://outlands.uorazorscripts.com/script/08511b7f-a6f2-4b66-bf11-43d403c248ad for latest2# Automation by Jaseowns3## Script: Distillo-bot 30004## Created by: Aphlux#63215#############################################6 7# Distillo-bot 30008#9# Automatically creates new distillations when 10# extracts are placed into a selected container.11# The new distillation will be returned12# to the same container.13#14# Designed for use by guilds or homeowners who15# want to run a bot that will create distillations16# for other players.17#18# Requirements:19# A container within reach used as a drop box for extracts.20# Cannot be a bag in the crafters backpack.21#22# The character running this script should have a stock23# of empty bottles and mortal and pestles in their backpack.24#25# Restock commands can be added to restock from another container.26#27# Written by:       Aphlux (aka Aphra)28# Created on:       September 4, 202229# Last updated:     May 22, 202330 31# gump vars32@setvar! alchGumpID 94909510133@setvar! aspectPageID 10834@setvar! nextPageResponse 1135 36# select the drop bag where people will place extracts37if not varexist distDrop38    overhead 'Select the bag to watch for extracts in.'39    setvar distDrop40 41    if find distDrop self42        overhead 'INVALID: The drop bag cannot be in your own pockets!' 3843        wait 100044        unsetvar distDrop45        loop46    endif47    overhead 'Distillo-bot 3000 Initialized.'48else 49    dclick distDrop50endif51 52overhead 'Waiting for extract drop...' 92053wait 25054 55# pickup bottles on the floor56if counttype 'empty bottle%s%' self = 057    @setvar bottleID 058    if findtype 'empty bottle%s%' ground -1 -1 2 as bottles59        @setvar bottleID bottles 60    elseif findtype 'empty bottle%s%' distDrop as bottles61        @setvar bottleID bottles 62    endif63    64    if bottleID > 065        lift bottleID 6000066        drop backpack -1 -1 -167        say 'Thank you for the bottles!'68        wait 100069    endif70endif71 72# pickup mortal and pestle on the floor73if counttype 'mortar and pestle' self = 0 74    @setvar! toolID 075    if findtype 'mortar and pestle' ground -1 -1 2 as tool76        @setvar! toolID tool77    elseif findtype 'mortar and pestle' distDrop as tool78        @setvar! toolID tool79    endif80    81    if toolID > 082        lift toolID 6000083        drop backpack -1 -1 -184        say 'Thank you for the tools!'85        wait 100086   endif87endif88 89# check for an extract in the drop bag90@setvar! foundExtract 091@setvar! shouldSpeak 192while findtype 'bottle' distDrop as extract93    @setvar! foundExtract 194    overhead 'Found an extract! Creating a new distill...'95    getlabel extract extractName96    97    if shouldSpeak = 198        @setvar! shouldSpeak 099        say 'Ah, an extract. Let me distill that for you...'100        wait 250101    endif102 103    # check for empty bottles104    if not findtype 'empty bottle%s%' self105        overhead 'Need more empty bottles!' 38106        say "I am out of empty bottles! Please drop some on the floor for me."107        wait 3000108        loop109    endif110 111    # open the alch gump, and go to page 2112    # of the aspect section where distills begin113    if findtype 'mortar and pestle' self as tool114        gumpclose alchGumpID115        dclick tool116        waitforgump alchGumpID117        118        # goto 'Aspect Items'119        gumpresponse aspectPageID120        waitforgump alchGumpID121        wait 650122        123        # goto page 3124        gumpresponse nextPageResponse125        waitforgump alchGumpID126        wait 650127    else128        overhead 'Need more mortal and pestles!' 38129        say "I am out of mortar and pestles! Please drop some on the floor for me."130        wait 3000131        loop132    endif133 134    # move the extract once we know we can make a distill135    lift extract 1136    drop backpack -1 -1 -1137    wait 650138 139    # go to the page for this extract,140    # then create it141    // page 3142    if 'Air' in extractName143        overhead 'Air' 1001144        gumpresponse 200 alchGumpID145 146    elseif 'Artisan' in extractName147        overhead 'Artisan' 544148        gumpresponse 201 alchGumpID149 150    elseif 'Blood' in extractName151        overhead 'Blood' 38        152        gumpresponse 202 alchGumpID153        154    elseif 'Command' in extractName155        overhead 'Command' 68156        gumpresponse 203 alchGumpID157 158    elseif 'Death' in extractName159        overhead 'Death' 923160        gumpresponse 204 alchGumpID161 162    elseif 'Discipline' in extractName163        overhead 'Discipline' 442164        gumpresponse 205 alchGumpID165 166    elseif 'Earth' in extractName167        overhead 'Earth' 544168        gumpresponse 206 alchGumpID169 170    elseif 'Eldritch' in extractName171        overhead 'Eldritch' 24172        gumpresponse 207 alchGumpID173 174    elseif 'Fire' in extractName175        overhead 'Fire' 38176        gumpresponse 208 alchGumpID177 178    elseif 'Fortune' in extractName179        overhead 'Fortune' 53180        gumpresponse 209 alchGumpID181    182    // page 4183    elseif 'Gadget' in extractName184        overhead 'Gadget' 53185        gumpresponse nextPageResponse alchGumpID186        waitforgump alchGumpID187        gumpresponse 200 alchGumpID188        189    elseif 'Harvest' in extractName190        overhead 'Harvest' 53191        gumpresponse nextPageResponse alchGumpID192        waitforgump alchGumpID193        gumpresponse 201 alchGumpID194 195    elseif 'Holy' in extractName196        overhead 'Holy' 53197        gumpresponse nextPageResponse alchGumpID198        waitforgump alchGumpID199        gumpresponse 202 alchGumpID200 201    elseif 'Lyric' in extractName202        overhead 'Lyric' 38203        gumpresponse nextPageResponse alchGumpID204        waitforgump alchGumpID205        gumpresponse 203 alchGumpID206 207    elseif 'Poison' in extractName208        overhead 'Poison' 68209        gumpresponse nextPageResponse alchGumpID210        waitforgump alchGumpID211        gumpresponse 204 alchGumpID212 213    elseif 'Shadow' in extractName214        overhead 'Shadow' 923215        gumpresponse nextPageResponse216        waitforgump alchGumpID217        gumpresponse 205 alchGumpID218 219    elseif 'Void' in extractName220        overhead 'Void' 14221        gumpresponse nextPageResponse alchGumpID222        waitforgump alchGumpID223        gumpresponse 206 alchGumpID224 225    elseif 'War' in extractName226        overhead 'War' 44227        gumpresponse nextPageResponse alchGumpID228        waitforgump alchGumpID229        gumpresponse 207 alchGumpID230        231    elseif 'Water' in extractName232        overhead 'Water' 8233        gumpresponse nextPageResponse alchGumpID234        waitforgump alchGumpID235        gumpresponse 208 alchGumpID236 237    else 238        overhead 'Unknown extract type! {{extractName}}' 38239        say 'DISTILLO-BOT FATAL ERROR! CANNOT COMPUTE! CANNOT COMPUTE!'240    endif241 242    waitforgump alchGumpID 1000243    gumpclose alchGumpID244    wait 3000245endwhile246 247# move the new distillations back into the drop bag248while findtype 'flask' self as distillation249    lift distillation 99250    drop distDrop -1 -1 -1251    wait 1500252endwhile253 254if foundExtract == 1255    say 'There you go! Thank you for using Distillo-bot 3000 and have a nice day.'256endif257 258loop