UOGamers Community

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

  • To obtain new Razor updates, please reinstall Razor from our new website.

My uosteam macro for training taming

Genorb

Wanderer
Hey all. I just made a script and thought some people might like to use it. Here's what it does:

1. Targets nearest animal from the list, runs to it, and attempts to tame it
2. Until success, it will constantly move you closer if the target begins moving away
3. Scans journal for 'You fail to tame' and instantly tries again when you fail
4. When you succeed, you kill it
5. Will run to next taming target and begin tamingwhile you kill off the previous one
6. Absolutely no pauses! It's blazing fast.

Added 3 options for attacking it, flamestriking it, and using another pet via all kill. Just uncomment the one you want to use and leave the other 2 commented. If you can't kill what you are taming with a weapon OR in one flamestrike, I'd advise using a beetle (or something even stronger) to kill them off. A beetle can kill all of the generally used training animals (wolves, ice isle, bulls) fairly quickly.

Works seamlessly when you loop it. It will tame and kill everything from the list like a machine until there's nothing left in the area. Assuming things are respawning fast enough, it can pretty much go forever. If nothing is nearby it will scan until something is and then... wait for it... tame it.

Please do hit me with some feedback if you try it out. Macro:

Code:
//Genorb's Tame & Kill 1.2
clearjournal
canceltarget
removetimer 'stuckalert'
@unsetalias 'tamingtarget'
//PUT "//" BEFORE THINGS YOU DON'T WANT TO TAME!
if not listexists 'tameables'
  createlist 'tameables'
  pushlist 'tameables' 0x7a //Unicorn
  pushlist 'tameables' 0x84 //Ki-Rin
  pushlist 'tameables' 0x7t //Hellcat (Large)
  pushlist 'tameables' 0x62 //Hellhound
  pushlist 'tameables' 0xbc //Savage Ridgeback
  pushlist 'tameables' 0xbb //Ridgeback
  pushlist 'tameables' 0x17 //Dire Wolf
  pushlist 'tameables' 0xce //Lava Lizard
  //  pushlist 'tameables' 0x14 //Frost spider
  pushlist 'tameables' 0xc9 //Hellcat (Small)
  //  pushlist 'tameables' 0xda //Frenzied Ostard
  pushlist 'tameables' 0x50 //Giant Toad
  pushlist 'tameables' 0xe8 //Bull
  pushlist 'tameables' 0xe9 //Bull2
  pushlist 'tameables' 0x22 //White Wolf
  pushlist 'tameables' 0x25 //White Wolf2
  //  pushlist 'tameables' 0x1c //Giant Spider
  pushlist 'tameables' 0xd4 //Grizzly Bear
  pushlist 'tameables' 0xea //Great Hart
  pushlist 'tameables' 0x41 //Snow leopard
  pushlist 'tameables' 0x40 //Snow leopard
  pushlist 'tameables' 0x19 //Gray wolf
  pushlist 'tameables' 0x1b //Gray wolf2
  //  pushlist 'tameables' 0x30 //Scorpion
  //  pushlist 'tameables' 0xca //Alligator
  pushlist 'tameables' 0x3f //Cougar
  pushlist 'tameables' 0xd6 //Panther
  pushlist 'tameables' 0xa7 //Brown Bear
  pushlist 'tameables' 0xdd //Walrus
  pushlist 'tameables' 0xd5 //Polar Bear
  pushlist 'tameables' 0xd3 //Black Bear
  //  pushlist 'tameables' 0xdc //Llama
  //  pushlist 'tameables' 0x124 //Pack Llama
  //  pushlist 'tameables' 0x123 //Pack Horse
  //  pushlist 'tameables' 0xc8 //Horse
  //  pushlist 'tameables' 0xe2 //Horse2
  //  pushlist 'tameables' 0xcc //Horse3
  //  pushlist 'tameables' 0xed //Giant Rat
  //  pushlist 'tameables' 0xdb //Forest Ostard
  //  pushlist 'tameables' 0xd2 //Desert Ostard
  pushlist 'tameables' 0x122 //Boar
  pushlist 'tameables' 0xe1 //Timber Wolf
  pushlist 'tameables' 0xed //Hind
  pushlist 'tameables' 0x51 //Bullfrog
