Помогите плиз подредактировать скирипт плиззз

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Angel Shadof
Posts: 10
Joined: 2004-11-02 19:43:53
Contact:

Помогите плиз подредактировать скирипт плиззз

Post by Angel Shadof »

Люди помогите плиз или отредактируйтте скрипт под корабль ато етот скрипт для того чтобы стоят на берегу и ловить. А мне очень нужно чтобы он когда выловил все вокруг не заканьчивал скрипт а проплывал немного и опять ловил.

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-4 to mx+4
for j = my -4 to my+4
if UO.dead() then
return
endif
while not UO.Hidden()
UO.Warmode("0")
uo.print("hiding...")
UO.UseSkill("Hiding")
wait(4000)
wend

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')
UO.findtype('0x09CC','0x0000','ground') ;fish
UO.grab ('3','finditem')
wait (500)
UO.findtype('0x09CD','0x0000','ground') ;fish
UO.grab ('3','finditem')
wait (500)
UO.findtype('0x09CE','0x0000','ground') ;fish
UO.grab ('3','finditem')
wait (500)
UO.findtype('0x09CF','0x0000','ground') ;fish
UO.grab ('3','finditem')
wait (500)
UO.findtype('0x14EB','0x0000','ground') ;tattered map
UO.grab ('1','finditem')
wait (500)
UO.findtype('0x0DD6','0x05F6','ground') ;Truly rare fish
UO.grab ('1','finditem')
wait (500)
UO.findtype('0x0DD6','0x01BB','ground') ;Prize fish
UO.grab ('1','finditem')
wait (500)
UO.UnSetReceivingContainer()
end if
wend
wend
UO.DeleteJournal()
next
next
end sub
Balu
Posts: 76
Joined: 2004-10-30 21:28:19

Post by Balu »

Пользуйся :lol:


Code: Select all

; Рыбачим с корабля. Выловленное перерабатываем и складываем в трюм. 
; Если вокруг все выловлено - плывем вперед. Считаем итемы (раздельные)
; в трюме. Если их больше 250 - останавливаем скрипт.
;
; ver. 1.04b (c) Edred
;
VAR Trum = '0x416663B4'      ; трюм корабля
VAR Pole = '0x0DBF'         ; удочка
VAR Fork = '0x1404'         ; оружие
VAR Shield = '0x1B76'      ; щит
var Reconnect=1 ## 1 - Включить реконнект на сервер если выкинет, 0 - отключить реконнект.

sub Fishing()

if Reconnect==1 then
uo.Exec('exec Reconnect')
end if

   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( 8000 )
      UO.SayU( 'stop' )
      Recycle()
   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 = "You can`t see"         ; 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 = '0x0F51'   ; кливер
   ; ------- конечный продукт -------
   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.UseType( '0x097B' )
            Wait( 200 )
            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

sub Reconnect()
var ReconnectTime,rFlag
ReconnectTime='0'
rFlag=1
repeat
while (uo.ObjAtLayer('Bpack')=='')
if rFlag then
ReconnectTime=MakeTime()
rFlag=0
end if
wait(200000)
uo.Say('')
wait(10000)
uo.Say('')
wait(10000)
uo.Say('')
wait(10000)
uo.LDblClick(357,164)
uo.LClick(616,459)
wait(10000)
wend
wait(10000)
if (rFlag==0) and (ReconnectTime<>'0') then
uo.TextOpen()
uo.TextPrint('Disconnected & Reconnected @ '+ReconnectTime)
rFlag=1
ReconnectTime='0'
end if
until false
end sub

sub MakeTime()
var d,t,ret,i
ret=str(uo.Time())
t=""
for i=0 to Len(ret)
t=ret[Len(ret)-i]+t
if (i==2) or (i==4) then
t=":"+t
end if
next
ret=str(uo.Date())
d=""
for i=0 to Len(ret)
d=ret[Len(ret)-i] + d
if (i==2) or (i==4) then
d="."+d
end if
next
ret=t+" @ "+d
return ret
end sub
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

На этом форуме давно есть более новая версия... ищите.
Angel Shadof
Posts: 10
Joined: 2004-11-02 19:43:53
Contact:

Post by Angel Shadof »

громное пасибо что помогли но етот скрипт у меня вызывает много затруднений нельзяли прочто добавить в мой чтобы он плавал и скрипт неостанавливался когда он выловил все вокруг коробля а проплывал и ловил поновой мне ненужны остальные навороты против эелек итд. Зарание спасибо.
Post Reply