; Script Name: Auto Animal Tamer ; Author: EnFlame ; Version: 1.0 ; Client tested with: 2.0.3 ; EUO version tested with: EasyUO 1.5 Version 137 ; Shard OSI/FS: FS ; Public Release: 12/08/08 ; Revision Date: 12/08/08 ; Global Variables Used: - ; Purpose: Fast to train Animal Taming skill. ; Description: Script searches for animals, tames them, if ; no animals found, it moves 18-23 steps to random direction. set %animals HG_WC_RF_YF_BG_AH_NF_TC_PG_RD_TG_IG_ZF_TF_XG_CO_FG_YG_AG_PF chooseskill animal taming scanjournal set %distance 0 set %try 0 repeat { repeat { gosub ghost set %distance %distance + 2 finditem %animals G_ , %distance if #findcnt <> 0 { gosub moveToAnimal gosub tameAnimal set %distance 0 } } until %distance > 14 gosub moveRandom set %distance 0 } until #false sub ghost if #charghost = yes { terminate uo halt } return sub moveToAnimal event exmsg #findid 3 23 Taming.. set %fail #scnt + 20 repeat { finditem #findid event pathfind #findx #findy #findz 1 wait 20 if #scnt > %fail { ignoreitem #findid 1 set %noLocation #true return } } until #finddist < 2 set %noLocation #false return sub tameAnimal if %noLocation return if #findrep = 6 { gosub kill return } tame: if G in #charstatus event macro 6 0 set #targcurs 0 set %lag #scnt + 15 set #ltargetid #findid set #ltargetkind 1 event macro 13 35 target while #targcurs <> 1 && #finddist < 4 && #scnt < %lag wait 1 event macro 22 0 if #finddist >= 4 || #scnt > %lag { gosub moveToAnimal goto tame } gosub checkForResult return sub checkForResult deletejournal set %skill #skill set %overtime #scnt + 35 scan: for %i 1 10 { if #hits < #maxhits 2 msg .usebandage$ event macro 23 0 scanjournal %i if already_tame in #journal || already_tame in #sysmsg { ignoreitem #ltargetid 1 return } if seems_to_accept in #journal || seems_to_accept in #sysmsg + || %skill <> #skill { ignoreitem #ltargetid 1 msg $All Stop$ return } if too_far_away in #journal || too_far_away in #sysmsg + || can_not_see in #journal || can_not_see in #sysmsg { set %try %try + 1 if %try >= 5 { ignoreitem #ltargetid 1 set %try 0 return } gosub moveToAnimal gosub tameAnimal } if %overtime < #scnt return finditem #findid event pathfind #findx #findy #findz 1 wait 20 } goto scan return sub moveRandom set %move #random % 8 + 1 event exmsg #charid 3 63 Random Move if %move = 1 2 set %x #charposx + 18 set %y #charposy + 18 if %move = 2 2 set %x #charposx + 18 set %y #charposy if %move = 3 2 set %x #charposx - 18 set %y #charposy + 18 if %move = 4 2 set %x #charposx set %y #charposy + 18 if %move = 5 2 set %x #charposx - 18 set %y #charposy - 18 if %move = 6 2 set %x #charposx set %y #charposy - 18 if %move = 7 2 set %x #charposx + 18 set %y #charposy - 18 if %move = 8 2 set %x #charposx - 18 set %y #charposy set %time #scnt + 15 repeat { event pathfind %x %y wait 20 } until ( #scnt > %time ) || ( #charposx = %x && #charposy = %y ) return sub kill set #ltargetid #findid event macro 27 0 repeat { finditem #findid wait 20 gosub ghost } until #findcnt = 0 return