Пытаюсь написать скрипт:
Стоит у спавна животного, когда животное появилось начинает тамить,
как затамил летит домой по рунбуку, берёт шринк, слезает с животного шринкует, поднимает с пола живку (зашринкованную) и кладёт в сундук, летит обратно, и покругу.
Вот пока что написал но застрял на том, как животное зашринковать.
(Шард ДРВ, чтобы зашринковать надо двойной клик на шринк, потом прицелом на животное)
Code: var RuneToHome=1 ## - Рунка домой
var RuneToLama=4 ## - Рунка к Ламе
var OldX,OldY,time ## - Для рекола.
var Runbook='0x401D377B'
var sunduk='0x4034C58B'
var shrnk = '0x0F0E'
var shrnkcolor = '0x0388'
var lamka = '0x00DB' ## Тип ламы
var lamka2 = '0x2137' ## Тип ламы в шринке
######## Здесь скрипт на тамление животного #############
sub ToRecall() RecallToHome() ## Летим домой wait(6000) shrinkk() ## Берём шринк, слезаем с ламы, шринкуем ламу wait (2000) vsunduk() ## Ищем под собой Ламу в шринке и кладём её в сундук цфше (4000) RecallToLama() ## Летим к ламе end sub
sub shrinkk() uo.FindType(shrnk,shrnkcolor,sunduk) ## Ищем шринк в сундуке, берём 1-ин, если нет то сообщаем "Шринков НЕТ!!!" CheckLag() if uo.FindCount() > 0 then uo.grab('1','finditem') wait (300) else uo.print('Шринков НЕТ!!!') end if UO.UseObject('self') ## Слезаем с животного CheckLag() wait (900) uo.usetype(shrnk) ## кликаем на щринк wait (1000)
### Ищем ламу и шринкуем её, вот здесь и проблема, как таргет на Ламу зделать с которой слез?
end sub
sub vsunduk() wait (100) uo.findtype (lamka2,-1, 'ground') if UO.FindCount('finditem') then UO.MoveItem('finditem', 0, sunduk) wait (200) end sub
sub RecallToHome() uo.Print('Прыгаем Домой.') RunebookRecall(RuneToHome) end sub
sub RecallToLama() uo.Print('Прыгаем к Ламе.') RunebookRecall(RuneToLama) end sub
sub RunebookRecall(n) OldX=uo.GetX() OldY=uo.GetY() repeat uo.Exec('warmode 0') uo.UseObject(Runbook) CheckLag() uo.LClick(135, n*15+55) CheckLag() time=uo.Timer() repeat wait(500) until OldX<>uo.GetX() or OldY<>uo.GetY() or uo.Dead() or uo.InJournal('needs') or uo.InJournal('fizzles') or time+200<uo.Timer() until OldX<>uo.GetX() or OldY<>uo.GetY() or uo.Dead() or uo.InJournal('needs') end sub
sub CheckLag() if uo.Waiting()>0 then uo.Exec('canceltarget') end if uo.DeleteJournal() uo.Click('backpack') repeat wait(50) until uo.InJournal('backpack') end sub
Заранее всем спасибо кто поможет. Скрипт пишу первый раз, приму всю критику. Может кто-то подправит код...
|