Pro100rus32 |
Отправлено: 08 Декабря, 2019 - 18:44:45
|
Наблюдатель
Покинул форум
Сообщений всего: 30
Дата рег-ции: Дек. 2019
Репутация: 0
|
Dantes3000 пишет: Pro100rus32 , скорее всего не объявлены переменные x[0], y[0]
(Добавление)
Или на другом компе окно не находится
Вот -(для просмотра ссылки Вам необходимо авторизоваться) Делал по уроку из ютуба, где в пеинте было много смайликов, и на всех них нужно было кликнуть
(Добавление)
Zireael пишет: Добавьте в параметры findimage разбежность в цвете. С виду картинки могут быть одинаковые, но цвет на разных пк может отличаться.
Скиньте искомую картинку и скин с шариками, которые не находятся.
(для просмотра ссылки Вам необходимо авторизоваться) Как понять скин? (Сорян, просто я пенек) |
|
|
Pro100rus32 |
Отправлено: 08 Декабря, 2019 - 18:59:43
|
Наблюдатель
Покинул форум
Сообщений всего: 30
Дата рег-ции: Дек. 2019
Репутация: 0
|
Zireael пишет: Цитата: Как понять скин?
Скрин, опечатка просто. Имелось ввиду скрин шарика, который ищем и скрин где 25 шариков, которые не находятся.
Что вообще нужно сделать, найти не нажатые и нажать на них?
Да, нужно найти не нажатые, и нажать на них. |
|
|
Zireael |
Отправлено: 08 Декабря, 2019 - 19:23:05
|
Эксперт
Покинул форум
Сообщений всего: 4466
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: нужно найти не нажатые, и нажать на них.
CODE:string path="D:\Kibor2\Image_0.bmp"; // путь к картинке
int coord[4]={0, 0, 1920, 1080} // координаты поиска, левый верхний угол и правый нижний
int r=10; // разбежность в цвете (подобрать нужное)
int p=100; // точность поиска в % (подобрать нужное, если не поможет разбежность)
int Image_0[99][99]; // массив для картинки
loadimage (#Image_0[0][0], path); // загрузить картинку
int x[25], y[25]; // сюда запишутся координаты найденных картинок
int count=findimage(25, #Image_0[0][0], 0, #x[0], #y[0], coord[0], coord[1], coord[2], coord[3], r,r,r,r,r,r,p,1,-1);
messagebox("Найдено: "+format(count));
for(int i=0; i<count; i++)
{
mousemove(x[i]+coord[0]+10, y[i]+coord[1]+10); // навести курсор
mouse(LEFT, x[i]+coord[0]+10, y[i]+coord[1]+10); // клик
sleep(500);
} |
|
|
Pro100rus32 |
Отправлено: 08 Декабря, 2019 - 19:35:03
|
Наблюдатель
Покинул форум
Сообщений всего: 30
Дата рег-ции: Дек. 2019
Репутация: 0
|
Zireael пишет: Цитата: нужно найти не нажатые, и нажать на них.
CODE:string path="D:\Kibor2\Image_0.bmp"; // путь к картинке
int coord[4]={0, 0, 1920, 1080} // координаты поиска, левый верхний угол и правый нижний
int r=10; // разбежность в цвете (подобрать нужное)
int p=100; // точность поиска в % (подобрать нужное, если не поможет разбежность)
int Image_0[99][99]; // массив для картинки
loadimage (#Image_0[0][0], path); // загрузить картинку
int x[25], y[25]; // сюда запишутся координаты найденных картинок
Хаха, вообщем сделал как сказали, теперь работает у большего кол - во людей но не у всех, я отпишу если не получится сделать, щас буду дальше подбирать)
int count=findimage(25, #Image_0[0][0], 0, #x[0], #y[0], coord[0], coord[1], coord[2], coord[3], r,r,r,r,r,r,p,1,-1);
messagebox("Найдено: "+format(count));
for(int i=0; i<count; i++)
{
mousemove(x[i]+coord[0]+10, y[i]+coord[1]+10); // навести курсор
mouse(LEFT, x[i]+coord[0]+10, y[i]+coord[1]+10); // клик
sleep(500);
}
Хорошо попробую)
(Добавление)
Pro100rus32 пишет: Zireael пишет: Цитата: нужно найти не нажатые, и нажать на них.
CODE:string path="D:\Kibor2\Image_0.bmp"; // путь к картинке
int coord[4]={0, 0, 1920, 1080} // координаты поиска, левый верхний угол и правый нижний
int r=10; // разбежность в цвете (подобрать нужное)
int p=100; // точность поиска в % (подобрать нужное, если не поможет разбежность)
int Image_0[99][99]; // массив для картинки
loadimage (#Image_0[0][0], path); // загрузить картинку
int x[25], y[25]; // сюда запишутся координаты найденных картинок
Хаха, вообщем сделал как сказали, теперь работает у большего кол - во людей но не у всех, я отпишу если не получится сделать, щас буду дальше подбирать)
int count=findimage(25, #Image_0[0][0], 0, #x[0], #y[0], coord[0], coord[1], coord[2], coord[3], r,r,r,r,r,r,p,1,-1);
messagebox("Найдено: "+format(count));
for(int i=0; i<count; i++)
{
mousemove(x[i]+coord[0]+10, y[i]+coord[1]+10); // навести курсор
mouse(LEFT, x[i]+coord[0]+10, y[i]+coord[1]+10); // клик
sleep(500);
}
Хорошо попробую)
Что это за магический скрипт, что как бы я не менял разбег цветов, ему пофиг, и он находит 25?)(Отредактировано автором: 08 Декабря, 2019 - 19:38:03) |
|
|
|