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

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

 Страниц (1): [1]   

> Описание: помогите написать
balabashka
Отправлено: 27 Января, 2015 - 17:03:18
Post Id



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


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




Есть программа, по нажатии меню, обновить появляется бонус, но редко. В программировании ни бум бум, клики мышкой написал. Помогите написать код, чтобы при изменении изображения в определенной области подавался звуковой сигнал.Чтобы можно было отвлечься на свои дела, а не пялиться в монитор. Изображение появляется различное.

(Отредактировано автором: 27 Января, 2015 - 17:04:58)

 
 Top
DeLiberate
Отправлено: 29 Января, 2015 - 05:10:33
Post Id



Пользователь
Участник


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




CODE:

win wind=window ("Ваше окно...", -1); //указатель на окно.
int Image_a[8][7];
int Image_b[7][6];
int Image_c[8][6];
loadimage (#Image_a[0][0], "C:\Users\Kolya\Documents\Image_a.bmp");
loadimage (#Image_b[0][0], "C:\Users\Kolya\Documents\Image_b.bmp");
loadimage (#Image_c[0][0], "C:\Users\Kolya\Documents\Image_c.bmp");
int PosX_a[1];
int PosY_a[1];
int PosX_b[1];
int PosY_b[1];
int PosX_c[1];
int PosY_c[1];
q:
//ищем 3 изображения
int a=findimage(1, #Image_a[0][0], 0, #PosX_a[0], #PosY_a[0], x_старт, у_старт, х_конец, у_конец, 0, 0, 0, 0, 0, 0, 0, 0, wind);
int b=findimage(1, #Image_b[0][0],0,#PosX_b[0],#PosY_b[0], x_старт, у_старт, х_конец, у_конец, 0, 0, 0, 0, 0, 0, 0, 0, wind);
int c=findimage(1, #Image_c[0][0], 0, #PosX_c[0], #PosY_c[0], x_старт, у_старт, х_конец, у_конец, 0, 0, 0, 0, 0, 0, 0, 0, wind);
if (a==1||b==1||c==1);

{

beep(500,2000); //если есть хоть одно из изображений - пикаем.
}
else
{
goto q; //если не нашли - повторяем заново.
}

Не забудьте объявить указатель на свое окно.
Заменить изображения и массивы для них на свои.
Обозначить области, где будет происходить поиск изображений.
При необходимости добавить еще изображений и их поиск, по аналогии.
 
 Top
yo1
Отправлено: 29 Января, 2015 - 09:28:48
Post Id



Пользователь
Участник


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




 balabashka пишет:
Изображение появляется различное.

Если изображений >3 (в коде выше их 3), то лучше сделать так:

CODE:

q:
if (findimage(1, #Image_1[0][0], 0, #PosX_a, #PosY_a, 0, 0, 1280, 768, wind)==1)
{
beep(500,2000);
}
else
{
goto q;
}
 
 Top
DeLiberate
Отправлено: 29 Января, 2015 - 14:18:49
Post Id



Пользователь
Участник


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




 yo1 пишет:


q:
if (findimage(1, #Image_1[0][0], 0, #PosX_a, #PosY_a, 0, 0, 1280, 768, wind)==1)
{
beep(500,2000);
}
else
{
goto q;
}

В таком случае, мы можем обозначить одно изображение для поиска, и если его нет - то повторяем. Это не подходит.
есть вариант
 Цитата:
q:
if (findimage(1, #Image_1[0][0], 0, #PosX_a, #PosY_a, 0, 0, 1280, 768, wind)!=1)
{
beep(500,2000);
}
else
{
goto q;
}

И в качестве искомого изображения использовать изображение меню, только без бонуса - это не практично, так как если изображение изменится не от бонуса, будет звук, а это плохо.

(Отредактировано автором: 29 Января, 2015 - 14:19:43)

 
 Top
yo1
Отправлено: 29 Января, 2015 - 18:44:46
Post Id



Пользователь
Участник


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




 DeLiberate пишет:
if (findimage(1, #Image_1[0][0], 0, #PosX_a, #PosY_a, 0, 0, 1280, 768, wind)!=1)

Обычно использую ==1 или ==0.
 DeLiberate пишет:
И в качестве искомого изображения использовать изображение меню, только без бонуса

Если заранее известно, что у бонуса картинка одного вида и не меняется, то можно привязать к нему, т.е. есть\нет.
Если картинки с бонусами разные, тогда да, ваш код будет удачнее.
 
 Top
DeLiberate
Отправлено: 29 Января, 2015 - 19:09:11
Post Id



Пользователь
Участник


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




Исходил из этого.
 balabashka пишет:
Изображение появляется различное.


 yo1 пишет:
Обычно использую ==1 или ==0.

Верно, так и нужно делать.
 
 Top
balabashka
Отправлено: 29 Января, 2015 - 21:45:15
Post Id



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


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




Спасибо конечно, но я думаю это мне не подойдет.Какие картинки я должен грузить? Мне бы что то типа сохранить изображение из определенной области — сохранить второе изображение и сравнить их, различаются, то пикать и конец скрипта. Одинаковые, то удалить первое изображение, нажать меню, обновить (меню и обновить нажимать по клиентским координатам) сохранить картинку, опять сравнить.
Как то так, извините если не могу объяснить точно.
 
 Top
1ledi
Отправлено: 12 Мая, 2019 - 13:04:38
Post Id



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


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




Здравствуйте подскажите где прописывать зону поиска в этом коде
q:int b=findimage(-1, #Image_1[0][0], 0, #PosX_1[0], #PosY_1[0], 0, 0, xe, ye, 50, 50, 50, 50, 50, 50, 90, 1, -1);
мне надо х1274 y139 правый нижний угол x1389 y920 .
Полный код


int Image_1[27][48];
int Image_2[27][48];
int color, xe, ye;
sleep(1000);
getdisplay(color, xe, ye);

loadimage (#Image_1[0][0], "C:\peshka\Image 1. bmp"Подмигивание;

loadimage (#Image_2[0][0], "C:\peshka\Image-2.bmp"Подмигивание;

int PosX_s[0];
int PosX_b[1];
int PosY_b[1];
int PosX_1[512];int PosY_1[512];

int PosX_0[512];int PosY_0[512];
///////////////////////////////////////////////////////////////////////////////////////////////////
q:int b=findimage(-1, #Image_1[0][0], 0, #PosX_1[0], #PosY_1[0], 0, 0, xe, ye, 50, 50, 50, 50, 50, 50, 90, 1, -1);

sleep(500);

if (b==1);

Сильно не пенайте я всего четыре дня пытаюсь что то понять методом проб и ошибок Закатив глазки
 
 Top
Zireael
Отправлено: 12 Мая, 2019 - 18:37:45
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4385
Дата рег-ции: Нояб. 2017  
Репутация: 580




 Цитата:
Синтаксис:
findimage(-1, #image[0][0], fon_color, #x[0], #y[0], x_start, y_start, x_finish, y_finish, wind);
Первый параметр - если -1 - искать все совпадающие изображения и записывать их в масив. Если не -1 , к примеру 5... искать до 5 включительно совпадений и завершать поиск.
Второй - указатель на масив int в котором хранится искомое изображение.
Третий - фоновый цвет который не учитывается при сравнение изображений. Если указать -1, все цвета учитываются. В виде фонового цвета можно указать цвет конкретного пикселя искомой картинки - image[0][0] (цвет левого верхнего пикселя)... и т.д.
Четвертый и пятый - указатели на одномерные масивы int, в которые будут сохранены координаты найденых в окне изображений.
Шестой и седьмой - стартовые клиентские координаты в окне в котором ищется изображение относительно верхнего левого угла.
Восьмой и девятый - клиентские координаты окончания поиска в окне в котором ищется изображение.

Десятый - указатель на окно в котором ищем изображение. При -1 ищется по всему экрану.

 Цитата:
Функцию findimage так же можно использовать для поиска изображений имеющих отклонения цветов от исходного изображения, или по неполному (к примеру частично перекрытому другим изображением). В этом случае findimage принимает 17 параметров:
findimage(1, #Image_0[0][0], 0, #PosX_0[0], #PosY_0[0], 0, 0, 1366, 768, Красный_меньше_на, Красный_больше_на, Зеленый_меньше_на, Зеленый_больше_на, Синий_меньше_на, Синий_больше_на, Процент_совпадений_достаточный_для_идентификации, флаг_не_искать_в_области_где_найдено, -1);
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


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




Powered by