Author Topic: Команда HINTPOPUP  (Read 4810 times)

0 Members and 1 Guest are viewing this topic.

BubukaBomb

  • Освоившийся
  • **
  • Posts: 36
    • View Profile
Команда HINTPOPUP
« on: April 02, 2015, 03:09:24 PM »
Добрый день! Подскажите пожалуйста, команда HINTPOPUP ("message", ["title"]). Возможно ли изменить время на которое появляется всплывающее окно?

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Команда HINTPOPUP
« Reply #1 on: April 02, 2015, 04:31:05 PM »
Нельзя.

Можно самому погасить пустым

Code: (clickermann) [Select]
HINTPOPUP("")


BubukaBomb

  • Освоившийся
  • **
  • Posts: 36
    • View Profile
Re: Команда HINTPOPUP
« Reply #2 on: April 02, 2015, 04:54:22 PM »
Спасибо)

Darth

  • Зашел в гости
  • *
  • Posts: 13
    • View Profile
Re: Команда HINTPOPUP
« Reply #3 on: September 26, 2015, 08:29:20 PM »
Есть скрипт в конце которого стоит счетчик, прекращающий действие скрипта по достижению определенного числа повторов. Хочу, чтоб было видно сколько раз отработал скрипт. Вставил в счетчик HINTPOPUP, но оно не успевает вовремя прописывать количество повторов. На третьем-четвертом круге уже идет запаздывание. Пустой HINTPOPUP в конце счетчика не срабатывает, если вставить его в начало скрипта, он срабатывает, но только один раз, со второго круга уже молчит.

Darth

  • Зашел в гости
  • *
  • Posts: 13
    • View Profile
Re: Команда HINTPOPUP
« Reply #4 on: September 27, 2015, 01:38:48 AM »
Quote
Ты гонишь, "Хочу, чтоб было видно сколько раз отработал скрипт." отработал, значит работа закончена!
Ты не поверишь, после того, как скрипт отработал цикл, он идет на второй круг, а потом даже на третий
Quote
"На третьем-четвертом круге уже идет запаздывание. " это с какой-же скоростью он крутится, что даже отписываться неуспевает и зачем на такой скорости отслеживать единичные стремительные циклы?
один цикл занимает около 4 сек. всплывающее окно само закрывается вроде через 5 секунд. почему новое всплывающее окно не закрывает прошлое, для меня загадка.
Quote
можно отслеживать раз в несколько секунд или пятерками -десятками, можно выводить точную цифру по запосу, нажатием горячих клавишь.
А вот тут можно подробнее?

Darth

  • Зашел в гости
  • *
  • Posts: 13
    • View Profile
Re: Команда HINTPOPUP
« Reply #5 on: September 27, 2015, 12:58:51 PM »
Ну вот собственно весь скрипт
Code: (clickermann) [Select]

//Добавление в корзину
wait(1)
lclick($_xmouse,$_ymouse)
waitms(500)
lclick($_xmouse,$_ymouse)
  waitms(450)
//удобрение
move($_xmouse-50,$_ymouse+15)
waitms(600)
lclick($_xmouse,$_ymouse)
waitms(700)
 lclick($_xmouse,$_ymouse)
  //сбор
waitms(500)
move($_xmouse-70,$_ymouse-15)
waitms(100)
lclick($_xmouse,$_ymouse)
waitms(250)
  lclick($_xmouse,$_ymouse)
waitms(250)
  move($_xmouse+120,$_ymouse)     
INC($var,2)
    IF($var < 100) //нужное количество 
   HINTPOPUP ("выполнено",$var)
