Auto taming training by dennozz
#Auto-taming 1.07
#********** INFORMATION **********#
#Made by @dennozz on discord.
#Inspired/learned by other scrips in https://outlands.uorazorscripts.com/
#AUTO Taming with auto healing tank and self. Also Auto release and kill (optional)
#********** SET YOUR SETTINGS **********#
#--- Taming ---#
#- Type >info and input your tank body ID here
@setvar! myTankBody 169
# 0 - Keep the pet
# 1 - Release and kill
@setvar! releaseAndKillTarget 0
#--- Set Mage auto heals ---#
@setvar! miniHeal 1
@setvar! greaterHeal 1
@setvar! cureSpell 1
#--- Set Mage Buffs ---#
@setvar! magicReflect 1
@setvar! bless 0
@setvar! armorReflect 1
@setvar! protectionSpell 0
@setvar! miniumManaToBuff 50
#--- Set Chivarly auto heals ---#
@setvar! nobleSacrifice 1
@setvar! holyLight 1
#--- Set potions ---#
@setvar! drinkStr 1
@setvar! drinkAgility 0
@setvar! drinkMagicResist 0
@setvar! drinkHeal 1
@setvar! drinkCure 1
@setvar! drinkRefresh 1
@setvar! strengthLowerThan 100
@setvar! staminaLowerThan 80
# Optional: Set healing pot cooldown
@setvar! healingPotCD 11000
#--- Auto healing hp diffs ---#
@setvar! lowDiff 20
@setvar! medDiff 30
@setvar! highDiff 50
@setvar! extremeDiff 60
@setvar! criticalDiff 75
#********** DO NOT EDIT FROM HERE UNLESS YOU KNOW HOW TO SCRIPT **********#
@setvar! myTamingTarget 0
@setvar! targetReleased 0
@setvar! holyPoints 0
@setvar nobleCD 5000
settimer nobleTimer nobleCD
@setvar! maxwaittimeinms 650
#--- Script msgs timers ---#
@setvar! autoHealMessageCD 4500
settimer autoHealMessageTimer 0
@setvar! guardMessageCD 5500
settimer guardMessageTimer guardMessageCD
#--- Resources timers ---#
@setvar! pouchMessageCD 5000
settimer pouchMessageTimer pouchMessageCD
@setvar! aidsMessageCD 4000
settimer aidsMessageTimer aidsMessageCD
@setvar! whiteMessageCD 3000
settimer whiteMessageTimer whiteMessageCD
@setvar! blueMessageCD 3000
settimer blueMessageTimer blueMessageCD
@setvar! blackMessageCD 2500
settimer blackMessageTimer blackMessageCD
@setvar! orangeMessageCD 2000
settimer orangeMessageTimer orangeMessageCD
@setvar! yellowMessageCD 1500
settimer yellowMessageTimer yellowMessageCD
@setvar! redMessageCD 1000
settimer redMessageTimer redMessageCD
#--- Magery buffs timers ---#
@setvar! magicReflectCD 15000
settimer magicReflectTimer 15000
@setvar! armorReflectCD 15000
settimer armorReflectTimer 15000
@setvar! protectionCD 15000
settimer protectionTimer 15000
if nobleSacrifice = 1 or holyLight = 1
if findtype 'paladin spellbook' backpack
yell '[chivalryhotbar'
while not gumpexists 1387930325
yell '[chivalryhotbar'
waitforgump 1387930325 maxwaittimeinms
endwhile
endif
endif
hotkey 'set last target'
while targetexists
endwhile
if not find lasttarget ground -1 -1 12
overhead 'No target nearby!' 34
else
@setvar! myTamingTarget lasttarget
if findtype myTankBody ground -1 -1 12 as tanky
@setvar! myTankBody tanky
say 'all kill'
waitfortarget 1000
target myTamingTarget
warmode on
warmode off
wait 3333
say 'all follow me'
else
sysmsg "No tank found!" 34
stop
endif
while not dead
if findtype 'clean bandage%s%' backpack
if not bandaging
dclicktype 3617
waitfortarget 1000
target myTankBody
wait 200
endif
else
if timer aidsMessageTimer > aidsMessageCD
overhead "Out of bandages" 34
settimer aidsMessageTimer 0
endif
endif
if not dead myTamingTarget and find myTamingTarget ground -1 -1 12 and 0 = targetReleased
skill 'taming'
waitfortarget 1000
target myTamingTarget
else
overhead "Taming Finished!" 88
stop
endif
if noto myTamingTarget = "friend"
if 1 = releaseAndKillTarget
menu myTamingTarget 9
waitforgump 2426193729
gumpresponse 1
say 'all kill'
waitfortarget 1000
target myTamingTarget
wait 200
attack myTamingTarget
@setvar! targetReleased 1
else
overhead "Taming Finished!" 88
stop
endif
endif
#********** AUTO-HEALING IF NEEDED **********
while diffhits >= lowDiff or paralyzed or poisoned
if timer autoHealMessageTimer > autoHealMessageCD
overhead "* auto-healing *" 11
settimer autoHealMessageTimer 0
endif
#--- Trapped ---#
if paralyzed
if findtype "pouch" backpack 38
yell "[pouch"
wait 200
else
if timer pouchMessageTimer > pouchMessageCD
overhead "Out of Pouches!" 34
settimer pouchMessageTimer 0
endif
endif
endif
#--- Self bandage ---#
if diffhits >= 1 and not bandaging
if skill 'healing' >= 50 or skill "veterinary" >= 50
if findtype 'veterinary supplies' backpack
dclicktype 25750
wait 200
elseif findtype 'clean bandage%s%' backpack
if targetexists
hotkey 'cancel current target'
endif
dclicktype 'clean bandage%s%'
waitfortarget maxwaittimeinms
target 'self'
wait 200
else
if timer aidsMessageTimer > aidsMessageCD
overhead "Out of bandages" 34
settimer aidsMessageTimer 0
endif
endif
endif
endif
#--- Drink str pot ---#
if drinkStr = 1 and str < strengthLowerThan
if not findbuff "Strength"
if findtype "White Potion" self
dclicktype "White Potion"
wait 200
else
if timer whiteMessageTimer > whiteMessageCD
overhead "Out of str pots" 34
settimer whiteMessageTimer 0
endif
endif
endif
endif
#--- Drink agility pot ---#
if drinkAgility = 1
if not findbuff "Agility"
if findtype "Blue Potion" self
dclicktype "Blue Potion"
wait 200
else
if timer blueMessageTimer > blueMessageCD
overhead "Out of agility pots" 34
settimer blueMessageTimer 0
endif
endif
endif
endif
#--- Drink magic resist pot ---#
if drinkMagicResist = 1
if not findbuff "Magic Resist"
if findtype "Black Potion" self
dclicktype "Black Potion"
wait 200
else
if timer blackMessageTimer > blackMessageCD
overhead "Out of resist pots" 34
settimer blackMessageTimer 0
endif
endif
endif
endif
#--- Poisoned ---#
if 1 = drinkCure or 1 = cureSpell
while poisoned
if findtype "Orange Potion" self
dclicktype "Orange Potion"
wait 200
else
if timer orangeMessageTimer > orangeMessageCD
overhead "Out of cure pots" 34
settimer orangeMessageTimer 0
endif
if diffhits > highDiff or not findtype 3972 self or not findtype 3973 self
break
endif
if skill 'magery' >= 40 and mana >= 6 and 1 = cureSpell and not casting
cast 'cure'
wait 50
while not casting
if targetexists
hotkey 'cancel current target'
endif
cast 'cure'
wait 50
endwhile
while not targetexists and casting
endwhile
waitfortarget maxwaittimeinms
target 'self'
wait 200
else
break
endif
endif
endwhile
endif
#--- Drink Heal Pot ---#
if diffhits >= highDiff and 1 = drinkHeal
if findtype "Yellow Potion" self as hPot
getlabel hPot potLabel
if "next" in potLabel
#do nothing
else
@setvar! ch 0
if counttype 3852 self as c
@setvar! ch c
endif
clearsysmsg
dclicktype 3852
getlabel backpack xxx
wait 200
if ch != counttype 3852 self or insysmsg "potion satchel used"
cooldown "Heal Pot" healingPotCD
endif
endif
else
if timer yellowMessageTimer > yellowMessageCD
overhead "Out of heals pots" 34
settimer yellowMessageTimer 0
endif
endif
endif
#--- Drink red pot ---#
if stam < staminaLowerThan and 1 = drinkRefresh
if findtype "Red Potion" self
dclicktype "Red Potion"
wait 200
else
if timer redMessageTimer > redMessageCD
overhead "Out of refresh pots" 34
settimer redMessageTimer 0
endif
endif
endif
#--- Cast Chivarly ---#
if ingump "20/" 1387930325
@setvar! holyPoints 20
elseif ingump "19/" 1387930325
@setvar! holyPoints 19
elseif ingump "18/" 1387930325
@setvar! holyPoints 18
elseif ingump "17/" 1387930325
@setvar! holyPoints 17
elseif ingump "16/" 1387930325
@setvar! holyPoints 16
elseif ingump "15/" 1387930325
@setvar! holyPoints 15
elseif ingump "14/" 1387930325
@setvar! holyPoints 14
elseif ingump "13/" 1387930325
@setvar! holyPoints 13
elseif ingump "12/" 1387930325
@setvar! holyPoints 12
elseif ingump "11/" 1387930325
@setvar! holyPoints 11
elseif ingump "10/" 1387930325
@setvar! holyPoints 10
elseif ingump "9/" 1387930325
@setvar! holyPoints 9
elseif ingump "8/" 1387930325
@setvar! holyPoints 8
elseif ingump "7/" 1387930325
@setvar! holyPoints 7
elseif ingump "6/" 1387930325
@setvar! holyPoints 6
elseif ingump "5/" 1387930325
@setvar! holyPoints 5
elseif ingump "4/" 1387930325
@setvar! holyPoints 4
elseif ingump "3/" 1387930325
@setvar! holyPoints 3
elseif ingump "2/" 1387930325
@setvar! holyPoints 2
elseif ingump "1/" 1387930325
@setvar! holyPoints 1
else
@setvar holyPoints 0
endif
if skill 'chivalry' >= 95 and diffhits >= extremeDiff and 1 = holyLight and 4 < holyPoints and timer nobleTimer > nobleCD
if targetexists
hotkey 'cancel current target'
endif
clearsysmsg
yell '[holylight'
wait 200
if insysmsg "Holy symbols"
overhead "[> Holy Light <]" 55
#Activate timer
endif
endif
if ingump "20/" 1387930325
@setvar! holyPoints 20
elseif ingump "19/" 1387930325
@setvar! holyPoints 19
elseif ingump "18/" 1387930325
@setvar! holyPoints 18
elseif ingump "17/" 1387930325
@setvar! holyPoints 17
elseif ingump "16/" 1387930325
@setvar! holyPoints 16
elseif ingump "15/" 1387930325
@setvar! holyPoints 15
elseif ingump "14/" 1387930325
@setvar! holyPoints 14
elseif ingump "13/" 1387930325
@setvar! holyPoints 13
elseif ingump "12/" 1387930325
@setvar! holyPoints 12
elseif ingump "11/" 1387930325
@setvar! holyPoints 11
elseif ingump "10/" 1387930325
@setvar! holyPoints 10
elseif ingump "9/" 1387930325
@setvar! holyPoints 9
elseif ingump "8/" 1387930325
@setvar! holyPoints 8
elseif ingump "7/" 1387930325
@setvar! holyPoints 7
elseif ingump "6/" 1387930325
@setvar! holyPoints 6
elseif ingump "5/" 1387930325
@setvar! holyPoints 5
elseif ingump "4/" 1387930325
@setvar! holyPoints 4
elseif ingump "3/" 1387930325
@setvar! holyPoints 3
elseif ingump "2/" 1387930325
@setvar! holyPoints 2
elseif ingump "1/" 1387930325
@setvar! holyPoints 1
else
@setvar holyPoints 0
endif
if skill 'chivalry' >= 80 and diffhits >= criticalDiff and 1 = nobleSacrifice and 3 < holyPoints
if targetexists
hotkey 'cancel current target'
endif
clearsysmsg
yell '[noblesacrifice'
wait 200
if targetexists
waitfortarget maxwaittimeinms
target 'self'
wait 200
if insysmsg "Holy symbols"
overhead "[> Noble Sacrifice <]" 55
settimer nobleTimer 0
endif
endif
endif
#--- Cast heals ---#
if skill 'magery' >= 40 and diffhits >= lowDiff and diffhits < medDiff and mana >= 4 and miniHeal = 1 and not casting
cast 'heal'
while not casting
if targetexists
hotkey 'cancel current target'
endif
cast 'heal'
endwhile
while not targetexists and casting
endwhile
waitfortarget maxwaittimeinms
target 'self'
wait 200
elseif skill 'magery' >= 60 and diffhits >= medDiff and diffhits <= highDiff mana >= 11 and greaterHeal = 1 and not casting
cast 'greater heal'
while not casting
if targetexists
hotkey 'cancel current target'
endif
cast 'greater heal'
endwhile
while not targetexists and casting
#--- Poisoned ---#
if 1 = drinkCure
while poisoned
if findtype "Orange Potion" self
dclicktype "Orange Potion"
wait 200
else
if timer orangeMessageTimer > orangeMessageCD
overhead "Out of cure pots" 34
settimer orangeMessageTimer 0
break
endif
endif
endwhile
endif
#--- Drink Heal Pot ---#
if diffhits >= highDiff and 1 = drinkHeal
if findtype "Yellow Potion" self as hPot
getlabel hPot potLabel
if "next" in potLabel
#do nothing
else
@setvar! ch 0
if counttype 3852 self as c
@setvar! ch c
endif
clearsysmsg
dclicktype 3852
getlabel backpack xxx
wait 200
if ch != counttype 3852 self or insysmsg "potion satchel used"
cooldown "Heal Pot" healingPotCD
endif
endif
else
if timer yellowMessageTimer > yellowMessageCD
overhead "Out of heals pots" 34
settimer yellowMessageTimer 0
endif
endif
endif
endwhile
waitfortarget maxwaittimeinms
target 'self'
wait 200
elseif skill 'magery' >= 40 and diffhits > highDiff and mana >= 4 and miniHeal = 1 and not casting
cast 'heal'
while not casting
if targetexists
hotkey 'cancel current target'
endif
cast 'heal'
endwhile
while not targetexists and casting
endwhile
waitfortarget maxwaittimeinms
target 'self'
wait 200
endif
endwhile
#********** AUTO-MAGERY BUFFS IF NEEDED **********
if magicReflect = 1 and skill 'magery' >= 70 and not findbuff "Magic Reflection" and mana >= miniumManaToBuff and diffhits < lowDiff
if timer magicReflectTimer > magicReflectCD
cast 'Magic Reflection'
while not casting and diffhits < lowDiff
getlabel backpack xxx
wait 200
if insysmsg "that spell will not" or insysmsg "that spell is already"
settimer magicReflectTimer 0
break
endif
if targetexists
hotkey 'cancel current target'
endif
cast 'Magic Reflection'
endwhile
while casting and diffhits < highDiff
#--- Poisoned ---#
if 1 = drinkCure
while poisoned
if findtype "Orange Potion" self
dclicktype "Orange Potion"
wait 200
else
if timer orangeMessageTimer > orangeMessageCD
overhead "Out of cure pots" 34
settimer orangeMessageTimer 0
break
endif
endif
endwhile
endif
#--- Drink Heal Pot ---#
if diffhits >= highDiff and 1 = drinkHeal
if findtype "Yellow Potion" self as hPot
getlabel hPot potLabel
if "next" in potLabel
#do nothing
else
@setvar! ch 0
if counttype 3852 self as c
@setvar! ch c
endif
clearsysmsg
dclicktype 3852
getlabel backpack xxx
wait 200
if ch != counttype 3852 self or insysmsg "potion satchel used"
cooldown "Heal Pot" healingPotCD
endif
endif
else
if timer yellowMessageTimer > yellowMessageCD
overhead "Out of heals pots" 34
settimer yellowMessageTimer 0
endif
endif
endif
endwhile
wait 200
endif
endif
if armorReflect = 1 and skill 'magery' >= 30 and not findbuff "Reactive Armor" and mana >= miniumManaToBuff and diffhits < lowDiff
if timer magicReflectTimer > magicReflectCD
cast 'Reactive Armor'
while not casting and diffhits < highDiff
getlabel backpack xxx
wait 200
if insysmsg "that spell will not" or insysmsg "that spell is already"
settimer armorReflectTimer 0
break
endif
if targetexists
hotkey 'cancel current target'
endif
cast 'Reactive Armor'
endwhile
while casting and diffhits < lowDiff
endwhile
wait 200
endif
endif
if protectionSpell = 1 and skill 'magery' >= 40 and not findbuff "Protection" and mana >= miniumManaToBuff and diffhits < lowDiff
cast 'Protection'
while not casting and diffhits < highDiff
if targetexists
hotkey 'cancel current target'
endif
cast 'Protection'
endwhile
while casting and diffhits < lowDiff
endwhile
wait 200
endif
if bless = 1 and skill 'magery' >= 50 and not findbuff "Cunning" and mana >= miniumManaToBuff and diffhits < lowDiff
sysmsg 'blessing..'
cast 'Bless'
while not casting and diffhits < highDiff
if targetexists
hotkey 'cancel current target'
endif
cast 'Bless'
wait 50
endwhile
while not targetexists and casting
endwhile
waitfortarget maxwaittimeinms
target 'self'
wait 200
endif
endwhile
endif