Page 1 of 1

Помогите доработать

Posted: 2010-04-25 18:20:57
by Login9000
Скачал скрипт на рыбалку:

Code: Select all

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


Помогите сделать так, чтобы перс не прятался по ходу дела, а так же не тратил ресурсы соединения на бесполезное складывание в мешок. Сам пробовал поудалять некоторые строки, скрипт перестает работать.

Re: Помогите доработать

Posted: 2010-04-25 20:44:10
by Mirage
ээээ если я ПРАВИЛЬНО понял то ВОТ:

Code: Select all

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

         UO.Print("Now Fishing In: "+str(mx-i)+" "+str(my-j))
         while not UO.InJournal("no fish here|location|far away|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|location|no fish|but fail|far away|in water")
               wait (100)
            wend
         wend
         UO.DeleteJournal()
      next
   next
end sub


гыгы "ресурсы соединения" ... :mrgreen: