Page 1 of 1

Фишинг (не очень понимаю)

Posted: 2012-09-05 18:59:33
by dubd
вот это скриптик на рыбалку, он очень хороший - ловит с корабля. Ловит, ловит, а потом дает команду штурману - back, forward, stop. Корабль джижется, но бывает, что не останавливаетца! То есть вообще не останавливаетца! В чем может быть трабла? подскажите пожалуйста!

Code: Select all

sub main()
   var x
   while 1
      submain()
      x=uo.getx()
      uo.msg('Back')
      checklag()
      repeat
         wait(100)
      until uo.getx() > x+8
      uo.msg('Stop')
      submain()
      x=uo.getx()
      uo.msg('Forward')
      checklag()
      repeat
         wait(100)
      until uo.getx() < x-8
      uo.msg('Stop')
   wend
end sub
sub submain()
   var mx, my, mz, i, j
   mx = UO.GetX('self')
   my = UO.GetY('self')
   mz = UO.GetZ('self')   
   for i = mx-4 to mx+4
      for j = my-4 to my+4
         Tohide()
         UO.Print('Ловим в координатах: '+str(mx-i)+' '+str(my-j))
         fishing(i,j,mz)
      next
   next
endsub
sub fishing(mx,my,mz)
   var n
   for n=0 to 10
      checklag()
      uo.waittargettile('1341',mx,my,mz)
      uo.usetype('0x0DC0')
      if waitforfish()==1 then
         return
      endif
   next
endsub
sub waitforfish()
   var n
   for n=0 to 100
      if uo.injournal('no fish here|fishing in water|You pull out') then
         return 1
      endif
      if uo.injournal('but fail') then
         return
      endif
      wait(1000)     
   next
endsub
sub Tohide()
   while not uo.Hidden()
      uo.warmode(0)
      uo.Print('Пытаемся уйти в хайд...')
      uo.UseSkill('Hiding')
      wait(4000)
   wend
end sub
sub CheckLag()
   repeat
      UO.DeleteJournal()
      UO.Click('backpack')
   until backpack()==1
endsub
sub backpack()
   var n
   for n=0 to 200
      if uo.injournal('a backpack') then
         return 1
      endif
      wait(200)
   next
endsub

Re: Фишинг (не очень понимаю)

Posted: 2012-09-05 19:26:28
by Mirage
попробуй добавить проверку по Y

Code: Select all

      x=uo.getx()
      y=uo.gety()
      uo.msg('Back')


      repeat
         wait(100)
      until uo.getx() > x+8 or uo.getx() > x-8 or uo.gety() > y-8 or uo.gety() > y+8

Re: Фишинг (не очень понимаю)

Posted: 2012-09-05 22:15:10
by dubd
сейчас вот такое получилось (я может не правильно вставил!) :

Code: Select all

sub main()
   var x
   while 1
      submain()
      x=uo.getx()
      y=uo.gety()
      uo.msg('Back')


      repeat
         wait(100)
      until uo.getx() > x+8 or uo.getx() > x-8 or uo.gety() > y-8 or uo.gety() > y+8
      uo.msg('Stop')
      submain()
      x=uo.getx()
      uo.msg('Forward')
      checklag()
      repeat
         wait(100)
      until uo.getx() < x-8
      uo.msg('Stop')
   wend


Line 12: Variable undefined - Y

Re: Фишинг (не очень понимаю)

Posted: 2012-09-06 06:59:14
by Mirage

Code: Select all

   var x, y

:roll:

Re: Фишинг (не очень понимаю)

Posted: 2012-09-06 11:42:15
by dubd
Мираж спс, эт работает, тока шлюпка не останавливаетца! Может докучи проплыть, пока не упретца во штонибудь. Сори что на мозг влияю - может это как то исправить можно?

Re: Фишинг (не очень понимаю)

Posted: 2012-09-06 13:36:21
by Juicy Fruit
Mirage wrote:попробуй добавить проверку по Y

Code: Select all

      x=uo.getx()
      y=uo.gety()
      uo.msg('Back')


      repeat
         wait(100)
      until uo.getx() > x+8 or uo.getx() > x-8 or uo.gety() > y-8 or uo.gety() > y+8

Code: Select all

uo.getx()>x+8 or uo.getx()<x–8
с у тоже самое, думаю прокатит)

Re: Фишинг (не очень понимаю)

Posted: 2012-09-06 16:13:48
by dubd
вот, сейчас у меня так, но корбаль не останавливается!

Code: Select all

sub main()
   var x, y
   while 1
      submain()
      x=uo.getx()
      y=uo.gety()
      uo.msg('Back')
вот, сейчас у меня так, но пасудина не останавливается!

      repeat
         wait(100)
      [color=#0000FF]until uo.getx() > x+8 or uo.getx() < x-8 or uo.gety() > y-8 or uo.gety() > y+8[/color]
      uo.msg('Stop')
      submain()
      x=uo.getx()
      uo.msg('Forward')
      checklag()
      repeat
         wait(100)
      until uo.getx() < x-8
      uo.msg('Stop')
   wend

Re: Фишинг (не очень понимаю)

Posted: 2012-09-06 17:25:54
by Juicy Fruit

Code: Select all

sub main()
   var x=0, y=0
   while 1
      submain()
      x=uo.getx()
      y=uo.gety()
      uo.msg('Back')
      repeat
         wait(100)
      until uo.getx() > x+8 or uo.getx() < x-8 or uo.gety() < y-8 or uo.gety() > y+8
      uo.msg('Stop')
      submain()
      x=uo.getx()
      y=uo.gety()
      uo.msg('Forward')
      checklag()
      repeat
         wait(100)
      until uo.getx() > x+8 or uo.getx() < x-8 or uo.gety() < y-8 or uo.gety() > y+8
      uo.msg('Stop')
   wend
end sub


А так попробуй

Re: Фишинг (не очень понимаю)

Posted: 2012-09-06 19:07:40
by Mirage
до чего не внимательные и не логичные пользователи бывают... :D

Re: Фишинг (не очень понимаю)

Posted: 2012-09-06 20:38:43
by dubd
:lol: даа ну спасииб Джуси и Мираж! надо мне учебник читать по скриптам. это очень хорошо, што вы помагаете!