Автокликер Clickermann :: Форум

Основной раздел => Общие вопросы => Topic started by: Hito on July 24, 2014, 09:31:14 PM

Title: Почему не работает?
Post by: Hito on July 24, 2014, 09:31:14 PM
Ребят, смысл такой... На экране периодически появляется пиксель, который нужно заюзать. Но так же иногда на экране на доли секунды появляется такой же пиксель, который юзать НЕ надо. В итоге что мы имеем... По моим соображениям данный скрипт должен обнаружить пиксель и спустя пол секунды, сначала проверить, остался ли тот пиксель в том же месте и если остался, то заюзать, а если его уже нет... Ну... Ну, значит его уже нет  :)
Но вот че-то не работает моя задумка в скрипте этом...
Code: (clickermann) [Select]
GETSCREEN
IF_PIXEL_IN(0,0, $_xmax,$_ymax, 3953239)
  WAITMS(500)
  GETSCREEN
  IF_PIXEL_IN ($_return1, $_return2, 3953239)
    MOVE($_return1, $_return2)
    WAITMS(100)
    LCLICK($_return1, $_return2)
    WAITMS(100)
    MOVE(1439,0)
  END_IF
END_IF
WAITMS(50)
Title: Re: Почему не работает?
Post by: aden on July 24, 2014, 10:10:51 PM
а что конкретно не работает? не нажимает или не находит? вроде ж все элементарно должно фурычить
Title: Re: Почему не работает?
Post by: Hito on July 24, 2014, 10:13:54 PM
Ну просто как бы ничего не происходит, когда появляется пиксель...
Title: Re: Почему не работает?
Post by: Oraven on July 24, 2014, 10:18:41 PM
а что конкретно не работает? не нажимает или не находит? вроде ж все элементарно должно фурычить
Ну посмотри внимательнее что там НЕтак  ;)

Ну просто как бы ничего не происходит, когда появляется пиксель...
Вот как тебе нужно!
Code: (clickermann) [Select]
GETSCREEN
IF_PIXEL_IN(0,0, $_xmax,$_ymax, 3953239)
   WAITMS(500)
   GETSCREEN
   IF(PXL($_return1,$_return2) = 3953239)
      MOVE($_return1, $_return2)
      WAITMS(100)
      LCLICK($_return1, $_return2)
      WAITMS(100)
      MOVE($_xmax,$_ymax) // убрать курсор
   END_IF
END_IF
WAITMS(50)
Title: Re: Почему не работает?
Post by: Hito on July 24, 2014, 10:36:46 PM
Я че-то перемен не заметил... У меня в конце было MOVE(1439,0), а у тебя MOVE($_xmax,$_ymax). Ну у тебя курсор уходил в нижний угол правый, а у меня в верхний. Вот как бы и вся разница у нас...
Title: Re: Почему не работает?
Post by: Hito on July 24, 2014, 10:45:17 PM
О! А вот твой скрипт работает...
На сколько я понял, весь секрет в этой строке... - IF(PXL($_return1,$_return2) = 3953239)
Title: Re: Почему не работает?
Post by: Vint on July 25, 2014, 12:47:01 PM
Я че-то перемен не заметил... У меня в конце было MOVE(1439,0), а у тебя MOVE($_xmax,$_ymax). Ну у тебя курсор уходил в нижний угол правый, а у меня в верхний. Вот как бы и вся разница у нас...
Перемены простые
IF_PIXEL_IN ($_return1, $_return2, 3953239)  -- в IF_PIXEL_IN задаётся область для поиска из 4 координат... а здесь их только 2.
Мы и не должны ИСКАТЬ, мы должны проверить конкретный пиксель.
Но даже если бы ты задал область в 1 пиксель всё бы работало, только не рационально:
Code: (clickermann) [Select]
IF_PIXEL_IN ($_return1, $_return2,$_return1, $_return2, 3953239)