Yoko

All sides of Injection
It is currently 2025-11-09 18:05:14

All times are UTC+02:00




Post new topic  Reply to topic  [ 7 posts ] 
Author Message
PostPosted: 2005-02-04 17:35:04 
Offline

Joined: 2005-02-04 17:19:49
Posts: 5
Code:
; Рыбачим с корабля. Выловленное перерабатываем и складываем в трюм. 
; Если вокруг все выловлено - плывем вперед. Считаем итемы (раздельные)
; в трюме. Если их больше 250 - останавливаем скрипт.
;
; ver. 1.04b (c) Edred
;
VAR Trum = '0x400C230D'      ; трюм корабля
VAR Pole = '0x0DBF'         ; удочка
VAR Fork = '0x1404'         ; оружие
VAR Shield = '0x1B76'      ; щит


sub Fishing()
   UO.Exec( 'exec Trevoga' )
   If UO.GetGraphic( UO.ObjAtLayer( 'Lhand' ) ) == Shield Then
      UO.UnEquip( 'Lhand' )
      wait( 500 )
   Endif
   If UO.GetGraphic( UO.ObjAtLayer( 'Rhand' ) ) == Fork Then
      UO.UnEquip( 'Rhand' )
      wait( 500 )
   Endif
   If UO.GetGraphic( UO.ObjAtLayer( 'Lhand' ) ) <> Pole Then
      UO.UseType( Pole )
   Endif
   UO.WarMode( 0 )
   While TRUE
      FishForward()
      If UO.Dead() Then
         ; ждем
         return
      Endif
      If CountTrum() > 250 Then
         return
      Endif
   Wend
endsub

sub FishForward()
   VAR x, y
   repeat
      For y = -4 To 4
         For x = -4 To 4
            UO.Print( 'TEST: ' + str( x ) + ', ' + str( y ) + ' coord' )
            FishTile( x, y )
            If UO.Dead() Then
               return
            Endif
            Next
      Next
      ; пока смена дислокации по-тупому
      UO.Print( 'TEST: forward' )
      UO.SayU( 'forward' )
      wait( 4000 )
      UO.SayU( 'stop' )
   until UO.Dead()
endsub

sub FishTile( x, y )
   VAR Ms1 = "You can't fish under the ship"   ; не можем ловить здесь
   VAR Ms2 = "You are too far away"      ; далеко
   VAR Ms3 = "There are no fish here"      ; кончилось тут
   VAR Ms4 = "You fish a while, but fail to catch anything"   ; физл
   VAR Ms5 = "You pull out"         ; поймал что-то
   ; VAR Ms6 = " "         ; treasure map level 1 - 5
   ; VAR Ms7 = " "         ; water elemental
   ; VAR Ms8 = " "         ; rare water shell
   ; VAR Ms9 = " "         ; сундук с разбитого корабля
   ; VAR Ms10 = " "      ; морской монстр
   VAR k, t
   VAR MaxTime = 300
   If (x > -3) AND (x < 3) AND (y > -3) AND (y < 3) Then
      ; это, похоже, считается под лодкой
      return
   Endif
   k = 0
   repeat
      If UO.Dead() Then
         return
      Endif
      UO.DeleteJournal()
      t = UO.Timer()
      UO.WaitTargetTile( '0', STR( UO.GetX() + x ), STR( UO.GetY() + y ), '251')
      UO.UseObject( UO.GetSerial( UO.ObjAtLayer( 'Lhand' ) ) )
      repeat
         wait(300)
      until UO.InJournal(ms1) OR UO.InJournal(ms2) OR UO.InJournal(ms3) OR UO.InJournal(ms4) OR UO.InJournal(ms5) OR ((t + MaxTime) < UO.Timer())
      If UO.InJournal(ms4) Then
         k = k + 1
      Endif
      If UO.Dead() Then
         return
      Endif
      If UO.InJournal( ms5 ) Then
         Recycle()
         If CountTrum() > 250 Then
            return
         Endif
      Endif
   until UO.InJournal(ms1) OR UO.InJournal(ms2) OR UO.InJournal(ms3) OR (k > 9)
endsub

sub CountTrum()
   ; Считаем кол-во любых итемов (или кучек) в трюме
   ; и возвращаем результат
   UO.FindType( -1, -1, Trum )
   return UO.FindCount()
endsub

