Author Topic: Кликер по месту + через N сек нажать в нужном месте  (Read 1982 times)

0 Members and 1 Guest are viewing this topic.

Lando

  • Зашел в гости
  • *
  • Posts: 3
    • View Profile
Приветствую прибывших в эту тему, заранее прошу не бить, если это уже когда-то обсуждалось. Проблема, что не могу реализовать таймер + кликер в точке одновременно)
Задача: нужно покупать(много кликать в окне) на две позиции, но проверять могу ли запустить ритуал это проверяется наличием белого пикселя в заданной области.
Текущий код такой:
Code: [Select]
$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

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
что это за ELSE у тебя посреди цикла? ELSE может быть только посреди условия.
Code: (clickermann) [Select]
$S_CORR = 10
$on = 1
$off = 0

$buy_wheat = $off
$buy_wood  = $off

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

$_cWhite = 15657959
//=============================================
WHILE(1)
   
   $time = $_ms + 1000 // таймер на 1 секунду
   WHILE($time > $_ms)
      if ($buy_wheat = $on)
         move(80,190)
         lDown(80,190)
         waitms($S_CORR)
         lUp(80,190)
         waitms($S_CORR)
      end_if
      if ($buy_wood = $on)
         move(80,230)
         lDown(80,230)
         waitms($S_CORR)
         lUp(80,230)
         waitms($S_CORR)
      end_if
   END_CYC
   
   GETSCREEN($_x1ritual, $_y1ritual, $_x2ritual,$_y2ritual)
   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

Lando

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

Lando

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