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 попробовал нормально работает, только удочку через раз закидывает но это не проблема. Всем огромное спасибо что откликнулись и помогли.
Откорректировал и убрал лишнее... У меня работал. Проверяй.