Back to "b" tags

Lurch Ultimate Bulter Bot by Mags (Avron)

Description: ## What can the script do?

## - DETECT HIDDEN AND BAN GREY'S/REDS

## - MAKE DISTILLS FROM EXTRACTS IN BOX

## - UNLOCK PARAGON CHESTS THAT ARE PUT IN THE BOX

## - IF THE PARAGON CHEST HAS EXTRACTS OR MAPS IN IT IT WILL MAKE THEM INTO A DISTILL OR DECODE THEM

## - CHIV GATE TO TOWNS/DUNGEONS/FRND GUILD HOUSE

## - DECODE ALL MAPS THAT ARE IN THE BOX

## - ID all Unidentified items at once

*** DISCLAIMER THERE IS A LITTLE BIT OF A LEARNING CURVE ON THE SETUP*****

*********************** 10/17 Update ************

- Lock picks faster now and will change lockpick type if you don't have anymore of a specific until it has at least 10%. Grabs more from restock shelf if you out of tools

- Grabs all Paragon Chests. It's a little wonky but he will now pick up all and put the 1 hey lock picks in the drop chest(botChest) and then puts them all back in the pickup check (playerChest) and then grabs them all again and does 1 and repeats till there is no more. Still trying to find a better way to lock pick all checks in bag but for now this does work.

***************************************************************************************************

*** ************** 9/30 Update ********************************

- Added the ability to ID all items in a magic recycler. (Must have 120 Item ID and a magic recycler)

- Updated a lot of the comments to be more helpful and explain the a little better the setup as well as added a lot of recommendations throughout to help with the setup, as this script does have a learning curve.

- Added a pouch that people can throw items in as a tip. Lurch will check that pouch every 1min or so for items and then move them to the resources shelf and stockpile first; then, anything left over is put in a secure container

************************************************************************

****************** NEXT ON THE ROADMAP *************************

- Ability to restock the tip jar vendor

- Add a check at each bot stage that, if the bot is triggered, will add a "while" statement check to keep the bot focused on that one task to increase the speed and stability of the bot. (Not sure if this will be possible without doing separate scripts, but we will see)

