02-18-2010, 12:43 PM
This macro will tame any stangs, horses, llamas, orns or zostriches within 4 tiles of your character, shrink them and when there is no more mounts to tame near you, it will hide. To tame any spawning mounts I recommend you herd the mount to go to tile you occupy and run this macro. The mount will circle around you until it's tamed.
If you are training taming, I suggest you buy many relatively hard to tame mounts and release them all to same tile in your house using another character (make sure you separate any aggressive mount from others though) and run this macro with plenty of shrink potions on you.
Happy taming
If you are training taming, I suggest you buy many relatively hard to tame mounts and release them all to same tile in your house using another character (make sure you separate any aggressive mount from others though) and run this macro with plenty of shrink potions on you.
Code:
; OzTaming
;
; Variables
; 1st 4 are stangs and horses, 5th is llama, 6th is Orn, 7th is Zos
set %Tamables QC_SG_OF_SF_EG_JG_KG
set %Specific #FALSE
set %SpecificTarget KPKI ; ID of a specific target
set %Status idle
set %DEBUG #TRUE
if ( %Specific )
set %Target %SpecificTarget
else
set %Target N/A
while #TRUE
{
set %jrnl #jindex
gosub TameAnimal
if ( %Status = Tamed )
gosub ShrinkIt
else
{
if ( %Specific )
set %Target %SpecificTarget
else
set %Target N/A
}
if ( #HITS < #MAXHITS )
halt
}
halt
sub TameAnimal
if ( %Target = N/A )
{
if ( %Specific )
event sysmessage ++ Specific ride tamed! Halting!
finditem %Tamables G_4
if #FINDCNT > 0
{
set %Target #FINDID
set #LTARGETKIND 1
}
else
{
event sysmessage ++ No more rides around to tame! Halting!
event macro 13 47
halt
}
}
if ! ( %Target = N/A )
{
set #LTARGETID %Target
event macro 13 35
target 60s
event macro 22
set %Status Taming
wait 1s
gosub ProcessResults
}
return
sub ShrinkIt
finditem ZUF C
if #FINDCNT > 0
{
set #LOBJECTID #FINDID
set #LTARGETID %Target
event macro 17 0
target 60s
event Macro 22 0
set %Target N/A
wait 1s
}
else
{
event sysmessage ++ Out of shrink potions! Halting!
halt
}
return
sub ProcessResults
while ( %Status = Taming )
{
if #jindex > %jrnl
{
set %jrnl %jrnl + 1
scanjournal %jrnl
if you_fail_to_tame in #journal
set %Status idle
if you_can't_tame_that in #journal
set %Status idle
if it_seems_to_accept_you in #journal
set %Status Tamed
if that_animal_looks_tame_already in #journal
{
if ( %Specific )
{
set %Status idle
wait 1s
}
else
set %Status Tamed
}
if you_are_preoccupied_by_thoughts_of_battle in #journal
gosub OutOfCombat
}
}
return
sub OutOfCombat
event macro 6 0
wait 1s
if ( G in #CHARSTATUS )
{
event macro 6 0
wait 1s
}
return
Happy taming