sub Recycle()
   ; ------- улов -------
   DIM Fish[17]
   Fish[0]  = '0x170B'   ; сапоги
   Fish[1]  = '0x170F'   ; тапки
   Fish[2]  = '0x170D'   ; сандалии
   Fish[3]  = '0x1711'   ; сапоги
   Fish[4]  = '0x09CC'   ; тип рыбы 1
   Fish[5]  = '0x09CD'   ; тип рыбы 2
   Fish[6]  = '0x09CE'   ; тип рыбы 3
   Fish[7]  = '0x09CF'   ; тип рыбы 4
   Fish[8]  = '0x0FC4'   ; ракушка, тип 1
   Fish[9]  = '0x0FC5'   ; ракушка, тип 2
   Fish[10] = '0x0FC6'   ; ракушка, тип 3
   Fish[11] = '0x0FC7'   ; ракушка, тип 4
   Fish[12] = '0x0FC8'   ; ракушка, тип 5
   Fish[13] = '0x0FC9'   ; ракушка, тип 6
   Fish[14] = '0x0FCA'   ; ракушка, тип 7
   Fish[15] = '0x0FCB'   ; ракушка, тип 8
   Fish[16] = '0x0FCC'   ; ракушка, тип 9
   VAR Razmer = 16      ; размер массива - 1
   ; ------- инструмент -------
   VAR Scissor = '0x0F9E'   ; тип ножниц
   VAR Cleaver = '0x0EC2'   ; кливер
   ; ------- конечный продукт -------
   VAR Bandag = '0x0E21'   ; тип бинтов
   VAR Pearl = '0x0F7A'   ; жемчуг
   VAR Steak = '0x097A'   ; рыбное филе

   VAR i
   ; Ищем что у нас валяется под ногами, если надо перерабатываем
   ; и складируем в трюм. Потом введем всякие мешочки разные и ящички.
   For i=0 To Razmer
      UO.FindType( Fish[i], -1, 'ground' )
      If UO.FindCount() > 0 Then
         UO.Grab( 0, 'finditem' )
         Wait( 1500 )
         ; Взяли в пак. Теперь разберемся что это
         If i < 4 Then
            ; сапоги и тапки
            ; режем ножницами на бинты и скидываем бинты
            UO.WaitTargetObject( 'finditem' )
            UO.UseType( Scissor )
            Wait( 3000 )
            ; Скинем бинты в трюм
            UO.FindType( Bandag )
            If UO.FindCount() > 0 Then
               UO.MoveItem( 'finditem', '0' , Trum )
               wait( 2000 )
            Endif
         Endif
         If i > 3 AND i < 8 Then
            ; рыба
            ; режем кливером в филе и сбрасываем филе
            ; кливер берется в руки, поэтому потом
            ; снова берем удочку
            UO.WaitTargetObject( 'finditem' )
            UO.UseType( Cleaver )
            Wait( 3000 )
            UO.FindType( Steak )
            If UO.FindCount() > 0 Then
               UO.MoveItem( 'finditem', '0' , Trum )
               wait( 2000 )
            Endif
            UO.UseType( Pole )         
         Endif
         If i > 7 Then
            ; ракушки
            ; дабл клик на них, если появился жемчуг
            ; сбросим его, если ракушка не исчезла
            ; значит рар - сбросим ее
            UO.UseType( 'finditem' )
            wait( 1000 )
            If NOT UO.InJournal( 'This shell is empty' ) Then
;               UO.FindType( Pearl )
;               If UO.FindCount() > 0 Then
;                  UO.MoveItem( 'finditem', '0' , Trum )
;                  wait( 2000 )
;               Else
                  UO.MoveItem( 'finditem', '0' , Trum )
                  wait( 2000 )
;               Endif
            Endif
         Endif
      Endif
   Next
endsub

; ----------------------------
; blank scroll - 0x0E34
; ginseng - 0x0F85
; gold coin - 0x0EED
; nightshade - 0x0F88
; blood moss - 0x0F7B
; mandrake root - 0x0F86

#===================================================================#
#               Процедура контроля за приходом элема                #
#===================================================================#
;
sub Trevoga()
   repeat
      Wait(100)
   until UO.Life < 150
   UO.Exec( 'terminate Fishing' )
   UO.UnEquip( 'Lhand' )
   wait( 500 )
   UO.UseType( Fork )
   wait( 500 )
   UO.UseType( Shield )
   wait( 500 )
   UO.WarMode( 1 )   
endsub

На себя армор, в пак или в руки (скрипт сам разберется) вилку и щит, их типы прописать в начало скрипта. В пак кливер и ножницы. На корабль. Отплыть подальше. В пак, естественно, удочку (хотя можно и в руки, непринципиально). Прописать в скрипт сериал трюма.
скрипт рабочий, но, на шарде Citadel можно ловить только с трапов и таргет только в воду, не могли бы помочь исправить чтобы он только ловил с одоной стороны коробля и чтобы можно было указать просто ящик стоявший рядом, а остальные функции остались какие есть....
Помогите очень прошу...


Top
   
 Post subject:
PostPosted: 2005-02-05 05:52:52 
Offline

Joined: 2005-02-04 17:19:49
Posts: 5
Ну помогите кто нидь плиз....


Top
   
 Post subject:
PostPosted: 2005-02-05 17:07:27 
Offline

Joined: 2005-02-04 17:19:49
Posts: 5
Ну не ужели вообще не кто не поможет???? :?: :?:


Top
   
 Post subject:
PostPosted: 2005-02-05 17:34:47 
Offline
Expert!
User avatar

Joined: 2004-08-11 23:56:17
Posts: 746
Location: The Citadel
Салют парень ;)

Я замечательно использовал раньше этот скрипт.
И на нашем шарде можно вставать на самый нос корабля, и оттуда рыбачить.
Пробовал?


Top
   
 Post subject:
PostPosted: 2005-02-05 18:10:43 
Offline

Joined: 2005-02-04 17:19:49
Posts: 5
Но он же облавливает вокруг коробля.. а с носа ты кокруг не обловишь


Top
   
 Post subject:
PostPosted: 2005-02-13 00:20:15 
Offline

Joined: 2005-02-04 17:19:49
Posts: 5
Ну что не кто не может помочь чтоли?? :| :|


Top
   
 Post subject:
PostPosted: 2005-02-13 00:21:43 
Offline
Expert!

Joined: 2004-04-03 17:36:29
Posts: 2544
Location: Saint-Petersburg
зачем? Я тебе и так уже более свежую версию положил... :)


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 7 posts ] 

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited