Автокликер Clickermann :: Форум
Основной раздел => Использование => Topic started by: alex2000ru on June 11, 2013, 12:30:27 AM
-
Подскажите, пожалуйста, как будет выглядеть скрипт для такого сценария:
1.Поиск первой картинки.
2. В случае ее нахождения кликаем на нее и ищем 2-ю картинку.
3. Если не находим 1-ю картинку, останавливаем скрипт.
-
Просто вложи одну функцию в другую
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, чтоб не загораживал картинку.
-
Спасибо, уважаемый Oraven ,
я попробовал Ваш скрипт, но у меня почему-то HALT все выключает после 1 картинки по-любоу. Нашел, не нашел.
Правда у меня чуть сложнее с KEYSTRINGом посередине.
Где может быть ошибка?
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
-
Скрипт может остановиться только если не найдет "odin.bmp". Может задержка маленькая или картинка незначительно меняется. Попробуй в место хальта вставить записи в лог, так сразу будет понятно как там именно срабатывают условия. И зачем этот СУБ?
-
Oraven, спасибо за ответ.
Убрал саб, поменял хальт на лог. В логе пишет, что ничего не найдено, хотя визуально видно, что кликает на 1 картинку
-
Oraven, спасибо за ответ.
Убрал саб, поменял хальт на лог. В логе пишет, что ничего не найдено, хотя визуально видно, что кликает на 1 картинку
Ну тык наверно задержка слишком быстрая там 500 миллисекунд стоит попробуй увеличить
-
ok, спасибо, завтра поэксперементирую :)
-
Привет ребята, не стал создавать новую тему вопрос почти такой же. Написал скрипт, работает на половину, как допилить?
$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сек по второй и если не находит первую картинку то кликает по второй
-
kolik76_76 у тебя в скрипте не хватает просто END_IF после шестой строки.
И GETSCREEN в восьмой строке по моему лишний, т.к. после задержки в 2 мс может появиться первая картинка, а у тебя получится клик сразу по второй, без проверки есть ли первая.
Еще, в шестой строке WAITMS(500) тоже вроде не к месту, там же рандомная задержка стоит.
Просто невнимательность в написании кода, а в целом всё норм. :)
В редакторе надо на волшебную палочку иногда нажимать, это кнопка такая (вверху, на панели действий); если в коде есть подобные ошибки (например с END_IF), то будет заметно как скрипт перекосится.
-
Там как, сначала на первую жмакаешь тогда появляется вторая, но бывает, что нет первой, есть только вторая. С вашей помощью ребята допилил скрипт, получился вот так
$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 тоже можно убрать
-
Это я сделал так для теста, добавил ещё чтобы по ссылкам кликал и получился полуавтоматический бот