endif

//Step 1: Scan for animals and initiate
while not @injournal 'You start to tame' and not @injournal 'This animal has had'
  while not @findalias 'tamingtarget'
    for 0 to 'tameables'
      // 'gray' 'innocent' 'any'
      if @findtype tameables[] 'any' 'world' 'closest'
        @setalias 'tamingtarget' 'found'
      endif
    endfor
  endwhile
  if not timerexists 'stuckalert'
    createtimer 'stuckalert'
  endif
  settimer 'stuckalert' 0
  while not @inrange 'tamingtarget' 1
    if @x 'tamingtarget' > x 'self' and @y 'tamingtarget' > y 'self'
      run 'Southeast'
    elseif @x 'tamingtarget' < x 'self' and @y 'tamingtarget' > y 'self'
      run 'Southwest'
    elseif @x 'tamingtarget' > x 'self' and @y 'tamingtarget' < y 'self'
      run 'Northeast'
    elseif @x 'tamingtarget' < x 'self' and @y 'tamingtarget' < y 'self'
      run 'Northwest'
    elseif @x 'tamingtarget' > x 'self' and @y 'tamingtarget' == y 'self'
      run 'East'
    elseif @x 'tamingtarget' < x 'self' and @y 'tamingtarget' == y 'self'
      run 'West'
    elseif @x 'tamingtarget' == x 'self' and @y 'tamingtarget' > y 'self'
      run 'South'
    elseif @x 'tamingtarget' == x 'self' and @y 'tamingtarget' < y 'self'
      run 'North'
    endif
    if timer 'stuckalert' > 20000 and not @injournal 'You start to tame'
      sysmsg 'CODE RED STUCK ON SOMETHING' 33
      headmsg 'MOVE ME TO THE TARGET, IDIOT' 33
      pause 2000
    endif
  endwhile
  if @injournal 'Someone else is already' or @injournal 'That animal looks tame'
    sysmsg 'Target is tamed or being tamed! Ignoring that one for now.' 33
    ignoreobject 'tamingtarget'
    @unsetalias 'tamingtarget'
    clearjournal
  endif
  useskill 'Animal Taming'
  waitingfortarget 2000
  autotargetobject 'tamingtarget'
  pause 500
endwhile

//Step 2:Tame until success
while not @injournal 'It seems to accept you' and not @injournal 'This animal has had'
if not @inrange 'tamingtarget' 1
  if @x 'tamingtarget' > x 'self' and @y 'tamingtarget' > y 'self'
    walk 'Southeast'
  elseif @x 'tamingtarget' < x 'self' and @y 'tamingtarget' > y 'self'
    walk 'Southwest'
  elseif @x 'tamingtarget' > x 'self' and @y 'tamingtarget' < y 'self'
    walk 'Northeast'
  elseif @x 'tamingtarget' < x 'self' and @y 'tamingtarget' < y 'self'
    walk 'Northwest'
  elseif @x 'tamingtarget' > x 'self' and @y 'tamingtarget' == y 'self'
    walk 'East'
  elseif @x 'tamingtarget' < x 'self' and @y 'tamingtarget' == y 'self'
    walk 'West'
  elseif @x 'tamingtarget' == x 'self' and @y 'tamingtarget' > y 'self'
    walk 'South'
  elseif @x 'tamingtarget' == x 'self' and @y 'tamingtarget' < y 'self'
    walk 'North'
  endif
endif
if @injournal 'You fail to tame'
  clearjournal
  useskill 'Animal Taming'
  waitingfortarget 2000
  autotargetobject 'tamingtarget'
  pause 500
