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

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

 Страниц (6): « 1 [2] 3 4 5 6 »   

> Описание: Поиск скученности пикселей определенных цветов на указанной площади (с разбегом в цвете)
Nicolazz92
Отправлено: 13 Октября, 2015 - 11:37:35
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 17
Дата рег-ции: Окт. 2015  
Репутация: 1




А вот если у меня есть два изображения https://yadi.sk/i/48wLdAqfjhST6 и https://yadi.sk/i/8UrAXBBqjhSTE , то есть один объект далеко, а другой близко. У обоих цветов не так много, доминируют чисто жёлтый и чисто красный. Объект с таким количеством красного или жёлтого цвета один посреди экрана, это почти наверняка. Как использовать функцию, чтобы найти этот объект? Я вроде понял, как по разным цветам искать, а если цвет один, его много, но он может идти или полоской, или квадратом. Неясно, какой формы, в общем. finddynamic использовать не хочу, объект ведь уже выделен.
 
 Top
Kibor
Отправлено: 13 Октября, 2015 - 12:07:46
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8091
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




1 или 50 не важно..

findheapcolor(сколько_ищем, #color[0], #kol[0], сколько_цветов, сколько_цветов_надо_минимум
findheapcolor(сколько_ищем, #color[0], #kol[0], 1, 1

CODE:
int r=25;//Разбег
int x, y;
int color, kol;
color=255;//цвет
kol=25; //Тут сколько должно совпасть пикселей для цвета
if (findheapcolor(1, #color, #kol, 1, 1, #x, #y, ?, ?, ?, ?, ?, ?, ?, ?, r, r, r, r, r, r, -1)==1)
{

}




 Цитата:
int r=25;//Разбег
int x, y;
int color[2], kol[2];
color[0]=255; color[1]=8454143;//цвет
kol[0]=25; kol[1]=25; //Тут сколько должно совпасть пикселей для цвета
if (findheapcolor(1, #color[0], #kol[0], 2, 1, #x, #y, ?, ?, ?, ?, ?, ?, ?, ?, r, r, r, r, r, r, -1)==1)
{

}

а это ищет сразу или красный или желтый.. 5 параметр 1 достаточно 1 цвет
 
 Top
Nicolazz92
Отправлено: 13 Октября, 2015 - 12:42:17
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 17
Дата рег-ции: Окт. 2015  
Репутация: 1




 Kibor пишет:
1 или 50 не важно..

findheapcolor(сколько_ищем, #color[0], #kol[0], сколько_цветов, сколько_цветов_надо_минимум
findheapcolor(сколько_ищем, #color[0], #kol[0], 1, 1

CODE:
int r=25;//Разбег
int x, y;
int color, kol;
color=255;//цвет
kol=25; //Тут сколько должно совпасть пикселей для цвета
if (findheapcolor(1, #color, #kol, 1, 1, #x, #y, ?, ?, ?, ?, ?, ?, ?, ?, r, r, r, r, r, r, -1)==1)
{

}




 Цитата:
int r=25;//Разбег
int x, y;
int color[2], kol[2];
color[0]=255; color[1]=8454143;//цвет
kol[0]=25; kol[1]=25; //Тут сколько должно совпасть пикселей для цвета
if (findheapcolor(1, #color[0], #kol[0], 2, 1, #x, #y, ?, ?, ?, ?, ?, ?, ?, ?, r, r, r, r, r, r, -1)==1)
{

}

а это ищет сразу или красный или желтый.. 5 параметр 1 достаточно 1 цвет


Я написал вот это:
 Цитата:
win w = window ("Àëëîäû Îíëàéí", "NIVAL_MMO_ENGINE", -1);

activate(w);

int cursAttack = 1265239513;

int color[2], kol[2];
color[0]=255;color[1]=65535;
kol[0]=4;kol[1]=4;
int x[1], y[1];
if(findheapcolor(1, #color[0], #kol[0], 2, 1, #x, #y, #x[0], #y[0], 15, 15, 0,0, 2, 34, 775, 523, r, r, r, r, r, r, w) == 1)mousemove(x[0], y[0], w);

Выдаёт
 Цитата:
findheapcolor(1, #color[0], #kol[0], 2, 1, #x, #y, #x[0], #y[0], 15, 15, 0,0, 2, 34, 775, 523, r, r, r, r, r, r, w) == 1goto10

(Добавление)
добавил
int r = 25;
всё равно ошибка
 
 Top
Kibor
Отправлено: 13 Октября, 2015 - 13:00:36
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8091
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




весь код без кракозябров......
 
 Top
Nicolazz92
Отправлено: 13 Октября, 2015 - 14:26:54
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 17
Дата рег-ции: Окт. 2015  
Репутация: 1




 Kibor пишет:
весь код без кракозябров......

задача этого тестового кода - найти объект, окружённый красной или жёлтой рамками и навести на него мышку.

 Цитата:
win w = window ("Аллоды Онлайн", "NIVAL_MMO_ENGINE", -1);
activate(w);

//int cursAttack = 1265239513;

int r = 25;
int color[2], kol[2];
color[0]=255;color[1]=65535;
kol[0]=4;kol[1]=4;
int x[1], y[1];
if(findheapcolor(1, #color[0], #kol[0], 2, 1, #x, #y, #x[0], #y[0], 15, 15, 0,0, 2, 34, 775, 523, r, r, r, r, r, r, w) == 1)mousemove(x[0], y[0], w);

(Добавление)
 Nicolazz92 пишет:
 Kibor пишет:
весь код без кракозябров......

задача этого тестового кода - найти объект, окружённый красной или жёлтой рамками и навести на него мышку.

 Цитата:
win w = window ("Аллоды Онлайн", "NIVAL_MMO_ENGINE", -1);
activate(w);

//int cursAttack = 1265239513;

int r = 25;
int color[2], kol[2];
color[0]=255;color[1]=65535;
kol[0]=4;kol[1]=4;
int x[1], y[1];
if(findheapcolor(1, #color[0], #kol[0], 2, 1, #x, #y, #x[0], #y[0], 15, 15, 0,0, 2, 34, 775, 523, r, r, r, r, r, r, w) == 1)mousemove(x[0], y[0], w);


выдаёт findheapcolor(1, #color[0], #kol[0], 2, 1, #x, #y, #x[0], #y[0], 15, 15, 0,0, 2, 34, 775, 523, r, r, r, r, r, r, w) == 1goto10
 
 Top
Kibor
Отправлено: 13 Октября, 2015 - 16:39:44
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8091
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




 Nicolazz92 пишет:
if(findheapcolor(1, #color[0], #kol[0], 2, 1, #x, #y, #x[0], #y[0], 15, 15, 0,0, 2, 34, 775, 523, r, r, r, r, r, r, w) == 1)mousemove(x[0], y[0], w);

уберите лишние эти параметры..
 
 Top
Nicolazz92
Отправлено: 14 Октября, 2015 - 10:42:40
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 17
Дата рег-ции: Окт. 2015  
Репутация: 1




Снова ошибка в функции findheapcolor(((

 Цитата:
int PosX_0[512];int PosY_0[512];
int mapTarTake[8][8];loadimage (#mapTarTake[0][0], "C:\allods_bots\ActiveWindFarmLut\mapTarTake.bmp");
win w = window ("Àëëîäû Îíëàéí", "NIVAL_MMO_ENGINE", -1);

activate(w);

sleep(rand(100,150));
key('m');
sleep(rand(700,1000));
if(findimage(-1, #mapTarTake[0][0], 0, #PosX_0[0], #PosY_0[0], 0, 0, 784, 562, w)>0)
{
sleep(rand(700,1000));
mousedbl(LEFT, PosX_0[0], PosY_0[0], 1, w);
sleep(rand(700,1000));

int x[1], y[1];
int color[2], kol[2];
color[0]=5258154; color[1]=6121436;
kol[0]=3; kol[1]=3;
r = 25;
onaway: if(findheapcolor(1, #color[0], #kol[0], 2, 1, #x[0], #y[0], 2, 2, 0, 0, 150, 126, 577, 379, r, r, r, r, r, r, w)>0)
{
goto onaway;
sleep(3000);
}
}

(Добавление)
И ещё, можно поподробнее, что r означает?
 
 Top
Kibor
Отправлено: 14 Октября, 2015 - 11:54:25
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8091
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




 Nicolazz92 пишет:
r = 25;

int r=25;(для просмотра ссылки Вам необходимо авторизоваться) Красный_меньше_на, Красный_больше_на, Зеленый_меньше_на, Зеленый_больше_на, Синий_меньше_на, Синий_больше_на
цвет состоит из красный зеленый и синий
диапазон каждого 0-255

эти параметры означают на сколько отличие быть может..
......
 
 Top
Nicolazz92
Отправлено: 14 Октября, 2015 - 12:02:02
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 17
Дата рег-ции: Окт. 2015  
Репутация: 1




 Цитата:
findheapcolor(1, #color[0], #kol[0], 2, 1, #x[0], #y[0], 2, 2, 0, 0, 150, 126, 577, 379, r, r, r, r, r, r, w)


А ошибку найти сможете? Я вроде посмотрел, там все параметры на месте.
(Добавление)
Полный код в предыдущем сообщении
(Добавление)
Владимир, по ошибке в функции пока нет идей? Я со своей стороны ещё раз проверил, не нашёл((
 
 Top
Kibor
Отправлено: 14 Октября, 2015 - 14:18:00
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8091
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




 Nicolazz92 пишет:
А ошибку найти сможете? Я вроде посмотрел, там все параметры на месте.

???????????????????????????????????????

 Kibor пишет:
Nicolazz92 пишет:
r = 25;

int r=25;


вот она

не объявлен r
 
 Top
Страниц (6): « 1 [2] 3 4 5 6 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« О программе Кибор »


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




Powered by