else
HALT
END_IF
Кстати заметил, что сам счетчик отдельно без основного скрипта работает отлично.
Добавил проверку нажатия пробела, впринципе все заработало.
Code: (clickermann) [Select]
INC($var,2)
    IF($var < 100) //нужное количество
      IF(iskeydown(#space)=1) //условие  нажат пробел
      logwrite("space!")
       HINTPOPUP($var, "выполнено")       
   END_IF
else
HALT
END_IF
Правда если нажать пробел и держать, точно также идет запаздывание всплывающего окна. 
В любом случае получилось то, что хотел, благодарю за помощь.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Команда HINTPOPUP
« Reply #6 on: September 27, 2015, 02:39:03 PM »
Проверил у себя, все работает
Попробуй вот так
Code: (clickermann) [Select]
//Добавление в корзину
wait(1)
lclick($_xmouse,$_ymouse)
waitms(500)
lclick($_xmouse,$_ymouse)
waitms(450)
//удобрение
move($_xmouse-50,$_ymouse+15)
waitms(600)
lclick($_xmouse,$_ymouse)
waitms(700)
lclick($_xmouse,$_ymouse)
//сбор
waitms(500)
move($_xmouse-70,$_ymouse-15)
waitms(100)
lclick($_xmouse,$_ymouse)
waitms(250)
lclick($_xmouse,$_ymouse)
waitms(250)
move($_xmouse+120,$_ymouse)

INC($var,2)
IF($var < 100) //нужное количество
   HINTPOPUP ("")
   HINTPOPUP ($var, "Выполнено:")
else
   HALT
END_IF

Darth

  • Зашел в гости
  • *
  • Posts: 13
    • View Profile
Re: Команда HINTPOPUP
« Reply #7 on: September 27, 2015, 05:20:15 PM »
Проверил у себя, все работает
Попробуй вот так

Так уже пробовал, тот же результат, боюсь это не в коде проблема, а в совместимости с 10 виндой.

Atas

  • Активный участник
  • ***
  • Posts: 147
    • View Profile
Re: Команда HINTPOPUP
« Reply #8 on: September 27, 2015, 07:55:45 PM »
Если сделать вывод прогресса работы скрипта через отдельный поток, то будет меньше тормозиться выполнение основного сценария, и интервалы вывода информации легко регулировать. Кстати, можно даже сделать прогрессбар, как в консольных приложениях.



 Вот скрипт, который ничего не делает, просто демо - для наглядности (с выводом в лог, можно и через HINTPOPUP, кому как нравится). :)
Code: (clickermann) [Select]
$str = ""
$string = ""
$max = 195
$k = $max / 71
FOR($a = 0, $a < $max)
   $var = INT($a / ($max / 100) + 1)
   IF($a / ($k * $i) > 1)
      $str = STRCONCAT($str, "|")
      INC($i)
   END_IF
   $string = STRCONCAT($str, " - ", $var, "%")
   WAITMS(50)
END_CYC

//--------------------------------

THREAD(Прогресс, 1)
   LOGCLEAR
   LOGWRITE ($string)
   WAITMS(30)
END_THREAD

HALT

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Команда HINTPOPUP
« Reply #9 on: September 28, 2015, 09:29:56 AM »
Если сделать вывод прогресса работы скрипта через отдельный поток, то будет меньше тормозиться выполнение основного сценария, и интервалы вывода информации легко регулировать. Кстати, можно даже сделать прогрессбар, как в консольных приложениях.



 Вот скрипт, который ничего не делает, просто демо - для наглядности (с выводом в лог, можно и через HINTPOPUP, кому как нравится). :)
[spoiler]
Code: (clickermann) [Select]
$str = ""
$string = ""
$max = 195
$k = $max / 71
FOR($a = 0, $a < $max)
   $var = INT($a / ($max / 100) + 1)
   IF($a / ($k * $i) > 1)
      $str = STRCONCAT($str, "|")
      INC($i)
   END_IF
   $string = STRCONCAT($str, " - ", $var, "%")
   WAITMS(50)
END_CYC

//--------------------------------

THREAD(Прогресс, 1)
   LOGCLEAR
   LOGWRITE ($string)
   WAITMS(30)
END_THREAD

HALT
[/spoiler]

Не хочет работать. Отказывается собака, делить на ноль  :D ;D
Code: (clickermann) [Select]
IF($a / ($k * $i) > 1)
без $i = 1
« Last Edit: September 28, 2015, 09:31:50 AM by Vint »


Atas

  • Активный участник
  • ***
  • Posts: 147
    • View Profile
Re: Команда HINTPOPUP
« Reply #10 on: September 29, 2015, 12:00:02 AM »
Спасибо за поправку, не верный у меня код получился. :-[
Забыл просто, что в настройках КМ у меня стоит галочка "Игнорировать ошибки", поэтому и не заметил косяк.
[spoiler=Вот как всё было...][/spoiler]
Скрипт естественно тоже наспех состряпал, с одной лишь целью продемонстрировать прогрессбар в стиле а-ля "бегущая строка", да и не в скрипте дело.
Думаю, что эту тему можно развить и написать нормальный универсальный код.
[spoiler=Исправил ошибку :)]
Code: (clickermann) [Select]
$i = 1
$str = ""
$string = ""
$max = 195
$k = $max / 71
FOR($a = 0, $a < $max)
   $var = INT($a / ($max / 100) + 1)
   IF($a / ($k * $i) > 1)
      $str = STRCONCAT($str, "|")
      INC($i)
   END_IF
   $string = STRCONCAT($str, " - ", $var, "%")
   WAITMS(50)
END_CYC

//--------------------------------

THREAD(Прогресс, 1)
   LOGCLEAR
   LOGWRITE ($string)
   WAITMS(30)
END_THREAD

HALT
[/spoiler]