endif
endwhile

//Step 3: Kill
msg 'all guard me'
msg 'all guard me'
//CHOOSE YOUR WEAPON!
//____Use Bushido wack____
//cast "Lightning Strike"
//attack 'tamingtarget'
//_____Use Magery Eval____
//cast 'Flamestrike"
//waitingfortarget 2000
//autotargetobject 'tamingtarget'
//____Use a bigger pet____
//msg 'all kill'
//waitingfortarget 2000
//autotargetobject 'tamingtarget'
//pause 100
msg 'all kill'
waitingfortarget 2000
autotargetobject 'tamingtarget'
clearignorelist
ignoreobject 'tamingtarget'
removetimer 'stuckalert'
 
Last edited:

april0395

Sorceror
If it's changed to innocent, will it run after players instead of they become closer than the unicorn/kirin?
 

Genorb

Wanderer
If it's changed to innocent, will it run after players instead of they become closer than the unicorn/kirin?

Yeah, it might try to tame them :S

I'm actually just started working on making the taming list version now. Once it's done that'll fix that issue.
 

Genorb

Wanderer
Just updated it to target a list of tameables instead of just using the nearest target. I'm editing the OP to the new version. Here's the old one in case anyone wants it for some reason:

Code:
//Genorb's Tame & Kill 1.0
clearjournal
canceltarget
while not @injournal 'You start to tame'
// Change to 'innocent' for blue creatures (kirin/unicorn)
@getenemy! 'grey' 'closest'
while not @inrange enemy 1
if @x enemy > x 'self' and @y enemy > y 'self'
run 'Southeast'
elseif @x enemy < x 'self' and @y enemy > y 'self'
run 'Southwest'
elseif @x enemy > x 'self' and @y enemy < y 'self'
run 'Northeast'
elseif @x enemy < x 'self' and @y enemy < y 'self'
run 'Northwest'
elseif @x enemy > x 'self' and @y enemy == y 'self'
run 'East'
elseif @x enemy < x 'self' and @y enemy == y 'self'
run 'West'
elseif @x enemy == x 'self' and @y enemy > y 'self'
run 'South'
elseif @x enemy == x 'self' and @y enemy < y 'self'
run 'North'
endif
endwhile
useskill 'Animal Taming'
waitingfortarget 2000
autotargetenemy!
pause 100
endwhile
while not @injournal 'It seems to accept you'
if not @inrange enemy 1
if @x enemy > x 'self' and @y enemy > y 'self'
walk 'Southeast'
elseif @x enemy < x 'self' and @y enemy > y 'self'
walk 'Southwest'
elseif @x enemy > x 'self' and @y enemy < y 'self'
walk 'Northeast'
elseif @x enemy < x 'self' and @y enemy < y 'self'
walk 'Northwest'
elseif @x enemy > x 'self' and @y enemy == y 'self'
walk 'East'
elseif @x enemy < x 'self' and @y enemy == y 'self'
walk 'West'
elseif @x enemy == x 'self' and @y enemy > y 'self'
walk 'South'
elseif @x enemy == x 'self' and @y enemy < y 'self'
walk 'North'
endif
endif
if @injournal 'You fail to tame'
clearjournal
useskill 'Animal Taming'
waitingfortarget 2000
autotargetenemy!
endif
endwhile
msg 'all guard me'
msg 'all guard me'
//CHOOSE YOUR WEAPON!
//____Use Bushido wack____
cast "Lightning Strike"
attack enemy
//_____Use Magery Eval____
//cast 'Flamestrike"
//waitingfortarget 2000
//autotargetenemy!
//____Use a bigger pet____
//msg 'all kill'
//waitingfortarget 2000
//autotargetenemy!
//msg 'all kill'
//waitingfortarget 2000
//autotargetenemy!
 

Genorb

Wanderer
Ok, 1.1.1 now in OP shouldn't stall occasionally. Let me know if it does.
 
