Back to "trap" tags

Ultimate Dungeon Chest Crawler (T) by Jaseowns

1# Ultimate Dungeon Chest Crawler by Jaseowns
2# UO Outlands
3# WIP - livestream https://youtu.be/hrIUbaB0SDk
4// Go to dungeon and find a chest
5// see if it loot
6// see if it needs be opened
7// move next
8// handle hiding and healing
9if not varexist isStealthing
10    @setvar! isStealthing 0
11endif
12@setvar! globalTimeout 650
13if not varexist chestWeWannaWork
14    @setvar! chestWeWannaWork 0
15endif
16
17if not timerexists chestOpenTimer
18    createtimer chestOpenTimer
19    settimer chestOpenTimer 3500
20endif
21
22if not timerexists secondsTimer
23    createtimer secondsTimer
24    settimer secondsTimer 3500
25endif
26
27
28if not timerexists useSkillTimer
29    createtimer useSkillTimer
30    settimer useSkillTimer 11000
31endif
32
33if not timerexists messageHelperTimer
34    createtimer messageHelperTimer
35    settimer messageHelperTimer 11000
36endif
37
38if dead 
39    overhead "RIP" 34
40    wait 5000
41    loop
42endif
43
44if not hidden or findbuff "Invisibility"
45    @setvar! isStealthing 0
46    useskill 'hiding'
47    wait 200
48    if hidden
49        overhead "Successfully hidden" 88
50        settimer useSkillTimer 0
51    endif
52endif
53
54if timer messageHelperTimer >= 5000
55    if findtype 3651|3649|3648|3650|3708|2475 ground -1 -1 16 as chest
56    //gumpclose 736038070
57        getlabel chest desc
58        if "lock" in desc
59            overhead "desc" 88
60            settimer messageHelperTimer 0
61        endif
62    endif
63endif
64
65if timer useSkillTimer >= 11000 and isStealthing = 0
66    @setvar! chestWeWannaWork 0
67    overhead "Using Stealth"
68    useskill 'Stealth'
69    wait 200
70    if insysmsg "You begin to move quietly"
71        @setvar! isStealthing 1
72        settimer useSkillTimer 0
73    elseif insysmsg "You must wait a few moments to use another skill"
74        overhead "Please wait.." 34
75    elseif not hidden or insysmsg "You must hide first"
76        if timer useSkillTimer >= 11000
77            overhead "Need to hide first..."
78            useskill 'hiding'
79            wait 200
80            if hidden
81                settimer useSkillTimer 0
82            endif
83        endif
84    endif
85elseif findtype 3651|3649|3648|3650|3708|2475 ground -1 -1 1 as chest
86
87    if chestWeWannaWork = chest
88        // do nothing
89    else
90        dclick chest
91        wait 200
92        @setvar! chestWeWannaWork chest
93    endif
94
95    if gumpexists 736038070
96        sysmsg "Working chest..." 88
97        if timer chestOpenTimer >= 3500
98            if ingump "Cleared of Traps" 736038070
99                if findtype "lockpicks" backpack as picky
100                    gumpresponse 4 736038070
101                    //dclick picky 
102                    //wft 500
103                    //target chest
104                else 
105                    overhead "No lockpicks left!" 34
106                endif
107            else
108                if findtype "drill" backpack as drilly
109                    gumpresponse 7 736038070
110                    wait 200
111                    if insysmsg "You do not have any trap tools of that material on hand."
112                        gumpresponse 5 736038070
113                    endif
114                else 
115                    overhead "No trap tools left!" 34
116                endif
117            endif
118            settimer chestOpenTimer 0
119        endif
120        wait 200
121    else
122        
123        // Gold
124        while find chest ground -1 -1 2 and findtype 24434|43206|29363|43166|22336|29348|17087|3985|8826|3827|29030|3836|5981|4248|5359|3839|3838|3843|2597|29036|48407|3834|3865|3859|3885|3856|3878|3877|3873|3861|3862|576|5123|7177|7027|3920|5131|5179|5075|3980|5060|5076|5042|10245|3938|3913|7169|3909|5063|5089|3981|7170|7033|3976|3762|5040|5103|5117|7181|7029|3568|6264|3742|5139|6263|7026|5125|3740|5121|3973|3974|5204|5105|5185|5078|5115|7175|5059|7034|3713|3915|5112|5070|5049|5119|5205|5046|3962|3934|7035|3911|7179|5106|5143|3573|3719|5177|7610|5181|3917|5132|3963|7031|5207|5056|5085|3763|5129|5187|3721|3972|5138|3570|5101|5061|5074|5142|5182|5146|6265|5090|5203|5044|5144|3932|5201|5127|3572|7173|5135|3937|3571|22326|27611|9917|3821|5356|8455|5362|45315|8454|22187|5901|7163|3617|3903|12686 chest as item
125            getlabel item lootDesc
126            overhead lootDesc
127            wait 50
128            hotkey 'Grab Item'
129            target item
130            while queued
131                wait 50
132            endwhile
133        endwhile
134        
135        // Scrolls
136        while find chest ground -1 -1 2 and findtype 7981|7982|7983|7984|7985|7986|7987|7988|7989|7990|7991|7992|7993|7994|7995|7996|7997|7998|7999|8000|8001|8002|8003|8004|8005|8006|8007|8008|8009|8010|8011|8012|8013|8014|8015|8016|8017|8018|8019|8020|8021|8022|8023|8024|8025|8026|8027|8028|8029|8030|8031|8032|8033|8034|8035|8036|8037|8038|8039|8040|8041|8042|8033|8044 chest as item
137            getlabel item lootDesc
138            overhead lootDesc
139            wait 50
140            hotkey 'Grab Item'
141            target item
142            while queued
143                wait 50
144            endwhile
145        endwhile
146        
147        if findtype "reagent satchel" self as satchel
148            menu satchel 0
149            wait 200
150        endif
151        
152        // quiver
153        if findtype 12215 self as satchel
154            menu satchel 0
155            wait 200
156        endif
157    endif
158elseif timer useSkillTimer < 11500
159    if not hidden
160        @setvar! isStealthing 0
161    endif
162    
163    // overhead "{{useSkillTimer}}"
164    
165    // we need to wait
166    if timer useSkillTimer >= 10000 and timer secondsTimer >= 1000
167        overhead "1 second remaining" 0
168        settimer secondsTimer 0
169    elseif timer useSkillTimer >= 9000 and timer secondsTimer >= 1000
170        overhead "2 seconds remaining" 0
171        settimer secondsTimer 0
172    elseif timer useSkillTimer >= 8000 and timer secondsTimer >= 1000
173        overhead "3 seconds remaining" 0
174        settimer secondsTimer 0
175    elseif timer useSkillTimer >= 7000 and timer secondsTimer >= 1000
176        overhead "4 seconds remaining" 0
177        settimer secondsTimer 0
178    elseif timer useSkillTimer >= 6000 and timer secondsTimer >= 1000
179        overhead "5 seconds remaining" 0
180        settimer secondsTimer 0
181    elseif timer useSkillTimer >= 5000 and timer secondsTimer >= 1000
182        overhead "6 seconds remaining" 0 
183        settimer secondsTimer 0
184    elseif timer useSkillTimer >= 4000 and timer secondsTimer >= 1000
185        overhead "7 seconds remaining" 0
186        settimer secondsTimer 0
187    elseif timer useSkillTimer >= 3000 and timer secondsTimer >= 1000
188        overhead "8 seconds remaining" 0
189        settimer secondsTimer 0
190    elseif timer useSkillTimer >= 2000 and timer secondsTimer >= 1000
191        overhead "9 seconds remaining" 0
192        settimer secondsTimer 0
193    elseif timer useSkillTimer >= 1000 and timer secondsTimer >= 1000
194        overhead "10 seconds remaining" 0
195        settimer secondsTimer 0
196    endif
197else
198    if insysmsg! "You have 1 stealth steps remaining"
199        overhead "JBot: Using Stealth" 1
200        useskill 'Stealth'
201        if insysmsg "You begin to move quietly"
202            @setvar! isStealthing 1
203            settimer useSkillTimer 0
204            clearsysmsg 
205        elseif insysmsg "You must wait a few moments to use another skill"
206            overhead "Please wait.." 34
207            // replay
208        elseif not hidden or insysmsg "You must hide first"
209            @setvar! isStealthing 0
210            if timer useSkillTimer >= 11000
211                useskill 'hiding'
212                wait 200
213                if hidden
214                    clearsysmsg 
215                    settimer useSkillTimer 0
216                endif
217            endif
218        endif
219    endif
220    
221endif
222
223
224wait 200
225loop
226