Author Topic: Почему не работает?  (Read 2989 times)

0 Members and 1 Guest are viewing this topic.

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Почему не работает?
« 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)
Я не ду... Потому и не бу...

aden

  • Оплот сообщества
  • ****
  • Posts: 363
    • View Profile
Re: Почему не работает?
« Reply #1 on: July 24, 2014, 10:10:51 PM »
а что конкретно не работает? не нажимает или не находит? вроде ж все элементарно должно фурычить

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Re: Почему не работает?
« Reply #2 on: July 24, 2014, 10:13:54 PM »
Ну просто как бы ничего не происходит, когда появляется пиксель...
Я не ду... Потому и не бу...

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Почему не работает?
« Reply #3 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)

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Re: Почему не работает?
« Reply #4 on: July 24, 2014, 10:36:46 PM »
Я че-то перемен не заметил... У меня в конце было MOVE(1439,0), а у тебя MOVE($_xmax,$_ymax). Ну у тебя курсор уходил в нижний угол правый, а у меня в верхний. Вот как бы и вся разница у нас...
Я не ду... Потому и не бу...

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Re: Почему не работает?
« Reply #5 on: July 24, 2014, 10:45:17 PM »
О! А вот твой скрипт работает...
На сколько я понял, весь секрет в этой строке... - IF(PXL($_return1,$_return2) = 3953239)
« Last Edit: July 24, 2014, 10:51:03 PM by Hito »
Я не ду... Потому и не бу...

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Почему не работает?
« Reply #6 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)
« Last Edit: July 25, 2014, 12:49:39 PM by Vint »