Last edited:

Genorb

Wanderer
Started taming things that actually don't die in the first hit and realized that it would sometimes try to tame the previous target until it died instead of running to the next gray one. Added two lines at the end to fix this, it's now in the OP. This should make it significantly faster if you were using pets to kill off the tames since you'll now run to the next one and begin taming while your pets kill off the previous one.
 

Genorb

Wanderer
Ok, so I fixed and added a bunch of stuff after I started doing bulls. I've had it running at del bulls for hours now without a hitch so I think the macro is pretty much finished. Here's most of what I changed since yesterday for anyone curious:

  • It now scans correctly for new spawns if it clears everything out and resumes when something spawns
  • For some reason del bulls don't get targetted by findtype unless 'any' is tagged. If someone knows why this is the case, I'm curious. Still doesn't make sense to me lol. Took me too damn long to figure that out cause I thought it was an elevation quirk...
  • Will now ignore targets that are being tamed or are tame. Runs without a hitch when other tamers are now taming the same animals.
  • Will now skip straight to kill if animal 'had too many previous owners' message occurs
  • Will alert you in BIG RED LETTERS if it is trying to get to a target but hasn't been able to attempt a tame for 20 seconds. You can then manually move your char and it will resume normally when you get next to the target.
OP code is updated to 1.2
 

silvertiger

Knight
For some reason del bulls don't get targetted by findtype unless 'any' is tagged. If someone knows why this is the case, I'm curious. Still doesn't make sense to me lol. Took me too damn long to figure that out cause I thought it was an elevation quirk...
color issue maybe?
 
Hey man just started using your macro, love it =)

Couple comments:
1) I tried doing this on a new tamer that wasn't in a guild and it wouldn't kill the animals i tamed so i had to go through the process of joining a guild in order to get my beetle to kill the animals without releasing them.
1.a) Along those same lines, it might be nice for those who aren't in a guild to have an option to release their tame and then kill it
1.b) Or even perhaps an option to rename then release so others in the area can retame it

I am new to UOSteam so I am trying to still figure out the syntax to make these on my own, I tried doing the things i mentioned but didn't have much luck.
Again though, great macro and thanks for your effort =)

Cheers!
 

Genorb

Wanderer
1.a) Along those same lines, it might be nice for those who aren't in a guild to have an option to release their tame and then kill it
1.b) Or even perhaps an option to rename then release so others in the area can retame it

I believe that you can find atleast one of those via search on this forum or a quick google search for uosteam taming macros. I definitely used one that released tames as a starting reference when I was creating this macro. You could try one of those or swap out the kill section of my macro with the release section from theirs. I made this macro kill tames so that you could run it for long periods of time without running out of fresh spawns. If you use my macro as is, I would recommend looking for less populated areas to tame. For instance, if you are taming bulls, try fel delucia instead of tram. I've trained up two tamers at fel del and never saw anyone else there. Good luck!
 

AuroraIndica

Wanderer
Could you please help me out. Ive copy and pasted the revised script into my UOSteam. It seems to work and searches for a tameable. Starts to tame till success. Then it says all guard me twice and stops. It does not do anything after that. Even though i have loop on as well. I tried toying with the kill options. Nothing. What am i doing wrong?
 

Genorb

Wanderer
Are there other tameables nearby? It will stand still and scan until you get near one if there isn't. Does it try to kill what you tame before it gets stuck? Are your other macros looping correctly? Maybe there's a bug with looping I'm not aware of. It shouldn't get stuck in the kill section of the script because it's not in a loop.
 

silvertiger

Knight
Could you please help me out. Ive copy and pasted the revised script into my UOSteam. It seems to work and searches for a tameable. Starts to tame till success. Then it says all guard me twice and stops. It does not do anything after that. Even though i have loop on as well. I tried toying with the kill options. Nothing. What am i doing wrong?
Did you remove the // ?
 
Top