Нужна помощь со скриптом |
Нужна помощь со скриптом |
8 июля 2010 13:37
Сообщение #1
|
|
Всем привет. Уже лет 7 не играл в УО. Все свои знания по написанию скриптов позабыл. Сейчас в НТ пытаюсь прокачать фишинг и кукинг до 65. Возникла проблема со скриптом на фишинг. В данный момент скриптом я ловлю рыбу вокруг себя в радиусе 6 тайлов и автоматически закидываю в бекпак. Хотелось бы сделать так, чтобы перед тем как положить рыбку в мешок, сначала разделать ее. Есть тут кто-ть кто разбирается в скриптах инжекта? sub fishing() var mx, my, mz, i, j uo.print('А где ведро?') uo.exec('addobject Bag') while uo.targeting() wait(100) wend mx = UO.GetX("self") my = UO.GetY("self") mz = UO.GetZ("self") UO.DeleteJournal() for i = mx-6 to mx+6 for j = my -6 to my+6 if UO.dead() then return endif UO.Print("Now Fishing In: "+str(mx-i)+" "+str(my-j)) while not UO.InJournal("no fish here") and not UO.InJournal("location") and not UO.InJournal("far away") and not UO.InJournal("in water") UO.DeleteJournal() UO.Waittargettile("1341", str(i), str(j), str(mz)) UO.Usetype("0x0DBF") ;FishingPole if UO.dead() then return endif if UO.Weight>660 then return endif while not UO.InJournal("You pull") and not UO.InJournal("location") and not UO.InJournal("no fish") and not UO.InJournal("but fail") and not UO.InJournal("far away") and not UO.InJournal("in water") wait (100) if UO.InJournal("You pull") then UO.SetReceivingContainer('Bag')
|
|
|
|
8 июля 2010 13:40
Сообщение #2
|
|
sub FishingAround() VAR X, Y, i, MaxRange = 6, MaxVes = 620 VAR knife = '0x0F51' ; нож VAR Steak = '0x097A' VAR Bag = '0x40205DFE' DIM Fish[4] Fish[0] = '0x09CC' ; тип рыбы 1 Fish[1] = '0x09CD' ; тип рыбы 2 Fish[2] = '0x09CE' ; тип рыбы 3 Fish[3] = '0x09CF' ; тип рыбы 4 for Y = -MaxRange to MaxRange for X = -MaxRange to MaxRange if FishTiles(UO.GetX()+X, UO.GetY()+Y) then repeat UO.DeleteJournal() UO.Warmode(0) wait(100) UO.WaitTargetTile(FishTiles(UO.GetX()+X, UO.GetY()+Y), UO.GetX()+X, UO.GetY()+Y, UO.GetZ()) ;ToHide() ; ******************************** ; Auto Tools if UO.Count(0x0DBF) || UO.Count(0x0DC0) then if UO.Count(0x0DBF) then UO.UseType(0x0DBF); <-- удочка else UO.UseType(0x0DC0); <-- удочка endif else return 1 endif ; ******************************** repeat wait(100) until UO.InJournal('****|pull out|anything|поймали|You can|не получилось|no fish|нету рыбы|месте|далеко|вытащили удочку') For i=0 To 3 UO.FindType( Fish[i], -1, 'ground' ) If UO.FindCount() > 0 Then UO.Grab( 0, 'finditem' ) Wait( 300 ) Endif Next If UO.Weight > MaxVes Then UO.Print('Перегруз!') return 0 endif If UO.Life < Uo.Str/10 then UO.Print('А мы умираем!') return 0 endif until UO.InJournal("no fish|нету рыбы|anything|в другом месте|далеко|вытащили удочку") || UO.Dead() For i=0 To 3 UO.FindType( Fish[i] ) If UO.FindCount() > 0 Then UO.WaitTargetObject( 'finditem' ) UO.UseType( knife ) Wait( 500 ) UO.FindType( Steak ) If UO.FindCount() > 0 Then UO.MoveItem( 'finditem', '0' , Bag ) wait( 500 ) Endif Endif Next endif next next UO.Print(" = Вся рыба в квадрате поймана = ") UO.Sound(100) return 0 end sub Sub FishTiles(X,Y) var j if UO.PrivateGetTile(X, Y, -1, 6038, 6066) then for j=6038 to 6066 if UO.PrivateGetTile(X, Y, -1, j, j) then return j end if next end if return 0 end sub |
|
|
|
8 июля 2010 14:19
Сообщение #3
|
|
а нельзя, чтобы он не останавливал скрипт, когда докопает круг. Чтобы начал копать заного. Да и если сломается удочка, другую он не берет( |
|
|
|
Сейчас: 23 ноября 2024 18:29 |