Page 1 of 1

Выхватить остаток Wait

Posted: 2013-05-13 11:08:37
by CxC
К примеру есть скрипт:

Code: Select all

sub test()
   uo.usetype('0x0F4F')
   wait (50000)
end sub


задержка 50 сек. Через 30 сек я хочу посмотреть сколько осталось ждать. Реально это сделать?

Re: Выхватить остаток Wait

Posted: 2013-05-13 11:20:45
by Mirage
чтото типо как то вот так:

Code: Select all

sub test()
   var i = 0
   uo.usetype('0x0F4F')
   repeat
      wait (1000)
      i = i+1
      if UO.InJournal("Сколько осталось?")
         UO.DeleteJournal()
         uo.print(str(i)*100)
      endif
   until i>=50
end sub

фразу надо писать точно со всеми знаками и пробелами.

Re: Выхватить остаток Wait

Posted: 2013-05-13 11:34:21
by CxC
так это будет сколько прошло? :)
надо что-то тип

Code: Select all

50-i

а как это правильно в коде сделать?
и еще не через журнал, а по бинду. Насчет бинда сам покумекаю...

Re: Выхватить остаток Wait

Posted: 2013-05-13 11:49:31
by CxC
с остатком решил проблему, сейчас насчет бинда подумаю.....

Re: Выхватить остаток Wait

Posted: 2013-05-13 16:52:57
by Mirage
создаешь глобальную переменную = 0
вешаешь на хоткей что глобалка = 1
в скрипте проверка - если глобалка =1 тогда отвечаем и присваиваем ей значение 0

Re: Выхватить остаток Wait

Posted: 2013-05-29 01:57:30
by admir

Code: Select all

sub test()
   var i = 50
   uo.usetype('0x0F4F')
   repeat
      wait (1000)
      i = i-1
      if UO.InJournal("Сколько осталось?")
         UO.DeleteJournal()
         uo.print(str(i))
      endif
   until i=0
end sub


В хоткеях

Code: Select all

say 'Сколько осталось?'

или как там ковычки правильно ставить, уже не помню.

Re: Выхватить остаток Wait

Posted: 2013-05-29 02:52:53
by Incorrect User
Добавляем в автостарт глобалку

Code: Select all

sub Autostart()
  uo.setglobal("Time", "0")
end sub


Основной код, юзаем предмет и ждем 50 секунд.

Code: Select all

sub test()
  var timer
  uo.usetype('0x0F4F')
  timer = uo.timer()
  repeat
    wait(100)
    if uo.getglobal("Time") == "1" then
      uo.print(str(timer + 500 - uo.timer()))
      uo.setglobal("Time", "0")
    end if
  until uo.timer() > timer + 500
end sub


Изменением переменной вызовем принт текущего значения таймера

Code: Select all

sub Checker()
 uo.setglobal("Time", "1")
end sub