Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: Qlloudy on March 25, 2019, 08:53:07 PM
-
Уважаемые форумчане подскажите как реализовать следующее:
При появлении на экране картинки определить ее координаты, кликнуть и скопировать появившуюся на месте предыдущей картинки, новую картинку в файл с рандомным именем?
Заранее спасибо!
-
Создай папку "Image" рядом с сохраненным скриптом. В нее помести картинку для поиска.
GETFILELIST($a_image, "Image\*.bmp") // Получаем список картинок в папке Image
GETSCREEN
FOR($i=0,$i<ARRSIZE($a_image)) // цикл поиска картинок
IF_PICTURE_IN (0,0, $_xmax,$_ymax, STRCONCAT("Image\", $a_image[$a]), -1, 100)
$i = ARRSIZE($a_image)
LCLICK($_return1, $_return2)
MOVER(-100,-100)
WAITMS(1000)
$s = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890_"
$str = ""
FOR($b=0,$b<10) // Генератор случайного имени. 10 символов
$str = STRCONCAT($str, STRCUT($s, RND(1,STRLEN($s)), 1))
END_CYC
GETSCREEN // делаем снимок и сохраняем новую картинку
SCREENSHOTFIX($_return1, $_return2, $_return1+20, $_return2+20, STRCONCAT("Image\", $str, ".bmp"), 0)
END_IF
END_CYC
WAIT(1)
-
Создай папку "Image" рядом с сохраненным скриптом. В нее помести картинку для поиска.
Спасибо очень помогло, не знал просто таких команд, получилось иначе но робит, глянь может можно что улучшить, хотелось бы последние 2 поиска в разных областях на наличие картинки объединить в один, не подскажешь как?
LCLICK(49,371)
WAITMS(50)
WHEELDOWN
WAITMS(50)
MOVE(863,385)
WAITMS(1500)
GETSCREEN
IF_PICTURE_IN(946,309,983,460, "1.bmp")
WAITMS(100)
LCLICK($_return1+25, $_return2-15)
MOVE(863,385)
WAITMS(50)
WAITMS(500)
$s = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890_"
$str = ""
FOR($b=0,$b<10) // Генератор случайного имени. 10 символов
$str = STRCONCAT($str, STRCUT($s, RND(1,STRLEN($s)), 1))
END_CYC
GETSCREEN // делаем снимок и сохраняем новую картинку
SCREENSHOTFIX($_return1-35, $_return2-15, $_return1+100, $_return2+10, STRCONCAT("Image\", $str, ".bmp"), 0)
End_if
GETSCREEN
IF_PICTURE_IN(383,122,746,624, "2.bmp")
WAITMS(50)
LCLICK($_return1-25, $_return2+15)
WAITMS(50)
End_if
GETSCREEN
IF_PICTURE_IN(353,125,785,733, "3.bmp")
WAITMS(50)
LCLICK($_return1-25, $_return2+15)
WAITMS(50)
End_if
-
Ну если только так
GETSCREEN
IF_PICTURE_IN(383,122,746,624, "2.bmp")
WAITMS(50)
LCLICK($_return1-25, $_return2+15)
WAITMS(50)
ELSE // если не найдено "2.bmp" ищем "3.bmp"
IF_PICTURE_IN(353,125,785,733, "3.bmp")
WAITMS(50)
LCLICK($_return1-25, $_return2+15)
WAITMS(50)
END_IF
END_IF
-
Спасибо, в принципе так и думал, все работает как часики, буду дальше делать =)