by Chinga Requirements & Setup: 1. Sealed chests only: Completed/unlocked chests returned to the source container are tracked in a persistent list and ignored so they are never retrieved a second time. 2. Continuous…
Organizing
Paragon Chest Bot.razor
1# This is an automated backup - check out https://outlands.uorazorscripts.com/script/7644f5ab-51ad-435a-9ec1-3ec286721123 for latest2# Automation by Jaseowns3## Script: Paragon Chest Bot4## Created by: .phisn#05#############################################6 7# =============================================================================8# Paragon Chest Bot by Chinga9# =============================================================================10#11# Requirements & Setup:12# 1. Sealed chests only: Completed/unlocked chests returned to the source13# container are tracked in a persistent list and ignored so they are never14# retrieved a second time.15# 2. Continuous Lockpicking & Continuous Remove Trap checked in the 16# Lockpicking Gump menu (Gump ID 736038070).17# 3. On first run, target the container where sealed Paragon Chests are stored.18# (To reset container memory, toggle WARMODE ON before starting script).19# 4. Script ends with `loop` to continuously monitor the source container20# for new sealed chests deposited by players.21#22# =============================================================================23 24# --- Variable & List Reset Check (WARMODE ON) ---25if warmode26 @unsetvar "paragonSourceContainer"27 if listexists "completedChestsList"28 clearlist "completedChestsList"29 endif30 overhead "Paragon Container Memory & Lists Wiped!" 3831 warmode off32 pause 100033endif34 35# Initialize tracking list for completed chests36if not listexists "completedChestsList"37 createlist "completedChestsList"38endif39 40# --- Source/Destination Container Selection ---41if not varexist paragonSourceContainer42 overhead "Select the Container holding Paragon Chests..." 8843 hotkey "Cancel Current Target"44 hotkey "Set Last Target"45 wft 500046 while targetexists47 overhead "Target container for Paragon Chests" 4548 pause 100049 endwhile50 @setvar "paragonSourceContainer" lasttarget51 overhead "Container Saved Successfully!" 6952 pause 60053endif54 55# --- Main Core Loop ---56while not dead57 clearsysmsg58 59 # Re-apply ignore flags to already completed chests60 foreach cChest in "completedChestsList"61 @ignore cChest62 endfor63 64 # Retrieve tools from source container if present65 while findtype "lockpicks|drill|trap removal tool|trap removal|5371|2473|25750" paragonSourceContainer as sourceTool66 overhead "Retrieving Tool from container..." 6967 drop backpack68 lift sourceTool 6000069 drop backpack70 while queued71 // Wait for transfer72 endwhile73 getlabel backpack ping74 endwhile75 76 # 1. Search for sealed Paragon Chest in source container77 if findtype "3712|3648|3650|3708|metal chest|3649|29833|29832" paragonSourceContainer as targetChest78 79 # Check 1: Is this chest already recorded as completed?80 if inlist "completedChestsList" targetChest81 @ignore targetChest82 continue83 endif84 85 # Check 2: Inspect chest label inside container before retrieving86 getlabel targetChest chestDesc87 if "unlocked" in chestDesc or "cleared" in chestDesc or "opened" in chestDesc or "open" in chestDesc88 overhead "Skipping unlocked chest..." 3889 if not inlist "completedChestsList" targetChest90 pushlist "completedChestsList" targetChest91 endif92 @ignore targetChest93 continue94 endif95 96 overhead "Sealed Paragon Chest Found! Retrieving..." 8897 98 # Lift chest and bring to backpack99 drop backpack100 lift targetChest 1101 drop backpack102 103 while queued104 // Wait for movement action to complete105 endwhile106 getlabel backpack ping107 108 # Verify chest is now in backpack109 if findtype "3712|3648|3650|3708|metal chest|3649|29833|29832" backpack as activeChest110 111 # Tool Verification: Return chest to container if missing trap tools or lockpicks112 if not findtype "drill|trap removal|2473|25750" backpack113 overhead "ERROR: No Trap Tools in backpack!" 38114 say "I need Trap Tools!" 38115 overhead "Returning chest to container..." 53116 drop backpack117 lift activeChest 1118 drop paragonSourceContainer -1 -1 0119 while queued120 endwhile121 getlabel backpack ping122 stop123 endif124 125 if not findtype "lockpicks|5371" backpack126 overhead "ERROR: No Lockpicks in backpack!" 38127 say "I need Lockpicks!" 38128 overhead "Returning chest to container..." 53129 drop backpack130 lift activeChest 1131 drop paragonSourceContainer -1 -1 0132 while queued133 endwhile134 getlabel backpack ping135 stop136 endif137 138 # Open lockpicking & untrap gump139 gumpclose 736038070140 dclick activeChest141 waitforgump 736038070 2000142 143 # --- Phase 1: Disarm / Remove Traps ---144 if gumpexists 736038070 and not ingump "Cleared Of Traps" 736038070145 overhead "Disarming Traps..." 43146 147 # Trigger Disarm button148 while gumpexists 736038070 and not ingump "Cleared Of Traps" 736038070149 gumpresponse 7150 waitforgump 736038070 1000151 152 if insysmsg "You attempt to remove traps" or insysmsg "That appears to be devoid"153 break154 endif155 endwhile156 157 # Wait for trap removal to complete158 while not dead and gumpexists 736038070159 if not findtype "drill|trap removal|2473|25750" backpack160 overhead "WARNING: Out of Trap Tools!" 38161 say "I ran out of Trap Tools!" 38162 overhead "Returning chest to container..." 53163 gumpclose 736038070164 drop backpack165 lift activeChest 1166 drop paragonSourceContainer -1 -1 0167 while queued168 endwhile169 getlabel backpack ping170 stop171 endif172 173 if insysmsg "You make some progress towards clearing it of traps"174 say "*clink*" 810175 endif176 177 if insysmsg "You have successfully cleared it of traps" or ingump "Cleared Of Traps" 736038070178 overhead "Chest Cleared of Traps!" 69179 break180 endif181 182 pause 250183 endwhile184 185 waitforgump 736038070 1000186 endif187 188 # --- Phase 2: Lockpicking ---189 if gumpexists 736038070 and ingump "Cleared Of Traps" 736038070190 overhead "Picking Lock..." 43191 192 # Trigger Pick Lock button193 while gumpexists 736038070194 gumpresponse 4195 waitforgump 736038070 1000196 197 if insysmsg "You attempt to pick the lock" or insysmsg "It appears to be unlocked"198 break199 endif200 endwhile201 202 # Wait for lockpicking to complete203 while not dead204 if not findtype "lockpicks|5371" backpack205 overhead "WARNING: Out of Lockpicks!" 38206 say "I ran out of Lockpicks!" 38207 overhead "Returning chest to container..." 53208 gumpclose 736038070209 drop backpack210 lift activeChest 1211 drop paragonSourceContainer -1 -1 0212 while queued213 endwhile214 getlabel backpack ping215 stop216 endif217 218 if insysmsg "You make some progress on the lock"219 say "*click*" 810220 endif221 222 if insysmsg "You successfully pick the lock" or insysmsg "It appears to be unlocked"223 overhead "Paragon Chest Unlocked!" 69224 break225 endif226 227 pause 250228 endwhile229 230 gumpclose 736038070231 endif232 233 # --- Phase 3: Return Unlocked Chest to Container ---234 overhead "Returning unlocked chest to container..." 53235 drop backpack236 lift activeChest 1237 drop paragonSourceContainer -1 -1 0238 239 while queued240 // Wait for drop to finalize241 endwhile242 getlabel backpack ping243 244 # Add to persistent completed chests tracking list & ignore245 if not inlist "completedChestsList" activeChest246 pushlist "completedChestsList" activeChest247 endif248 @ignore activeChest249 250 else251 overhead "Could not pick up chest (too heavy or permissions)." 38252 @ignore targetChest253 endif254 255 else256 overhead "Scanning..." 53257 # Clear temporary ignore list and immediately re-ignore completed chests258 @clearignore259 foreach cChest in "completedChestsList"260 @ignore cChest261 endfor262 pause 2000263 endif264 265 pause 500266endwhile267loop