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

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

 Страниц (9): « 1 2 3 4 5 6 7 [8] 9 »   

> Описание: Справка по некоторым функциям Кибор
Zireael
Отправлено: 23 Апреля, 2023 - 22:00:41
Post Id



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


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




 Цитата:
-32000, -32000

Вроде бы это окно свернутое на панель задач.
findimage возвращает код ошибки, смотрите что возвращает.
 Цитата:
1449, 229, 1449, 671

Зона поиска по X должна быть хотя 1 пиксель.
 
 Top
1st
Отправлено: 24 Апреля, 2023 - 01:50:50
Post Id



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


Покинул форум
Сообщений всего: 3
Дата рег-ции: Нояб. 2019  
Откуда: Одесса
Репутация: 0




Да, большое спасибо, я заметил это уже после отправки сообщения и подумал, что может он просто не видит координаты или указанное окно.
Правда в итоге он всё равно не реагировал, но помогло перезапуск игры на других настройках.
Теперь находит картинку. Но я что-то не могу понять как записать клик или перемещение в центр найденной картинки. Сейчас он уводит либо в верхний левый угол экрана, либо в угол игрового окна, если в конце после координат, добавляю указание окна.
CODE:
win w=window (-1, -1, -1, -1, 1920, 1061, -1);
if (w==0){messagebox ("Нет окна");}
activate(w);
pause(1000);


int тест[22][22];
if (load_images()==-1){messagebox (нету картинки);}


тревел();




function тревел()
{
int x, y;
sleep(5000);
while (findimage(1, #тест[0][0], 0, #x, #y, 1787, 714, 1897, 744, 20, 50, 50, 70, 10, 20, 33, 1, w)==1) mousemove(x, y, w);
messagebox ("НЕТ");
pause(12200);
}







function load_images()
{
if (loadimage (#тест[0][0], "C:\Users\gnom\Documents\KB\тест.bmp")<1) return -1;
return 1;
{messagebox (Всё супер);}

}


Я так понимаю, что в целом я могу брать часть когда, вставлять его в визуальном редакторе в блок кода и дальше добавлять какие-то действия. Но хотелось бы разобраться.
Заранее спасибо
 
 Top
Zireael
Отправлено: 24 Апреля, 2023 - 07:34:00
Post Id



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


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




 Цитата:
уводит либо в верхний левый угол экрана, либо в угол игрового окна

Нужно прибавить кординаты начала поиска.
CODE:
mousemove(x+1787, y+714, w);

Чтобы кликнуть в центр картики нужно прибавить половину шинины и высоты этой картинки.
 
 Top
1st
Отправлено: 24 Апреля, 2023 - 20:55:30
Post Id



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


Покинул форум
Сообщений всего: 3
Дата рег-ции: Нояб. 2019  
Откуда: Одесса
Репутация: 0




 Zireael пишет:
 Цитата:
уводит либо в верхний левый угол экрана, либо в угол игрового окна

Нужно прибавить кординаты начала поиска.
CODE:
mousemove(x+1787, y+714, w);

Чтобы кликнуть в центр картики нужно прибавить половину шинины и высоты этой картинки.


Всё получилось, большое спасибо.
 
 Top
Paskuda
Отправлено: 10 Октября, 2023 - 18:29:02
Post Id



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


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




Всем привет, как то странно ведет себя функция findimage() если размер массива превышает размер картинки по Х.
CODE:

int IMG[75][10];
loadimage (#IMG[0][0], D:\kibor_set\Image.bmp"); //Картинка 70х10

int Res=findimage(1, #IMG[0][0], -1, #PosX[0], #PosY[0], 0, 0, 1280, 1024, 20, 20, 20, 20, 20, 20, 80, 1, -1);

Возвращает -4. При этом если указать размер по Y хотя бы на 1рх больше:
CODE:

int IMG[75][11];

отрабатывает нормально.

(Отредактировано автором: 10 Октября, 2023 - 18:42:56)

 
 Top
Kibor
Отправлено: 10 Октября, 2023 - 21:05:44
Post Id



Администратор
Эксперт


Просматривает форум
Сообщений всего: 8095
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




 Paskuda пишет:
Всем привет, как то странно ведет себя функция findimage() если размер массива превышает размер картинки по Х.

Исправил.
 
 Top
Karkun
Отправлено: 12 Октября, 2023 - 16:41:42
Post Id



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


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




у меня при каждом поиске findimage в программе вылетает окно с цифрой два. вчера этого не было

(Отредактировано автором: 12 Октября, 2023 - 16:43:10)

 
 Top
Kibor
Отправлено: 12 Октября, 2023 - 16:43:59
Post Id



Администратор
Эксперт


Просматривает форум
Сообщений всего: 8095
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




Исправил. Обновил
 
 Top
neba2101
Отправлено: 02 Декабря, 2023 - 13:40:27
Post Id



Пользователь
Мастер


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




 Цитата:
Так же в качестве последнего параметра можно указать указатель на двухмерный массив int в котором хранится изображение.
В этом случае будет искаться в нем.
CODE:

findimage(1, #Image[0][0], 16777215, #x[0], #y[0], 0, 0, 50, 50, #image_skrin[?][0][0]);


В массиве картинок нельзя искать?
 
 Top
Kibor
Отправлено: 02 Декабря, 2023 - 14:09:10
Post Id



Администратор
Эксперт


Просматривает форум
Сообщений всего: 8095
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




 neba2101 пишет:
В массиве картинок нельзя искать?

Такой поиск бессмыслен для получения координат.

Для сканирования группы изображений на наличие в них какого то объекта надо применять такой алгоритм.
CODE:
int Image[100][100];
loadimage (#Image[0][0], "D:\Image_find.bmp");

int Image_0[1000][1000];
int PosX, PosY;
for (int n=0; n<100; n++)
{
loadimage (#Image_0[0][0], "D:\Image_"+format(n)+".bmp");
if (findimage(1, #Image[0][0], 0, #PosX, #PosY, 0, 0, imagewidth(#Image_0[0][0]), imageheight(#Image_0[0][0]), #Image_0[0][0]))
{
messagebox ("Нашли в "+format (n));
}
}
 
 Top
Страниц (9): « 1 2 3 4 5 6 7 [8] 9 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« О программе Кибор »


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




Powered by