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

Основной раздел => Использование => Topic started by: alex2000ru on June 11, 2013, 12:30:27 AM

Title: Последовательные клики по картинкам
Post by: alex2000ru on June 11, 2013, 12:30:27 AM
Подскажите, пожалуйста, как будет выглядеть скрипт для такого сценария:

1.Поиск первой  картинки.

2. В случае ее нахождения кликаем на нее и ищем 2-ю картинку.

3. Если не находим 1-ю картинку, останавливаем скрипт.

Title: Re: Последовательные клики по картинкам
Post by: Oraven on June 12, 2013, 12:14:55 AM
Просто вложи одну функцию в другую

Code: (clickermann) [Select]
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "1.bmp")
   LCLICK($_return1, $_return2)
   WAITMS(500)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "2.bmp")
      LCLICK($_return1, $_return2)
      WAITMS(500)
   END_IF
Else
   HALT
END_IF

WAITMS(50)

А еще хорошо бы убирать курсор после клика функцией MOVE, чтоб не загораживал картинку.
Title: Re: Последовательные клики по картинкам
Post by: alex2000ru on June 12, 2013, 10:31:12 PM
Спасибо, уважаемый  Oraven  ,

 я попробовал Ваш скрипт, но у меня почему-то  HALT все выключает после 1 картинки по-любоу. Нашел, не нашел.
Правда у меня чуть сложнее с KEYSTRINGом посередине.
Где может быть ошибка?

Code: (clickermann) [Select]
GOSUB(sub_name)
SUB (sub_name)   
getscreen
IF_PICTURE_IN (990,390,1114,567, "odin.bmp")
lclick($_return1+20, $_return2+5)
WAITMS(10000)
LCLICK(121,903)
WAITMS(11000)
KEYSTRING("dva",250)
HINTPOPUP("Message", "Title 1")
LCLICK(752,148)
WAIT(1)
getscreen
IF_PICTURE_IN (0,0, 304,427, "dva.bmp")
lclick($_return1+20, $_return2+5)
WAITMS(100)
lclick($_return1+40, $_return2+6)
      WAITMS(500)
  END_IF
Else
  HALT
END_IF
   
END_SUB
Title: Re: Последовательные клики по картинкам
Post by: Oraven on June 12, 2013, 10:48:44 PM
Скрипт может остановиться только если не найдет "odin.bmp". Может задержка маленькая или картинка незначительно меняется. Попробуй в место хальта вставить записи в лог, так сразу будет понятно как там именно срабатывают условия. И зачем этот СУБ?
Title: Re: Последовательные клики по картинкам
Post by: alex2000ru on June 12, 2013, 11:10:11 PM
Oraven, спасибо за ответ.
Убрал саб, поменял хальт на лог. В логе пишет, что ничего не найдено, хотя визуально видно, что кликает на 1 картинку
Title: Re: Последовательные клики по картинкам
Post by: Oraven on June 13, 2013, 12:25:16 AM
Oraven, спасибо за ответ.
Убрал саб, поменял хальт на лог. В логе пишет, что ничего не найдено, хотя визуально видно, что кликает на 1 картинку

Ну тык наверно задержка слишком быстрая там 500 миллисекунд стоит попробуй увеличить
Title: Re: Последовательные клики по картинкам
Post by: alex2000ru on June 13, 2013, 12:49:53 AM
ok, спасибо, завтра поэксперементирую :)
Title: Re: Последовательные клики по картинкам
Post by: kolik76_76 on December 18, 2015, 11:03:29 PM
Привет ребята, не стал создавать новую тему вопрос почти такой же. Написал скрипт, работает на половину, как допилить?
Code: (clickermann) [Select]
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "/picture/1.bmp")
   LCLICK($_return1, $_return2)
   WAITMS(500)
WAIT(RND(1,2))
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "/picture/2.bmp")
      LCLICK($_return1, $_return2)
      WAITMS(500)
   END_IF
END_CYC

Скрипт должен сначала кликать по первой картинке потом через рандом времени 1-2сек по второй и если не находит первую картинку то кликает по второй
Title: Re: Последовательные клики по картинкам
Post by: Atas on December 19, 2015, 12:05:22 AM
kolik76_76 у тебя в скрипте не хватает просто END_IF после шестой строки.
И GETSCREEN в восьмой строке по моему лишний, т.к. после задержки в 2 мс может появиться первая картинка, а у тебя получится клик сразу по второй, без проверки есть ли первая.
Еще, в шестой строке WAITMS(500) тоже вроде не к месту, там же рандомная задержка стоит.
Просто невнимательность в написании кода, а в целом всё норм.  :)
В редакторе надо на волшебную палочку иногда нажимать, это кнопка такая (вверху, на панели действий); если в коде есть подобные ошибки (например с END_IF), то будет заметно как скрипт перекосится.
Title: Re: Последовательные клики по картинкам
Post by: kolik76_76 on December 19, 2015, 02:09:12 AM
Там как, сначала на первую жмакаешь тогда появляется вторая, но бывает, что нет первой, есть только вторая. С вашей помощью ребята допилил скрипт, получился вот так
Code: (clickermann) [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "picture/1.bmp")
      LCLICK($_return1, $_return2)
      WAIT(5)
   END_IF
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "picture/2.bmp")
      LCLICK($_return1, $_return2)
      WAITMS(500)
   END_IF
END_CYC


Рандом пока убрал, для теста, ну и WAITMS тоже можно убрать
Title: Re: Последовательные клики по картинкам
Post by: kolik76_76 on December 19, 2015, 04:47:05 PM
Это я сделал так для теста, добавил ещё чтобы по ссылкам кликал и получился полуавтоматический бот