Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (2): [1] 2 »   

> Описание: Kibor не находит на экране изображение загруженное в него
Agent_Cent
Отправлено: 18 Июля, 2021 - 13:37:27
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 22
Дата рег-ции: Июль 2021  
Репутация: 0




Для поиска изображения делаю вот такую картинку (Закрашенное жёлтым)(для просмотра ссылки Вам необходимо авторизоваться) и вот что нужно определить(для просмотра ссылки Вам необходимо авторизоваться) После включения KIBOR и анимации этого изображения на экране оно не реагирует и бездействует.
Может кто знает в чём проблема или как найти это изображение другим путём ?

UPD

Изображение Image_2 является темой проблемы.

win w=window ("NoxPlayer1 Основа", -1, -1, -1, 1526, 900, -1);
if (w==0){messagebox ("Нет изображения"); goto er;}
activate(w);
pause(1000);

int Image_0[11][8];
if (load_images()==-1){messagebox ("Нету"); goto er;}
int Image_2[86][24];
if (load_images2()==-1){messagebox ("Где?"); goto er;}

Возвращение на локу когда помер();
Если всё зафармил();

er:;

function Возвращение на локу когда помер()
{
int x, y;
while(findimage(1, #Image_0[0][0], -1, #x, #y, 0, 0, w.width, w.height, w)==0)sleep(1000);
key(32);
sleep(500);
}

function Если всё зафармил()
{
int x, y;
while(findimage(1, #Image_2[0][0], -1, #x, #y, 0, 0, w.width, w.height,w)==0)sleep(50);
key (84);
sleep (330000);
}


function load_images()
{
if (loadimage (#Image_0[0][0], "C:\Users\Никита\Desktop\Image_0.bmp")<1) return -1;
return 1;
}

function load_images2()
{
if (loadimage (#Image_2[0][0], "C:\Users\Никита\Desktop\Image_2.bmp")<1) return -1;
return 1;
}
 
 Top
Zireael
Отправлено: 18 Июля, 2021 - 13:45:13
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4459
Дата рег-ции: Нояб. 2017  
Репутация: 585




 Цитата:
Может кто знает в чём проблема или как найти это изображение другим путём ?

1. Использовать расширенный вариант findimage. Можно указать параметры точности поиска и отклонение в цвете.
2. Использовать readtext.
 Цитата:
Возвращение на локу когда помер();

Имя функции не может содержать пробелы.

(Отредактировано автором: 18 Июля, 2021 - 13:53:35)

 
 Top
Agent_Cent
Отправлено: 18 Июля, 2021 - 13:59:13
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 22
Дата рег-ции: Июль 2021  
Репутация: 0




Какая команда отвечает за параметры точности поиска и отклонения в цвете ?
Слабо понял зачем нужен readtext.
Пробелы устраню.
 
 Top
Zireael
Отправлено: 18 Июля, 2021 - 14:31:00
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4459
Дата рег-ции: Нояб. 2017  
Репутация: 585




 Цитата:
Какая команда отвечает за параметры точности поиска и отклонения в цвете ?

Поиск изображений на экране.
Прочитайте описании функции findimage и посмотрите примеры.
 Цитата:
Функцию findimage так же можно использовать для поиска изображений имеющих отклонения цветов от исходного изображения, или по неполному (к примеру частично перекрытому другим изображением). В этом случае findimage принимает 17 параметров:
findimage(1, #Image_0[0][0], 0, #PosX_0[0], #PosY_0[0], 0, 0, 1366, 768, Красный_меньше_на, Красный_больше_на, Зеленый_меньше_на, Зеленый_больше_на, Синий_меньше_на, Синий_больше_на, Процент_совпадений_достаточный_для_идентификации, флаг_не_искать_в_области_где_найдено, -1);

 Цитата:
Слабо понял зачем нужен readtext.

Можно вызвать эту функции и потом сравнить распознанный текст.
 
 Top
Val_027
Отправлено: 18 Июля, 2021 - 14:46:26
Post Id



Пользователь
Участник


Покинул форум
Сообщений всего: 114
Дата рег-ции: Февр. 2020  
Репутация: 0




 Zireael пишет:
(findimage(1, #Image_2[0][0], -1, #x, #y, 0, 0, w.width, w.


сложно как то все
вот простой пример для поиска

int G_NAGR[25][6]; loadimage(#G_NAGR[0][0], "D:\2\М\G_NAGR.bmp");
// сперва нужен рисунок который ищем в д сл / G_NAGR.bmp /

Textout(1,547,710," ИЩЕМ РИСУНОК ",65280,255,"Arial",-24,0,0,0,0,0,0,0);
if(findimage(1,#G_NAGR[0][0],0,#X,#Y,0,0,1920,1050,-1)!=0)
{Textout(1,547,710,"НАШЛИ",65280,255,"Arial",-24,0,0,0,0,0,0,0);
mousemove(X,Y);sleep(3000);}

// mousemove(X,Y); курсором уткнеться в него если нашла рис и текстом на экране
//подскажет а потом уже остальные танцы с бубном
(Добавление)
 Val_027 пишет:
Красный_меньше_на, Красный_больше


лучше чтоб рисунок или его отдельные фрагменты всегда были на экране неизменны
делаем скан кибором включаем динамику вырезаем сохраняем правим (для просмотра ссылки Вам необходимо авторизоваться) рекомендую само то
 
 Top
Agent_Cent
Отправлено: 18 Июля, 2021 - 15:27:31
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 22
Дата рег-ции: Июль 2021  
Репутация: 0




Zireael, спасибо !
Код не работал вообще пока не поставил его выше.
Но теперь встал вопрос как сделать так чтоб они оба просматривались и когда один из них был найден он начинал свою работу ?

win w=window ("NoxPlayer1 Основа", -1, -1, -1, 1526, 900, -1);
if (w==0){messagebox ("Нет изображения"); goto er;}
activate(w);
pause(1000);

int Image_0[11][8];
if (load_images()==-1){messagebox ("Нету"); goto er;}
int Image_2[86][30];
if (load_images2()==-1){messagebox ("Где?"); goto er;}

Если_всё_зафармил();
Возвращение_на_локу_когда_помер();

er:;

function Если_всё_зафармил()
{
int x, y;
while(findimage(1, #Image_2[0][0], 0, #x, #y, 0, 0, w.width, w.height, 1, 1, 1, 1, 1, 1, 86, 1, w)==0)sleep(100);
key (84);
sleep (330000);
}

function Возвращение_на_локу_когда_помер()
{
int x, y;
while(findimage(1, #Image_0[0][0], -1, #x, #y, 0, 0, w.width, w.height, w)==0)sleep(1000);
key(32);
sleep(500);
}

function load_images2()
{
if (loadimage (#Image_2[0][0], "C:\Users\Никита\Desktop\Image_2.bmp")<1) return -1;
return 1;
}


function load_images()
{
if (loadimage (#Image_0[0][0], "C:\Users\Никита\Desktop\Image_0.bmp")<1) return -1;
return 1;
}
 
 Top
Zireael
Отправлено: 18 Июля, 2021 - 15:49:52
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4459
Дата рег-ции: Нояб. 2017  
Репутация: 585




 Цитата:
как сделать так чтоб они оба просматривались и когда один из них был найден он начинал свою работу ?

Примерно так:
CODE:
loop() // бесконечный цикл
{
if(findimage(1, #Image_2[0][0], 0, #x, #y, 0, 0, w.width, w.height, 1, 1, 1, 1, 1, 1, 86, 1, w)==1) // если картинка найдена
{
key(84);
sleep (330000);
break; // выход из цикла
}

if(findimage(1, #Image_0[0][0], -1, #x, #y, 0, 0, w.width, w.height, w)==1) // если картинка найдена
{
key(32);
sleep(500);
break; // выход из цикла
}

sleep(100);
}

// дальнейшие действия
 
 Top
Agent_Cent
Отправлено: 18 Июля, 2021 - 16:02:22
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 22
Дата рег-ции: Июль 2021  
Репутация: 0




Я заменил, но высветило это(для просмотра ссылки Вам необходимо авторизоваться)
 
 Top
Zireael
Отправлено: 18 Июля, 2021 - 16:52:47
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4459
Дата рег-ции: Нояб. 2017  
Репутация: 585




Нужен код, который выдаёт такую ошибку.
CODE:
win w=window ("NoxPlayer1 Основа", -1, -1, -1, 1526, 900, -1);
if (w==0){messagebox ("Нет изображения"); goto er;}
activate(w);
pause(1000);

int Image_0[11][8];
if (load_images()==-1){messagebox ("Нету"); goto er;}
int Image_2[86][30];
if (load_images2()==-1){messagebox ("Где?"); goto er;}


int x, y;

loop() // бесконечный цикл
{
if(findimage(1, #Image_2[0][0], 0, #x, #y, 0, 0, w.width, w.height, 1, 1, 1, 1, 1, 1, 86, 1, w)==1) // если картинка найдена
{
key(84);
sleep (330000);
break; // выход из цикла
}

if(findimage(1, #Image_0[0][0], -1, #x, #y, 0, 0, w.width, w.height, w)==1) // если картинка найдена
{
key(32);
sleep(500);
break; // выход из цикла
}

sleep(100);
}

messagebox("Вышли из цикла");
er:;


function load_images2()
{
if (loadimage (#Image_2[0][0], "C:\Users\Никита\Desktop\Image_2.bmp")<1) return -1;
return 1;
}


function load_images()
{
if (loadimage (#Image_0[0][0], "C:\Users\Никита\Desktop\Image_0.bmp")<1) return -1;
return 1;
}
 
 Top
Agent_Cent
Отправлено: 18 Июля, 2021 - 17:47:37
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 22
Дата рег-ции: Июль 2021  
Репутация: 0




Ошибка исчезла при использовании твоего кода и выдало это(для просмотра ссылки Вам необходимо авторизоваться) (Добавление)
Не понимаю почему нету бесконечного цикла бота. Пытался убрать break; и loop ставил на определённое число, но все равно пишет конец цикла или вообще не работает (Не выдавая ошибку как афк работа).
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by