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

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

 Страниц (18): В начало « 10 11 12 13 14 15 16 17 [18]   

> Без описания
Zireael
Отправлено: 11 Февраля, 2025 - 10:46:14
Post Id



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


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




Можно навести курсор мыши по найденным координатам.
Если находит не то что нужно, значит неправильно подобраны параметры поиска.
Нужны скрины чтобы проверить что и где находится.
 
 Top
Evgeniy-39rus
Отправлено: 11 Февраля, 2025 - 15:02:20
Post Id



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


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




 Anonymous пишет:
Кто знает, есть ли вообще код для проверки визуального (выделить) части экрана?, где находит изображение...например сделал по изображению через визуал быстрой настройки...короче изображения уже нет на экране а оно находит совершенно то чего не должно, через код проверки пишет тоже 1, хотя даже визуально нет такого изображения, вот интересно можно ли проверить где кибор видит ( в какой части экрана) это, и выставить зоны игнорирования потому что начальное изображение менял ни один раз...


CODE:


CODE:
string PathToImage = "C:\4.1.bmp"; // путь к картинке
int r = 5; // отклонение в цвете (0-255)
int p = 95; // точность поиска (1-100)
int count = 10; // сколько картинок искать
int ColorFon = 0; // цвет фона, -1 если цвет фона не используется

int array[2560][1440];
initialarray(#array[0][0], rgb(255, 0, 255));
int PosX[99], PosY[99];
int Image0[1920][1080];
if(loadimage(#Image0[0][0], PathToImage) < 0)
{
messagebox("Не удалось загрузить картинку");
}
else
{
int C, W, H;
getdisplay(C, W, H);
int t = gettime();
int result = findimage(SWIFT, count, #Image0[0][0], ColorFon, #PosX[0], #PosY[0], 0, 0, W, H, r,r,r,r,r,r,p,1,-1);
messagebox("На поиск затрачено времени: " +format(gettime()-t)+"^r^nНайдено изображений: "+format(result));

for(int i=0; i < result; i++) visual(i * 4, PosX[i], PosY[i], PosX[i] + imagewidth(#Image0[0][0]), PosY[i] + imageheight(#Image0[0][0]), 3);
sleep(3000);
}


function visual(int i, int sx, int sy, int ex, int ey, int width)
{
visualwindow(i, 0, 0, ex-sx, width, sx, sy, 100, #array[0][0]);
visualwindow(i + 1, 0, 0, width, ey-sy, sx, sy, 100, #array[0][0]);
visualwindow(i + 2, 0, 0, ex-sx+width, width, sx, ey, 100, #array[0][0]);
visualwindow(i + 3, 0, 0, width, ey-sy, ex, sy, 100, #array[0][0]);
}





Вот код с подсветкой найденной зоны
(Добавление)
 Anonymous пишет:
Кто знает, есть ли вообще код для проверки визуального (выделить) части экрана?, где находит изображение...например сделал по изображению через визуал быстрой настройки...короче изображения уже нет на экране а оно находит совершенно то чего не должно, через код проверки пишет тоже 1, хотя даже визуально нет такого изображения, вот интересно можно ли проверить где кибор видит ( в какой части экрана) это, и выставить зоны игнорирования потому что начальное изображение менял ни один раз...


Если находит излишнее изображение которого нет на экране, значит стоят не те настройки. Например 120 на 100, а надо 100 на 100. Эти настройки подбираются исключительно тестами. Или переделывается исходник. первая цифра это разбежность цвета, вторая это процент отклонения.
При создании исходника нужно искать детали которые есть именно в этом элементе изображения, тогда ложных найденных изображений не будет.
(Добавление)
 Anonymous пишет:
 Evgeniy-39rus пишет:
цель простая по сути нужно схватить объект и плавно перенести его в другое место и что бы это всё происходило в фоновом режиме эмулятора LD.
(Добавление)
win w=window ("TheRender", "RenderWindow", window ("LDPlayer", "LDPlayerMainFrame", -1));
{
sendmousetransfer(LEFT, 970, 650, 970, 250, 0.002, w);
}
Вот этот код работает

Ты делал привязку в блоке старт win w=window ("TheRender", "RenderWindow", window ("LDPlayer", "LDPlayerMainFrame", -1));???
если два окна друг поверх друга, кибор не будет в одном из окон сбиваться?
или лучше сделать в разных частях экрана два окна а не на весь?


можно в блоке старт, можно в блоке код, это просто переменная, но она должна стоять до блока с действием захвата и переноса.
Несколько окон эмулятора не будут мешать друг другу, так как у них разные имена и для каждого окна нужен свой бот. Каждый из них живет своей жизнью.
 
 Top
Страниц (18): В начало « 10 11 12 13 14 15 16 17 [18]
Сейчас эту тему просматривают: 2 (гостей: 2, зарегистрированных: 0)
« Вопросы и решение проблем »


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




Powered by