Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Вопросы

Страниц (24): В начало « ... 12 13 14 15 [16] 17 18 19 20 ... » В конец
 

151. Budni - 08 Июня, 2019 - 09:10:26 - перейти к сообщению
Как можно получить координаты в центре экрана? Небольшой квадратик
CODE:
int col,xek,yek;
getdisplay(col, xek, yek);
xek=xek/2; yek=yek/2;

messagebox(xek);
messagebox(yek);


Так мы нашли центр экрана а как теперь получить координаты от центра в радиусе 10px?
(Добавление)
Как в лево в право понятно найти +10 и -10 а вот вверх вниз не могу сообразить
152. Zireael - 08 Июня, 2019 - 09:21:08 - перейти к сообщению
CODE:
int col,xek,yek;
getdisplay(col, xek, yek);
xek=xek/2; yek=yek/2;

//messagebox(xek);
//messagebox(yek);

loop()
{
mousemove(xek-10, yek-10);
sleep(300);
mousemove(xek+10, yek-10);
sleep(300);
mousemove(xek+10, yek+10);
sleep(300);
mousemove(xek-10, yek+10);
sleep(300);
}
153. Budni - 08 Июня, 2019 - 09:23:34 - перейти к сообщению
Zireael , Спасибо, блин как то стыдно стало, мозг поплыл.
154. Budni - 08 Июня, 2019 - 12:08:12 - перейти к сообщению
Где ошибка? Кибор вылетает вместе с отладчиком

 Цитата:
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);
}
155. Zireael - 08 Июня, 2019 - 12:11:31 - перейти к сообщению
 Цитата:
Где ошибка?

Не хватает закрывающей фигурной скобки. Это сразу видно при форматировании.
156. Budni - 08 Июня, 2019 - 12:15:27 - перейти к сообщению
 Zireael пишет:
Не хватает закрывающей фигурной скобки. Это сразу видно при форматировании.
Добавил, вылетать перестало но всё равно ошибку пишет

Нажмите для увеличения

(Добавление)
Я так понимаю проблема в xo3 и yo3, но что не так понять не могу
157. Zireael - 08 Июня, 2019 - 12:34:29 - перейти к сообщению
 Цитата:
Я так понимаю проблема в 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);
}
}

Исправляйте область поиска или размер ожидаемого объекта.
158. Budni - 08 Июня, 2019 - 12:43:08 - перейти к сообщению
Уменьшил всё равно - 3 пишет. Почему?

cod (Отобразить)


 Цитата:
int colo[1]={47593} // массив
int kolo[1]={10} // массив

Спасибо, понял, думал можно и без массивов тут
159. Zireael - 08 Июня, 2019 - 13:02:24 - перейти к сообщению
 Цитата:
Уменьшил всё равно - 3 пишет. Почему?

 Цитата:
xek+300,yek-300,xek+300,yek-300

xek+300 - начала и конец поиска одна и та же точка. Тоже самое по Y.
(Добавление)
 Цитата:
sleep(rand(30,60);

Не хватает закрывающей скобки.
160. Budni - 09 Июня, 2019 - 10:32:17 - перейти к сообщению
Как задать условие ?

if (x<y-10%) {}

Powered by ExBB FM 1.0 Final