Skip to content
Outlands Hub

Razor script

SUPER-Auto healing

by dennozz · 724 lines
Download

Compatibility unverified

This community Razor script has not been tested in game by the Hub. Read its setup and client requirements before use.

SUPER Auto-healer ver.5.03

HealingHealing
SUPER-Auto healing.razor
1# This is an automated backup - check out https://outlands.uorazorscripts.com/script/74b85343-8203-4bb8-aff5-6fdab66783e7 for latest2# Automation by Jaseowns3## Script: SUPER-Auto healing4## Created by: dennozz#05#############################################6 7#SUPER Auto-healer ver.5.038 9#********** INFORMATION **********# 10 11#Made by @dennozz on discord. 12#Inspired/learned by other scrips in https://outlands.uorazorscripts.com/13 14# **If you like my work and wish to buy me a coffee: https://buymeacoffee.com/dennoz** #15 16# Information : This is a script to auto heal you using Magery, Chivarly, Potions, Bandages and magery buffs17 18# Updates19#Ver 5.01 - Fixes and improvements20#Ver 4.09 - Fixed bug for dropping the gold when max weight21#Ver 4.08 - Added the use of cure potion when bleed or disease using ability Panacea from alchemy codex22#Ver 4.00 - Restructured code and changed variables to make it more friendly to adjust the hit points differences for healing trigger23 24 25#********** SET YOUR SETTINGS **********# 26 27#--- Set Mage auto heals ---#28 29@setvar! miniHeal 130@setvar! greaterHeal 131@setvar! cureSpell 132 33#--- Set Mage Buffs ---#34 35@setvar! magicReflect 136@setvar! blessSpell 137@setvar! armorReflect 138@setvar! protectionSpell 139 40@setvar! miniumManaToBuff 5041 42#--- Set Chivarly auto heals ---#43 44@setvar! nobleSacrifice 145@setvar! holyLight 146 47@setvar! nobleSacrificeDiff 8048@setvar! holyLightDiff 6049 50#--- Set potions ---#51 52@setvar! drinkStr 153@setvar! strengthLowerThan 10154 55@setvar! drinkAgility 156@setvar! drinkMagicResist 157@setvar! drinkHeal 158@setvar! drinkCure 159 60@setvar! drinkRefresh 161@setvar! staminaLowerThan 9062 63#--- Alchemy Codex ---#64 65@setvar! panaceaAbility 166 67#--- Auto healing hp diffs ---#68#--- All variables refer to hit points differences ---#69#--- When below certain hit points it will trigger ---#70 71@setvar! activateAutoHealDiff 172 73@setvar! startCastMiniHealDiff 974@setvar! endCastMiniHealDiff 2175 76@setvar! castEmergencyMiniHealDiff 7277 78@setvar! startCastGreaterHealDiff endCastMiniHealDiff79@setvar! endCastGreaterHealDiff 20080 81@setvar! drinkHealPotDiff 3582 83@setvar! interruptCastingBuffsDiff 4084 85#--- Set mushrooms ---#86 87@setvar! mushroomCount 388@setvar! eatMushWhenManaLowerThan 5089l90@setvar! mushroomTimerCD 6000091 92#--- Drop Gold When Overweight ---#93 94@setvar! amountOfGoldToDrop 50095 96@setvar! lowManaWarningMessageWhenBelow 1197 98#********** DO NOT EDIT UNLESS YOU KNOW WHAT YOU ARE DOING  **********   99 100@setvar! holyPoints 0101 102@setvar! nobleCD 30000103settimer nobleTimer nobleCD104 105@setvar! nobleMessageCD 500106settimer nobleMessageTimer nobleMessageCD107 108@setvar! holyLightCD 30000109settimer holyLightTimer holyLightCD110 111@setvar! maxwaittimeinms 650112 113#--- Script msgs timers ---#114 115@setvar! autoHealMessageCD 4500116settimer autoHealMessageTimer 0117 118@setvar! guardMessageCD 5500119settimer guardMessageTimer guardMessageCD120 121@setvar! manaMessageCD 2222122settimer manaMessageTimer manaMessageCD123 124@setvar! overweightMessageCD 3000125settimer overweightMessageTimer overweightMessageCD126 127#--- Resources timers ---#128 129@setvar! pouchMessageCD 5000130settimer pouchMessageTimer pouchMessageCD131 132@setvar! aidsMessageCD 4000133settimer aidsMessageTimer aidsMessageCD134 135@setvar! whiteMessageCD 3000136settimer whiteMessageTimer whiteMessageCD137 138@setvar! blueMessageCD 3000139settimer blueMessageTimer blueMessageCD140 141@setvar! blackMessageCD 2500142settimer blackMessageTimer blackMessageCD143 144@setvar! orangeMessageCD 2000145settimer orangeMessageTimer orangeMessageCD146 147@setvar! yellowMessageCD 1500148settimer yellowMessageTimer yellowMessageCD149 150@setvar! redMessageCD 1000151settimer redMessageTimer redMessageCD152 153@setvar! foodMessageCD 3333154settimer foodMessageTimer foodMessageCD155 156#--- Magery buffs timers ---#157 158@setvar! magicReflectCD 15000159settimer magicReflectTimer 15000160 161@setvar! armorReflectCD 15000162settimer armorReflectTimer 15000163 164@setvar! protectionCD 15000165settimer protectionTimer 15000166 167overhead "Auto Healing Activated" 66168 169if nobleSacrifice = 1 or holyLight = 1170    if findtype 'paladin spellbook' backpack171        yell '[chivalryhotbar'172        while not gumpexists 1387930325173            yell '[chivalryhotbar'174            waitforgump 1387930325 maxwaittimeinms175        endwhile176    endif177endif178    179while not dead180 181    if timer autoHealMessageTimer > autoHealMessageCD182        overhead "* auto-healing *" 90183        settimer autoHealMessageTimer 0184    endif185    186    if not findbuff "food" 187        if findtype "tray" backpack as fody    188            dclick fody189            wait 200190        else 191            if timer foodMessageTimer > foodMessageCD192                overhead "No food found!" 34193                settimer foodMessageTimer 0194            endif195        endif196    endif197    198    if weight > maxweight199        if timer overweightMessageTimer > overweightMessageCD200            overhead "Overweight !!" 34201            settimer overweightMessageTimer 0202        endif203        204        if 0 != amountOfGoldToDrop205            while weight > maxweight206                if findtype "gold coin" backpack as item207                    lift item amountOfGoldToDrop208                    droprelloc 0 0209                    getlabel backpack xxx210                    wait 200211                    if insysmsg "cannot drop anything"212                        drop backpack -1 -1 -1213                    endif214                    wait maxwaittimeinms215                    overhead "* Gold Dropped *" 55216                endif217            endwhile            218        endif219    endif220 221    if findbuff "Noble Sacrifice" and timer nobleMessageTimer > nobleMessageCD222        sysmsg "Healing Restricted" 34223        overhead "Healing Restricted" 34 224        settimer nobleMessageTimer 0225    endif226    227    if panaceaAbility = 1228        if findbuff "bleed" or findbuff "diseased"229            if not findbuff "panacea potion cooldown"230                if findtype "Orange Potion" self231                    dclicktype "Orange Potion"232                    wait 200233                    if findbuff "panacea potion cooldown"234                        overhead "Panacea Activated!" 55235                        sysmsg "Panacea Activated!" 55236                    endif237                endif 238            endif239        endif240    endif241     242    #--- Trapped ---#243    244    if paralyzed 245        if findtype "pouch" backpack 38 246            yell "[pouch"            247            wait 200248        else249            if timer pouchMessageTimer > pouchMessageCD250                overhead "Out of Pouches!" 34251                settimer pouchMessageTimer 0252            endif253        endif254    endif255        256    #--- Self bandage ---#257    258    if diffhits >= 1 and not bandaging and not findbuff "Noble Sacrifice"259        if skill 'healing' >= 50 or skill "veterinary" >= 50260            if findtype 'clean bandage%s%' backpack261            262                if targetexists263                    hotkey 'cancel current target'  264                endif265                dclicktype 'clean bandage%s%'266                sysmsg "bandaged" 22267                waitfortarget maxwaittimeinms268                target 'self'269                wait 200            270            else271                if timer aidsMessageTimer > aidsMessageCD272                    overhead "Out of bandages" 34273                    settimer aidsMessageTimer 0274                endif275            endif276        endif277    endif278    279    #--- Drink str pot ---#280    if drinkStr = 1 and str < strengthLowerThan281        282        if not findbuff "Strength" 283            if findtype "White Potion" self284                dclicktype "White Potion"285                sysmsg "strength pot" 1286                wait 200287            else288                if timer whiteMessageTimer > whiteMessageCD289                    overhead "Out of str pots" 34290                    settimer whiteMessageTimer 0 291                endif292            endif293        endif294    endif295    296    #--- Drink agility pot ---#297    298    if drinkAgility = 1299        if not findbuff "Agility" 300            if findtype "Blue Potion" self301                dclicktype "Blue Potion"302                sysmsg "agility pot" 86303                wait 200304            else305                if timer blueMessageTimer > blueMessageCD306                    overhead "Out of agility pots" 34307                    settimer blueMessageTimer 0 308                endif309            endif310        endif311    endif312        313    #--- Drink magic resist pot ---#314 315    if drinkMagicResist = 1316        if not findbuff "Magic Resist" 317            if findtype "Black Potion" self318                dclicktype "Black Potion"319                sysmsg "magic resist pot" 111320                wait 200321            else322                if timer blackMessageTimer > blackMessageCD323                    overhead "Out of resist pots" 34324                    settimer blackMessageTimer 0325                endif326            endif327        endif328    endif329        330    #--- Poisoned ---#331    332    if 1 = drinkCure or 1 = cureSpell333        while poisoned334            if findtype "Orange Potion" self335                336                dclicktype "Orange Potion"337                sysmsg "cure pot" 44338                wait 200339            else340                if timer orangeMessageTimer > orangeMessageCD341                    overhead "Out of cure pots" 34342                    settimer orangeMessageTimer 0343                endif344                345                if diffhits >= 30 or not findtype 3972 self or not findtype 3973 self346                    break347                endif348                349                if skill 'magery' >= 40 and mana >= 6 and 1 = cureSpell and not casting350                    cast 'cure'351                    wait 50352                    while not casting                   353                        if targetexists354                            hotkey 'cancel current target'355                        endif356                        cast 'cure'  357                        wait 50358                    endwhile  359                    while not targetexists and casting360                    endwhile361                    waitfortarget maxwaittimeinms362                    target 'self' 363                    wait 200364                else 365                    break366                endif367            endif368        endwhile369    endif370        371    #--- Drink Heal Pot ---#372    373    if diffhits >= drinkHealPotDiff and 1 = drinkHeal and not findbuff "Noble Sacrifice"374        if findtype "Yellow Potion" self as hPot375            getlabel hPot potLabel376            if "(" in potLabel377            else378                dclicktype 3852379                getlabel backpack xxx380                sysmsg "heal pot" 55381            endif382        else383            if timer yellowMessageTimer > yellowMessageCD384                overhead "Out of heals pots" 34385                settimer yellowMessageTimer 0386            endif387        endif388    endif389            390    #--- Drink red pot ---#391    392    if stam < staminaLowerThan and 1 = drinkRefresh and diffstam > 1393        if findtype "Red Potion" self394            dclicktype "Red Potion"395            sysmsg "refresh pot" 234396            wait 200397        else398            if timer redMessageTimer > redMessageCD399                overhead "Out of refresh pots" 34400                settimer redMessageTimer 0 401            endif402        endif403    endif404    405    #--- Cast Chivarly ---#406    407    @setvar! castingInterrupted 0408    409    if ingump "20/" 1387930325410        @setvar! holyPoints 20411    elseif ingump "19/" 1387930325412        @setvar! holyPoints 19413    elseif ingump "18/" 1387930325414        @setvar! holyPoints 18415    elseif ingump "17/" 1387930325416        @setvar! holyPoints 17417    elseif ingump "16/" 1387930325418        @setvar! holyPoints 16419    elseif ingump "15/" 1387930325420        @setvar! holyPoints 15421    elseif ingump "14/" 1387930325422        @setvar! holyPoints 14423    elseif ingump "13/" 1387930325424        @setvar! holyPoints 13425    elseif ingump "12/" 1387930325426        @setvar! holyPoints 12427    elseif ingump "11/" 1387930325428        @setvar! holyPoints 11429    elseif ingump "10/" 1387930325430        @setvar! holyPoints 10431    elseif ingump "9/" 1387930325432        @setvar! holyPoints 9433    elseif ingump "8/" 1387930325434        @setvar! holyPoints 8435    elseif ingump "7/" 1387930325436        @setvar! holyPoints 7437    elseif ingump "6/" 1387930325438        @setvar! holyPoints 6439    elseif ingump "5/" 1387930325440        @setvar! holyPoints 5441    elseif ingump "4/" 1387930325442        @setvar! holyPoints 4443    elseif ingump "3/" 1387930325444        @setvar! holyPoints 3445    elseif ingump "2/" 1387930325446        @setvar! holyPoints 2447    elseif ingump "1/" 1387930325448        @setvar! holyPoints 1449    else 450        @setvar holyPoints 0451    endif    452 453    if holyLight = 1 and 4 < holyPoints and timer holyLightTimer > holyLightCD and not findbuff "Noble Sacrifice" and skill 'chivalry' >= 95 and skill 'tactics' >= 95 and diffhits >= holyLightDiff454        @setvar! castingInterrupted 0455        456        if insysmsg "holy symbols remaining"457        endif458        if insysmsg "seconds before you may use that ability again."459        endif460 461        while not insysmsg "holy symbols remaining" and not dead462            sysmsg "holy light" 46463            hotkey 'holy light'464            getlabel backpack xxx465            wait 200466            if insysmsg "seconds before you may use that ability again."467                sysmsg "holylight on cooldown" 44468                @setvar! castingInterrupted 1469                break    470            endif471        endwhile472        473        if castingInterrupted = 0474            overhead '[>Holy Light<]' 46475            settimer holyLightTimer 0476        endif477        478    elseif nobleSacrifice = 1 and 3 < holyPoints and timer nobleTimer > nobleCD and skill 'chivalry' >= 80 and skill 'tactics' >= 80 and diffhits >= nobleSacrificeDiff479        @setvar! castingInterrupted 0480        481        if insysmsg "holy symbols remaining"482        endif483        if insysmsg "seconds before you may use that ability again."484        endif485 486        while not insysmsg "holy symbols remaining" and not insysmsg "whom do you wish to heal" and not dead487            sysmsg "noble sacrifice" 46488            hotkey 'noble sacrifice'489            getlabel backpack xxx490            wait 200491            if insysmsg "seconds before you may use that ability again."492                sysmsg "Noble Sacrifice on cooldown" 44493                @setvar! castingInterrupted 1494                break    495            endif496        endwhile497        498        if castingInterrupted = 0499            overhead '[>Noble Sacrifice<]' 48500            waitfortarget maxwaittimeinms501            target 'self'502            settimer nobleTimer 0503        endif504    endif505        506    #--- Cast heals ---#507    508    if skill 'magery' >= 40 and diffhits >= startCastMiniHealDiff and diffhits < endCastMiniHealDiff and mana >= 4 and miniHeal = 1 and not casting and not findbuff "Noble Sacrifice"509        if insysmsg "Your concentration is disturbed"510        endif  511        512        sysmsg "mini heal" 11513        cast 'heal'514        while not casting                   515            if targetexists516                hotkey 'cancel current target'517            endif518            cast 'heal'519        endwhile  520        521        while not targetexists522            if insysmsg "Your concentration is disturbed"523                interrupt524                @setvar! castingInterrupted 1525                break                526            endif527        endwhile528        529        if castingInterrupted = 0530            target 'self' 531        endif 532        533    elseif skill 'magery' >= 40 and diffhits >= castEmergencyMiniHealDiff and mana >= 4 and miniHeal = 1 and not casting and not findbuff "Noble Sacrifice"534        if insysmsg "Your concentration is disturbed"535        endif  536        sysmsg "mini heal" 11537        cast 'heal'538        while not casting                   539            if targetexists540                hotkey 'cancel current target'541            endif542            cast 'heal'543        endwhile  544        545        while not targetexists546            if insysmsg "Your concentration is disturbed"547                interrupt548                @setvar! castingInterrupted 1549                break                550            endif551        endwhile552        553        if castingInterrupted = 0554            target 'self' 555        endif 556        557    elseif skill 'magery' >= 60 and diffhits >= startCastGreaterHealDiff and diffhits < endCastGreaterHealDiff and mana >= 11 and greaterHeal = 1 and not casting and not findbuff "Noble Sacrifice"558        if insysmsg "Your concentration is disturbed"559        endif  560                    561        sysmsg "greater heal" 88562        cast 'greater heal'         563        while not casting                   564            if targetexists565                hotkey 'cancel current target'566            endif567            cast 'greater heal'568        endwhile  569        570        @settimer! spellTimer 0  571        @setvar! spellCD 800  572        573        while not targetexists574            if insysmsg "Your concentration is disturbed"575                interrupt576                @setvar! castingInterrupted 1577                break                578            endif 579            580            if timer spellTimer < spellCD581                #--- Poisoned ---#582                583                if 1 = drinkCure584                    while poisoned and casting and not targetexists 585                        if findtype "Orange Potion" self586                            dclicktype "Orange Potion"587                            sysmsg "cure pot" 44588                            wait 200589                        else590                            if timer orangeMessageTimer > orangeMessageCD591                                overhead "Out of cure pots" 34592                                settimer orangeMessageTimer 0593                            endif594                            break595                        endif596                    endwhile597                endif            598            599                #--- Drink Heal Pot ---#600                601                if diffhits >= drinkHealPotDiff and 1 = drinkHeal and casting and not targetexists and not findbuff "Noble Sacrifice"602                    if findtype "Yellow Potion" self as hPot603                        getlabel hPot potLabel604                        if "(" in potLabel605                        else606                            dclicktype 3852607                            sysmsg "heal pot" 55608                            getlabel backpack xxx609                        endif610                    else611                        if timer yellowMessageTimer > yellowMessageCD612                            overhead "Out of heals pots" 34613                            settimer yellowMessageTimer 0614                        endif615                    endif616                endif617            endif618        endwhile619        620        if castingInterrupted = 0621            target 'self' 622        endif 623    624    endif 625        626#********** AUTO-MAGERY BUFFS IF NEEDED **********          627    @setvar! castingInterrupted 0628    629    if magicReflect = 1 and skill 'magery' >= 70 and not findbuff "Magic Reflection" and mana >= miniumManaToBuff and diffhits < activateAutoHealDiff and timer magicReflectTimer > magicReflectCD and findtype 3972 self and findtype 3974 self and findtype 3981 self and not find currentTarget ground -1 -1 12630        if insysmsg "that spell will not"631        endif632        if insysmsg "that spell is already"633        endif634        sysmsg "magic reflect" 11635        cast 'Magic Reflection'636        while not casting 637            getlabel backpack xxx638            wait 200639            if insysmsg "that spell will not" or insysmsg "that spell is already"640                settimer magicReflectTimer 0641                break  642            endif643            if targetexists644                hotkey 'cancel current target'645            endif646            cast 'Magic Reflection'647        endwhile 648        649        while casting 650            if diffhits >= interruptCastingBuffsDiff or poisoned651                interrupt652                @setvar! castingInterrupted 1 653                break654            endif            655        endwhile656        wait 200  657  658    endif659    660    if armorReflect = 1 and skill 'magery' >= 30 and not findbuff "Reactive Armor" and mana >= miniumManaToBuff and diffhits < activateAutoHealDiff and timer armorReflectTimer > armorReflectCD and findtype 3980 self and findtype 3972 self and findtype 3981 self and not find currentTarget ground -1 -1 12661        if insysmsg "that spell will not"662        endif663        if insysmsg "that spell is already"664        endif665        sysmsg "reflect armor" 11666        cast 'Reactive Armor'667        while not casting   668            getlabel backpack xxx669            wait 200670            if insysmsg "that spell will not" or insysmsg "that spell is already"671                settimer armorReflectTimer 0672                break  673            endif674            if targetexists675                hotkey 'cancel current target'676            endif677            cast 'Reactive Armor'678        endwhile  679        680        while casting 681        endwhile682        getlabel backpack xxx683        wait 200  684    endif     685    686    if protectionSpell = 1 and skill 'magery' >= 40 and not findbuff "Protection" and mana >= miniumManaToBuff and diffhits < activateAutoHealDiff and findtype 3980 self and findtype 3972 self and findtype 3973 self and not find currentTarget ground -1 -1 12687        sysmsg "protect" 11688        cast 'Protection'689        while not casting690            if targetexists691                hotkey 'cancel current target'692            endif693            cast 'Protection'694        endwhile  695        while casting696        endwhile697        wait 200  698    endif 699    700    if blessSpell = 1 and skill 'magery' >= 50 and not findbuff "Cunning" and mana >= miniumManaToBuff and diffhits < activateAutoHealDiff and findtype 3972 self and findtype 3974 self and not find currentTarget ground -1 -1 12701        sysmsg "bless" 11702        cast 'Bless'         703        while not casting                  704            if targetexists705                hotkey 'cancel current target'706            endif707            cast 'Bless'708            wait 50709        endwhile  710        711        while not targetexists and casting712        endwhile713        714        waitfortarget maxwaittimeinms715        target 'self' 716        wait 200  717    endif 718    719    if mana < lowManaWarningMessageWhenBelow and timer manaMessageTimer > manaMessageCD720        overhead "Low mana warning" 34721        settimer manaMessageTimer 0722    endif723            724endwhile