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

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

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

> Без описания
resident
Отправлено: 06 Сентября, 2023 - 19:08:46
Post Id



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


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




Есть переливающаяся кнопка. Определяю кнопку по пикселю определенного цвета с разбежностью. Хочу ткнуть в определенный пиксель, включить потоковое обновление и получить готовый код scanpixel, где будут координаты этого пикселя, какой-то средний искомый цвет и разбежность за время динамического обновления.
 
 Top
Kibor
Отправлено: 06 Сентября, 2023 - 19:18:42
Post Id



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


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




Хорошее предложение.
Генерируйте еще.
Всё генерируйте которые хочется.
Обязательно заточу программу под всех, когда будет время.

Разбежность во время проверки динамики вы можете указать в графическом редакторе. И увидеть как будет программа видеть.
Ее используйте.

Или заточить именно под scanpixel?
 
 Top
resident
Отправлено: 06 Сентября, 2023 - 19:46:40
Post Id



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


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




 Kibor пишет:

Разбежность во время проверки динамики вы можете указать в графическом редакторе. И увидеть как будет программа видеть.
Ее используйте.

Или заточить именно под scanpixel?

Это не даёт мне никаких данных, а мне нужен цвет с минимально возможной разбежностью, который может быть в этой точке. Сейчас беру цвет в случайный момент времени и ставлю разбежность с потолка, одинаковую по всем компонентам цвета

(Отредактировано автором: 06 Сентября, 2023 - 19:50:07)

 
 Top
konctantin777
Отправлено: 06 Сентября, 2023 - 20:20:04
Post Id



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


Покинул форум
Сообщений всего: 1152
Дата рег-ции: Окт. 2017  
Откуда: Архангельск
Репутация: 6




 resident пишет:
нужен цвет с минимально возможной разбежностью, который может быть в этой точке
+
 
 Top
Kibor
Отправлено: 06 Сентября, 2023 - 20:54:54
Post Id



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


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




 resident пишет:
Это не даёт мне никаких данных, а мне нужен цвет с минимально возможной разбежностью

Включаете фильтр динамики и подбираете параметр разбежности пока этот пиксель не будет окрашиваться красным. Это и есть эти данные.
 
 Top
konctantin777
Отправлено: 06 Сентября, 2023 - 20:56:44
Post Id



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


Покинул форум
Сообщений всего: 1152
Дата рег-ции: Окт. 2017  
Откуда: Архангельск
Репутация: 6




Это да, но хотелось бы именно "середину" знать, чтобы от неё разбежность указывать.
 
 Top
Zireael
Отправлено: 07 Сентября, 2023 - 04:04:03
Post Id



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


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




 Цитата:
но хотелось бы именно "середину" знать, чтобы от неё разбежность указывать.

В течении указанного времени в указанных координатах скрипт получает цвета. Потом получает средний цвет и разбежность. Результат выводится в сообщение и записывается в буфер.
CODE:
external(INT, "sprintf_s", "sprintf_s", "msvcrt.dll");
char buf[999];


int TimeOut = 3000; // сколько мсек проверять цвет
int PosX = 974; // координата X
int PosY = 530; // координата Y


pause(1000);
int ColorList[999999];
int ColorListCount = 0;
looptime(TimeOut)
{
ColorList[ColorListCount] = getcolor(PosX, PosY);
ColorListCount++;
sleep(10);
}

int Rmax = 0, Rmin = 255;
int Gmax = 0, Gmin = 255;
int Bmax = 0, Bmin = 255;

for(int i=0; i<ColorListCount; i++)
{
int R = rvalue(ColorList[i]);
int G = gvalue(ColorList[i]);
int B = bvalue(ColorList[i]);
if(R > Rmax) Rmax = R;
if(R < Rmin) Rmin = R;
if(G > Gmax) Gmax = G;
if(G < Gmin) Gmin = G;
if(B > Bmax) Bmax = B;
if(B < Bmin) Bmin = B;
}

int Rdev = (Rmax - Rmin) / 2;
int Gdev = (Gmax - Gmin) / 2 ;
int Bdev = (Bmax - Bmin) / 2;

int Rmid = Rmax - Rdev;
int Gmid = Gmax - Gdev;
int Bmid = Bmax - Bdev;

sprintf_s(address(#buf[0]), sizearray(buf), "scanpixel(%d, %d, %d, %d, %d, %d, %d, %d, %d, -1);",
PosX, PosY, rgb(Rmid, Gmid, Bmid), Rdev + 1, Rdev, Gdev + 1, Gdev, Bdev + 1, Bdev);

messagebox(format(#buf[0]));
writeclipboard(format(#buf[0]));

(Отредактировано автором: 07 Сентября, 2023 - 04:04:32)

 
 Top
konctantin777
Отправлено: 07 Сентября, 2023 - 08:53:36
Post Id



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


Покинул форум
Сообщений всего: 1152
Дата рег-ции: Окт. 2017  
Откуда: Архангельск
Репутация: 6




Спасибо )
 
 Top
resident
Отправлено: 25 Октября, 2023 - 12:54:45
Post Id



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


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




CODE:
if(scanpixel(798, 571, 67533, 30, 30, 30, 30, 30, 30, w)) { // реклама
clc(798,571,"реклама на оперативника");
continue;
} else {
colorvs(getcolor(798, 571,w),67533);
}

условие не выполнилось, проверяю какой цвет был по указанным координатам - по условию проходит.
col1: 725448 200,17,11
col2: 67533 205,7,1
Хочу знать какой цвет был scanpixel. В какую-то системную переменную или в отладчик.
Да, можно записывать скрин в двухмерный массив и оттуда брать значение.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 3 (гостей: 3, зарегистрированных: 0)
« Предложения по программе »


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




Powered by