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 //////////////////////////////////