Budni |
Отправлено: 08 Июня, 2019 - 20:08:12
|
Специалист
Покинул форум
Сообщений всего: 419
Дата рег-ции: Март 2018
Репутация: 2
|
Где ошибка? Кибор вылетает вместе с отладчиком
Цитата: int col, xek, yek;
getdisplay(col, xek, yek);
xek=xek/2; yek=yek/2;
sleep(1000);
bonus();
function bonus() {
int r=20;
int colo=47593;
int kolo=10;
int xo3, yo3;
sleep(500);
int koz=findheapcolor(1, colo,kolo, 1, 1, xo3, yo3, 10, 10, 10, 10, xek+3,yek-3,xek+3,yek-3, r, r, r, r, r, r, -1);
for(int io=0; io<koz; io++)
{
mousemove(xo3, yo3);
sleep(rand(30,60);
} (Отредактировано автором: 08 Июня, 2019 - 20:09:07) |
|
|
Zireael |
Отправлено: 08 Июня, 2019 - 20:34:29
|
Эксперт
Покинул форум
Сообщений всего: 4464
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: Я так понимаю проблема в xo3 и yo3
Не только.
Цитата: findheapcolor(сколько_ищем, #color[0], #kol[0], сколько_цветов, сколько_цветов_надо_минимум, #x[0], #y[0], X_размер, Y размер, Размер_области_где не искать X, Размер_области_где не искать Y, старт_X_поиска, старт_Y_поиска, финиш_X_поиска, финиш_X_поиска, Красный_меньше_на, Красный_больше_на, Зеленый_меньше_на, Зеленый_больше_на, Синий_меньше_на, Синий_больше_на , (указатель на окно или указатель на двухмерный массив int с изображением или -1));
Если первый параметр -1 - все искать.
#color[0] указатель на массив int в котором находятся искомые цвета пикселей
#kol[0] указатель на массив int в котором находятся сколько каждого цвета должно быть пикселей для того что бы цвет совпавшим считался. Например в kol[0] находится количество для color[0]. в kol[1] находится количество для color[1].
#x[0], #y[0] - int массив в котором будут координаты первого найденного пикселя в куче.
xo3 и yo3 тоже указатель на переменные.
Также, ошибка в том что ищете объект 10*10 в квадрате 3*3. Функция вернёт что-то из этого:
Цитата: -3 - размер ожидаемого объекта по X меньше области поиска
-4 - размер ожидаемого объекта по Y меньше области поиска
CODE:int col, xek, yek;
getdisplay(col, xek, yek);
xek=xek/2; yek=yek/2;
sleep(1000);
bonus();
function bonus()
{
int r=20;
int colo[1]={47593} // массив
int kolo[1]={10} // массив
int xo3, yo3;
sleep(500);
int koz=findheapcolor(1, #colo[0], #kolo[0], 1, 1, #xo3, #yo3, 10, 10, 10, 10, xek+3,yek-3,xek+3,yek-3, r, r, r, r, r, r, -1);
messagebox(koz);
for(int io=0; io<koz; io++)
{
mousemove(xo3, yo3);
sleep(rand(30,60);
}
}
Исправляйте область поиска или размер ожидаемого объекта. |
|
|
Budni |
Отправлено: 08 Июня, 2019 - 20:43:08
|
Специалист
Покинул форум
Сообщений всего: 419
Дата рег-ции: Март 2018
Репутация: 2
|
Уменьшил всё равно - 3 пишет. Почему?
cod (Отобразить)int col, xek, yek;
getdisplay(col, xek, yek);
xek=xek/2; yek=yek/2;
sleep(1000);
bonus();
function bonus()
{
int r=20;
int colo[1]={47593}
int kolo[1]={1}
int xo3, yo3;
sleep(500);
int koz=findheapcolor(1, #colo[0], #kolo[0], 1, 1, #xo3, #yo3, 1, 1, 1, 1, xek+300,yek-300,xek+300,yek-300, r, r, r, r, r, r, -1);
messagebox(koz);
for(int io=0; io<koz; io++)
{
mousemove(xo3, yo3);
sleep(rand(30,60);
}
}
Цитата: int colo[1]={47593} // массив
int kolo[1]={10} // массив
Спасибо, понял, думал можно и без массивов тут(Отредактировано автором: 08 Июня, 2019 - 20:43:46) |
|
|
Zireael |
Отправлено: 08 Июня, 2019 - 21:02:24
|
Эксперт
Покинул форум
Сообщений всего: 4464
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: Уменьшил всё равно - 3 пишет. Почему?
Цитата: xek+300,yek-300,xek+300,yek-300
xek+300 - начала и конец поиска одна и та же точка. Тоже самое по Y.
(Добавление)
Цитата: sleep(rand(30,60);
Не хватает закрывающей скобки. |
|
|
|