Автокликер Clickermann :: Форум
Основной раздел => Использование => Topic started by: skytas on June 19, 2014, 03:02:12 PM
-
Прошу помощи (т.е. сам практически ничего не соображаю по этой теме), нужен скрипт для поиска нужного изображения в определенной области экрана (оно может быть нескольких цветов, но цвет не имеет значения).
Пытался написать скрипт сам, использовал GETSCREEN и IF_PICTURE_IN, но дальше открытия и закрытия окна не ушел, т.е. я выполнил только пункты 1,5,6
Последовательность примерно такая:
1. Двойной клик лкм в постоянной точки экрана (для запуска рулетки).
2. Поиск в определенной области экрана нужного изображения (изображение у меня есть, уже в bmp).
3. Если изображение найдено, то остановить кликер.
4. Если изображение не найдено, то:
5. Один клик лкм постоянной области экрана
6. Закрытие окна, либо кнопкой Enter, либо один клик лкм в постоянной области экрана.
7.Повторить цикл с пункта 1.
Заранее благодарен.
-
Ну и что тут сложного? Все по пунктам:
DBLCLICK(10,10) // 1
WAITMS(500)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp") // 2
HALT // 3
ELSE
LCLICK(10,10) // 5
WAITMS(500)
KEYPRESS(#ENTER) // 6
WAITMS(500)
END_IF
-
Вписал свои параметры, рулетку открывает и закрывает но не останавливается при нахождении нужного изображения, а продолжает дальше открывать и закрывать рулетку. Что делать, может я чего то не понимаю. :-[
Добавил картинки для наглядности
Первая это область поиска. Вторая что ищем (может быть другого цвета)
-
...но не останавливается при нахождении нужного изображения...
Ну очевидно же что он не находит твою картинку. Почитай о цветокоррекции (http://crapware.aidf.org/forum/index.php?topic=1260.msg5886#msg5886)
В твоем случае достаточно вырезать серединку в камне 10Х10 или 5Х5 пикселов. Чем меньше картинка тем быстрее найдет её кликер. А заодно от лишних пикселов избавишся. Также укажи точно зону поиска (почитай описание функции IF_PICTURE_IN в справке), зачем искать изображение там где его быть не может, только время тратить.. В примере я привел вариант поиска на всем экране (0,0, $_xmax,$_ymax, "file.bmp")
-
Я так понял, что для начала мне нужно найти изображение того камня который нужен, потом снять скриншот с параметром цветокоррекции, и только после этого уже искать нужное мне изображение. Но у меня проблема камни бывают нескольких цветов, например: красный, зеленый, синий, голубой, фиолетовый и т.д., как сделать так чтобы кликер искал камень любого цвета.
Вот я сделал всё как вы сказали:
DBLCLICK(1183,412) // 1
WAITMS(500)
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (776,364, 1140,667, "shot0000.bmp", -1, 80) // 2
HALT // 3
ELSE
LCLICK(1176,315) // 5
WAITMS(500)
KEYPRESS(#ENTER) // 6
WAITMS(500)
END_IF
Но он находит только камень того цвета с которого сделан скриншот, а другие не замечает.
-
как сделать так чтобы кликер искал камень любого цвета.
делать на каждый цвет отдельный if_picture_in
-
Спасибо, я уже понял, сейчас ищу скриншоты всех цветов, как найду буду пробовать.
-
Здравствуйте, судя по выращенному советами скрипту:
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (776,364, 1140,667, "shot0000.bmp", -1, 80) // 2
HALT // 3
ELSE
LCLICK(1176,315) // 5
WAITMS(500)
KEYPRESS(#ENTER) // 6
WAITMS(500)
END_IF
Можно помочь с такой вещью:
Это скрипт по запуске рулетки, т.е. мы ищем несколько разных уникальных вещей, но если попадается неугодная вещь (которых может быть несколько разных), мы можем пропустить эту унику, но сделать скрин и продолжить далее поиск, помогите пожалуйста составить эту схему...да и я сам тоже попробую пока дождусь ответа.
-
Используй SCREENSHOTEX
SCREENSHOTEX(776,364, 1140,667, "Image_", 0)