Re: UOS - Animal Taming
Posted: January 3rd, 2018, 10:46 pm
I've only ever used Razor. But I decided to download UOS for this. Can someone help me set this up? It looks great, but it also looks greek to me..
A Mondain's Legacy era Ultima Online freeshard.
https://uogdemise.com/community/
It shouldn't take much to set up. You just have to go under the macros tab and select new. Make a new macro named train taming or something, then copy and paste the code into the window. Check 'loop' and hit save.Ryansteven3104 wrote:I've only ever used Razor. But I decided to download UOS for this. Can someone help me set this up? It looks great, but it also looks greek to me..
What is your taming and lore skill??Maid of The Dust wrote:Hello o/
Im a foreign people which is newly started to play at Demise. Sorry if i wrote something wrong due to my grammar.
I have a problem with script that is stucking at renaming tamed pet.
After taming 1st pet, script isnt changing its name and trying to tame it again.
By the way while he is taming it for the first time, he keeps casting Animal Taming on it. I see that from warnings at the left side of screen. I dont know if its normal or script should stop at trying to cast Animal Taming on it again while taming.
I will be so grateful if you help me.
Well With one You want to add into list? i have 2 version of this script one with all tameables needed to train and one with just bullseitherbinge wrote:how do you add animals to the list
Added word 'system' to the journal check.Haswell wrote: ↑October 4th, 2016, 8:37 pm Check the "Loop" option.
Configure the amount of skill you want at the beginning.
Important:
- UOS does not have a path find function so I've made a sort of "unstuck heuristic" in order to better reach the pet and avoid being stuck to an unreachable pet;
- Releasing a pet also depends on your animal lore skill, do not lock that skill at 0, I recommend locking it around 50 points;
- Keep in mind the server rules wont allow you to train animal taming while AFK, watch your macro.
Code: Select all
// Author: Di // Description: find, chase and tame nearby pets accordingly to skill level // v2.1: pet release and tamed detection improvements // v2.0: improved pets list and created unstuck pathfind heuristic // Configure skill limit ▼ if skill! 'animal taming' >= 100 setskill 'animal taming' 'locked' stop endif @createlist 'pets' @clearlist 'pets' if skill 'animal taming' < 60 // Eagle pushlist 'pets' 0x5 // Goat pushlist 'pets' 0xd1 // Pig pushlist 'pets' 0xcb pushlist 'pets' 0x122 // Hind pushlist 'pets' 0xed // Timber wolf pushlist 'pets' 0xe1 // Llama pushlist 'pets' 0xdc // Horse pushlist 'pets' 0xcc pushlist 'pets' 0xe2 pushlist 'pets' 0xe4 pushlist 'pets' 0xc8 pushlist 'pets' 0x3e9f pushlist 'pets' 0x3ea0 pushlist 'pets' 0x3ea1 pushlist 'pets' 0x3ea2 // Cow pushlist 'pets' 0xe7 pushlist 'pets' 0xd8 // Bear pushlist 'pets' 0xa7 pushlist 'pets' 0xd3 // Cougar pushlist 'pets' 0x3f elseif skill 'animal taming' < 75 // Grizzly Bear pushlist 'pets' 0xd4 // Grey Wolf pushlist 'pets' 0x1b pushlist 'pets' 0x19 // Snow Leopard pushlist 'pets' 0x41 pushlist 'pets' 0x40 // Walrus pushlist 'pets' 0xdd // Polar Bear pushlist 'pets' 0xd5 // Great Hart pushlist 'pets' 0xea elseif skill 'animal taming' < 95.1 // Gaman pushlist 'pets' 0xf8 // Bull pushlist 'pets' 0xe8 pushlist 'pets' 0xe9 // Great Hart pushlist 'pets' 0xea // White Wolf pushlist 'pets' 0x25 pushlist 'pets' 0x22 // Snow Leopard pushlist 'pets' 0x41 pushlist 'pets' 0x40 // Ridgeback pushlist 'pets' 0xbb else // Bull pushlist 'pets' 0xe8 pushlist 'pets' 0xe9 // Unicorn pushlist 'pets' 0x7a // Ki-rin pushlist 'pets' 0x84 endif if not listexists 'errors' createlist 'errors' pushlist 'errors' 'too many owners' pushlist 'errors' 'only be tamed by' pushlist 'errors' 'no chance of taming' pushlist 'errors' 'looks tame already' //pushlist 'errors' 'clear path to the animal' pushlist 'errors' 'cannot be seen' endif @createlist 'unstuck' if list 'unstuck' == 0 pushlist 'unstuck' 'east' pushlist 'unstuck' 'west' pushlist 'unstuck' 'south' pushlist 'unstuck' 'north' endif // Search if not @findobject 'pet' for 0 to 'pets' if @findtype 'pets[]' 'any' 'ground' @settimer 'stuck' 0 @setalias 'pet' 'found' break endif endfor else // Pathfind @settimer 'pathfind' 0 while @findobject 'pet' and not @inrange 'pet' 2 if dead break elseif @timer 'pathfind' >= 5000 // Diverge if direction == 0 @poplist 'unstuck' 'north' elseif direction == 2 @poplist 'unstuck' 'east' elseif direction == 4 @poplist 'unstuck' 'south' elseif direction == 6 @poplist 'unstuck' 'west' endif // Unstuck if list 'unstuck' != 0 for 5 run 'unstuck[0]' pause 100 endfor poplist 'unstuck' 'front' endif break elseif @x 'pet' > x 'self' and @y 'pet' > y 'self' run 'southeast' elseif @x 'pet' < x 'self' and @y 'pet' > y 'self' run 'southwest' elseif @x 'pet' > x 'self' and @y 'pet' < y 'self' run 'northeast' elseif @x 'pet' < x 'self' and @y 'pet' < y 'self' run 'northwest' elseif @x 'pet' > x 'self' and @y 'pet' == y 'self' run 'east' elseif @x 'pet' < x 'self' and @y 'pet' == y 'self' run 'west' elseif @x 'pet' == x 'self' and @y 'pet' > y 'self' run 'south' elseif @x 'pet' == x 'self' and @y 'pet' < y 'self' run 'north' endif pause 100 endwhile if @inrange 'pet' 2 // Tame clearjournal useskill 'animal taming' waitfortarget 1000 target! 'pet' // Handle if @property '(tame)' 'pet' for 5 if @gumpexists 0x909cc741 or not @findobject 'pet' break elseif dead or followers == 0 break elseif @name 'pet' != 'trashpet' rename 'pet' 'trashpet' else msg 'trashpet release' endif pause 500 endfor replygump 0x909cc741 2 sysmsg 'Success: tamed and released!' 88 ignoreobject 'pet' @unsetalias 'pet' else @settimer 'stuck' 0 for 0 to 'errors' if @injournal 'errors[]' 'system' sysmsg 'Ignore: error message!' 25 ignoreobject 'pet' @unsetalias 'pet' break endif endfor endif elseif @timer 'stuck' >= 20000 sysmsg 'Ignore: stuck timeout!' 25 ignoreobject 'pet' @unsetalias 'pet' endif endif
Code: Select all
// Author: Di
// Description: find, chase and tame nearby pets accordingly to skill level
// v2.1: pet release and tamed detection improvements
// v2.0: improved pets list and created unstuck pathfind heuristic
// Configure skill limit ▼
if skill! 'animal taming' >= 120
setskill 'animal taming' 'locked'
stop
endif
@createlist 'pets'
@clearlist 'pets'
if skill 'animal taming' < 60
// Eagle
pushlist 'pets' 0x5
// Goat
pushlist 'pets' 0xd1
// Pig
pushlist 'pets' 0xcb
pushlist 'pets' 0x122
// Hind
pushlist 'pets' 0xed
// Timber wolf
pushlist 'pets' 0xe1
// Llama
pushlist 'pets' 0xdc
// Horse
pushlist 'pets' 0xcc
pushlist 'pets' 0xe2
pushlist 'pets' 0xe4
pushlist 'pets' 0xc8
pushlist 'pets' 0x3e9f
pushlist 'pets' 0x3ea0
pushlist 'pets' 0x3ea1
pushlist 'pets' 0x3ea2
// Cow
pushlist 'pets' 0xe7
pushlist 'pets' 0xd8
// Bear
pushlist 'pets' 0xa7
pushlist 'pets' 0xd3
// Cougar
pushlist 'pets' 0x3f
elseif skill 'animal taming' < 75
// Grizzly Bear
pushlist 'pets' 0xd4
// Grey Wolf
pushlist 'pets' 0x1b
pushlist 'pets' 0x19
// Snow Leopard
pushlist 'pets' 0x41
pushlist 'pets' 0x40
// Walrus
pushlist 'pets' 0xdd
// Polar Bear
pushlist 'pets' 0xd5
// Great Hart
pushlist 'pets' 0xea
elseif skill 'animal taming' < 95.1
// Gaman
pushlist 'pets' 0xf8
// Bull
pushlist 'pets' 0xe8
pushlist 'pets' 0xe9
// Great Hart
pushlist 'pets' 0xea
// White Wolf
pushlist 'pets' 0x25
pushlist 'pets' 0x22
// Snow Leopard
pushlist 'pets' 0x41
pushlist 'pets' 0x40
// Ridgeback
pushlist 'pets' 0xbb
else
// Bull
pushlist 'pets' 0xe8
pushlist 'pets' 0xe9
// Unicorn
pushlist 'pets' 0x7a
// Ki-rin
pushlist 'pets' 0x84
endif
if not listexists 'errors'
createlist 'errors'
pushlist 'errors' 'too many owners'
pushlist 'errors' 'only be tamed by'
pushlist 'errors' 'no chance of taming'
pushlist 'errors' 'looks tame already'
//pushlist 'errors' 'clear path to the animal'
pushlist 'errors' 'cannot be seen'
endif
@createlist 'unstuck'
if list 'unstuck' == 0
pushlist 'unstuck' 'east'
pushlist 'unstuck' 'west'
pushlist 'unstuck' 'south'
pushlist 'unstuck' 'north'
endif
// Search
if not @findobject 'pet'
for 0 to 'pets'
if @findtype 'pets[]' 'any' 'ground'
@settimer 'stuck' 0
@setalias 'pet' 'found'
break
endif
endfor
else
// Pathfind
@settimer 'pathfind' 0
while @findobject 'pet' and not @inrange 'pet' 2
if dead
break
elseif @timer 'pathfind' >= 5000
// Diverge
if direction == 0
@poplist 'unstuck' 'north'
elseif direction == 2
@poplist 'unstuck' 'east'
elseif direction == 4
@poplist 'unstuck' 'south'
elseif direction == 6
@poplist 'unstuck' 'west'
endif
// Unstuck
if list 'unstuck' != 0
for 5
run 'unstuck[0]'
pause 100
endfor
poplist 'unstuck' 'front'
endif
break
elseif @x 'pet' > x 'self' and @y 'pet' > y 'self'
run 'southeast'
elseif @x 'pet' < x 'self' and @y 'pet' > y 'self'
run 'southwest'
elseif @x 'pet' > x 'self' and @y 'pet' < y 'self'
run 'northeast'
elseif @x 'pet' < x 'self' and @y 'pet' < y 'self'
run 'northwest'
elseif @x 'pet' > x 'self' and @y 'pet' == y 'self'
run 'east'
elseif @x 'pet' < x 'self' and @y 'pet' == y 'self'
run 'west'
elseif @x 'pet' == x 'self' and @y 'pet' > y 'self'
run 'south'
elseif @x 'pet' == x 'self' and @y 'pet' < y 'self'
run 'north'
endif
pause 100
endwhile
if @inrange 'pet' 2
// Tame
clearjournal
useskill 'animal taming'
waitfortarget 1000
target! 'pet'
// Handle
if @property '(tame)' 'pet'
for 5
if @gumpexists 0x909cc741 or not @findobject 'pet'
break
elseif dead or followers == 0
break
elseif @name 'pet' != 'trashpet'
rename 'pet' 'trashpet'
else
waitforcontext 'pet' 8 15000
waitforgump 0x909cc741 15000
endif
pause 500
endfor
replygump 0x909cc741 2
sysmsg 'Success: tamed and released!' 88
ignoreobject 'pet'
@unsetalias 'pet'
else
@settimer 'stuck' 0
for 0 to 'errors'
if @injournal 'errors[]' 'system'
sysmsg 'Ignore: error message!' 25
ignoreobject 'pet'
@unsetalias 'pet'
break
endif
endfor
endif
elseif @timer 'stuck' >= 20000
sysmsg 'Ignore: stuck timeout!' 25
ignoreobject 'pet'
@unsetalias 'pet'
endif
endif