Arimor |
Отправлено: 17 Декабря, 2020 - 18:18:52
|
Мастер
Покинул форум
Сообщений всего: 125
Дата рег-ции: Сент. 2020
Репутация: 1
|
Dantes3000 , Вот объект, фон любой может быть, зацепиться не за что. Да находит по цвету, но пока цвет перебирается, объект исчезает.
Смог максимально сократить скорость поиск, но этого недостаточно. Т.к. он может появится на пол секунды в любом месте экрана.
CODE:int kol[10]={1}; // количество
int x[100], y[100]; // координаты
int r=0; // разбежность
int color[10];
color[1]=65382;
color[2]=16711680;
color[3]=6723840;
color[4]=10066431;
color[5]=3342540;
loop() {
if(klik(1)==1){sleep(rand(10,300));};
if(klik(2)==1){sleep(rand(10,300));};
if(klik(3)==1){sleep(rand(10,300));};
if(klik(4)==1){sleep(rand(10,300));};
if(klik(5)==1){sleep(rand(10,300));};
}
function klik(int num) {
int k=findheapcolor(1, #color[num], #kol[0], 1, 1, #x[0], #y[0], 100, 100, 0, 0, 0, 0, 800, 600, r, r, r, r, r, r, -1);
textbkcolor (255, 65280);
for(int i=0; i<k; i++)
{
beep(300,300);
textout(i, x[i]+100, y[i], format(i)+ format(num), 1);
sleep(rand(20,30));
mouse(LEFT, x[i], y[i]);
sleep(64);
return 1;
}
return 0;
}
Нажмите для увеличения
(Отредактировано автором: 17 Декабря, 2020 - 18:21:15) |
|
|
Zireael |
Отправлено: 17 Декабря, 2020 - 18:40:55
|
Эксперт
Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: if(klik(1)==1){sleep(rand(10,300));};
; в конце не нужна.
Цитата: color[1]=65382;
Индексация начинается с 0, а не 1.
Цитата: int k=findheapcolor(1, #color[num], #kol[0], 1, 1
Нет смысла 5 раз вызывать функцию. Можно вызвать 1 раз и искать все цвета, указав что достаточно одного для идентификации объекта.
Цитата: int k=findheapcolor(1, #color[num], #kol[0], 5, 1 |
|
|
|