Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Kibor не находит изображение

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

1. Agent_Cent - 18 Июля, 2021 - 05:37:27 - перейти к сообщению
Для поиска изображения делаю вот такую картинку (Закрашенное жёлтым)(для просмотра ссылки Вам необходимо авторизоваться) и вот что нужно определить(для просмотра ссылки Вам необходимо авторизоваться) После включения 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;
}
2. Zireael - 18 Июля, 2021 - 05:45:13 - перейти к сообщению
 Цитата:
Может кто знает в чём проблема или как найти это изображение другим путём ?

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

Имя функции не может содержать пробелы.
3. Agent_Cent - 18 Июля, 2021 - 05:59:13 - перейти к сообщению
Какая команда отвечает за параметры точности поиска и отклонения в цвете ?
Слабо понял зачем нужен readtext.
Пробелы устраню.
4. Zireael - 18 Июля, 2021 - 06:31:00 - перейти к сообщению
 Цитата:
Какая команда отвечает за параметры точности поиска и отклонения в цвете ?

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

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

Можно вызвать эту функции и потом сравнить распознанный текст.
5. Val_027 - 18 Июля, 2021 - 06:46:26 - перейти к сообщению
 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 пишет:
Красный_меньше_на, Красный_больше


лучше чтоб рисунок или его отдельные фрагменты всегда были на экране неизменны
делаем скан кибором включаем динамику вырезаем сохраняем правим (для просмотра ссылки Вам необходимо авторизоваться) рекомендую само то
6. Agent_Cent - 18 Июля, 2021 - 07:27:31 - перейти к сообщению
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;
}
7. Zireael - 18 Июля, 2021 - 07:49:52 - перейти к сообщению
 Цитата:
как сделать так чтоб они оба просматривались и когда один из них был найден он начинал свою работу ?

Примерно так:
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);
}

// дальнейшие действия
8. Agent_Cent - 18 Июля, 2021 - 08:02:22 - перейти к сообщению
Я заменил, но высветило это(для просмотра ссылки Вам необходимо авторизоваться)
9. Zireael - 18 Июля, 2021 - 08:52:47 - перейти к сообщению
Нужен код, который выдаёт такую ошибку.
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;
}
10. Agent_Cent - 18 Июля, 2021 - 09:47:37 - перейти к сообщению
Ошибка исчезла при использовании твоего кода и выдало это(для просмотра ссылки Вам необходимо авторизоваться) (Добавление)
Не понимаю почему нету бесконечного цикла бота. Пытался убрать break; и loop ставил на определённое число, но все равно пишет конец цикла или вообще не работает (Не выдавая ошибку как афк работа).

Powered by ExBB FM 1.0 Final