Page 1 of 1

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

Posted: 2005-03-25 18:43:33
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

Posted: 2005-03-25 19:30:57
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

Posted: 2005-03-25 21:07:19
by Edred
На этом форуме давно есть более новая версия... ищите.

Posted: 2005-03-25 21:09:59
by Angel Shadof
громное пасибо что помогли но етот скрипт у меня вызывает много затруднений нельзяли прочто добавить в мой чтобы он плавал и скрипт неостанавливался когда он выловил все вокруг коробля а проплывал и ловил поновой мне ненужны остальные навороты против эелек итд. Зарание спасибо.