Люди помогите плиз или отредактируйтте скрипт под корабль ато етот скрипт для того чтобы стоят на берегу и ловить. А мне очень нужно чтобы он когда выловил все вокруг не заканьчивал скрипт а проплывал немного и опять ловил.
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
Помогите плиз подредактировать скирипт плиззз
Moderators: Murderator+, Murderator
-
- Posts: 10
- Joined: 2004-11-02 19:43:53
- Contact:
Пользуйся

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
-
- Posts: 10
- Joined: 2004-11-02 19:43:53
- Contact: