Skip to content
Outlands Hub

Razor script

Mushnar's Mostly Safe H3LPR Bot (No Map Decode Logic)

by mushnar · 516 lines
Download

SETTING GLOBAL VARIABLES ##########

Housing
Mushnars Mostly Safe H3LPR Bot No Map Decode Logic.razor
1# This is an automated backup - check out https://outlands.uorazorscripts.com/script/cee13463-daea-4e5a-ba27-2b9b48fbdda3 for latest2# Automation by Jaseowns3## Script: Mushnar's Mostly Safe H3LPR Bot (No Map Decode Logic)4## Created by: mushnar#05#############################################6 7########## SETTING GLOBAL VARIABLES ##########8@setvar! auto_hide_bot 09@setvar! auto_reveal_and_ban 010@setvar! auto_sacred_journey 111@setvar! auto_paragon_unlock 112 13##### Chivalry Sacred Journey Gate Bot Lantern Hue Setup14############################################################################################################################################15#Use the >info command in game by typing it into your chatbox then pressing Enter and then select your lighting trigger to customize the bot16##Use the Lighting Item ID value for your specific trigger.  Lanterns have different type IDs when they are lit vs unlit  17#The bot only looks for items matching the ID within 1 tile by default and should not pickup other matching items outside of this range.18 19#The Hue value is the color code for the lighting trigger20#Unique lighting triggers such as Dungeon / Wilderness Lanterns have a custom hue code.21#Store bought lanterns, torches, candles, etc should have a hue value of 0 which can be verified with the >info command22############################################################################################################################################23 24## Towns25@setvar! chivalry_town_gate_trigger_type_id 259726@setvar! chivalry_town_gate_trigger_hue 118227@setvar! chivalry_town_gate_trigger_distance_tiles 228 29## Dungeons30@setvar! chivalry_dungeon_gate_trigger_type_id 259731@setvar! chivalry_dungeon_gate_trigger_hue 177932@setvar! chivalry_dungeon_gate_trigger_distance_tiles 233 34## Shrines35@setvar! chivalry_shrine_gate_trigger_type_id 259736@setvar! chivalry_shrine_gate_trigger_hue 209137@setvar! chivalry_shrine_gate_trigger_distance_tiles 238 39## Custom40@setvar! chivalry_custom_gate_trigger_type_id 259741@setvar! chivalry_custom_gate_trigger_hue 233842@setvar! chivalry_custom_gate_trigger_distance_tiles 243 44 45 46##### Item Processing Storage Container Setup (Sealed Paragon Chests / Undeciphered Maps)47############################################################################################################################################48#It is best to use two separate storage containers:49## One for Player Dropoff where they will place sealed chests and undeciphered maps50## One for Player Pickup where they will pick up the unlocked chests and deciphered maps once the bot has finished processing the items.51 52#Use the Storage Container Serial value to prevent the bot from selecting similar containers nearby with matching ID values.53############################################################################################################################################54 55@clearignore 56 57## Player Dropoff Storage Container58@setvar! player_dropoff_storage_container 0x434A16F759ignore player_dropoff_storage_container60 61## Player Pickup Storage Container62@setvar! player_pickup_storage_container 0x424BC81063ignore player_pickup_storage_container64 65 66 67########## MAIN BOT LOOP ##########68say "Greetings.  I am H3-PLR - your morally impartial loot technician and part-time spatial displacer." 8869wait 50070say "Initiating Map Decipher, Paragon Unlock, Chivalry Gate, and Hostile Hospitality subroutines." 8871wait 50072 73removetimer "greeting_timer"74if not timerexists "greeting_timer"75    createtimer "greeting_timer"76    settimer "greeting_timer" 077endif78 79if not timerexists "detect_hidden_timer"80    createtimer "detect_hidden_timer"81    settimer "detect_hidden_timer" 1000082endif83 84if not timerexists "error_message_timer"85    createtimer "error_message_timer"86    settimer "error_message_timer" 1000087endif88 89 90while not dead91    if timer "greeting_timer" >= 360000092        say "Greetings.  I am H3-PLR - your morally impartial loot technician and part-time spatial displacer." 8893        wait 50094        say "Initiating Map Decipher, Paragon Unlock, Chivalry Gate, and Hostile Hospitality subroutines." 8895        wait 50096        settimer "greeting_timer" 097    endif98 99    if timer "error_message_timer" > 60000100        settimer "error_message_timer" 10000101    endif102 103 104 105########## BEGIN AUTO HIDE BOT ##########106    if auto_hide_bot = 1107        if not hidden108            skill 'Hiding'109        endif110    endif111########## END AUTO HIDE BOT ##########112 113 114 115########## BEGIN AUTO REVEAL & BAN ##########116    if auto_reveal_and_ban = 1117        @setvar! hostile_player_banned 0118    119        if timer "detect_hidden_timer" >= 10000120            skill "detectinghidden"121            waitfortarget 100122            target "self"123            settimer "detect_hidden_timer" 0124        endif125 126        target next nonfriendly player127        waitfortarget 100128        129        while insysmsg "New target set."130            clearsysmsg131            wait 100132        133            say 'I ban thee' 33134            waitfortarget 100135            lasttarget136            wait 100137            target clear138            wait 100139            140            @setvar! hostile_player_banned 1141            142            if timer "detect_hidden_timer" >= 10000143                skill "detectinghidden"144                waitfortarget 100145                target "self"146                settimer "detect_hidden_timer" 0147            endif148            149            target next nonfriendly player150            wait 100151        endwhile152        153        if hostile_player_banned = 1154            say "Hospitality Revoked.  Zero Stars.  Please enjoy your complimentary exile." 33155            wait 500156            @setvar! hostile_player_banned 0157        endif158    endif159########## END AUTO REVEAL & BAN ##########160 161 162 163########## BEGIN CHIVALRY SACRED JOURNEY GATE ##########164    if auto_sacred_journey = 1165        if not gumpexists 1387930325166            say "[ChivalryHotbar"167        endif168 169        if not timerexists "chivalry_gate_cooldown"170            createtimer "chivalry_gate_cooldown"171            settimer "chivalry_gate_cooldown" 36000172        endif173        174        if timer "chivalry_gate_cooldown" >= 60000 175            settimer "chivalry_gate_cooldown" 36000176        endif177        178        if not timerexists "chivalry_gate_error_message_timer"179            createtimer "chivalry_gate_error_message_timer"180            settimer "chivalry_gate_error_message_timer" 15000181        endif182        183        if timer "chivalry_gate_error_message_timer" >= 60000184            settimer "chivalry_gate_error_message_timer" 15000185        endif186 187 188        @setvar! has_enough_holy_symbols 0189 190        if ingump "19/" 1387930325191            @setvar! has_enough_holy_symbols 1192        elseif ingump "18/" 1387930325193            @setvar! has_enough_holy_symbols 1194        elseif ingump "17/" 1387930325195            @setvar! has_enough_holy_symbols 1196        elseif ingump "16/" 1387930325197            @setvar! has_enough_holy_symbols 1198        elseif ingump "15/" 1387930325199            @setvar! has_enough_holy_symbols 1200        elseif ingump "14/" 1387930325201            @setvar! has_enough_holy_symbols 1202        elseif ingump "13/" 1387930325203            @setvar! has_enough_holy_symbols 1204        elseif ingump "12/" 1387930325205            @setvar! has_enough_holy_symbols 1206        elseif ingump "11/" 1387930325207            @setvar! has_enough_holy_symbols 1208        elseif ingump "10/" 1387930325209            @setvar! has_enough_holy_symbols 1210        elseif ingump "9/" 1387930325211            @setvar! has_enough_holy_symbols 1212        elseif ingump "8/" 1387930325213            @setvar! has_enough_holy_symbols 1214        elseif ingump "7/" 1387930325215            @setvar! has_enough_holy_symbols 1216        elseif ingump "6/" 1387930325217            @setvar! has_enough_holy_symbols 1218        elseif ingump "5/" 1387930325219            @setvar! has_enough_holy_symbols 1220        elseif ingump "4/" 1387930325221            @setvar! has_enough_holy_symbols 0222        elseif ingump "3/" 1387930325223            @setvar! has_enough_holy_symbols 0224        elseif ingump "2/" 1387930325225            @setvar! has_enough_holy_symbols 0226        elseif ingump "1/" 1387930325227            @setvar! has_enough_holy_symbols 0228        elseif ingump "0/" 1387930325229            @setvar! has_enough_holy_symbols 0230        endif231        232        if findtype chivalry_town_gate_trigger_type_id 'ground' chivalry_town_gate_trigger_hue 1 chivalry_town_gate_trigger_distance_tiles as town_gate_trigger233            if timer chivalry_gate_cooldown >= 36000234                if has_enough_holy_symbols = 1235                    say "Town Gate initialized. Side effects may include disorientation, possible combustion, and relocation." 88236                    wait 500237                    say '[SacredJourney'238                    wait 500239                    waitforgump 1482653814 5000240                    gumpresponse 1 1482653814241                    wait 100242                    dclick town_gate_trigger243                    settimer chivalry_gate_cooldown 0244                else245                    if timer chivalry_gate_error_message_timer >= 15000246                        say "Waiting for Holy Symbols. Chivalry Gate locked until spiritual firmware updates." 55247                        wait 500248                        settimer chivalry_gate_error_message_timer 0249                    endif250                endif   251            else252                if timer chivalry_gate_error_message_timer >= 15000    253                    say "Chivalry Gate subroutine recovering. Please enjoy this brief moment of stationary existence." 55254                    wait 500255                    settimer chivalry_gate_error_message_timer 0256                endif257            endif258        endif259        260        if findtype chivalry_dungeon_gate_trigger_type_id 'ground' chivalry_dungeon_gate_trigger_hue 1 chivalry_dungeon_gate_trigger_distance_tiles as dungeon_gate_trigger261            if timer chivalry_gate_cooldown >= 36000262                if has_enough_holy_symbols = 1263                    say "Dungeon Gate initialized.  Reminder: I am not programmed for search and rescue operations." 88264                    wait 500265                    say '[SacredJourney'266                    wait 500267                    waitforgump 1482653814 5000268                    gumpresponse 2 1482653814269                    wait 100270                    dclick dungeon_gate_trigger271                    settimer chivalry_gate_cooldown 0272                else273                    if timer chivalry_gate_error_message_timer >= 15000274                        say "Waiting for Holy Symbols. Chivalry Gate locked until spiritual firmware updates." 55275                        wait 500276                        settimer chivalry_gate_error_message_timer 0277                    endif278                endif   279            else280                if timer chivalry_gate_error_message_timer >= 15000    281                    say "Chivalry Gate subroutine recovering. Please enjoy this brief moment of stationary existence." 55282                    wait 500283                    settimer chivalry_gate_error_message_timer 0284                endif285            endif286        endif287        288        if findtype chivalry_shrine_gate_trigger_type_id 'ground' chivalry_shrine_gate_trigger_hue 1 chivalry_shrine_gate_trigger_distance_tiles as shrine_gate_trigger289            if timer chivalry_gate_cooldown >= 36000290                if has_enough_holy_symbols = 1291                    say "Shrine Gate initialized. Channeling the prayers of those who may or may not have survived." 88292                    wait 500293                    say '[SacredJourney'294                    wait 500295                    waitforgump 1482653814 5000296                    gumpresponse 3 1482653814297                    wait 100298                    dclick shrine_gate_trigger299                    settimer chivalry_gate_cooldown 0300                else301                    if timer chivalry_gate_error_message_timer >= 15000302                        say "Waiting for Holy Symbols. Chivalry Gate locked until spiritual firmware updates." 55303                        wait 500304                        settimer chivalry_gate_error_message_timer 0305                    endif306                endif   307            else308                if timer chivalry_gate_error_message_timer >= 15000    309                    say "Chivalry Gate subroutine recovering. Please enjoy this brief moment of stationary existence." 55310                    wait 500311                    settimer chivalry_gate_error_message_timer 0312                endif313            endif314        endif315        316        if findtype chivalry_custom_gate_trigger_type_id 'ground' chivalry_custom_gate_trigger_hue 1 chivalry_custom_gate_trigger_distance_tiles as custom_gate_trigger317            if timer chivalry_gate_cooldown >= 36000318                if has_enough_holy_symbols = 1319                    say "Frost Fort Gate initialized. Contents may have shifted during thermal inversion." 88320                    wait 500321                    say '[SacredJourney'322                    wait 500323                    waitforgump 1482653814 5000324                    gumpresponse 4 1482653814325                    wait 100326                    dclick custom_gate_trigger327                    settimer chivalry_gate_cooldown 0328                else329                    if timer chivalry_gate_error_message_timer >= 15000330                        say "Waiting for Holy Symbols. Chivalry Gate locked until spiritual firmware updates." 55331                        wait 500332                        settimer chivalry_gate_error_message_timer 0333                    endif334                endif   335            else336                if timer chivalry_gate_error_message_timer >= 15000    337                    say "Chivalry Gate subroutine recovering. Please enjoy this brief moment of stationary existence." 55338                    wait 500339                    settimer chivalry_gate_error_message_timer 0340                endif341            endif342        endif343    endif344########## END CHIVALRY SACRED JOURNEY GATE ##########345 346 347 348########## BEGIN PARAGON CHEST UNLOCK ##########349    if auto_paragon_unlock = 1350        @setvar! have_paragon_to_open 0351        removetimer "chest_trap_removal_timer"352        removetimer "chest_lockpick_timer"353        354        if not timerexists "chest_trap_removal_timer"355            createtimer "chest_trap_removal_timer"356        endif357 358        if not timerexists "chest_lockpick_timer"359            createtimer "chest_lockpick_timer"360        endif361 362 363        if findtype "lockpicks" backpack and findtype "drill" backpack364            if have_paragon_to_open = 0365                if findtype 2472|3712|2475|3648|3649|3708|3650|3651|29832|29833 backpack as paragon_chest366                    getlabel paragon_chest chest_description367                    wait 100368                    @setvar! chest_to_unlock paragon_chest369 370                    if "sealed" in chest_description371                        #say "Chest found. Please allow time for delicate tampering and casual disregard for safety." 88372                        @setvar! have_paragon_to_open 1373                        @setvar! paragon_chest_to_open paragon_chest374                    else375                        lift chest_to_unlock376                        wait 100377                        drop player_pickup_storage_container -1 -1 -1378                        wait 100379                        say "Unsealed chest detected: I am for treasure, not trash, returning to sender in the GREEN chest" 88380                        wait 500381                        @setvar! have_paragon_to_open 0382                    endif383                384                elseif findtype 2472|3712|2475|3648|3649|3708|3650|3651|29832|29833 player_dropoff_storage_container as paragon_chest385                    getlabel paragon_chest chest_description386                    wait 100387                    @setvar! chest_to_unlock paragon_chest388 389                    if "sealed" in chest_description390                        lift chest_to_unlock391                        wait 100392                        drop backpack -1 -1 -1393                        wait 100394                        say "Chest found. Please allow time for delicate tampering and casual disregard for safety." 88395                        wait 500396                        @setvar! have_paragon_to_open 1397                        @setvar! paragon_chest_to_open chest_to_unlock398                    else399                        lift chest_to_unlock400                        wait 100401                        drop player_pickup_storage_container -1 -1 -1402                        wait 100403                        say "Unsealed chest detected: I am for treasure, not trash, returning to sender in the GREEN chest" 88404                        wait 500405                        @setvar! have_paragon_to_open 0406                    endif407                endif408                wait 100409 410                if have_paragon_to_open = 1411                    dclick paragon_chest_to_open412                    wait 100413 414                    if gumpexists 736038070415                        416                        #Setting Continuous Lockpicking & Trap Disarm417                        gumpresponse 10 736038070418                        waitforgump 736038070 500419 420                        if insysmsg "You will no longer automatically continue lockpicking attempts."421                            gumpresponse 10 736038070422                            waitforgump 736038070 500423                        endif424 425                        gumpresponse 11 736038070426                        waitforgump 736038070 500427 428                        if insysmsg "You will no longer automatically continue remove traps attempts."429                            gumpresponse 11 736038070430                            waitforgump 736038070 500431                        endif432 433 434                        if not ingump "Cleared of Traps" 736038070435                            say "Trap detected. Initiating subtle sabotage and mechanical diplomacy." 88436                            wait 500437                            gumpresponse 7 736038070438                            waitforgump 736038070 5000439 440                            settimer "chest_trap_removal_timer" 0441                            442                            if insysmsg "You have no chance of removing traps from that."443                                getlabel paragon_chest_to_open tough_chest_description444                                overhead "No chance of removing traps - ignoring following chest.  Check Detecting Hidden Skill" 53445                                overhead tough_chest_description 53446                            endif447 448                            while not ingump "Cleared of Traps" 736038070449                                wait 1000450                                overhead "Waiting on Trap Removal" 53451                                452                                if timer "chest_trap_removal_timer" >= 15000453                                    overhead "Trap removal taking a long time." 33454                                    settimer "chest_trap_removal_timer" 0455                                    break456                                endif457                            endwhile458 459                        elseif ingump "Cleared of Traps" 736038070460                            say "Trap neutralized. Beginning the gentle art of lock persuasion." 88461                            wait 500462                            gumpresponse 4 736038070463                            waitforgump 736038070 5000464 465                            settimer "chest_lockpick_timer" 0466 467                            if insysmsg "You have no chance of picking that lock."468                                getlabel paragon_chest_to_open tough_chest_description469                                overhead "No chance of picking lock - ignoring following chest.  Check Lockpicking Skill" 53470                                overhead tough_chest_description 53471                            endif472 473                            getlabel paragon_chest_to_open sealed_chest_description474                            wait 100475 476                            while "sealed" in sealed_chest_description477                                wait 1000478                                overhead "Waiting on Lockpicking" 53   479                                480                                if timer "chest_lockpick_timer" >= 15000481                                    overhead "Lockpicking taking a long time." 33482                                    settimer "chest_lockpick_timer" 0483                                    break484                                endif485 486                                getlabel paragon_chest_to_open sealed_chest_description487                                wait 100488 489                                if "sealed" in sealed_chest_description490                                    #Do nothing491                                else492                                    wait 100493                                    lift paragon_chest_to_open494                                    wait 100495                                    drop player_pickup_storage_container -1 -1 -1496                                    wait 100497                                    say "Paragon security bypassed. Please collect your questionably earned valuables from the GREEN chest." 88498                                    wait 500499                                    gumpclose 736038070500                                    @setvar! have_paragon_to_open 0501                                endif502                            endwhile503                        endif504                    endif505                endif506            endif507        else508            if timer "error_message_timer" >= 10000509                say "I'm missing Lockpicks and/or Drill - please message DrDyaus on Discord to restock" 33510                settimer "error_message_timer" 0511            endif512        endif513    endif514########## END PARAGON CHEST UNLOCK ############515endwhile516continue