Martin |
Отправлено: 12 Марта, 2023 - 02:18:33
|
Мастер
Покинул форум
Сообщений всего: 121
Дата рег-ции: Июнь 2022
Репутация: 1
|
Нужно отправить сообщение как появиться объект на экране, самостоятельно не получается, видео с объектом загрузил. Помогите разобраться как его найти, появляется он на пол секунды на экране.
(для просмотра ссылки Вам необходимо авторизоваться)
CODE:
int R__HP=17;
int xf2[99],yf2[99];
int ld[20]={3394560,16711680,3342540,6684825,13421823,3342540,65433,8388607};
ff:
while(getkeystate(192)==0)sleep(10);
loop()
{
sleep(10);
for (int a=0; a<8; a++)
{
int k2=findcolor(40, #xf2[0],#yf2[0], 0, 0,1920, 1080, ld[a],R__HP,R__HP,R__HP,R__HP,R__HP,R__HP, -1);
if(k2>11){messagebox(k2);goto ff;}
}
//messagebox(k2);
}
мои попытки найти объект но он его не всегда находит и есть ложные срабатывания на экран с другими объектами. |
|
|
Zireael |
Отправлено: 12 Марта, 2023 - 10:38:57
|
Эксперт
Покинул форум
Сообщений всего: 4468
Дата рег-ции: Нояб. 2017
Репутация: 585
|
CODE:int color[99]={3394560,16711680,3342540,6684825,13421823,3342540,65433,8388607}; // цвета
int all_color = 8; // сколько цветов указано в массиве color
int count_color = 999; // сколько пикселей должно совпасть
int coord[4]={0, 0, 1920, 1080}; // координаты
int size_object[2] = {50, 50}; //размер объекта
int r=15; // отклонение в цвете
int x, y; // перменные для координат
int kol[99];
initialarray(#kol[0], count_color);
loop()
{
int result = findheapcolor(1, #color[0], #kol[0], all_color, 1, #x, #y,
size_object[0], size_object[1], size_object[0], size_object[1],
coord[0], coord[1], coord[2], coord[3], r,r,r,r,r,r, -1);
if(result>0)
{
mousemove(coord[0]+x, coord[1]+y);
messagebox("Найдено");
break;
}
sleep(1);
} |
|
|
Zireael |
Отправлено: 12 Марта, 2023 - 21:34:25
|
Эксперт
Покинул форум
Сообщений всего: 4468
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: Ещё можно по динамике искать.
Тут я совсем ничего разобрать не могу.
CODE:int coord[4] = {0, 0, 1920, 1080}; // область поиска
int size_object[4] = {50, 50, 50, 50}; // размеры и объём объекта
int x, y; // переменные для координат найденного объекта
loop()
{
int found = 0;
finddynamic(0, #x, #y, 0, 0, 0, 0, coord[0], coord[1], coord[2], coord[3], -1);
loop()
{
int result = finddynamic(1, #x, #y, size_object[0], size_object[1], size_object[2], size_object[3], coord[0], coord[1], coord[2], coord[3], -1);
if(result)
{
found = 1;
break;
}
sleep(1);
}
if(found)break;
sleep(1);
}
mousemove(x+size_object[0], y-size_object[1]);
messagebox("Найдено"); |
|
|
|