sub fishing()
var mx, my, mz, i, j
start:
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
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") and not UO.InJournal("You pull")
UO.DeleteJournal()
UO.Waittargettile("1341", str(i), str(j), str(mz))
UO.Usetype("0x0DC0")
if UO.dead() then
return
endif
if UO.Weight>720 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.findtype('0x14EB','0x0000','ground') ;tattered map
UO.grab ('1','finditem')
wait (200)
UO.findtype('0x0DD6','0x05F6','ground') ;Truly rare fish
UO.grab ('1','finditem')
wait (200)
UO.findtype('0x0DD6','0x01BB','ground') ;Prize fish
UO.grab ('1','finditem')
wait (200)
end if
wend
wend
UO.DeleteJournal()
next
next
goto start
end sub
работал прекрасно, но вот перешел на другой шард и там если из воды ничего не вылавливаешь сообщений никаких не появляется, в резыльтате скрипт останавливается.
как поставить условие на время . чтоб если 7 секунд нет ни каких сообщений то скрипт продолжал свою работу.
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.findtype('0x14EB','0x0000','ground') ;tattered map
UO.grab ('1','finditem')
wait (200)
UO.findtype('0x0DD6','0x05F6','ground') ;Truly rare fish
UO.grab ('1','finditem')
wait (200)
UO.findtype('0x0DD6','0x01BB','ground') ;Prize fish
UO.grab ('1','finditem')
wait (200)
end if
wend
var k
...
k=0
repeat
wait (100)
if UO.InJournal("You pull") then
UO.findtype('0x14EB','0x0000','ground') ;tattered map
UO.grab ('1','finditem')
wait (200)
UO.findtype('0x0DD6','0x05F6','ground') ;Truly rare fish
UO.grab ('1','finditem')
wait (200)
UO.findtype('0x0DD6','0x01BB','ground') ;Prize fish
UO.grab ('1','finditem')
wait (200)
end if
k=k+1
until UO.InJournal("You pull") or UO.InJournal("location") or UO.InJournal("no fish") or UO.InJournal("but fail") or UO.InJournal("far away") or UO.InJournal("in water") or k>69
Вроде так он 70 раз прокрутит if без его исполнения каждый раз выжидая по 0,1 секунды. и получится как раз 7 секунд.
Но я не уверен - проверить работоспособность сейчас не могу. Пусть более опытные товарищи подскажут - прав я или нет.
sub main()
var mx, my, mz, i, j, LT, y
Dim t_item[3], c_item[3]
t_item[0]='0x14EB'
t_item[1]='0x0DD6'
t_item[2]='0x0DD6'
c_item[0]='0x0000'
c_item[1]='0x05F6'
c_item[2]='0x01BB'
while not uo.dead() or UO.Weight<=720
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
LT=uo.timer()
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") and not UO.InJournal("You pull") and uo.timer()<=LT+70
UO.DeleteJournal()
UO.Waittargettile("1341", str(i), str(j), str(mz))
UO.Usetype("0x0DC0")
#UO.Usetype("0x0DBF")
repeat
wait(200)
until UO.InJournal("no fish here") or UO.InJournal("location") or UO.InJournal("far away") or UO.InJournal("in water") or UO.InJournal("You pull") or uo.timer()>LT+70
if UO.dead() then
return
endif
if UO.Weight>720 then
return
endif
wend
for y=0 to 2
uo.findtype(t_item[y], c_item[y], 'ground')
wait(300)
uo.moveitem('finditem', '0', 'backpack')
wait(300)
next
UO.DeleteJournal()
next
next
wend
end sub
Откорректировал...Должно пахать.
Last edited by Arsuri on 2005-06-30 00:54:36, edited 2 times in total.
Arsuri твой скрипт глючит не по детски, я также пробовал и у меня не получилось, может с обработкой таймера какая т о проблема.
Tergos попробовал нормально работает, только удочку через раз закидывает но это не проблема.
Всем огромное спасибо что откликнулись и помогли.
begemut wrote:Arsuri твой скрипт глючит не по детски, я также пробовал и у меня не получилось, может с обработкой таймера какая т о проблема.
Tergos попробовал нормально работает, только удочку через раз закидывает но это не проблема.
Всем огромное спасибо что откликнулись и помогли.
Откорректировал и убрал лишнее... У меня работал. Проверяй.