Автокликер Clickermann :: Форум
Основной раздел => Использование => Topic started by: Злой_Волк on October 11, 2013, 04:12:11 PM
-
есть простой скрипт делающий снимок с экрана:
GETSCREEN
SCREENSHOT
при работе в обычном режиме все работает корректно, но как только делаю привязку к окну некоторых приложений, например к Браузеру гугл хром, получается черное фото(черный прямоугольник) размером равным размеру окна браузера....
и еще подскажите пожалуйста сделал следующий код:
GETSCREEN
scanpicture($var, 0,0, $_xmax,$_ymax, "Cross.bmp")
IF(arrsize($var)>0)
$y = arrpop($var)
$x = arrpop($var)
lclick($x, $y)
END_IF
//--------------------------------
lclick(1196,605)
WAITMS(1000)
lclick(793,497)
WAITMS(500)
lclick(1168,675)
WAITMS(1000)
lclick(783,479)
WAITMS(3000)
lclick(898,647)
WAITMS(1000)
//--------------------------------
GETSCREEN
scanpicture($var, 0,0, $_xmax,$_ymax, "Cross.bmp")
IF(arrsize($var2)>0)
$y = arrpop($var2)
$x = arrpop($var2)
lclick($x, $y)
END_IF
GETSCREEN
scanpicture($var1, 0,0, $_xmax,$_ymax, "Lvl_up.bmp")
IF(arrsize($var1)>0)
$y = arrpop($var1)
$x = arrpop($var1)
lclick($x, $y)
LOGWRITE("Апп")
lclick(895,353)
WAITMS(10000)
GETSCREEN
scanpicture($var, 0,0, $_xmax,$_ymax, "Cross.bmp",)
$y = arrpop($var)
$x = arrpop($var)
lclick($x, $y)
lclick (870,171)
GOTO(1)
END_IF
GETSCREEN
scanpicture($var, 0,0, $_xmax,$_ymax, "Cross.bmp")
IF(arrsize($var2)>0)
$y = arrpop($var2)
$x = arrpop($var2)
lclick($x, $y)
END_IF
//--------------------------------
lclick(895,353)
я новичок простите за мой быдло код второй день пытаюсь с кликером разобраться вот объясните что я ни так ищу, ибо картинки он воспринимает мягко говоря не с первого раза, программа пробегает по циклу раз 8 прежде чем распознает нужную картинку... картинки делал в пеинте делая снимки с экрана... помогите советом что не так :)
-
1. сто милионов раз оговаривалось что оконный режим - оче хитрая штука и совсем не факт что будет работать. как ты правильно заметил, далеко не во всех приложениях и зависит это от самих приложений
2. раз уж ты решил попробовать массивов, то будь добр пример копируй целиком потмоу что вместо условия там идет цикл while. а так у тебя действительно поулчится полная фигня
-
ну там 100% 1 такая картинка будет и соответственно если длинна массива больше 0(найдена картинка) то надо кликнуть по ней...
проблема в том что кликер не находит таковых в 90% случаев...
картинки приложил к сообщению мб с ними что ни так...
-
Ты понимаешь что в таком случае кликер будет возвращать последнюю найденную картину. Кроме того массивы у тебя не обнуляются, в них возможно остаются данные.
В двух местах имя массивов несходится
scanpicture($var, 0,0, $_xmax,$_ymax, "Cross.bmp")
IF(arrsize($var2)>0)
Ну и GOTO(1) к чему?????
Не проще ли использовать IF_PICTURE_IN?
-
1.1)Ты понимаешь что в таком случае кликер будет возвращать последнюю найденную картину.
1.2)Кроме того массивы у тебя не обнуляются, в них возможно остаются данные.
2)В двух местах имя массивов несходится
scanpicture($var, 0,0, $_xmax,$_ymax, "Cross.bmp")
IF(arrsize($var2)>0)
3)Ну и GOTO(1) к чему?????
1.1) ну я говорю только начинаю разбираться с кликером...(и мне нужна только 1 картинка)
1.2)как в них будут оставаться данные если я их переопределяю вроди как?
2)хэх да есть косяк((( у меня до этого все массивы $var были... так же работало.. но всеровно спасибо незаметил бы...(
3)там тоже косяк хотел к началу отсылать.. метку прописать забыл...
-
Нет, функция scanpicture добавляет в массив $var координаты
Скажем такой пример:
scanpicture($var, 0,0, $_xmax,$_ymax, "Cross.bmp")
scanpicture($var, 0,0, $_xmax,$_ymax, "Cross2.bmp")
scanpicture($var, 0,0, $_xmax,$_ymax, "Cross3.bmp")
Все координаты всех найденных картинок и повторений будут записаны в массив $var
-
Тебе не нужно использовать scanpicture а нужно использовать IF_PICTURE_IN
-
p1:
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Cross.bmp")
LCLICK($_return1, $_return2)
END_IF
//--------------------------------
lclick(1196,605)
WAITMS(1000)
lclick(793,497)
WAITMS(500)
lclick(1168,675)
WAITMS(1000)
lclick(783,479)
WAITMS(3000)
lclick(898,647)
WAITMS(1000)
//--------------------------------
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Cross.bmp")
LCLICK($_return1, $_return2)
END_IF
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Lvl_up.bmp")
LCLICK($_return1, $_return2)
LOGWRITE("Апп")
lclick(895,353)
WAITMS(10000)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Cross.bmp")
LCLICK($_return1, $_return2)
END_IF
lclick (870,171)
GOTO(p1)
END_IF
//--------------------------------
lclick(895,353)
во спасибо так гораздо лучше)