Skip to content
Outlands Hub

Razor script

Mod: Auto tamer dexer with Disco Tamer

by daklue · 768 lines
Download

How Many Pets

TamingDiscordancePeacemaking
Mod Auto tamer dexer with Disco Tamer.razor
1# This is an automated backup - check out https://outlands.uorazorscripts.com/script/5d2ea942-da96-42f0-8d41-ec3bf1c338f2 for latest2# Automation by Jaseowns3## Script: Mod: Auto tamer dexer with Disco Tamer4## Created by: daklue#05#############################################6 7################################8###### How Many Pets9################10@setvar! totalPets 111 12################################13###### Adjust Variables14################15@setvar! requireWarModeToHealPets 016@setvar! ohCrapDrinkAHealthPotHpCheck 5017@setvar! bandageCheckTimerCd 500018@setvar! DiscoTimerCd 650019settimer DiscoTimer 020@setvar! GuardTimerCd 300021settimer GuardTimer 022################################23###### Potion Controllers24################25@setvar! automaticallyDrinkStrPot 026@setvar! automaticallyDrinkAgiPot 127@setvar! automaticallyDrinkMagicPot 128@setvar! automaticallyDrinkHealPot 129@setvar! automaticallyDrinkCurePot 130@setvar! automaticallyDrinkRefreshPot 131 32@setvar! hpCheckToTriggerHealPotion 4533@setvar! hpCheckToTriggerCurePotion 4534@setvar! stamDiffCheckToTriggerRedPotion 1035@setvar! HealTargetTimerCd 500036@setvar! drinkPotionsEvenIfInWarModeAndYouLoseHealth 137 38###########39# If shit is not working right, adjust this number to ping40#####41@setvar! minimumWaitForPing 20042@setvar! minimumWaitForPingUnequipping 65043@setvar! cdPreventChivAbilitySpam 75044@setvar! cdSkinningCheck 300045@setvar! cdPreventOverheadSpam 200046 47settimer bandageCheckTimer bandageCheckTimerCd48settimer preventOverheadSpamTimer cdPreventOverheadSpam49settimer preventChivAbilitySpamTimer cdPreventChivAbilitySpam50settimer sCheck 1200051 52@setvar! myRangeCheckForTarget 1053@setvar! myPreviousKillTarget 054 55#####56##  Skill Check Timer57####58@setvar! jaseowns_SkillTimerCD 1150059settimer jaseowns_SkillTimerCheck jaseowns_SkillTimerCD60 61#####62##  System Message Check Timer63####64@setvar! jaseowns_SystemMsgCheckCD 200065settimer jaseowns_SystemMsgCheck jaseowns_SystemMsgCheckCD66 67#####68##  Targeting Variables69####70@setvar! jaseowns_CurrentTargetFocus 071@setvar! jaseowns_LastFocusAggressionTarget 072@setvar! jaseowns_KillTarget 073 74# Pets75    if not varexist jaseowns_PetOne76        @setvar! jaseowns_PetOne 077    endif78    if not find jaseowns_PetOne ground -1 -1 2079        overhead "Select your main tank" 8880        @setvar! jaseowns_PetOne81        wait 20082    endif83    84    if totalPets = 2 or totalPets = 3 or totalPets = 4 or totalPets = 585        if not varexist myOtherPet186            @setvar! myOtherPet1 087        endif88        if not find myOtherPet1 ground -1 -1 2089            overhead "Select your non tank pet 1" 8890            @setvar! myOtherPet191            wait 20092        endif93    else94        @setvar! myOtherPet1 095    endif96    97    if totalPets = 3 or totalPets = 4 or totalPets = 598        if not varexist myOtherPet299            @setvar! myOtherPet2 0100        endif101        if not find myOtherPet2 ground -1 -1 20102            overhead "Select your non tank pet 2" 88103            @setvar! myOtherPet2104            wait 200105        endif106    else107        @setvar! myOtherPet2 0108    endif109    110    if totalPets = 4 or totalPets = 5111        if not varexist myOtherPet3112            @setvar! myOtherPet3 0113        endif114        if not find myOtherPet3 ground -1 -1 20115            overhead "Select your non tank pet 3" 88116            @setvar! myOtherPet3117            wait 200118        endif119    else120        @setvar! myOtherPet3 0121    endif122 123    if totalPets = 5124        if not varexist myOtherPet4125            @setvar! myOtherPet4 0126        endif127       if not find myOtherPet4 ground -1 -1 20128            overhead "Select your non tank pet 4" 88129            @setvar! myOtherPet4130            wait 200131        endif132    else133        @setvar! myOtherPet4 0134    endif135endif136 137if not timerexists bandageCheckTimer138    createtimer bandageCheckTimer139    settimer bandageCheckTimer bandageCheckTimerCd140endif141 142if not timerexists HealTargetTimer143    createtimer HealTargetTimer144    settimer HealTargetTimer HealTargetTimerCd145endif146 147 148clearsysmsg 149 150while not dead 151    152    if insysmsg 'world is saving'153        for 60154            overhead 'Waiting for world save...'155            wait 100156            if insysmsg 'save complete'157                overhead 'Save complete - continue on!' 88158                break159            endif160        endfor161    endif162    163        // Trapped164    if paralyzed 165        if findtype "pouch" backpack 38 166            yell "[pouch"167            wait minimumWaitForPing168        else169            overhead "Out of Pouches!" 34170        endif171    endif172 173    if findbuff "weaken" and weight > maxweight 174        if findtype "gold coin" backpack as item175            lift item 2000176            droprelloc 0 0177            wait minimumWaitForPing178            if insysmsg "cannot drop anything"179                drop backpack -1 -1 -1180            endif181            wait minimumWaitForPingUnequipping182        else183            overhead "We are overweight and cannot drop anything" 34184        endif185    endif186    187    ###############188    ### Pet Healing189    #############190    @setvar! canUseKit 1191    if requireWarModeToHealPets = 1 and not warmode 192        @setvar! canUseKit 0193    endif194    195    if not bandaging     196        if canUseKit = 1 and timer bandageCheckTimer > bandageCheckTimerCd197            if findtype "veterinary supplies" backpack as item198                dclick item199                wait 650200            endif201            settimer bandageCheckTimer 0202        else203            if hp < maxhp204        // we need to heal205                if findtype "veterinary supplies" backpack as item206                    dclick item207                    wait 650208                elseif not bandaging and findtype 'clean bandage%s%'209                    hotkey 'bandage self'210                endif211                212                if diffhits >= ohCrapDrinkAHealthPotHpCheck213                    if findtype "Yellow Potion" backpack as pot214                        dclick pot215                        wait 650216                    endif217                endif218            endif219            220            if not bandaging and findtype "clean bandage%s%" backpack as item221                dclick item222                wft 650223                target jaseowns_PetOne               224                overhead "Heal Target" 77 jaseowns_PetOne225                wait minimumWaitForPingUnequipping226            endif227            if myOtherPet1 != 0 and not bandaging and findtype "clean bandage%s%" backpack as item228                dclick item229                wft 650230                target myOtherPet1231                overhead "Heal Target" 66 myOtherPet1232                wait minimumWaitForPingUnequipping233            endif234            if myOtherPet2 != 0 and not bandaging and findtype "clean bandage%s%" backpack as item235                dclick item236                wft 650237                target myOtherPet2238                overhead "Heal Target" 55 myOtherPet2239                wait minimumWaitForPingUnequipping240            endif241            if myOtherPet3 != 0 and not bandaging and findtype "clean bandage%s%" backpack as item242                dclick item243                wft 650244                target myOtherPet3245                overhead "Heal Target" 44 myOtherPet3246                wait minimumWaitForPingUnequipping247            endif248            if myOtherPet4 != 0 and not bandaging and findtype "clean bandage%s%" backpack as item249                dclick item250                wft 650251                target myOtherPet4252                overhead "Heal Target" 33 myOtherPet4253                wait minimumWaitForPingUnequipping254            endif255        endif256    else257        settimer bandageCheckTimer 0258    endif259 260        261    ###############262    ### Potions263    #############264    if not findtype "White Potion" backpack265        @setvar! automaticallyDrinkStrPot 0266    endif267 268    if not findtype "Blue Potion" backpack269        @setvar! automaticallyDrinkAgiPot 0270    endif271 272    if not findtype "Black Potion" backpack273        @setvar! automaticallyDrinkMagicPot 0274    endif275 276    # Eat food if we got it277    if not findbuff "food" and findtype "tray" backpack as jood278        dclick jood279        wait minimumWaitForPing280    endif281 282    @setvar! needStrBuff 0283    @setvar! needDexBuff 0284    @setvar! needMagicBuff 0285    @setvar! needHealPot 0286    @setvar! needCurePot 0287    @setvar! needRefreshPot 0288 289    @setvar! drinkThosePots 0290 291    if targetInRange = 1 292       @setvar! drinkThosePots 1   293    elseif warmode and drinkPotionsEvenIfInWarModeAndYouLoseHealth = 1 and hp < maxhp294        @setvar! drinkThosePots 1   295    endif296 297    if automaticallyDrinkStrPot = 1 and drinkThosePots = 1 and not findbuff "Strength"298        @setvar! needStrBuff 1299    endif300 301    if automaticallyDrinkAgiPot = 1 and drinkThosePots = 1 and not findbuff "Agility"302        @setvar! needDexBuff 1 303    endif304 305    if automaticallyDrinkMagicPot = 1 and drinkThosePots = 1 and not findbuff "Magic Resist Potion"306        @setvar! needMagicBuff 1 307    endif308 309    if automaticallyDrinkHealPot = 1 and hp <= hpCheckToTriggerHealPotion310        @setvar! needHealPot 1 311    endif312 313    if automaticallyDrinkCurePot = 1 and poisoned and hp <= hpCheckToTriggerCurePotion314        @setvar! needCurePot 1 315    endif316 317    if automaticallyDrinkRefreshPot = 1 and diffstam >= stamDiffCheckToTriggerRedPotion318        @setvar! needRefreshPot 1 319    endif320 321    if needStrBuff = 1 and not findtype "White Potion" backpack322        @setvar! needStrBuff 0323    endif324 325    if needDexBuff = 1 and not findtype "Blue Potion" backpack326        @setvar! needDexBuff 0327    endif328 329    if needMagicBuff = 1 and not findtype "Black Potion" backpack330        @setvar! needMagicBuff 0331    endif332 333    if needHealPot = 1 and not findtype "Yellow Potion" backpack334        @setvar! needHealPot 0335    elseif needHealPot = 1 and findtype "Yellow Potion" backpack as item336        getlabel item healPotDesc337        if "next usable" in healPotDesc338            @setvar! needHealPot 0339        else340            @setvar! needHealPot 1341        endif342    endif343 344    if needCurePot = 1 and not findtype "Orange Potion" backpack345        @setvar! needCurePot 0346    endif347 348    if needRefreshPot = 1 and not findtype "Red Potion" backpack349        @setvar! needRefreshPot 0350    endif351 352    @setvar! jaseCanDrinkPotion 0353 354    if needStrBuff = 1 or needDexBuff = 1 or needMagicBuff = 1 or needHealPot = 1 or needCurePot = 1 or needRefreshPot = 1355 356        @setvar! jaseRightHand 0357        @setvar! jaseLeftHand 0358        @setvar! needTwoHandSwap 0359        @setvar! needShieldSwap 0360 361        if skill "Alchemy" >= 80362            @setvar! jaseCanDrinkPotion 1363        else364            if not findlayer self lefthand and not findlayer self righthand365                @setvar! jaseCanDrinkPotion 1366            else367                if findlayer self lefthand as myLefthand368                    @setvar! jaseLeftHand myLefthand369                endif370                if findlayer self righthand as myRightHand371                    @setvar! jaseRightHand myRightHand372                endif 373                if not lhandempty 374                    if not rhandempty 375                        @setvar! jaseCanDrinkPotion 0376                    else377                        // handle two handed weapons378                        getlabel jaseLeftHand desc379                        if skill "Swordsmanship" > 0380                           if "axe" in desc or "bardiche" in desc or "halberd" in desc381                                @setvar! jaseCanDrinkPotion 0382                                @setvar! needTwoHandSwap 1383                            else   384                                @setvar! jaseCanDrinkPotion 1385                            endif386                        elseif skill "Mace Fighting" > 0387                            if "staff" in desc or "crook" in desc or "war hammer" in desc388                                @setvar! jaseCanDrinkPotion 0389                                @setvar! needTwoHandSwap 1390                            else   391                                @setvar! jaseCanDrinkPotion 1392                            endif393                        elseif skill "Fencing" > 0394                            if "spear" in desc or "pitchfork" in desc395                                @setvar! jaseCanDrinkPotion 0396                                @setvar! needTwoHandSwap 1397                            else   398                                @setvar! jaseCanDrinkPotion 1399                            endif400                        elseif skill "Archery" > 0401                            if "bow" in desc or "heavy crossbow" in desc402                                @setvar! jaseCanDrinkPotion 0403                                @setvar! needTwoHandSwap 1404                            else   405                                @setvar! jaseCanDrinkPotion 1406                            endif407                        elseif skill "Wrestling" > 0408                            @setvar! jaseCanDrinkPotion 1409                        endif  410                    endif411                endif412                if not rhandempty 413                    if lhandempty 414                        @setvar! jaseCanDrinkPotion 1415                    else416                        @setvar! needShieldSwap 1417                    endif418                endif419            endif420        endif421 422        if jaseCanDrinkPotion = 1423            // do nothing424        else425            if needTwoHandSwap = 1426                if skill "Swordsmanship" > 0 and findtype "cutlass|broadsword|scimitar|viking sword|longsword|katana" backpack as item427                    dclick item428                    wait minimumWaitForPing429                elseif skill "Mace Fighting" > 0 and findtype "maul|war axe|war mace|mace|hammer pick|club" backpack as item430                    dclick item431                    wait minimumWaitForPing432                elseif skill "Fencing" > 0 and findtype "kryss|war fork" backpack as item433                    dclick item434                    wait minimumWaitForPing435                elseif skill "Archery" > 0 and findtype "crossbow" backpack as item436                    dclick item437                    wait minimumWaitForPing438                else439                    hotkey 'Arm/Disarm Left Hand'    440                    wait minimumWaitForPing441                endif442                @setvar! jaseCanDrinkPotion 1443            elseif needShieldSwap = 1444                overhead "we should be disarming left hand"445                while not lhandempty446                    hotkey 'Arm/Disarm Left Hand'447                    wait minimumWaitForPingUnequipping448                    while queued449                        wait 100450                    endwhile451                endwhile452                setvar! jaseCanDrinkPotion 1453            endif454        endif455 456        if jaseCanDrinkPotion = 1457            if needHealPot = 1458                if findtype "Yellow Potion" backpack as jotion459                    overhead "chug heal"460                    dclick jotion461                    wait minimumWaitForPing462                    cooldown "Yellow Potion" 10000463                else464                    overhead "No Heal potion found!" 34465                endif466            endif467            468            if needCurePot = 1469                if findtype "Orange Potion" backpack as jotion470                    overhead "chug cure"471                    dclick jotion472                    wait minimumWaitForPing473                else474                    overhead "No Cure potion found!" 34475                endif476            endif477            478                        479            if needDexBuff = 1480                if findtype "Blue Potion" backpack as jotion481                    overhead "chug"482                    dclick jotion483                    wait minimumWaitForPing484                else485                    overhead "No AGI potion found!" 34486                endif487            endif488            489            if automaticallyDrinkRefreshPot = 1 and diffstam >= stamDiffCheckToTriggerRedPotion490                @setvar! needRefreshPot 1 491            endif492        493            if needRefreshPot = 1494                if findtype "Red Potion" backpack as jotion495                    overhead "chug refresh"496                    dclick jotion497                    wait minimumWaitForPing498                else499                    overhead "No Refresh potion found!" 34500                endif501            endif502        503            if needStrBuff = 1504                if findtype "White Potion" backpack as jotion505                    overhead "chug"506                    dclick jotion507                    wait minimumWaitForPing508                else509                    overhead "No STR potion found!" 34510                endif511            endif512            513            if needMagicBuff = 1514                if findtype "Black Potion" backpack as jotion515                    overhead "chug"516                    dclick jotion517                    wait minimumWaitForPing518                else519                    overhead "No MR potion found!" 34520                endif521            endif522 523            if needTwoHandSwap = 1524                dclick jaseLeftHand525                wait minimumWaitForPing526            elseif needShieldSwap = 1527                hotkey 'Arm/Disarm Left Hand'528                wait minimumWaitForPingUnequipping529            endif530        endif531    endif532    533    534    ###############535    ### Self Healing536    #############537    if hp < maxhp538        // we need to heal539        if findtype "veterinary supplies" backpack as item540            dclick item541            wait 650542        elseif not bandaging and findtype 'clean bandage%s%'543            hotkey 'bandage self'544        endif545        546        if diffhits >= ohCrapDrinkAHealthPotHpCheck547            if findtype "Yellow Potion" backpack as pot548                dclick pot549                wait 650550            endif551        endif552    endif553    554    ###############555    ### Targeting (based on warmode on)556    #############557    if warmode 558        @setvar! myKillTarget 0559        @hotkey 'Target Closest Non-Friendly Monster'560        wait minimumWaitForPing561        if insysmsg "No one matching that was found"562            if timer preventOverheadSpamTimer >= cdPreventOverheadSpam563                overhead "No targets found" 34564                settimer preventOverheadSpamTimer 0565            endif566        else567            @setvar! myKillTarget lasttarget 568        endif    569        570        if not varexist autoAttack571            @setvar! autoAttack 1572        endif573        574        if myKillTarget != 0 and myPreviousKillTarget != myKillTarget575            getlabel myKillTarget mobDesc576            @setvar! myPreviousKillTarget myKillTarget577            if "(summoned" in mobDesc or "(bonded" in mobDesc or "(tame" in mobDesc578                overhead "� Player pet - IGNORE �" 77 lasttarget579                @setvar! autoAttack 0580                @setvar! myKillTarget 0581            else  582                @setvar! autoAttack 1583            endif    584        endif585        586        if myKillTarget = 0587            // do nothing588        elseif not find myKillTarget ground -1 -1 myRangeCheckForTarget589            if showTargetOverheadMessages = 1 and timer preventOverheadSpamTimer >= cdPreventOverheadSpam590                overhead "� � OUT OF RANGE � �" 88 lasttarget591                settimer preventOverheadSpamTimer 0592            endif593            if find myKillTarget ground -1 -1 8 and autoAttack = 1594                attack myKillTarget 595            endif596        elseif autoAttack = 1597            @setvar! targetInRange 1598            if showTargetOverheadMessages = 1 and timer preventOverheadSpamTimer >= cdPreventOverheadSpam599                overhead "� �� HERE �� �" 88 myKillTarget    600                settimer preventOverheadSpamTimer 0601            endif602            attack myKillTarget 603        endif604    endif605    606    if not timerexists GuardTimer607        createtimer GuardTimer608        settimer GuardTimer 0609    endif610    ###############611    ### Herding612    #############613    614        if myKillTarget != 0 and find myKillTarget ground -1 -1 12615        @setvar jaseowns_KillTarget myKillTarget616            if jaseowns_KillTarget != jaseowns_LastFocusAggressionTarget617                if find jaseowns_PetOne and timer GuardTimer > GuardTimerCd618                    if find jaseowns_PetOne619                        overhead "� Guarding �" 88 jaseowns_PetOne620                        if skill "Herding" > 0621                            menu jaseowns_PetOne 4622                            settimer GuardTimer 0623                        else624                            menu jaseowns_PetOne 3625                            settimer GuardTimer 0626                        endif627                    endif628                endif629        630                if timer jaseowns_SkillTimerCheck >= jaseowns_SkillTimerCD and findtype 3713 backpack as jrook631                settimer jaseowns_SystemMsgCheck 0632                while timer jaseowns_SystemMsgCheck <= jaseowns_SystemMsgCheckCD633                    if not targetexists634                        overhead "� � Attempting Herd � �" 88 jaseowns_KillTarget635                        dclick jrook636                        wft 500637                    else 638                        break639                    endif640                endwhile641                if insysmsg "What do you wish to focus your" and targetexists642                    target jaseowns_KillTarget643                    settimer jaseowns_SystemMsgCheck 0644                    while timer jaseowns_SystemMsgCheck <= jaseowns_SystemMsgCheckCD645                        if insysmsg "You focus your follower"646                            @setvar! jaseowns_LastFocusAggressionTarget jaseowns_KillTarget647                            break648                        elseif insysmsg "Target cannot be seen"649                            650                        endif651                    endwhile652                    if not targetexists 653                        settimer jaseowns_SkillTimerCheck 10000654                    endif655                endif656            endif657        endif658    else659        @setvar! jaseowns_LastFocusAggressionTarget 0660    endif661    662 663        664    ###############665    ### Discord666    #############667    668    if myKillTarget != 0 and find myKillTarget ground -1 -1 12 and skill 'Discordance' > 0669        useskill 'Discordance'670        wait 600671        if insysmsg "What instrument"672            if findtype "bamboo flute" backpack as inny673                target inny674            elseif findtype "tambourine" backpack as inny675                target inny676            elseif findtype "drum" backpack as inny677                target inny678            elseif findtype "lute" backpack as inny679                target inny680            elseif findtype "lap harp" backpack as inny681                target inny682            else683                overhead "I do not have an inny" 34684                wait 2000685                replay686            endif687            wait 600688            overhead "� �� HERE �� �" 88 myKillTarget    689            settimer preventOverheadSpamTimer 0690            target myKillTarget691        endif692    settimer "DiscoTimer" 0693    endif694    695   696    ###############697    ### Discord Buff698    #############699    if skill 'Discordance' > 0700        if not findbuff "song of discordance"701            overhead 'Discord Buff.'702            useskill 'Discordance'703            wait 600704            if insysmsg "what do you wish to discord"705                wait 600 706                target backpack707            elseif insysmsg "What instrument"708                    if findtype "bamboo flute" backpack as inny709                        target inny710                    elseif findtype "tambourine" backpack as inny711                        target inny712                    elseif findtype "drum" backpack as inny713                        target inny714                    elseif findtype "lute" backpack as inny715                        target inny716                    elseif findtype "lap harp" backpack as inny717                        target inny718                    else719                        overhead "I do not have an inny" 34720                        wait 2000721                        replay722                    endif   723            endif724        endif725    endif726    ###############727    ### Peacemaking Buff728    #############    729    if skill "Peacemaking" > 0730        if not findbuff "song of peacemaking"731            overhead 'Peace Buff.' 732            useskill 'Peacemaking'733            wft 600734            if insysmsg "what do you wish to Pacify"735            wait 600 736            target backpack737            elseif insysmsg "What instrument"738                if findtype "bamboo flute" backpack as inny739                    target inny740                elseif findtype "tambourine" backpack as inny741                    target inny742                elseif findtype "drum" backpack as inny743                    target inny744                elseif findtype "lute" backpack as inny745                    target inny746                elseif findtype "lap harp" backpack as inny747                    target inny748                else749                    overhead "I do not have an inny" 34750                    wait 2000751                    replay752                endif   753            endif754        endif755    endif756    757endwhile    758 759while dead 760    overhead "Rip" 34761    if gumpexists 2957810225762        gumpresponse 1 2957810225763        break764    endif        765    wait 500766endwhile767 768replay