1# LURCH HOUSE BUTLER BOT COMPILED AND TWEAKED BY MAGS(AVRON)#1175
2# 100% of the credit goes to Jaseowns and AreYouKidden. 
3# I have learned so much from them and the code is theirs with just some of my own person tweaks and modifications.
4# THEY ARE THE REAL MVP'S
5# GO OUT AND SUPPORT THEM BOTH!!!
6///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
7## OVERVIEW
8## What can the script do?
9## - DETECH HIDDEN AND BAN GREYS/REDS
10## - MAKE DISTILLS FROM EXTRACTS IN BOX
11## - UNLOCK PARAGON CHESTS THAT ARE PUT IN THE BOX
12## - IF THE PARAGON CHEST HAS EXTRACTS OR MAPS IN IT IT WILL MAKE THEM INTO A DISTILL OR DECODE THEM
13## - CHIV GATE TO TOWNS/DUNGEONS/FRND GUILD HOUSE
14## - DECODE ALL MAPS THAT ARE IN THE BOX
15## - ID ALL ITEMS IN MAGIC RECYCLER
16///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
17## BEST USE TIPS FOR THE SCRIPT
18## - FOR BEST USE ONLY PUT 1 PARAGON CHEST IN THE BOX AT A TIME (I am working on trying to update this to recongize more paragons and handle more)
19## - DOES NOT WORK WITH TOMES YET FOR PULLING OUT MAPS OR EXTRACTS
20## - YOU CAN PUT MULTIPLE EXTRACTS IN THE CHEST AT ONCE THOUGH AND EVEN PUT THEM IN A BAG OR POUCH FOR EASY DUMPING.... SAME WITH TMAPS JUST DON'T PLACE A TOMB YET
21## - I ADDED THE RESUPLY STEP ALL THROUGHOUT THE SCRIPT TOO SO THAT YOU ALWAYS HAVE ENOUGH TOOLS AS LONG AS YOUR SHELF HAS ENOUGH TOOLS AND YOU CAN AVOID THAT CHECK
22///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
23## AGENTS NEED AND OTHER SETUP REQUIREMENTS
24## Restock 1 for Bottles/Extracts
25## Restock 2 for Maps
26## Organize 12 for all paragon chests
27## Shelf with Lockpicks, Remove Traps and Spyglasses in and the loadout set with them
28## YOU WILL WANT A SECOND BOX OR POUCH TO PUT THE COMPLETED MAPS IN AND YOU SHOULD NOT USE THE MAIN BOX FOR THAT OR THE SCRIPT WILL JUST REPEAT PULLING AND PLACE THE COMPLETED MAPS OVER AND OVER
29## YOU WILL NEED TO CHANGE THE MENU ID'S TO "YOUR" RESTOCK SHELF ANYPLACE YOU SEE "menu 0x41BF29F7 1"
30///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
31## LURCH'S RECOMMENDED CHARACTER TEMPLATE
32## - 120 Remove Traps
33## - 120 Item Identification
34## - 100 Lock Picking
35## - 100 Cartography
36## - 100 Alchemy
37## - 90 Chiv
38## - 90 Tactics
39## - You won't be able to decode T8s with this build and LARGER paragon chests will be hard to lock pick without a higher end tool
40## - I recommend rocking fortune aspect if you have it as while slow it you will gain some points with opening Paragon chests.
41## - You could also go 110 Remove Traps and 110 Lockpicking but Lurch doesn't like getting blown up so we go with the 120 Remove Traps
42///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
43
44////////////////////////////////// SETTING VARIABLES /////////////////////////////////////////////////////////////////////////////////
45// Pargon Chest Lockpicking
46if not varexist haveParagonToOpen
47    @setvar! haveParagonToOpen 0
48endif
49///////////////////////////////////////////////////////////////////////////
50## STIL WORKING ON SOME CODE FOR THIS ONE BUT MY HOPES IS TO DO MORE THAN 1 PARAGON AT A TIME
51if not varexist paragonInPack
52    @setvar! paragonInPack 1
53endif
54////////////////////////////////////////////////////////////////////
55// GLOBAL WAIT TIME.... Example 'wait globalTimeout' instead of 'wait 1000'
56@setvar! globalTimeout 650
57
58// CHIV BOT HUE SETUP
59## Custom - (lantern /w ossuary hue)
60@setvar! jase_chiv_custom_trigger 2594
61@setvar! jase_chiv_custom_trigger_hue 1182
62
63## City (Store bought Lantern)
64@setvar! jase_chiv_city_trigger 2594
65@setvar! jase_chiv_city_trigger_hue 0
66
67## Dungeon (Store bought Torch)
68@setvar! jase_chiv_dung_trigger 2578
69@setvar! jase_chiv_dung_trigger_hue 0
70
71## Shrine (Store bought Candle)
72@setvar! jase_chiv_shrine_trigger 2575
73@setvar! jase_chiv_shrine_trigger_hue 0
74
75// Select Storage Shelf
76if not varexist storageShelf
77    overhead 'Select your storage shelf'
78    setvar storageShelf
79endif
80// Select your Resource Stock Pile
81if not varexist resourceSP
82    overhead 'Select your resource stock pile (some call it the ingot pile)'
83    setvar resourceSP
84endif    
85// Select the drop bag/chest where people will place extracts for the bot to use. 
86// I set it as the same box as where they will drop the maps and paragon chests
87// I recommend using a chest for players to drop items into (other then the unidentified items) and one chest for the bot to drop them into
88
89// SETTING UP CONTAINERS
90## Container for all extracts, maps, and paragon chests to go in given by a player
91if not varexist playerContainer
92    overhead 'Select the container to watch for items in.(Players Chest)'
93    setvar playerContainer
94endif
95
96## Container for Lurch to drop all extracts, maps, and paragon chest in to when they are done with them
97// Select your bot's container
98if not varexist botContainer
99    overhead 'Select the container for bot to drop items in to when done with them'
100    setvar botContainer
101endif    
102## Magic Recycler for all unidentified items to go in to be ID'ed
103// Select your magic recycler
104if not varexist recycleChest
105    overhead 'Select your Magic Recycler Chest!'
106    setvar recycleChest    
107endif
108
109
110// Resuply all Tools from Shelf
111
112////////////////////////////////////////////////////////
113///// THIS IS WHERE THE BOT ACTUALLY BEGGINS!! ////////
114///////////////////////////////////////////////////////
115while not dead 
116@setvar! foundExtract 0    
117if insysmsg "Detect Off"
118    script '_ButlerDetectOff'
119endif
120//// LET PEOPLE KNOW THE BOT IS ONLINE BUT DON'T WANT TO SPAM
121if not timerexists "lurchTimer"
122    createtimer "lurchTimer"
123    settimer "lurchTimer" 0
124endif
125if timer lurchTimer >= 60000
126    wait 1000
127    say "Master... Lurch Bot is online!" 88
128    wait 500
129    settimer "lurchTimer" 0
130endif
131/////////////////////////////////////////////////
132
133////////////////////////////////////////////////
134//// BEG FOR TIPS AND TELL THEM WHERE TO STICK IT
135
136if not varexist tipJar
137    overhead 'Select the container you want to use as a tip jar!'
138    setvar tipJar
139endif
140
141if not timerexists  "tipTimer"
142    createtimer "tipTimer"
143    settimer "tipTimer" 0
144endif
145
146if not varexist tipPouch
147    overhead 'Select your secure for other "tipped" items'
148    setvar tipPouch
149endif
150
151if timer tipTimer > 120000
152     menu resourceSP 0
153     waitfortarget
154     target tipJar
155     menu storageShelf 0
156     waitfortarget
157     target tipJar
158     waitforgump 3232825965
159     wait 500
160     gumpclose 3232825965
161     settimer "tipTimer" 0
162endif
163
164while findtype 12686 tipJar as item
165     wait 650    
166     lift item 100
167     wait 650
168     drop backpack -1 -1 -1
169     wait 650
170endwhile
171while findtype 'map' tipJar as map
172     restock 2
173     wft
174     wait 500
175     target tipJar
176     wait 5000
177     say "Master Thank you for the TMap Tip!" 66
178     wait 650
179     organize 13
180     wait 2000
181endwhile
182while findtype 3821 tipJar as goldpile
183     lift goldpile 10000
184     wait 650
185     drop backpack -1 -1 -1
186     wait 650
187     organize 11
188     wait 2000
189     say "Thank you Master for the Gold Tip!" 66
190endwhile
191
192///////////////////////////////////////////////////
193///////////////////////////////////
194// Magic Recycle and ITEM ID by Mags(Avron)#1175
195// Will check that you have an unidentied item in the magic recycler and then countdown and recycle it.
196// You can remove all the say and wait commands if you want it to happen faster
197// Script will loop till items have then either been recycled or removed from the chest.
198
199
200if skill 'Item Identification'>= 120
201
202 
203      while findtype 5117|3920|3721|5042|5089|7031|3719|5046|7610|3568|5207|5129|5103|3713|5125|5139|7177|5063|5205|3570|5056|3573|5123|5143|5204|5101|5135|5203|5090|5078|5061|5059|3937|3932|5121|3909|3938|5106|7035|7026|5142|5138|5201|7169|7173|5112|3571|7181|7170|3913|5127|5132|3742|5044|5144|5187|5185|5085|5177|5181|5131|3763|7029|7027|5074|5070|9917|7034|7033|5075|10245|7175|3915|3911|5105|3934|5060|3917|5049|5182|5146|5040|3572|5179|7179|5119|5115|5076|3762|3740|22187|3834 recycleChest as unidentifiedItem
204                getlabel unidentifiedItem desc
205        if "unidentified" in desc
206               overhead "Recycle Bot Triggered"
207               wait 500
208               say "Master, I see you have an item for me to ID and recycle" 77
209               wait 1000
210               say "In 5 seconds I will ID all items in the Magic Recycler!" 77
211               wait 1000
212               say "Countdown Begins Now" 77
213               wait 1000
214               say "5" 77
215               wait 1000
216               say "4" 77
217               wait 1000
218               say "3" 77
219               wait 1000
220               say "2" 77
221               wait 1000
222               say "1" 77
223               wait 500
224               useskill "itemId"
225               wft
226               wait 500
227               target recycleChest
228               wait 1000
229               say "Master, Your items have now been identified!" 77
230               wait 1000
231               say "Please remove ALL tiems from the magic recycler or recycle them now and then remove them" 77
232               wait 1000 
233        endif
234        endwhile         
235              
236 endif           
237        
238///// END OF MAGIC RECYCLER AND ID BOT /////////////////
239
240
241
242////////////////////////////////////////////////////////////////
243/////////////////////////////////////
244// Paragon Chest Lockpicking by Jaseowns
245// Snipped from Amish House Butler Script.
246
247if not timerexists "unlockChestTimer"
248    createtimer "unlockChestTimer"
249    settimer "unlockChestTimer" 2000
250endif
251
252if skill "Lockpicking" >= 50
253    if findtype "lockpicks" backpack and findtype "drill" backpack
254        @clearignore
255        if not find playerContainer ground -1 -1 2
256            unsetvar playerContainer
257            replay
258        endif
259
260        if haveParagonToOpen = 0
261            while findtype 2473|3644|3645|3646|3647|3710|3701|3702|29832|29833|2472|2475|3648|3649|3708|29078|41449|41450|3705|3712|2474|3709|3650|3651|29077 playerContainer as container
262                getlabel container desc
263                if "sealed" in desc
264                    overhead "paragon found"
265                    lift container
266                    drop backpack -1 -1 -1
267                    wait globalTimeout
268                    say "Master, I have your paragon chest. Please give me a moment" 55
269                endif
270                
271                if find container backpack
272                    @setvar! haveParagonToOpen container
273                else
274                    @ignore! container
275                endif
276            endwhile
277        elseif timer unlockChestTimer >= 3500   
278              if gumpexists 736038070
279                if ingump "Cleared of Traps" 736038070
280                    gumpresponse 4 736038070
281                    wait 1000
282                    if not timerexists "RTT"
283                       createtimer "RTT"
284                       settimer "RTT" 0
285                    endif
286                    if timer RTT >= 15000
287                        say "Master I have removed the trap and working on the lock now" 55
288                    wait 1000
289                    endif
290                    if insysmsg 'not have any lockpicks' or insysmsg 'no chance'
291                            gumpresponse 2
292                            wait 1000
293                            menu 0x41BF29F7 1
294                            wait 1000
295                            loop
296                        endif  
297                else
298                    overhead "Remove Trap"
299                    gumpresponse 7 736038070
300                     wait 1000
301                     if insysmsg 'any trap tools'
302                       gumpresponse 5
303                     wait 1000
304                     menu storageShelf 1
305                      wait 1000
306                      loop
307                    endif        
308                endif
309                settimer unlockChestTimer 0
310            else
311                getlabel haveParagonToOpen sealedDesc
312                if "sealed" in sealedDesc
313                    dclick haveParagonToOpen
314                else
315                     lift haveParagonToOpen
316                     drop botContainer -1 -1 -1
317                    wait globalTimeout
318                    organizer 12
319                    wait 5000
320                    say "Master.... The paragon chest is unlocked! Please check the BLACK chest!" 55
321                    wait 1000
322                    if not find haveParagonToOpen backpack
323                        @setvar! haveParagonToOpen 0
324                    endif
325                endif
326            endif
327        endif
328    else
329        overhead "No more lockpicks or drills bro" 34
330    endif
331
332endif
333////////// END IF PARAGON LOCKPICKING BOT//////////////////////////
334///////////////////////////////////////////////////////////////////
335// Chiv Gate Bot by Jaseowns
336// UO Outlands
337// youtube.com/jaseowns
338
339
340if not gumpexists 1387930325
341    say "[ChivalryHotbar"
342endif
343if not timerexists jase_chiv_gate_ready
344    createtimer jase_chiv_gate_ready
345    settimer jase_chiv_gate_ready 35000
346endif
347
348if timer jase_chiv_gate_ready >= 60000
349 
350    settimer jase_chiv_gate_ready 35000
351endif
352
353@setvar! jase_chiv_has_enough_symbols 0
354
355if ingump "12/" 1387930325
356    @setvar! jase_chiv_has_enough_symbols 1
357elseif ingump "11/" 1387930325
358    @setvar! jase_chiv_has_enough_symbols 1
359elseif ingump "10/" 1387930325
360    @setvar! jase_chiv_has_enough_symbols 1
361elseif ingump "9/" 1387930325
362    @setvar! jase_chiv_has_enough_symbols 1
363elseif ingump "8/" 1387930325
364    @setvar! jase_chiv_has_enough_symbols 1
365elseif ingump "7/" 1387930325
366    @setvar! jase_chiv_has_enough_symbols 1
367elseif ingump "6/" 1387930325
368    @setvar! jase_chiv_has_enough_symbols 1
369elseif ingump "5/" 1387930325
370    @setvar! jase_chiv_has_enough_symbols 1
371elseif ingump "4/" 1387930325
372    @setvar! jase_chiv_has_enough_symbols 0
373elseif ingump "3/" 1387930325
374    @setvar! jase_chiv_has_enough_symbols 0
375elseif ingump "2/" 1387930325
376    @setvar! jase_chiv_has_enough_symbols 0
377elseif ingump "1/" 1387930325
378    @setvar! jase_chiv_has_enough_symbols 0
379elseif ingump "0/" 1387930325
380    @setvar! jase_chiv_has_enough_symbols 0
381endif
382
383if jase_chiv_has_enough_symbols = 1
384
385    if findtype jase_chiv_custom_trigger ground jase_chiv_custom_trigger_hue -1 2 as trigger
386        if timer jase_chiv_gate_ready > 35000 
387        say "Master... Great News!! I Can Send You Home Now! Please come back soon!" 88
388            say '[SacredJourney'
389            waitforgump 1482653814 5000
390            gumpresponse 4 1482653814
391            wait 500
392            dclick trigger
393            settimer jase_chiv_gate_ready 0
394        else
395            say "Master... My apologies.. My gate is down till I rest a little!" 88
396            wait 4000
397        endif
398    endif
399
400    if findtype jase_chiv_city_trigger ground jase_chiv_city_trigger_hue -1 2 as trigger
401        if timer jase_chiv_gate_ready > 35000 
402            say "Master... Great News!! I can send you to the city of your choice now!" 88
403            say '[SacredJourney'
404            waitforgump 1482653814 5000
405            gumpresponse 1 1482653814
406            wait 500
407            dclick trigger
408            settimer jase_chiv_gate_ready 0
409        else
410            say "Master... My apologies.. My gate is down till I rest a little!" 88
411            wait 4000
412        endif
413    endif
414    wait 100
415    
416    if findtype jase_chiv_dung_trigger ground jase_chiv_dung_trigger_hue -1 2 as trigger
417        if timer jase_chiv_gate_ready > 35000 
418            say "Master.... Please becareful in the Dungeons. There dangerous!" 88
419            say '[SacredJourney'
420            waitforgump 1482653814 5000
421            gumpresponse 2 1482653814
422            wait 500
423            dclick trigger
424            settimer jase_chiv_gate_ready 0
425        else
426            say "Master... My apologies.. My gate is down till I rest a little!" 88
427            wait 4000
428        endif
429    endif
430    wait 100
431    
432    if findtype jase_chiv_shrine_trigger ground jase_chiv_shrine_trigger_hue -1 2 as trigger
433        if timer jase_chiv_gate_ready > 35000 
434            say "Master... Enjoy the Shrines! Wish I could come with you... " 88
435            say '[SacredJourney'
436            waitforgump 1482653814 5000
437            gumpresponse 3 1482653814
438            wait 500
439            dclick trigger
440            settimer jase_chiv_gate_ready 0
441        else
442            say "Master... My apologies.. My gate is down till I rest a little!" 88
443            wait 4000
444        endif
445    endif
446    wait 100
447
448else
449    wait 2000
450endif
451wait 1000
452
453/////////////////////////////////// END OF CHIV GATE BOT /////////////////////
454//////////////////////////////////////////////////////////////////////////////
455
456///////////////////////////////////////////////////////////////////
457// DETECT HIDDEN BOT
458// BAN REDS AND GREYS!!
459clearsysmsg 
460
461if not listexists "friendsofthehouse"
462    createlist "friendsofthehouse"
463endif
464
465if not timerexists "detectHidingPlayersTimer"
466    createtimer "detectHidingPlayersTimer"
467    settimer "detectHidingPlayersTimer" 11000
468endif
469
470if not timerexists "sayBanTimer"
471    createtimer "sayBanTimer"
472    settimer "sayBanTimer" 2000
473endif
474
475if timer "detectHidingPlayersTimer" >= 11000
476    useskill 'detectinghidden'
477    wft 500
478    target 'self'
479    settimer "detectHidingPlayersTimer" 0
480endif
481
482hotkey 'Next non-friendly player target'
483wait 200
484if insysmsg "no one matching"
485    // do nothing
486else 
487    say "Master.... I have spoted the intruder!!" 33
488    wait 500
489    @setvar! removeTarget lasttarget
490    if inlist "friendsofthehouse" removeTarget 
491        // do nothing
492    elseif timer sayBanTimer >= 2000
493        say "Don't worry Master!! I'll remove them for you!"
494        wait 500
495        say "I ban thee" 
496        wft 1000
497        target removeTarget 
498        wait 200
499        if insysmsg 'You cannot eject a friend of the house!'
500        wait 500
501            pushlist "friendsofthehouse" removeTarget 
502        endif  
503        settimer "sayBanTimer" 0
504    endif
505endif
506
507/////////////////////////////////////////////// END OF DETECT HIDING BOT ///////////////////////////
508////////////////////////////////////////////////////////////////////////////////////////////////////
509
510///////////////////////////////////////////////
511// GRAB TMAPS AND DECODE
512// Map Decoder by AreYouKidden
513
514while findtype 'map' playerContainer as map
515    restock 2
516    wft
517    wait 500
518    target playerContainer
519    wait 5000
520    say "Master I have your maps and soon will begin decoding them" 88
521@removelist 'ToolHues'
522@createlist 'ToolHues'
523@removelist 'MapHues'
524@createlist 'MapHues'
525@removelist 'MapGumps'
526@createlist 'MapGumps'
527
528pushlist 'ToolHues' 0
529pushlist 'ToolHues' 2419
530pushlist 'ToolHues' 2406
531pushlist 'ToolHues' 2413
532pushlist 'ToolHues' 2418
533pushlist 'ToolHues' 2213
534pushlist 'ToolHues' 2425
535pushlist 'ToolHues' 2207
536pushlist 'ToolHues' 2219
537pushlist 'ToolHues' 1763
538
539pushlist 'MapHues' 0
540pushlist 'MapHues' 2091
541pushlist 'MapHues' 2904
542pushlist 'MapHues' 2651
543pushlist 'MapHues' 2799
544pushlist 'MapHues' 2796
545
546pushlist 'MapGumps' 1520869851 'front'
547pushlist 'MapGumps' 1520869851 'front'
548pushlist 'MapGumps' 2589357942 'front'
549pushlist 'MapGumps' 3473029237 'front'
550pushlist 'MapGumps' 1332805401 'front'
551pushlist 'MapGumps' 3367641484 'front'
552
553foreach 'Color' in 'MapHues'
554    foreach 'x' in 'MapGumps'
555         @setvar 'Gump' 'x' 
556    endfor
557    poplist 'MapGumps' 'back'
558
559    while findtype '5356' 'backpack' 'Color' as 'Map'
560        while find 'Map' 'backpack'
561        wait 500
562    wait 500
563        if not find 'Tool1' 'backpack'
564            foreach 'y' in 'ToolHues'
565                if @findtype '5365' 'backpack' 'y' as 'found' and not find 'Tool1' 'backpack'
566                    @setvar 'Tool1' 'found'
567                    @setvar 'Hue1' 'y'
568                endif
569            endfor
570        endif
571        if not find 'Tool1' 'backpack'
572            overhead 'Low End Tool not found' 33
573            stop
574        endif
575        if not find 'Tool2' 'backpack'
576            foreach 'y' in 'ToolHues'
577                if @findtype '5365' 'backpack' 'y' as 'found'
578                    @setvar 'Tool2' 'found'
579                    @setvar 'Hue2' 'y'
580                endif
581            endfor
582        endif
583        if not find 'Tool2' 'backpack'
584            overhead 'High End Tool not found' 33
585            stop
586        endif
587
588        overhead 'Using Low End Tool' 'Hue1'
589        clearsysmsg 
590        dclick 'Tool1'
591        pause 100
592        wft 5000
593        target 'Map'
594        pause 100
595        waitforgump 'Gump'
596        gumpresponse 4
597        pause 1500
598        if insysmsg "no chance"
599            lift 'Map' 9999
600        drop 'botContainer' -1 -1 -1
601        pause 500
602        endif
603        
604        if not findtype "lockpicks" backpack or not findtype "drill" backpack or not findtype "spyglass" backpack or insysmsg 'You have reached the maximum' or insysmsg "worn out"
605              menu storageShelf 1
606               wait 500
607           endif
608            clearsysmsg 
609            pause 1000
610            while find 'Map' 'backpack' and find 'Tool2' 'backpack'
611                overhead 'Using High End Tool' 'Hue2'
612                clearsysmsg 
613                dclick 'Tool2'
614                pause 100
615                wft 5000
616                target 'Map'
617                pause 100
618                waitforgump 'Gump'
619                gumpresponse 4
620                pause 1500
621                if insysmsg "no chance"
622                lift 'Map' 9999
623                drop 'botContainer' -1 -1 -1
624                pause 500
625                endif
626
627                if insysmsg 'You have reached the maximum accuracy'
628                    overhead 'Map Decoded!' 88
629                    pause 200
630                    wait 500
631                    say "Master I completed a map and will put it in the BLACK chest now for you!"
632                    wait 1000
633                    lift 'Map' 9999
634                    drop 'botContainer' -1 -1 -1
635                    pause 500
636                endif
637            endwhile
638        endif
639        endwhile
640    endwhile
641endfor
642endwhile
643
644////////////////////////////// END OF MAP DECODING BOT ////////////////////////////////////////////////////////
645//////////////////////////////////////////////////////////////////////////////////////////////////////////////
646
647///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
648/////// Make Distills from extracts found in the Player Conatainer
649//////
650while findtype 'bottle' playerContainer as extract
651    @setvar! foundExtract 1
652    getlabel extract extractName
653    say 'Ah ha! I see you have an extract for me to distill!' 66
654    wait 2000
655    restock 1
656    wft 
657    target playerContainer
658    wait 10000
659    say "I have your extracts Master... Making Distills Now!" 66
660    wait 1000
661    menu resourceSP 0
662    waitfortarget
663    target 'self'
664     say [CraftingQueue
665     wait 1000
666     waitforgump 453554062
667     gumpresponse 7
668  for 60000 
669       wait 1000
670        if insysmsg 'Crafting queue complete'
671            wait 500
672        say "Your Distills are ready Master!" 66
673            wait 1000
674            say "If you like my services master, Please consider giving me a tip at my tip vendor"
675            wait 500
676            loop
677   else 
678       say "Master... Mixing is in progress please wait!" 66
679    wait 10000
680    endif
681    endfor
682endwhile
683
684wait 1000
685replay
686endwhile
687////////////////////////////////////////////////////END OF DISTILL MAKING BOT //////////////////////////////////