Кибор » Кибор - Интегрированная среда разработки ботов » Предложения по программе » разбежность цветов

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

1. resident - 06 Сентября, 2023 - 11:08:46 - перейти к сообщению
Есть переливающаяся кнопка. Определяю кнопку по пикселю определенного цвета с разбежностью. Хочу ткнуть в определенный пиксель, включить потоковое обновление и получить готовый код scanpixel, где будут координаты этого пикселя, какой-то средний искомый цвет и разбежность за время динамического обновления.
2. Kibor - 06 Сентября, 2023 - 11:18:42 - перейти к сообщению
Хорошее предложение.
Генерируйте еще.
Всё генерируйте которые хочется.
Обязательно заточу программу под всех, когда будет время.

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

Или заточить именно под scanpixel?
3. resident - 06 Сентября, 2023 - 11:46:40 - перейти к сообщению
 Kibor пишет:

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

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

Это не даёт мне никаких данных, а мне нужен цвет с минимально возможной разбежностью, который может быть в этой точке. Сейчас беру цвет в случайный момент времени и ставлю разбежность с потолка, одинаковую по всем компонентам цвета
4. konctantin777 - 06 Сентября, 2023 - 12:20:04 - перейти к сообщению
 resident пишет:
нужен цвет с минимально возможной разбежностью, который может быть в этой точке
+
5. Kibor - 06 Сентября, 2023 - 12:54:54 - перейти к сообщению
 resident пишет:
Это не даёт мне никаких данных, а мне нужен цвет с минимально возможной разбежностью

Включаете фильтр динамики и подбираете параметр разбежности пока этот пиксель не будет окрашиваться красным. Это и есть эти данные.
6. konctantin777 - 06 Сентября, 2023 - 12:56:44 - перейти к сообщению
Это да, но хотелось бы именно "середину" знать, чтобы от неё разбежность указывать.
7. Zireael - 06 Сентября, 2023 - 20:04:03 - перейти к сообщению
 Цитата:
но хотелось бы именно "середину" знать, чтобы от неё разбежность указывать.

В течении указанного времени в указанных координатах скрипт получает цвета. Потом получает средний цвет и разбежность. Результат выводится в сообщение и записывается в буфер.
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]));
8. konctantin777 - 07 Сентября, 2023 - 00:53:36 - перейти к сообщению
Спасибо )
9. resident - 25 Октября, 2023 - 04:54:45 - перейти к сообщению
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. В какую-то системную переменную или в отладчик.
Да, можно записывать скрин в двухмерный массив и оттуда брать значение.

Powered by ExBB FM 1.0 Final