ver.4.70
GatheringMining
SUPER Auto-mining.razor
1# This is an automated backup - check out https://outlands.uorazorscripts.com/script/217dc70b-317d-4cba-8d95-220e8767ae1b for latest2# Automation by Jaseowns3## Script: SUPER Auto-mining4## Created by: dennozz#05#############################################6 7#SUPER Auto-mining ver.4.708 9#********** INFORMATION **********# 10 11#Made by @dennozz on discord. 12#Inspired/learned by other scrips in https://outlands.uorazorscripts.com/13 14#IMPORTANT: You will need 1 wooden box and 1 copper key that opens the wooden box (this is for anti-theft)15# You can craft wooden boxes with 50 carpentry and 50 tinkering16 17#IMPORTANT: You will need to create an in-game options cooldown named `Danger`. 18#Options -> Cooldowns -> New Entry -> Name: `Danger` -> Cooldown Type -> `PvP Timer` -> Done19 20#My Gathering template (Anti PK):21#Lumber - 12022#Mining - 12023#Magery - 10024#Healing - 8025#Resist - 8026#Tracking -8027#Wrestling - 8028#Spirit - 4029#Alchemy - 2030 31#********** SET YOUR SETTINGS **********# 32 33#--- Set max followers ---#34# 0 - none35# 2 - one water elemental (recommended)36# 4 - two water elemental37 38@setvar! maxFollowers 239 40#--- Set auto recall ---#41# 0 - will auto recall when PKs are 40 steps or closer (medioum risk)42# 1 - will auto recall when detect PKs at any distance (low risk)43 44@setvar! autoRecall 045 46#-- Set recall type --#47# 0 - using regs48# 1 - using scroll49# 2 - using charge recall from first rune in book50# 3 - using charge recall from last rune in book51 52@setvar! recallType 053 54#--- Set recall object ---#55# 0 - carry one runebook | carry one rune | if multiple runes name the one you recall `home`56# 1234 - if you carry multiple runebooks or runetomes set the hue of the book you wish to recall (type `>info` to get hue info)57 58@setvar! recallBookHue 059 60#--- If regs are low auto recall ---#61# 0 - you dont carry regs62# 123 - if below this number will recall63 64@setvar! minRegs 565 66#--- Auto split regs ---#67# 0 - you dont want to split regs into different groups 68# 1 - will auto split regs in different groups (anti-theft)69 70@setvar! autoSplitRegs 171 72# 0 - will let you target the bag you wish to split your regs into73# 1 - will automatically select the bag in your backpack on this order : satchel > pouch > backpack bag > round bag > char backpack74 75@setvar! autoSelectBag 176 77#--- Set potions ---#78 79@setvar! drinkStr 180@setvar! drinkAgility 081@setvar! drinkMagicResist 182@setvar! drinkHeal 183@setvar! drinkCure 184@setvar! drinkRefresh 185 86@setvar! strengthLowerThan 10087@setvar! staminaLowerThan 1088 89#--- Set Mage auto heals ---#90 91@setvar! miniHeal 192@setvar! greaterHeal 193@setvar! cureSpell 194 95#--- Set Mage Buffs ---#96 97@setvar! magicReflect 198@setvar! bless 099@setvar! armorReflect 1100@setvar! protectionSpell 1101@setvar! miniumManaToBuff 50102 103@setvar! useMeditationSkill 0104@setvar! meditateWhenManaBelow 40105@setvar! meditateUntilManaReach 70106 107#--- Set Cooldowns ---#108 109#Set value at `575` if have 60-80 ping ms. Adjust depending on ping110 111@setvar! mineTimerCD 575112 113 114#********** DO NOT EDIT FROM HERE UNLESS YOU KNOW HOW TO SCRIPT **********115 116 117@setvar! isRecalling 0118@setvar! isOverweight 0119@setvar! myHarvestingTool 3718120@setvar! maxwaittimeinms 650121@setvar! foundBook 0122@setvar! myPack 0123@setvar! smeltingOre 0124 125#--- Auto healing hp diffs ---#126 127@setvar! lowDiff 20 128@setvar! medDiff 30129@setvar! highDiff 50130@setvar! extremeDiff 60131@setvar! criticalDiff 75132 133#** Weight trigger **134 135@setvar! myWeightDiff 41136 137#** Recall triggers **138 139@setvar! enemyFound 0140 141#** Cut & Store timers **142 143@setvar! storeTimerCD 45000144settimer storeTimer storeTimerCD145 146#** Magery buffs timers **147 148@setvar! magicReflectCD 15000149settimer magicReflectTimer 15000150 151@setvar! armorReflectCD 15000152settimer armorReflectTimer 15000153 154@setvar! protectionCD 15000155settimer protectionTimer 15000156 157#** Script msgs timers **158 159@setvar! healingMessageCD 4500160settimer healingMessageTimer 0161 162@setvar! guardMessageCD 5500163settimer guardMessageTimer guardMessageCD164 165@setvar! summonCD 2500166settimer summonTimer summonCD167 168@setvar! beingAttackedCD 5000169settimer beingAttackedTimer 5000170 171@setvar! overweightCD 2000172settimer overweightTimer overweightCD173 174#** Items in backpack timers **175 176@setvar! pouchMessageCD 5000177settimer pouchMessageTimer pouchMessageCD178 179@setvar! aidsMessageCD 4000180settimer aidsMessageTimer aidsMessageCD181 182@setvar! whiteMessageCD 3000183settimer whiteMessageTimer whiteMessageCD184 185@setvar! blackMessageCD 2500186settimer blackMessageTimer blackMessageCD187 188@setvar! orangeMessageCD 2000189settimer orangeMessageTimer orangeMessageCD190 191@setvar! yellowMessageCD 1500192settimer yellowMessageTimer yellowMessageCD193 194@setvar! redMessageCD 1000195settimer redMessageTimer redMessageCD196 197@setvar! healingPotCD 11000198 199#********** PRE-SCRIPT FOOD BUFF AND TRACKING ON **********200 201if not findbuff "food" and findtype "tray" backpack as fody 202 dclick fody203 wait 200204endif205 206if not findbuff "tracking"207 208 while not gumpexists 4267467659209 skill "tracking"210 wait maxwaittimeinms211 endwhile212 213 while not insysmsg "You will now hunt all hostile players"214 gumpresponse 8215 wait 500216 waitforgump 4267467659 maxwaittimeinms217 endwhile218 219 if ingump "Begin Hunting" 4267467659220 gumpresponse 6221 wait maxwaittimeinms222 waitforgump 4267467659 maxwaittimeinms223 wait maxwaittimeinms224 gumpclose 4267467659 225 wait 100226 endif227 228 sysmsg "* tracking ON *" 66229endif230 231#********** AUTO SPLIT REAGENTS **********# 232 233if autoSplitRegs = 1 234 235 clearignore 236 237 @setvar! amount 0238 @setvar! myBag 0239 @setvar! maxwaittimeinms 650240 241 if autoSelectBag = 1242 if findtype 30765 self as b243 @setvar! myBag b244 elseif findtype 3705 self as b245 @setvar! myBag b246 elseif findtype 3701 self as b247 @setvar! myBag b248 elseif findtype 3702 self as b249 @setvar! myBag b250 else 251 @setvar! myBag backpack252 endif253 else 254 clearsysmsg255 overhead "Select bag:" 68256 @setvar! myBag257 getlabel backpack xxx258 wait 200259 while not targetexists and not insysmsg "Select"260 @setvar! myBag 261 endwhile262 263 if find myBag self264 getlabel myBag bagLabel265 266 if "wizard" in bagLabel or "pouch" in bagLabel or "bag" in bagLabel or "backpack" in bagLabel267 sysmsg "new bag set" 55268 else 269 @setvar! myBag 0270 overhead "That is not a bag" 34271 sysmsg "That is not a bag" 34272 stop273 endif274 else 275 overhead "No bag found!" 34276 stop 277 endif278 endif279 280 overhead "Splitter Begin.." 55281 282 #***** SPIDER SILK 3981 *****283 284 @setvar! regsID 3981285 @setvar! myCounter 0286 287 while findtype regsID self as r 288 @setvar! myCounter index289 @ignore r290 endwhile291 @clearignore292 293 if counttype regsID self <= 10294 @setvar! amount 2295 elseif counttype regsID self <= 20296 @setvar! amount 4 297 elseif counttype regsID self <= 50298 @setvar! amount 10 299 elseif counttype regsID self <= 100300 @setvar! amount 20 301 elseif counttype regsID self <= 150302 @setvar! amount 30303 elseif counttype regsID self <= 200304 @setvar! amount 40305 else 306 @setvar! amount 50307 endif308 309 while findtype regsID self as regs310 @setvar! moveRegs 0 311 312 if myCounter = 0313 @setvar! moveRegs 1314 elseif myCounter != 0 and not find regs myBag315 @setvar! moveRegs 1316 endif317 318 if moveRegs = 1 319 overhead "splitting silks.." 0320 if index = 0321 lift regs amount322 drop myBag 44 65 0 323 elseif index = 1324 lift regs amount325 drop myBag 68 65 0 326 elseif index = 2327 lift regs amount328 drop myBag 96 65 0 329 elseif index = 3330 lift regs amount331 drop myBag 121 65 0 332 else333 lift regs amount334 drop myBag 142 65 0 335 endif336 endif337 338 @ignore regs 339 340 if moveRegs = 1341 wait maxwaittimeinms342 endif343 344 endwhile345 346 #***** BLACK PEARL 3962 *****347 348 @setvar! regsID 3962349 @setvar! myCounter 0350 351 while findtype regsID self as r 352 @setvar! myCounter index353 @ignore r354 endwhile355 @clearignore356 357 if counttype regsID self <= 10358 @setvar! amount 2359 elseif counttype regsID self <= 20360 @setvar! amount 4 361 elseif counttype regsID self <= 50362 @setvar! amount 10 363 elseif counttype regsID self <= 100364 @setvar! amount 20 365 elseif counttype regsID self <= 150366 @setvar! amount 30367 elseif counttype regsID self <= 200368 @setvar! amount 40369 else 370 @setvar! amount 50371 endif372 373 while findtype regsID self as regs374 @setvar! moveRegs 0 375 376 if myCounter = 0377 @setvar! moveRegs 1378 elseif myCounter != 0 and not find regs myBag379 @setvar! moveRegs 1380 endif381 382 if moveRegs = 1 383 overhead "splitting pearls.." 11384 if index = 0385 lift regs amount386 drop myBag 44 65 0 387 elseif index = 1388 lift regs amount389 drop myBag 68 65 0 390 elseif index = 2391 lift regs amount392 drop myBag 96 65 0 393 elseif index = 3394 lift regs amount395 drop myBag 121 65 0 396 else397 lift regs amount398 drop myBag 142 65 0 399 endif400 endif401 402 @ignore regs 403 404 if moveRegs = 1405 wait maxwaittimeinms406 endif407 408 endwhile409 410 411 #***** NIGHTSHADE 3976 *****412 413 @setvar! regsID 3976414 @setvar! myCounter 0415 416 while findtype regsID self as r 417 @setvar! myCounter index418 @ignore r419 endwhile420 @clearignore421 422 if counttype regsID self <= 10423 @setvar! amount 2424 elseif counttype regsID self <= 20425 @setvar! amount 4 426 elseif counttype regsID self <= 50427 @setvar! amount 10 428 elseif counttype regsID self <= 100429 @setvar! amount 20 430 elseif counttype regsID self <= 150431 @setvar! amount 30432 elseif counttype regsID self <= 200433 @setvar! amount 40434 else 435 @setvar! amount 50436 endif437 438 while findtype regsID self as regs439 @setvar! moveRegs 0 440 441 if myCounter = 0442 @setvar! moveRegs 1443 elseif myCounter != 0 and not find regs myBag444 @setvar! moveRegs 1445 endif446 447 if moveRegs = 1 448 overhead "splitting shades.." 66449 if index = 0450 lift regs amount451 drop myBag 44 88 0 452 elseif index = 1453 lift regs amount454 drop myBag 68 88 0 455 elseif index = 2456 lift regs amount457 drop myBag 96 88 0 458 elseif index = 3459 lift regs amount460 drop myBag 121 88 0 461 else462 lift regs amount463 drop myBag 142 88 0 464 endif465 endif466 467 @ignore regs 468 469 if moveRegs = 1470 wait maxwaittimeinms471 endif472 473 endwhile474 475 #***** MANDRAKE ROOT 3974 *****476 477 @setvar! regsID 3974478 @setvar! myCounter 0479 480 while findtype regsID self as r 481 @setvar! myCounter index482 @ignore r483 endwhile484 @clearignore485 486 if counttype regsID self <= 10487 @setvar! amount 2488 elseif counttype regsID self <= 20489 @setvar! amount 4 490 elseif counttype regsID self <= 50491 @setvar! amount 10 492 elseif counttype regsID self <= 100493 @setvar! amount 20 494 elseif counttype regsID self <= 150495 @setvar! amount 30496 elseif counttype regsID self <= 200497 @setvar! amount 40498 else 499 @setvar! amount 50500 endif501 502 while findtype regsID self as regs503 @setvar! moveRegs 0 504 505 if myCounter = 0506 @setvar! moveRegs 1507 elseif myCounter != 0 and not find regs myBag508 @setvar! moveRegs 1509 endif510 511 if moveRegs = 1 512 overhead "splitting roots.." 439513 if index = 0514 lift regs amount515 drop myBag 44 88 0 516 elseif index = 1517 lift regs amount518 drop myBag 68 88 0 519 elseif index = 2520 lift regs amount521 drop myBag 96 88 0 522 elseif index = 3523 lift regs amount524 drop myBag 121 88 0 525 else526 lift regs amount527 drop myBag 142 88 0 528 endif529 endif530 531 @ignore regs 532 533 if moveRegs = 1534 wait maxwaittimeinms535 endif536 537 endwhile538 539 #***** SULFUROUS ASH 3980 *****540 541 @setvar! regsID 3980542 @setvar! myCounter 0543 544 while findtype regsID self as r 545 @setvar! myCounter index546 @ignore r547 endwhile548 @clearignore549 550 if counttype regsID self <= 10551 @setvar! amount 2552 elseif counttype regsID self <= 20553 @setvar! amount 4 554 elseif counttype regsID self <= 50555 @setvar! amount 10 556 elseif counttype regsID self <= 100557 @setvar! amount 20 558 elseif counttype regsID self <= 150559 @setvar! amount 30560 elseif counttype regsID self <= 200561 @setvar! amount 40562 else 563 @setvar! amount 50564 endif565 566 while findtype regsID self as regs567 @setvar! moveRegs 0 568 569 if myCounter = 0570 @setvar! moveRegs 1571 elseif myCounter != 0 and not find regs myBag572 @setvar! moveRegs 1573 endif574 575 if moveRegs = 1 576 overhead "splitting ashes.." 56577 if index = 0578 lift regs amount579 drop myBag 44 112 0 580 elseif index = 1581 lift regs amount582 drop myBag 68 112 0 583 elseif index = 2584 lift regs amount585 drop myBag 96 112 0 586 elseif index = 3587 lift regs amount588 drop myBag 121 112 0 589 else590 lift regs amount591 drop myBag 142 112 0 592 endif593 endif594 595 @ignore regs 596 597 if moveRegs = 1598 wait maxwaittimeinms599 endif600 601 endwhile602 603 #***** GINSENG 3973 *****604 605 @setvar! regsID 3973606 @setvar! myCounter 0607 608 while findtype regsID self as r 609 @setvar! myCounter index610 @ignore r611 endwhile612 @clearignore613 614 if counttype regsID self <= 10615 @setvar! amount 2616 elseif counttype regsID self <= 20617 @setvar! amount 4 618 elseif counttype regsID self <= 50619 @setvar! amount 10 620 elseif counttype regsID self <= 100621 @setvar! amount 20 622 elseif counttype regsID self <= 150623 @setvar! amount 30624 elseif counttype regsID self <= 200625 @setvar! amount 40626 else 627 @setvar! amount 50628 endif629 630 while findtype regsID self as regs631 @setvar! moveRegs 0 632 633 if myCounter = 0634 @setvar! moveRegs 1635 elseif myCounter != 0 and not find regs myBag636 @setvar! moveRegs 1637 endif638 639 if moveRegs = 1 640 overhead "splitting gings.." 149641 if index = 0642 lift regs amount643 drop myBag 44 112 0 644 elseif index = 1645 lift regs amount646 drop myBag 68 112 0 647 elseif index = 2648 lift regs amount649 drop myBag 96 112 0 650 elseif index = 3651 lift regs amount652 drop myBag 121 112 0 653 else654 lift regs amount655 drop myBag 142 112 0 656 endif657 endif658 659 @ignore regs 660 661 if moveRegs = 1662 wait maxwaittimeinms663 endif664 665 endwhile666 667 #***** BLOSSMOSS 3963 *****668 669 @setvar! regsID 3963670 @setvar! myCounter 0671 672 while findtype regsID self as r 673 @setvar! myCounter index674 @ignore r675 endwhile676 @clearignore677 678 if counttype regsID self <= 10679 @setvar! amount 2680 elseif counttype regsID self <= 20681 @setvar! amount 4 682 elseif counttype regsID self <= 50683 @setvar! amount 10 684 elseif counttype regsID self <= 100685 @setvar! amount 20 686 elseif counttype regsID self <= 150687 @setvar! amount 30688 elseif counttype regsID self <= 200689 @setvar! amount 40690 else 691 @setvar! amount 50692 endif693 694 while findtype regsID self as regs695 @setvar! moveRegs 0 696 697 if myCounter = 0698 @setvar! moveRegs 1699 elseif myCounter != 0 and not find regs myBag700 @setvar! moveRegs 1701 endif702 703 if moveRegs = 1 704 overhead "splitting bloods.." 35705 if index = 0706 lift regs amount707 drop myBag 44 130 0 708 elseif index = 1709 lift regs amount710 drop myBag 68 130 0 711 elseif index = 2712 lift regs amount713 drop myBag 96 130 0 714 elseif index = 3715 lift regs amount716 drop myBag 121 130 0 717 else718 lift regs amount719 drop myBag 142 130 0 720 endif721 endif722 723 @ignore regs 724 725 if moveRegs = 1726 wait maxwaittimeinms727 endif728 729 endwhile730 731 #***** GARILIC 3972 *****732 733 @setvar! regsID 3972734 @setvar! myCounter 0735 736 while findtype regsID self as r 737 @setvar! myCounter index738 @ignore r739 endwhile740 @clearignore741 742 if counttype regsID self <= 10743 @setvar! amount 2744 elseif counttype regsID self <= 20745 @setvar! amount 4 746 elseif counttype regsID self <= 50747 @setvar! amount 10 748 elseif counttype regsID self <= 100749 @setvar! amount 20 750 elseif counttype regsID self <= 150751 @setvar! amount 30752 elseif counttype regsID self <= 200753 @setvar! amount 40754 else 755 @setvar! amount 50756 endif757 758 while findtype regsID self as regs759 @setvar! moveRegs 0 760 761 if myCounter = 0762 @setvar! moveRegs 1763 elseif myCounter != 0 and not find regs myBag764 @setvar! moveRegs 1765 endif766 767 if moveRegs = 1 768 overhead "splitting garlics.." 910769 if index = 0770 lift regs amount771 drop myBag 44 130 0 772 elseif index = 1773 lift regs amount774 drop myBag 68 130 0 775 elseif index = 2776 lift regs amount777 drop myBag 96 130 0 778 elseif index = 3779 lift regs amount780 drop myBag 121 130 0 781 else782 lift regs amount783 drop myBag 142 130 0 784 endif785 endif786 @ignore regs 787 788 if moveRegs = 1789 wait maxwaittimeinms790 endif791 792 endwhile793 794 #***** RECALL SCROLL 8012 *****795 796 @setvar! regsID 8012797 @setvar! myCounter 0798 799 while findtype regsID self as r 800 @setvar! myCounter index801 @ignore r802 endwhile803 @clearignore804 805 if counttype regsID self <= 5806 @setvar! amount 1807 elseif counttype regsID self <= 10808 @setvar! amount 2 809 elseif counttype regsID self <= 20810 @setvar! amount 4 811 elseif counttype regsID self <= 40812 @setvar! amount 8 813 else 814 @setvar! amount 15815 endif816 817 while findtype regsID self as regs818 @setvar! moveRegs 0 819 820 if myCounter = 0821 @setvar! moveRegs 1822 elseif myCounter != 0 and not find regs myBag823 @setvar! moveRegs 1824 endif825 if moveRegs = 1 826 overhead "splitting scrolls.." 0827 if index = 0828 lift regs amount829 drop myBag 44 88 0 830 elseif index = 1831 lift regs amount832 drop myBag 68 88 0 833 elseif index = 2834 lift regs amount835 drop myBag 96 88 0 836 elseif index = 3837 lift regs amount838 drop myBag 121 88 0 839 else840 lift regs amount841 drop myBag 142 88 0 842 endif843 endif844 845 @ignore regs 846 847 if moveRegs = 1848 wait maxwaittimeinms849 endif850 endwhile851 852 overhead "Splitter completed" 44853 854endif855 856sysmsg "* auto-mining activated *" 66857overhead "* auto-mining activated *" 66858 859clearsysmsg860clearhands both861 862 863while not dead 864 settimer cycleTimer 0865 866 if targetexists867 hotkey 'cancel current target' 868 endif869 870 if enemyFound = 0871 if insysmsg! "Now tracking" or insysmsg! "Distance to"872 @setvar! enemyFound 1873 endif874 endif875 876#********** TRIGGER AUTO-RECALL IF BEING ATTACKED / OUT OF REGS / ENEMY TOO CLOSE **********877 878 if cooldown "Danger" > 0 879 if timer beingAttackedTimer > beingAttackedCD880 sysmsg "* being attacked *" 34881 settimer beingAttackedTimer 0882 endif883 @setvar! autoRecall 1884 @setvar! enemyFound 1885 endif 886 887 if minRegs != 0888 if counttype 3963 self <= minRegs or counttype 3973 self <= minRegs or counttype 3972 self <= minRegs or counttype 3980 self <= minRegs or counttype 3962 self <= minRegs or counttype 3981 self <= minRegs or counttype 3974 self <= minRegs or counttype 3976 self <= minRegs889 overhead "* low reagents *" 34890 sysmsg " *low reagents recalling out *" 34891 892 @setvar! autoRecall 1893 @setvar! enemyFound 1894 endif895 endif896 897 if insysmsg ": 0 s" or insysmsg ": 1 s" or insysmsg ": 2 s" or insysmsg ": 3 s" or insysmsg ": 4 s" or insysmsg ": 5 s" or insysmsg ": 6 s" or insysmsg ": 7 s" or insysmsg ": 8 s" or insysmsg ": 9 s"898 sysmsg "* recalling enemy very close [d 0-9] *" 33899 @setvar! autoRecall 1900 @setvar! enemyFound 1901 elseif insysmsg ": 10 s" or insysmsg ": 11 s" or insysmsg ": 12 s" or insysmsg ": 13 s" or insysmsg ": 14 s" or insysmsg ": 15 s" or insysmsg ": 16 s" or insysmsg ": 17 s"902 sysmsg "* recalling enemy very close [d 10-17] *" 33903 @setvar! autoRecall 1904 @setvar! enemyFound 1905 elseif insysmsg ": 18 s" or insysmsg ": 19 s" or insysmsg ": 20 s" or insysmsg ": 21 s" or insysmsg ": 22 s" or insysmsg ": 23 s" or insysmsg ": 24 s" or insysmsg ": 25 s"906 sysmsg "* recalling enemy very close [d 18-25] *" 33907 @setvar! autoRecall 1908 @setvar! enemyFound 1909 elseif insysmsg ": 26 s" or insysmsg ": 27 s" or insysmsg ": 28 s" or insysmsg ": 29 s" or insysmsg ": 30 s" or insysmsg ": 31 s" or insysmsg ": 32 s" or insysmsg ": 33 s"910 sysmsg "* recalling enemy very close [d 26-33] *" 33911 @setvar! autoRecall 1912 @setvar! enemyFound 1913 elseif insysmsg ": 34 s" or insysmsg ": 35 s" or insysmsg ": 36 s" or insysmsg ": 37 s" or insysmsg ": 38 s" or insysmsg ": 39 s" or insysmsg ": 40 s"914 sysmsg "* recalling enemy very close [d 34-40] *" 33915 @setvar! autoRecall 1916 @setvar! enemyFound 1917 elseif insysmsg "(0 s" or insysmsg "(1 s" or insysmsg "(2 s" or insysmsg "(3 s" or insysmsg "(4 s" or insysmsg "(5 s" or insysmsg "(6 s" or insysmsg "(7 s" or insysmsg "(8 s" or insysmsg "(9 s"918 sysmsg "* recalling enemy very close [n 0-9] *" 33919 @setvar! autoRecall 1920 @setvar! enemyFound 1921 elseif insysmsg "(10 s" or insysmsg "(11 s" or insysmsg "(12 s" or insysmsg "(13 s" or insysmsg "(14 s" or insysmsg "(15 s" or insysmsg "(16 s" or insysmsg "(17 s"922 sysmsg "* recalling enemy very close [n 10-17] *" 33923 @setvar! autoRecall 1924 @setvar! enemyFound 1925 elseif insysmsg "(18 s" or insysmsg "(19 s" or insysmsg "(20 s" or insysmsg "(21 s" or insysmsg "(22 s" or insysmsg "(23 s" or insysmsg "(24 s" or insysmsg "(25 s"926 sysmsg "* recalling enemy very close [n 18-25] *" 33927 @setvar! autoRecall 1928 @setvar! enemyFound 1929 elseif insysmsg "(26 s" or insysmsg "(27 s" or insysmsg "(28 s" or insysmsg "(29 s" or insysmsg "(30 s" or insysmsg "(31 s" or insysmsg "(32 s" or insysmsg "(33 s"930 sysmsg "* recalling enemy very close [n 26-33] *" 33931 @setvar! autoRecall 1932 @setvar! enemyFound 1933 elseif insysmsg "(34 s" or insysmsg "(35 s" or insysmsg "(36 s" or insysmsg "(37 s" or insysmsg "(38 s" or insysmsg "(39 s" or insysmsg "(40 s"934 sysmsg "* recalling enemy very close [n 34-40] *" 33935 @setvar! autoRecall 1936 @setvar! enemyFound 1937 endif938 939#********** AUTO-RECALL OUT IF NECESSARY **********940 941 if enemyFound = 1 and autoRecall = 1942 sysmsg "recalling..." 66943 interrupt944 clearignore945 if targetexists946 hotkey 'cancel current target' 947 endif948 wait 200949 950 if mana <= 10951 overhead "* low mana to recall *" 44952 else953 954#********** USING REAGENTS OR RECALL SCROLL ********** 955 956 if recallType = 0 or recallType = 1957 958 while diffhits < medDiff and not targetexists959 960 if recallType = 0961 cast 'recall'962 sysmsg "recalling using regs" 11963 else 964 dclicktype "recall" self965 sysmsg "recalling using scroll" 11966 endif967 968 while not casting 969 if recallType = 0970 cast 'recall' 971 else 972 dclicktype "recall" self973 endif 974 endwhile 975 976 while not targetexists and casting977 if insysmsg "your concentration"978 break;979 endif980 endwhile981 982 waitfortarget maxwaittimeinms983 984 endwhile 985 986 if targetexists and findtype "runebook|runetome" backpack as obj987 988 while findtype "runebook|runetome" backpack as book 989 if hue book = recallBookHue or recallBookHue = 0 990 target book991 break992 endif 993 @ignore book 994 endwhile995 996 @clearignore997 getlabel backpack xxx998 wait 200999 1000 if insysmsg "marked"1001 overhead "Runebook is not marked! Mark the book NOW!" 341002 elseif targetexists1003 overhead "Recall Book not found. Switching hue type to 0" 341004 @setvar! recallBookHue 01005 else 1006 overhead "Finished!" 651007 stop 1008 endif 1009 1010 elseif targetexists and findtype "recall rune" backpack as obj1011 @setvar! tempRune 0 1012 1013 while findtype "recall rune" backpack as obj1014 getlabel obj runeLabel 1015 if "blank" in runeLabel1016 else 1017 if "home" in runeLabel1018 target obj1019 @setvar! tempRune obj 1020 break1021 endif1022 @setvar! tempRune obj 1023 endif1024 @ignore obj1025 endwhile1026 1027 @clearignore1028 getlabel backpack xxx1029 wait 2001030 1031 if targetexists and tempRune != 01032 target tempRune1033 overhead "Finished!"1034 elseif tempRune = 01035 overhead "No recalleable rune found" 341036 hotkey "cancel current target"1037 elseif insysmsg "blocked" 1038 overhead "Location blocked" 341039 else1040 overhead "Finished!" 1041 endif 1042 stop1043 1044 elseif targetexists1045 overhead "No recall book or rune found" 341046 endif1047 1048 elseif recallType = 2 or recallType = 31049 1050#********** USING RECALL BOOK CHARGE ********** 1051 1052 if findtype "runebook|runetome" backpack1053 1054 if diffhits < medDiff1055 @setvar! foundBook 01056 1057 while findtype "runebook" backpack as book1058 if hue book = recallBookHue or recallBookHue = 01059 dclick book backpack1060 waitforgump 1551740969 maxwaittimeinms1061 1062 if recallType = 21063 gumpresponse 2 1064 elseif recallType = 31065 gumpresponse 921066 endif1067 1068 @setvar! foundBook book1069 break1070 else 1071 @ignore book1072 endif1073 endwhile1074 1075 while foundBook = 0 and findtype "runetome" backpack as book1076 if hue book = recallBookHue or recallBookHue = 01077 dclick book backpack1078 waitforgump 167090027 maxwaittimeinms1079 1080 if recallType = 21081 gumpresponse 100 1082 elseif recallType = 3 1083 gumpresponse 1251084 endif1085 1086 @setvar! foundBook book1087 break1088 else 1089 @ignore book1090 endif1091 endwhile1092 1093 getlabel backpack xxx1094 wait 2001095 1096 if foundBook = 0 1097 overhead "Recall book not found!" 34 1098 elseif insysmsg "charges"1099 overhead "Recall book out of charges!" 341100 elseif insysmsg "This book"1101 overhead "Recall book cooldown!" 341102 elseif casting1103 while casting1104 endwhile 1105 1106 getlabel backpack xxx1107 wait 2001108 1109 if insysmsg "concentration"1110 overhead "Interrupted!" 341111 elseif insysmsg "location"1112 overhead "Location blocked!" 1113 else1114 overhead "Successful" 65 1115 sysmsg "Mining Completed!" 651116 stop1117 endif1118 else 1119 if insysmsg "concentration"1120 overhead "Interrupted!" 341121 else 1122 if recallType = 2 1123 overhead "First rune not found" 34 1124 else1125 overhead "Last rune not found" 341126 overhead "Changing to first rune.." 341127 @setvar! recallType 21128 endif 1129 endif1130 endif1131 endif1132 else 1133 overhead "No runebook or runetome found to use charge!" 341134 endif1135 else 1136 overhead "Variable 'recallType' value out of range" 341137 endif 1138 endif1139 endif1140 1141#********** AUTO-HEALING IF NEEDED ********** 1142 1143 while diffhits >= lowDiff or paralyzed or poisoned1144 sysmsg "auto-healing activated" 11 1145 #--- Trapped ---#1146 1147 if paralyzed 1148 if findtype "pouch" backpack 38 1149 yell "[pouch" 1150 wait 2001151 else1152 if timer pouchMessageTimer > pouchMessageCD1153 overhead "Out of Pouches!" 341154 settimer pouchMessageTimer 01155 endif1156 endif1157 endif1158 1159 #--- Self bandage ---#1160 1161 if diffhits >= 1 and not bandaging1162 if skill 'healing' >= 50 or skill "veterinary" >= 501163 if findtype 'clean bandage%s%' backpack1164 1165 if targetexists1166 hotkey 'cancel current target' 1167 endif1168 dclicktype 'clean bandage%s%'1169 waitfortarget maxwaittimeinms1170 target 'self'1171 wait 200 1172 else1173 if timer aidsMessageTimer > aidsMessageCD1174 overhead "Out of bandages" 341175 settimer aidsMessageTimer 01176 endif1177 endif1178 endif1179 endif1180 1181 #--- Drink str pot ---#1182 1183 if drinkStr = 1 and str < strengthLowerThan1184 if not findbuff "Strength" 1185 if findtype "White Potion" self1186 dclicktype "White Potion"1187 wait 2001188 else1189 if timer whiteMessageTimer > whiteMessageCD1190 overhead "Out of str pots" 341191 settimer whiteMessageTimer 0 1192 endif1193 endif1194 endif1195 endif1196 1197 #--- Drink agility pot ---#1198 1199 if drinkAgility = 11200 if not findbuff "Agility" 1201 if findtype "Blue Potion" self1202 dclicktype "Blue Potion"1203 wait 2001204 else1205 if timer blueMessageTimer > blueMessageCD1206 overhead "Out of agility pots" 341207 settimer blueMessageTimer 0 1208 endif1209 endif1210 endif1211 endif1212 1213 #--- Drink magic resist pot ---#1214 1215 if drinkMagicResist = 11216 if not findbuff "Magic Resist" 1217 if findtype "Black Potion" self1218 dclicktype "Black Potion"1219 wait 2001220 else1221 if timer blackMessageTimer > blackMessageCD1222 overhead "Out of resist pots" 341223 settimer blackMessageTimer 01224 endif1225 endif1226 endif1227 endif1228 1229 #--- Poisoned ---#1230 1231 if 1 = drinkCure or 1 = cureSpell1232 while poisoned1233 if findtype "Orange Potion" self1234 dclicktype "Orange Potion"1235 wait 2001236 else1237 if timer orangeMessageTimer > orangeMessageCD1238 overhead "Out of cure pots" 341239 settimer orangeMessageTimer 01240 endif1241 1242 if diffhits > highDiff or not findtype 3972 self or not findtype 3973 self1243 break1244 endif1245 1246 if skill 'magery' >= 40 and mana >= 6 and 1 = cureSpell and not casting1247 cast 'cure'1248 wait 501249 while not casting 1250 if targetexists1251 hotkey 'cancel current target'1252 endif1253 cast 'cure' 1254 wait 501255 endwhile 1256 while not targetexists and casting1257 endwhile1258 waitfortarget maxwaittimeinms1259 target 'self' 1260 wait 2001261 else 1262 break1263 endif1264 endif1265 1266 endwhile1267 endif1268 1269 #--- Drink Heal Pot ---#1270 1271 if diffhits >= highDiff and 1 = drinkHeal1272 if findtype "Yellow Potion" self as hPot1273 getlabel hPot potLabel1274 if "next" in potLabel1275 #do nothing1276 else1277 @setvar! ch 01278 1279 if counttype 3852 self as c1280 @setvar! ch c1281 endif1282 clearsysmsg 1283 1284 dclicktype 38521285 getlabel backpack xxx1286 wait 2001287 1288 if ch != counttype 3852 self or insysmsg "potion satchel used"1289 cooldown "Heal Pot" healingPotCD1290 endif1291 endif1292 else1293 if timer yellowMessageTimer > yellowMessageCD1294 overhead "Out of heals pots" 341295 settimer yellowMessageTimer 01296 endif1297 endif1298 endif1299 1300 #--- Drink red pot ---#1301 1302 if stam < staminaLowerThan and 1 = drinkRefresh1303 if findtype "Red Potion" self1304 dclicktype "Red Potion"1305 wait 2001306 else1307 if timer redMessageTimer > redMessageCD1308 overhead "Out of refresh pots" 341309 settimer redMessageTimer 0 1310 endif1311 endif1312 endif1313 1314 #--- Cast heals ---#1315 1316 if skill 'magery' >= 40 and diffhits >= lowDiff and diffhits < medDiff and mana >= 4 and miniHeal = 1 and not casting1317 cast 'heal'1318 while not casting 1319 if targetexists1320 hotkey 'cancel current target'1321 endif1322 cast 'heal'1323 endwhile 1324 1325 while not targetexists and casting1326 endwhile1327 1328 waitfortarget maxwaittimeinms1329 target 'self' 1330 wait 200 1331 1332 elseif skill 'magery' >= 60 and diffhits >= medDiff and diffhits <= highDiff mana >= 11 and greaterHeal = 1 and not casting1333 cast 'greater heal' 1334 while not casting 1335 if targetexists1336 hotkey 'cancel current target'1337 endif1338 cast 'greater heal'1339 endwhile 1340 1341 while not targetexists and casting1342 1343 #--- Poisoned ---#1344 1345 if 1 = drinkCure1346 while poisoned1347 if findtype "Orange Potion" self1348 dclicktype "Orange Potion"1349 wait 2001350 else1351 if timer orangeMessageTimer > orangeMessageCD1352 overhead "Out of cure pots" 341353 settimer orangeMessageTimer 01354 break1355 endif1356 1357 endif1358 endwhile1359 endif 1360 1361 #--- Drink Heal Pot ---#1362 1363 if diffhits >= highDiff and 1 = drinkHeal1364 if findtype "Yellow Potion" self as hPot1365 getlabel hPot potLabel1366 if "next" in potLabel1367 #do nothing1368 else1369 @setvar! ch 01370 1371 if counttype 3852 self as c1372 @setvar! ch c1373 endif1374 clearsysmsg 1375 1376 dclicktype 38521377 getlabel backpack xxx1378 wait 2001379 1380 if ch != counttype 3852 self or insysmsg "potion satchel used"1381 cooldown "Heal Pot" healingPotCD1382 endif1383 endif1384 else1385 if timer yellowMessageTimer > yellowMessageCD1386 overhead "Out of heals pots" 341387 settimer yellowMessageTimer 01388 endif1389 endif1390 endif1391 1392 endwhile1393 1394 waitfortarget maxwaittimeinms1395 target 'self' 1396 wait 200 1397 1398 elseif skill 'magery' >= 40 and diffhits > highDiff and mana >= 4 and miniHeal = 1 and not casting1399 cast 'heal' 1400 while not casting 1401 if targetexists1402 hotkey 'cancel current target'1403 endif1404 cast 'heal' 1405 endwhile 1406 1407 while not targetexists and casting1408 endwhile1409 1410 waitfortarget maxwaittimeinms1411 target 'self' 1412 wait 200 1413 1414 endif 1415 1416 endwhile1417 1418#********** AUTO-MAGERY BUFFS IF NEEDED ********** 1419 1420 if enemyFound = 0 or autoRecall = 01421 if magicReflect = 1 and skill 'magery' >= 70 and not findbuff "Magic Reflection" and mana >= miniumManaToBuff and diffhits < lowDiff1422 if timer magicReflectTimer > magicReflectCD1423 cast 'Magic Reflection'1424 while not casting and diffhits < lowDiff 1425 getlabel backpack xxx1426 wait 2001427 if insysmsg "that spell will not" or insysmsg "that spell is already"1428 settimer magicReflectTimer 01429 break 1430 endif1431 if targetexists1432 hotkey 'cancel current target'1433 endif1434 cast 'Magic Reflection'1435 endwhile 1436 1437 while casting and diffhits < highDiff 1438 1439 #--- Poisoned ---#1440 1441 if 1 = drinkCure1442 while poisoned1443 if findtype "Orange Potion" self1444 dclicktype "Orange Potion"1445 wait 2001446 else1447 if timer orangeMessageTimer > orangeMessageCD1448 overhead "Out of cure pots" 341449 settimer orangeMessageTimer 01450 break1451 endif1452 1453 endif1454 endwhile1455 endif 1456 1457 #--- Drink Heal Pot ---#1458 1459 if diffhits >= highDiff and 1 = drinkHeal1460 if findtype "Yellow Potion" self as hPot1461 getlabel hPot potLabel1462 if "next" in potLabel1463 #do nothing1464 else1465 @setvar! ch 01466 1467 if counttype 3852 self as c1468 @setvar! ch c1469 endif1470 clearsysmsg 1471 1472 dclicktype 38521473 getlabel backpack xxx1474 wait 2001475 1476 if ch != counttype 3852 self or insysmsg "potion satchel used"1477 cooldown "Heal Pot" healingPotCD1478 endif1479 endif1480 else1481 if timer yellowMessageTimer > yellowMessageCD1482 overhead "Out of heals pots" 341483 settimer yellowMessageTimer 01484 endif1485 endif1486 endif1487 1488 endwhile1489 wait 200 1490 endif 1491 endif1492 1493 if armorReflect = 1 and skill 'magery' >= 30 and not findbuff "Reactive Armor" and mana >= miniumManaToBuff and diffhits < lowDiff1494 if timer magicReflectTimer > magicReflectCD1495 cast 'Reactive Armor'1496 while not casting and diffhits < highDiff 1497 getlabel backpack xxx1498 wait 2001499 if insysmsg "that spell will not" or insysmsg "that spell is already"1500 settimer armorReflectTimer 01501 break 1502 endif1503 if targetexists1504 hotkey 'cancel current target'1505 endif1506 cast 'Reactive Armor'1507 endwhile 1508 1509 while casting and diffhits < lowDiff 1510 endwhile1511 wait 200 1512 endif 1513 endif 1514 1515 if protectionSpell = 1 and skill 'magery' >= 40 and not findbuff "Protection" and mana >= miniumManaToBuff and diffhits < lowDiff1516 cast 'Protection'1517 while not casting and diffhits < highDiff 1518 if targetexists1519 hotkey 'cancel current target'1520 endif1521 cast 'Protection'1522 endwhile 1523 while casting and diffhits < lowDiff 1524 endwhile1525 wait 200 1526 endif 1527 1528 if bless = 1 and skill 'magery' >= 50 and not findbuff "Cunning" and mana >= miniumManaToBuff and diffhits < lowDiff1529 sysmsg 'blessing..'1530 cast 'Bless' 1531 while not casting and diffhits < highDiff 1532 if targetexists1533 hotkey 'cancel current target'1534 endif1535 cast 'Bless'1536 wait 501537 endwhile 1538 1539 while not targetexists and casting1540 endwhile1541 1542 waitfortarget maxwaittimeinms1543 target 'self' 1544 wait 200 1545 endif 1546 endif1547 1548#********** CHECK FOR WOODEN BOX & CAST SUMMONS ********** 1549 1550 if not findtype "wooden box" backpack or not findtype "copper key" backpack1551 overhead "Need 1 wooden box and 1 copper key to begin!" 331552 wait maxwaittimeinms 1553 elseif counttype 2474 backpack > 1 or counttype 4110 backpack > 1 1554 overhead "You have more than 2 wooden boxes or more than 2 copper keys" 331555 wait maxwaittimeinms 1556 elseif findtype "wooden box" backpack as chest and findtype "copper key" backpack as key and 0 = isRecalling1557 getlabel chest chestLabel1558 if "items" in chestLabel1559 dclick key1560 waitfortarget maxwaittimeinms1561 target chest1562 wait maxwaittimeinms1563 overhead "[chest locked]" 551564 endif1565 1566 #Check if we want to cast1567 if enemyFound = 0 or autoRecall = 01568 #Summon elemental if counters goes below min followers1569 1570 if followers < 4 and followers < maxFollowers and skill 'magery' >= 80 and diffhits < lowDiff and 0 = isRecalling1571 1572 if mana <= 49 1573 overhead "low mana to summon" 891574 else 1575 cast 'Water Elemental'1576 1577 getlabel backpack XXX1578 wait 2001579 1580 while casting1581 if enemyFound = 01582 if insysmsg! "Now tracking" or insysmsg! "Distance to"1583 @setvar! enemyFound 11584 endif1585 endif1586 1587 if autoRecall = 1 and enemyFound = 1 or cooldown 'Danger' > 01588 @setvar! isRecalling 11589 interrupt1590 break1591 endif1592 1593 if diffhits >= lowDiff1594 interrupt1595 break1596 endif1597 1598 if timer summonTimer > summonCD1599 overhead "* summoning... *"1600 settimer summonTimer 01601 endif1602 endwhile1603 wait 10001604 say 'all guard me' 9011605 endif1606 endif1607 endif1608 1609 #********** IF OVERWEIGHT AUTO-DETECT PACK HORSE/LLAMA AND MOVE ORE TO PACK ********** 1610 1611 if findtype 291|292 ground -1 -1 12 as pack1612 if myPack = 0 and noto pack = "friend"1613 @setvar! myPack pack1614 endif 1615 endif1616 1617 if diffweight <= myWeightDiff or weight > maxweight1618 @setvar! isOverweight 11619 if timer overweightTimer > overweightCD1620 overhead '[Overweight Reached]' 44 1621 settimer overweightTimer 01622 endif1623 else 1624 @setvar! isOverweight 01625 endif1626 1627 if find myPack ground -1 -1 12 and 1 = isOverweight1628 1629 while findtype "iron ore" backpack any any 1 as ore and diffhits < lowDiff and 0 = isRecalling 1630 1631 if enemyFound = 01632 if insysmsg! "Now tracking" or insysmsg! "Distance to"1633 @setvar! enemyFound 11634 endif1635 endif1636 1637 if autoRecall = 1 and enemyFound = 1 or cooldown 'Danger' > 01638 @setvar! isRecalling 11639 break1640 endif 1641 1642 if find myPack ground -1 -1 21643 dclick myPack1644 wait 2001645 if counttype "iron ore" myPack >= 9751646 overhead "* packy is full *" 341647 sysmsg "* auto recalling packy is full *" 341648 @setvar! enemyFound 11649 @setvar! autoRecall 1 1650 elseif counttype "iron ore" myPack >= 900 1651 lift ore 251652 drop myPack 1653 getlabel myPack testyL1654 sysmsg '{{testyL}}'1655 overhead "* dropping ore in pack *" 541656 wait 650 1657 else 1658 lift ore 501659 drop myPack 1660 getlabel myPack testyL1661 sysmsg '{{testyL}}'1662 overhead "* dropping ore in pack *" 541663 wait 650 1664 endif 1665 else 1666 overhead "* move closer to pack *" 441667 wait 650 1668 endif1669 1670 endwhile 1671 1672 getlabel myPack packLabel1673 1674 overhead "{{packLabel}}" 88 myPack1675 sysmsg "{{packLabel}}" 88 myPack1676 1677 endif1678 1679 1680#********** BEGIN HARVESTING ********** 1681 1682 while lhandempty and rhandempty and 0 = isRecalling1683 1684 if enemyFound = 01685 if insysmsg! "Now tracking" or insysmsg! "Distance to"1686 @setvar! enemyFound 11687 endif1688 endif1689 1690 if autoRecall = 1 and enemyFound = 1 or cooldown 'Danger' > 01691 @setvar! isRecalling 11692 break1693 endif 1694 1695 if not findtype myHarvestingTool backpack1696 overhead "Out of pickaxes!" 361697 wait maxwaittimeinms1698 elseif not casting 1699 dclicktype myHarvestingTool1700 wait maxwaittimeinms1701 endif1702 endwhile1703 1704 if 0 = isOverweight and 0 = isRecalling1705 hotkey 'Use Item In Hand'1706 1707 settimer mineTimer 01708 1709 while timer mineTimer < mineTimerCD and diffhits < lowDiff1710 if enemyFound = 01711 if insysmsg! "Now tracking" or insysmsg! "Distance to"1712 @setvar! enemyFound 11713 endif1714 endif1715 1716 if autoRecall = 1 and enemyFound = 1 or cooldown 'Danger' > 01717 @setvar! isRecalling 11718 break1719 endif 1720 endwhile1721 1722 getlabel backpack xxx1723 wait 200 1724 1725 if insysmsg "you do not see any"1726 overhead "* no more ore to mine*" 44 1727 elseif insysmsg "you have recently traveled"1728 overhead "* travel cooldown *" 9011729 else1730 overhead "* mining ore *" 11 1731 endif 1732 endif1733 1734#********** SECURING INGOTS in LOCKED WOODEN BOX IF FOUND IN BACKPACK ********** 1735 1736 while findtype 7154 backpack any any 1 as ingotz and diffhits < lowDiff and 0 = isRecalling1737 1738 if enemyFound = 01739 if insysmsg! "Now tracking" or insysmsg! "Distance to"1740 @setvar! enemyFound 11741 endif1742 endif1743 1744 if autoRecall = 1 and enemyFound = 1 or cooldown 'Danger' > 01745 @setvar! isRecalling 11746 break1747 endif 1748 1749 overhead "* securing ingots *" 111750 clearsysmsg 1751 wait 2001752 lift ingotz 99991753 drop chest -1 -1 01754 1755 getlabel backpack xxx1756 wait 6501757 1758 if insysmsg "it appears"1759 overhead "[unlocking chest]" 441760 dclick key1761 waitfortarget 10001762 target chest1763 wait 6501764 endif1765 endwhile1766 1767 getlabel chest chestLabel1768 if "items" in chestLabel1769 dclick key1770 waitfortarget 10001771 target chest1772 overhead "[chest closed]" 541773 endif1774 1775#********** AUTO-DETECT NEARBY FORGES AND AUTO SMELT ORE FROM BACKPACK AND PACK HORSE/LLAMA ********** 1776 1777 if findtype "forge" ground -1 -1 3 as forgy and 0 = isRecalling1778 overhead " * FORGE NEAR HERE *" 88 forgy 1779 while find forgy ground -1 -1 3 and findtype "iron ore" backpack as ore1780 1781 if enemyFound = 01782 if insysmsg! "Now tracking" or insysmsg! "Distance to"1783 @setvar! enemyFound 11784 endif1785 endif1786 1787 if autoRecall = 1 and enemyFound = 1 or cooldown 'Danger' > 01788 @setvar! isRecalling 11789 break1790 endif 1791 1792 dclick ore1793 getlabel backpack xxx1794 wait 6501795 if insysmsg "you smelt"1796 overhead "* backpack ore smelted *" 881797 elseif insysmsg "You do not see any nearby forges"1798 overhead "* forge too far away *" 441799 endif 1800 endwhile1801 1802 if find myPack ground -1 -1 21803 getlabel myPack packLabel1804 1805 if "[0/2000" in packLabel1806 #pack is empty1807 else 1808 dclick myPack1809 wait 6501810 1811 while find forgy ground -1 -1 3 and findtype "iron ore" myPack as ore1812 if enemyFound = 01813 if insysmsg! "Now tracking" or insysmsg! "Distance to"1814 @setvar! enemyFound 11815 endif1816 endif1817 1818 if autoRecall = 1 and enemyFound = 1 or cooldown 'Danger' > 01819 @setvar! isRecalling 11820 interrupt1821 break1822 endif1823 1824 dclick ore1825 getlabel backpack xxx1826 wait 6501827 if insysmsg "you smelt"1828 overhead "* pack ore smelted *" 881829 getlabel myPack packLabel1830 overhead "{{packLabel}}" 111831 sysmsg "{{packLabel}}" 111832 elseif insysmsg "you do not see" 1833 overhead "* pack too far smelt *" 44 myPack1834 endif 1835 endwhile1836 1837 endif1838 endif1839 1840 elseif findtype "forge" ground -1 -1 4 as forgy1841 overhead " * FORGE HERE *" 88 forgy 1842 elseif findtype "forge" ground -1 -1 6 as forgy1843 overhead " * FORGE HERE *" 88 forgy 1844 elseif findtype "forge" ground -1 -1 8 as forgy1845 overhead " * FORGE HERE *" 88 forgy 1846 elseif findtype "forge" ground -1 -1 10 as forgy1847 overhead " * FORGE HERE *" 88 forgy 1848 elseif findtype "forge" ground -1 -1 12 as forgy1849 overhead " * FORGE HERE *" 88 forgy 1850 endif1851 1852 endif1853 1854 #sysmsg "Loop cycle elapsed : {{cycleTimer}}"1855endwhile