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.

Moonglow Zoo contribution/taming macro

suiris

Sorceror
Decided to make this macro for anyone trying to get some Moonglow zoo rewards. Taming by hand is very tedious and boring.
The macro uses one runebook and magery, your first rune should be for the Zoo and it should be close enough to transfer the mob without moving. Fill the rest of runebook with runes for the place where you wish to tame (e.g. wolves, unicorns) You can have the runes more spread, the macro checks your entire screen for the mobile and goes to it.
It is currently configured to tame Unicorns. If your tame/lore is lower than 110 i suggest to tame polar bears, it might be quicker as you will fail a lot with the unicorns.
Also it really helps a lot to have MR and LMC.

Code:
if not @findobject 'tamebook'
promptalias 'tamebook'
endif
if not listexists 'NameTheTamed'
  createlist 'NameTheTamed'
  pushlist 'NameTheTamed' 'k'
endif
if not listexists 'tameables'
  createlist 'tameables'
  pushlist 'tameables' 0x22 //White Wolf change to 0 in taming part
  pushlist 'tameables' 0x25 //White Wolf2 change to 1 in taming part
  pushlist 'tameables' 0xd5 //Polar Bear change to 2 in taming part
  pushlist 'tameables' 0x7a //Unicorn change  to 3 in taming part
  pushlist 'tameables' 0x84 //Ki-rin change  to 4 in taming part
endif
if not listexists 'runes'
createlist 'runes'
pushlist 'runes' 11
pushlist 'runes' 17
pushlist 'runes' 23
pushlist 'runes' 29
pushlist 'runes' 35
pushlist 'runes' 41
pushlist 'runes' 47
pushlist 'runes' 53
pushlist 'runes' 59
pushlist 'runes' 65
pushlist 'runes' 71
pushlist 'runes' 77
pushlist 'runes' 83
pushlist 'runes' 89
pushlist 'runes' 95
endif
for 0 to 'runes'
  @unsetalias 'tobetamed'
  useobject 'tamebook'
  waitforgump 0x554b87f3 15000
  replygump 0x554b87f3 runes[]
  pause 5000
//change the number in the brackets below to 0-4 if you wish to tame other animals
    if @findtype tameables[3] 'any' 'ground' 1 45
      @setalias 'tobetamed' 'found'
         headmsg 'Tameable found, going to get it!!' 46
         if not @inrange 'tobetamed' 2
           while not @inrange 'tobetamed' 2
              if @x 'tobetamed' > x 'self' and @y 'tobetamed' > y 'self'
                run 'Southeast'
                elseif @x 'tobetamed' < x 'self' and @y 'tobetamed' > y 'self'
                run 'Southwest'
                elseif @x 'tobetamed' > x 'self' and @y 'tobetamed' < y 'self'
                run 'Northeast'
                elseif @x 'tobetamed' < x 'self' and @y 'tobetamed' < y 'self'
                run 'Northwest'
                elseif @x 'tobetamed' > x 'self' and @y 'tobetamed' == y 'self'
                run 'East'
                elseif @x 'tobetamed' < x 'self' and @y 'tobetamed' == y 'self'
                run 'West'
                elseif @x 'tobetamed' == x 'self' and @y 'tobetamed' > y 'self'
                run 'South'
                elseif @x 'tobetamed' == x 'self' and @y 'tobetamed' < y 'self'
                run 'North'
              endif
           endwhile
       endif
    @clearjournal
while name 'tobetamed' != NameTheTamed[0]
  autotargetobject 'tobetamed'
  useskill 'animal taming'
  @rename 'tobetamed' NameTheTamed[0]
  pause 1000
  if not @inrange 'tobetamed' 1
    if @x 'tobetamed' > x 'self' and @y 'tobetamed' > y 'self'
      run 'Southeast'
    elseif @x 'tobetamed' < x 'self' and @y 'tobetamed' > y 'self'
      run 'Southwest'
    elseif @x 'tobetamed' > x 'self' and @y 'tobetamed' < y 'self'
      run 'Northeast'
    elseif @x 'tobetamed' < x 'self' and @y 'tobetamed' < y 'self'
      run 'Northwest'
    elseif @x 'tobetamed' > x 'self' and @y 'tobetamed' == y 'self'
      run 'East'
    elseif @x 'tobetamed' < x 'self' and @y 'tobetamed' == y 'self'
      run 'West'
    elseif @x 'tobetamed' == x 'self' and @y 'tobetamed' > y 'self'
      run 'South'
    elseif @x 'tobetamed' == x 'self' and @y 'tobetamed' < y 'self'
      run 'North'
    endif
  endif
endwhile
@clearjournal
while not @injournal 'Moongate opened' 'system'
  @clearjournal
  useobject 'tamebook'
  waitforgump 0x554b87f3 15000
  replygump 0x554b87f3 6
  waitforjournal 'The spell fizzles.' 3000
  pause 1000
endwhile
//Gate to the zoo:
if @findtype 0xf6c 'any' 'ground' 1 2
  useobject! 'found'
  if @inregion 'guards'
    waitforgump 3716879466 2000
    replygump 3716879466 1
  endif
else
  sysmsg 'Moongate not found, come closer.' 24
endif
pause 2000
// Donate it to the zoo:
msg 'k transfer'
waitfortarget 5000
target! 0x40001ba1
waitforgump 0xdf8173e0 5000
replygump 0xdf8173e0 2
pause 2500   
endif
endfor

WARNING: Do not use unattended!! It is against the shard rules!!
Also the macro is not foolproof, it won't heal or protect you in any way (this is done on purpose).
 
Last edited:

suiris

Sorceror
I got asked few times how to make it use less than a full runebook. So here what you need to do:

Look for this part :

pushlist 'runes' 11
pushlist 'runes' 17
pushlist 'runes' 23
pushlist 'runes' 29
pushlist 'runes' 35
pushlist 'runes' 41
pushlist 'runes' 47
pushlist 'runes' 53
pushlist 'runes' 59
pushlist 'runes' 65
pushlist 'runes' 71
pushlist 'runes' 77
pushlist 'runes' 83
pushlist 'runes' 89
pushlist 'runes' 95

And just comment any line using // in front it. Each line represents one rune starting from the second till the last, you can comment any of them (no need to be in consecutive order). After that just clear UOsteam active objects to get rid of the old list (open steam go to Macros tab >active objects >clear all).
 
Top