действия после WS

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
dubd
Posts: 249
Joined: 2012-07-27 23:43:14

действия после WS

Post by dubd »

Помогите пожалуйста. Вот скриптик - он рыбачит, но после world save перестает это делать, просто стоит. Скажите в чем может быть проблема?

Ошибся! Не после WS он стопоритца. А после команды "back" на корабле.

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
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('0x0DBF')
      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
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: действия после WS

Post by Mirage »

Code: Select all

sub backpack()
   var n
   for n=0 to 200
      if uo.injournal('ackpack') then ; <---------- 
         return 1
      endif
      wait(200)
   next
endsub

старый глюк из-за не внимательности :mrgreen:
dubd
Posts: 249
Joined: 2012-07-27 23:43:14

Re: действия после WS

Post by dubd »

спасибо что ответил. там должно backpack стоять или a backpack?
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: действия после WS

Post by Mirage »

"a backpack" и "a Backpack" не одно и то же просто. Но оба одновременно являются "ackpack". :roll:
dubd
Posts: 249
Joined: 2012-07-27 23:43:14

Re: действия после WS

Post by dubd »

:) так в скрипте же нету очепятки!

я сейчас смотрю и нету там "ackpack"
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: действия после WS

Post by Mirage »

у тебя в чеклаге

Code: Select all

      if uo.injournal('a backpack') then

на сервере если реками кликнуть всего скорее будет написано 'a Backpack'
ты можешь:
1) поменять букву, но если захочешь использовать скрипт на другом сервере то не факт что там не будет написано 'a backpack' и скрипт опять застрянет.
2) написать в проверке универcальное

Code: Select all

      if uo.injournal('a backpack|a Backpack') then

3) написать универсальное но короткое

Code: Select all

      if uo.injournal('ackpack') then
убрав проблемную букву и исключив подобную ошибку.
Post Reply