Эксперт
Просматривает форум
Сообщений всего: 8098
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 355
|
Набросал несколько функций, позволяющие строить логику более человеческим языком
CODE://сама логика строится так
окно("Калькулятор");//имя окна в котором работать бот станет
таймер(0);//включили таймер 0
ждать(500);//пауза в пол секунды
if (нашли("C:\Image_0.bmp", -1, 0, 100)>0)//найти в окне все изображения C:\Image_0.bmp (-1 цвет прозрачности отсутствует, 0 разбежность цвета от оригинала, 100 процентов совпадения)
{
for (n=0; n<kol; n++)//(не менять названия переменных) перечслить их и
{
мышь("левая", 7, 5);//кликнуть по ним +7 +5 относительно верхнего левого угла найденного элемента
ждать(500);//пауза в пол секунды
}
}
if (нашли("C:\Image_1.bmp", -1, 0, 100)>0)//найти в окне изображениe C:\Image_1.bmp
{
мышь("левая", 5, 5);//кликнуть по нему +5 +5 относительно верхнего левого угла найденного элемента (средняя правая)
ждать(500);//пауза в пол секунды
клава(57);//нажать 9 (код клавиши ее 57 http://filesd.net/kibor/codekeys.php)
ждать(500);//пауза в пол секунды
}
//конец логики...........................
CREATE_TIMER(0, 500)//добавили таймер 0
{
//этот код выполняется каждые 500 мсек
if (пиксель(3355443, 47, 40, 10)==1)//если в координатах 47, 40 нашли пиксель цветом 3355443 +-10 по каждому из цветов RGB
{
клава(112);//нажать f1 (код клавиши ее 112 http://filesd.net/kibor/codekeys.php)
}
}
///////////Это внизу скрипта (не надо изменять)
function таймер(int p)
{
enabletimer(p);
}
function пиксель(int col, int x, int y, int r)
{
return scanpixel(x, y, col, r, r, r, r, r, r, w);
}
function ждать(int p)
{
pause(p);
}
function клава(int c)
{
key(c, 1, 1, w);
}
function окно(string name)
{
w=window(name);
load_image=0;
}
function нашли(string file, int col, int r, int p)
{
n=0;
for (int i=0; i<load_image; i++)
{
if (name_image[i]==file)goto a;
}
loadimage (#image[i][0][0], file);
name_image[load_image]=file;
load_image++;
a: kol=findimage(512, #image[i][0][0], col, #x[0], #y[0], 0, 0, w.widthclient, w.heightclient, r, r, r, r, r, r, p, -1, w);
return kol;
}
function мышь(string id, int sx, int sy)
{
if (id=="левая")mouse(LEFT, x[n]+sx, y[n]+sy, 1, w);
if (id=="средняя")mouse(MIDDLE, x[n]+sx, y[n]+sy, 1, w);
if (id=="правая")mouse(RIGHT, x[n]+sx, y[n]+sy, 1, w);
}
win w;
int image[100][500][500];
string name_image[100];
int load_image;
int x[512], y[512];
int n, kol;
пояснение..
это скопировать и спустить вниз редактора
CODE:///////////Это внизу скрипта (не надо изменять)
function таймер(int p)
{
enabletimer(p);
}
function пиксель(int col, int x, int y, int r)
{
return scanpixel(x, y, col, r, r, r, r, r, r, w);
}
function ждать(int p)
{
pause(p);
}
function клава(int c)
{
key(c, 1, 1, w);
}
function окно(string name)
{
w=window(name);
load_image=0;
}
function нашли(string file, int col, int r, int p)
{
n=0;
for (int i=0; i<load_image; i++)
{
if (name_image[i]==file)goto a;
}
loadimage (#image[i][0][0], file);
name_image[load_image]=file;
load_image++;
a: kol=findimage(512, #image[i][0][0], col, #x[0], #y[0], 0, 0, w.widthclient, w.heightclient, r, r, r, r, r, r, p, -1, w);
return kol;
}
function мышь(string id, int sx, int sy)
{
if (id=="левая")mouse(LEFT, x[n]+sx, y[n]+sy, 1, w);
if (id=="средняя")mouse(MIDDLE, x[n]+sx, y[n]+sy, 1, w);
if (id=="правая")mouse(RIGHT, x[n]+sx, y[n]+sy, 1, w);
}
win w;
int image[100][500][500];
string name_image[100];
int load_image;
int x[512], y[512];
int n, kol;
логику теперь можно строить так
это пишем сверху редактора
CODE://сама логика строится так
окно("Калькулятор");//имя окна в котором работать бот станет
таймер(0);//включили таймер 0
ждать(500);//пауза в пол секунды
if (нашли("C:\Image_0.bmp", -1, 0, 100)>0)//найти в окне все изображения C:\Image_0.bmp (-1 цвет прозрачности отсутствует, 0 разбежность цвета от оригинала, 100 процентов совпадения)
{
for (n=0; n<kol; n++)//(не менять названия переменных) перечслить их и
{
мышь("левая", 7, 5);//кликнуть по ним +7 +5 относительно верхнего левого угла найденного элемента
ждать(500);//пауза в пол секунды
}
}
if (нашли("C:\Image_1.bmp", -1, 0, 100)>0)//найти в окне изображениe C:\Image_1.bmp
{
мышь("левая", 5, 5);//кликнуть по нему +5 +5 относительно верхнего левого угла найденного элемента (средняя правая)
ждать(500);//пауза в пол секунды
клава(57);//нажать 9 (код клавиши ее 57 http://filesd.net/kibor/codekeys.php)
ждать(500);//пауза в пол секунды
}
//конец логики...........................
CREATE_TIMER(0, 500)//добавили таймер 0
{
//этот код выполняется каждые 500 мсек
if (пиксель(3355443, 47, 40, 10)==1)//если в координатах 47, 40 нашли пиксель цветом 3355443 +-10 по каждому из цветов RGB
{
клава(112);//нажать f1 (код клавиши ее 112 http://filesd.net/kibor/codekeys.php)
}
} |