Автор Тема: Кликер по месту + через N сек нажать в нужном месте  (Прочитано 445 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Lando

  • Зашел в гости
  • *
  • Сообщений: 3
    • Просмотр профиля
Приветствую прибывших в эту тему, заранее прошу не бить, если это уже когда-то обсуждалось. Проблема, что не могу реализовать таймер + кликер в точке одновременно)
Задача: нужно покупать(много кликать в окне) на две позиции, но проверять могу ли запустить ритуал это проверяется наличием белого пикселя в заданной области.
Текущий код такой:
$S_CORR = 10
$on = 1
$off = 0

$buy_wheat = $off
$buy_wood  = $off

$_x1ritual = 216 // начало области кнопки PP
$_y1ritual = 689
$_x2ritual = 274 // конец...
$_y2ritual = 719

$_cWhite = 15657959
//=============================================
$tim = $_time_m + 1

WHILE($tim > $time_m)
   if ($buy_wheat = $on)
      move(80,190)
      lDown(80,190)
      waitms($S_CORR)
      lUp(80,190)
   end_if
   if ($buy_wood = $on)
      move(80,230)
      lDown(80,230)
      waitms($S_CORR)
      lUp(80,230)
   end_if
ELSE
   GETSCREEN
   IF_PIXEL_IN($_x1ritual, $_y1ritual, $_x2ritual,$_y2ritual, $_cWhite)
      move(126,410)
      waitms(50 + $S_CORR)
      lDown(126,410)
      waitms(50 + $S_CORR)
      lUp(126,410)
   END_IF
END_CYC
Проблема на данный момент что клик происходит единожды, и таймер будет всегда больше текущего времени  На ум приходит лишь то, что можно запустить thread и там включать таймер, а в основной ветке программы уже кликать, но не уверен что сработает) может можно как-то запустить цикл по времени, например на минуту. и там уже в конце просто сделать проверку на пиксель
 Давно программированием не занимался  :)

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3658
  • Котэ
    • Просмотр профиля
что это за ELSE у тебя посреди цикла? ELSE может быть только посреди условия.
Код: Clickermann
  1. $S_CORR = 10
  2. $on = 1
  3. $off = 0
  4.  
  5. $buy_wheat = $off
  6. $buy_wood  = $off
  7.  
  8. $_x1ritual = 216 // начало области кнопки PP
  9. $_y1ritual = 689
  10. $_x2ritual = 274 // конец...
  11. $_y2ritual = 719
  12.  
  13. $_cWhite = 15657959
  14. //=============================================
  15. WHILE(1)
  16.  
  17.   $time = $_ms + 1000 // таймер на 1 секунду
  18.   WHILE($time > $_ms)
  19.      if ($buy_wheat = $on)
  20.         move(80,190)
  21.         lDown(80,190)
  22.         waitms($S_CORR)
  23.         lUp(80,190)
  24.         waitms($S_CORR)
  25.      end_if
  26.      if ($buy_wood = $on)
  27.         move(80,230)
  28.         lDown(80,230)
  29.         waitms($S_CORR)
  30.         lUp(80,230)
  31.         waitms($S_CORR)
  32.      end_if
  33.   END_CYC
  34.  
  35.   GETSCREEN($_x1ritual, $_y1ritual, $_x2ritual,$_y2ritual)
  36.   IF_PIXEL_IN($_x1ritual, $_y1ritual, $_x2ritual,$_y2ritual, $_cWhite)
  37.      move(126,410)
  38.      waitms(50 + $S_CORR)
  39.      lDown(126,410)
  40.      waitms(50 + $S_CORR)
  41.      lUp(126,410)
  42.   END_IF
  43.  
  44. END_CYC

Lando

  • Зашел в гости
  • *
  • Сообщений: 3
    • Просмотр профиля
Спасибо. Да, действительно, остался со старых манипуляций. Так понимаю он никогда не выйдет из цикла, то что мне нужно было, оказывается был так близок, истина была рядом!) как все просто

Lando

  • Зашел в гости
  • *
  • Сообщений: 3
    • Просмотр профиля
Другой вопрос, не знаю, стоит ли поднимать новую тему для этого, поэтому решил спросить тут. Почему screenshot с привязкой к окну некорректно отображаются, скрин браузера — черный экран, игры — форма с серым цветом. Из-за этого не могу правильно отслеживать цвета при работе с getscreen. Почему это происходит, как решить?