PElllETO |
Отправлено: 16 Мая, 2018 - 19:00:37
|
Наблюдатель
Покинул форум
Сообщений всего: 28
Дата рег-ции: Май 2018
Репутация: 1
|
Не понимаю как делать,
создал допустим скрипт: Найти на экране изображение тыкнуть мышкой по нему,
нажать пару клавиш и все.
Как сделать так чтобы клава и мышь во время этого скрипта были свободны.
Создал в графическом редакторе скрипт, указал что в фоновом режиме Окно,
что еще после компиляции кода нужно дописывать какую строку и куда, и как запускать потом ехе,
находиться на окне игры или за окном?
какую молитву читать?
CODE:int col_KIB, ex_KIB, ey_KIB, sum_KIB, x_KIB, y_KIB;
int Image_0_KIB[15][14];
start_();
m_KIB1: if (findimage_(#Image_0_KIB[0][0], 100, 0, 0, 1, 3, 3, 100, -1, 0, 100, 1, 0, 0, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB)>0) goto m_KIB2;
else goto m_KIB4;
m_KIB2: key_(32, 1, 0, 0);
key_(71, 1, 0, 0); goto m_KIB5;
m_KIB4: sleep(3000);
goto m_KIB1;
m_KIB5: key_(72, 1, 0, 0);
function start_()
{
getdisplay(col_KIB, ex_KIB, ey_KIB);
load_image_();
pause(1000);
}
function key_(int k, int m, int p1, int p2)
{
pause(p1);
if (m==1) key(k);
if (m==2) keydown(k);
if (m==3) keyup(k);
pause(p2);
}
function findimage_(int #Image, int t, int p1, int p2, int m, int xm, int ym, int p3, int fon, int r, int p, int k, int xs, int ys, int xf, int yf, int#sum, int#x, int#y)
{
int timKIB, sumKIB, xKIB, yKIB;
pause(p1);
sumKIB=0;
if (t!=1) timKIB=gettime();
a: if (r==0 && p==100){sum=findimage(k, #Image[0][0], fon, #x[0], #y[0], xs, ys, xf, yf, -1); if (sum>0) goto e;}
else {sum=findimage(k, #Image[0][0], fon, #x[0], #y[0], xs, ys, xf, yf, r, r, r, r, r, r, p, 1, -1); if (sum>0) goto e;}
if (t==0) return 0;
if (gettime()-timKIB<t){sleep(20); goto a;}
return 0;
e: sumKIB=sum; xKIB=x[0]; yKIB=y[0];
pause(p2);
if (m==1){mouse(LEFT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==2){mouse(MIDDLE, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==3){mouse(RIGHT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==4){mousedown(LEFT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==5){mousedown(MIDDLE, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==6){mousedown(RIGHT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==7){mouseup(LEFT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==8){mouseup(MIDDLE, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==9){mouseup(RIGHT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==10){mousemove(xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
return sumKIB;
}
function load_image_()
{
loadimage (#Image_0_KIB[0][0], "C:\KiboR\0000\U2_t_0.bmp");
}
Без включенного фонового режима работает зацикленно, находит и тыкает все верно и работает не закрывается,
с включенным фоном ничего не тыкает, проходит один цикл кода и закрывается(Отредактировано автором: 16 Мая, 2018 - 19:06:36) |
|
|
PElllETO |
Отправлено: 16 Мая, 2018 - 23:11:09
|
Наблюдатель
Покинул форум
Сообщений всего: 28
Дата рег-ции: Май 2018
Репутация: 1
|
Dantes3000 пишет: CODE:function start_()
{
getdisplay(col_KIB, ex_KIB, ey_KIB);
load_image_();
pause(1000);
}
Это не фоновый режим!
Ну вот фоновый, один хрен не работает ничего при включенном фоне
CODE:win w_KIB;
int ex_KIB, ey_KIB, sum_KIB, x_KIB, y_KIB;
int Image_0_KIB[15][14];
start_();
m_KIB1: if (findimage_(#Image_0_KIB[0][0], 100, 0, 0, 1, 3, 3, 100, -1, 0, 100, 1, 0, 0, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB)>0) goto m_KIB2;
else goto m_KIB4;
m_KIB2: key_(32, 1, 0, 0);
key_(71, 1, 0, 0); goto m_KIB5;
m_KIB4: sleep(3000);
goto m_KIB1;
m_KIB5: key_(72, 1, 0, 0);
function start_()
{
load_image_();
pause(1000);
int x, y;
getmouse(x, y);
w_KIB=getwindow(0, x, y);
ex_KIB=w_KIB.widthclient; ey_KIB=w_KIB.heightclient;
}
function key_(int k, int m, int p1, int p2)
{
pause(p1);
if (m==1) sendkey(k, w_KIB);
if (m==2) sendkeydown(k, w_KIB);
if (m==3) sendkeyup(k, w_KIB);
pause(p2);
}
function findimage_(int #Image, int t, int p1, int p2, int m, int xm, int ym, int p3, int fon, int r, int p, int k, int xs, int ys, int xf, int yf, int#sum, int#x, int#y)
{
int timKIB, sumKIB, xKIB, yKIB;
pause(p1);
sumKIB=0;
if (t!=1) timKIB=gettime();
a: if (r==0 && p==100){sum=findimage(k, #Image[0][0], fon, #x[0], #y[0], xs, ys, xf, yf, w_KIB); if (sum>0) goto e;}
else {sum=findimage(k, #Image[0][0], fon, #x[0], #y[0], xs, ys, xf, yf, r, r, r, r, r, r, p, 1, w_KIB); if (sum>0) goto e;}
if (t==0) return 0;
if (gettime()-timKIB<t){sleep(20); goto a;}
return 0;
e: sumKIB=sum; xKIB=x[0]; yKIB=y[0];
pause(p2);
if (m==1){sendmouse(LEFT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==2){sendmouse(MIDDLE, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==3){sendmouse(RIGHT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==4){sendmousedown(LEFT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==5){sendmousedown(MIDDLE, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==6){sendmousedown(RIGHT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==7){sendmouseup(LEFT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==8){sendmouseup(MIDDLE, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==9){sendmouseup(RIGHT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==10){sendmousemove(xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
return sumKIB;
}
function load_image_()
{
loadimage (#Image_0_KIB[0][0], "C:\KiboR\0000\U2_t_0.bmp");
}
Вопрос: что надо дописывать в коде и куда, допустим окно калькулятора, заголовок окна: Калькулятор,
чтобы работали нажатия и клики в фоне?
вот скриншот кода в визуальном редакторе:
[img](для просмотра ссылки Вам необходимо авторизоваться) /img](Отредактировано автором: 16 Мая, 2018 - 23:15:24) |
|
|
vobedit |
Отправлено: 21 Мая, 2018 - 12:45:57
|
Прохожий
Покинул форум
Сообщений всего: 1
Дата рег-ции: Май 2018
Репутация: 0
|
Kibor пишет: Или выкладывайте реальный пример что надо и где и возможно помогут при полном выкладывание сути.
[img](для просмотра ссылки Вам необходимо авторизоваться) /img]
Например, как заставить бота кликать в фоновом окне браузера по ссылкам и элементам вкладки. В активной вкладке все находится и кликается, но в фоне не работает.
Kibor пишет: Осваивайте азы и работайте с программой.
А где посмотреть мануал или видеоурок редактирование окна Свойства старта, чтобы настроить фоновый режим, тут не очень понятно что куда добавлять, хотелось бы на живом примере. Об этом был вопрос и в чате Кибор.(Отредактировано автором: 21 Мая, 2018 - 12:58:09) |
|
|
PElllETO |
Отправлено: 13 Июня, 2018 - 21:02:44
|
Наблюдатель
Покинул форум
Сообщений всего: 28
Дата рег-ции: Май 2018
Репутация: 1
|
НЕ ПОНИМАЮ!
Вот видео примера автора(для просмотра ссылки Вам необходимо авторизоваться) я точь в точь по лекалам создал такой же скрипт, только кликает на блокнот, и затем закрывает окно.
Без фонового режима все работает отлично,
но с фоновым режимом, что КОНТРОЛ, что ОКНО - НЕ РАБОТАЕТ АБСОЛЮТНО,
хотя у автора на видео вообще не включен фоновый режим при компиляции скрипта, хотя ясно видно что курсор мыши не задействован.
Вот код без фона
CODE:int col_KIB, ex_KIB, ey_KIB, sum_KIB, x_KIB, y_KIB;
int Image_0_KIB[19][20];
int Image_1_KIB[12][12];
start_();
findimage_(#Image_0_KIB[0][0], 0, 0, 0, 1, 0, 0, 0, 0, 50, 100, 1, 0, 0, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB);
findimage_(#Image_1_KIB[0][0], 1000, 0, 0, 1, 0, 0, 0, -1, 0, 100, 1, 0, 0, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB);
key_(18, 2, 1000, 0);
key_(115, 1, 0, 0);
key_(18, 3, 0, 0);
function start_()
{
getdisplay(col_KIB, ex_KIB, ey_KIB);
load_image_();
pause(1000);
}
function key_(int k, int m, int p1, int p2)
{
pause(p1);
if (m==1) key(k);
if (m==2) keydown(k);
if (m==3) keyup(k);
pause(p2);
}
function findimage_(int #Image, int t, int p1, int p2, int m, int xm, int ym, int p3, int fon, int r, int p, int k, int xs, int ys, int xf, int yf, int#sum, int#x, int#y)
{
int timKIB, sumKIB, xKIB, yKIB;
pause(p1);
sumKIB=0;
if (t!=1) timKIB=gettime();
a: if (r==0 && p==100){sum=findimage(k, #Image[0][0], fon, #x[0], #y[0], xs, ys, xf, yf, -1); if (sum>0) goto e;}
else {sum=findimage(k, #Image[0][0], fon, #x[0], #y[0], xs, ys, xf, yf, r, r, r, r, r, r, p, 1, -1); if (sum>0) goto e;}
if (t==0) return 0;
if (gettime()-timKIB<t){sleep(20); goto a;}
return 0;
e: sumKIB=sum; xKIB=x[0]; yKIB=y[0];
pause(p2);
if (m==1){mouse(LEFT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==2){mouse(MIDDLE, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==3){mouse(RIGHT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==4){mousedown(LEFT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==5){mousedown(MIDDLE, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==6){mousedown(RIGHT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==7){mouseup(LEFT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==8){mouseup(MIDDLE, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==9){mouseup(RIGHT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==10){mousemove(xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
return sumKIB;
}
function load_image_()
{
loadimage (#Image_0_KIB[0][0], "C:\bot\start.bmp");
loadimage (#Image_1_KIB[0][0], "C:\bot\notp.bmp");
}
А вот код с фоном КОНТРОЛ:
CODE:win w_KIB;
int ex_KIB, ey_KIB, sum_KIB, x_KIB, y_KIB;
int Image_0_KIB[19][20];
int Image_1_KIB[12][12];
start_();
findimage_(#Image_0_KIB[0][0], 0, 0, 0, 1, 0, 0, 0, 0, 50, 100, 1, 0, 0, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB);
findimage_(#Image_1_KIB[0][0], 1000, 0, 0, 1, 0, 0, 0, -1, 0, 100, 1, 0, 0, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB);
key_(18, 2, 1000, 0);
key_(115, 1, 0, 0);
key_(18, 3, 0, 0);
function start_()
{
load_image_();
pause(1000);
int x, y;
getmouse(x, y);
w_KIB=getwindow(1, x, y);
ex_KIB=w_KIB.widthclient; ey_KIB=w_KIB.heightclient;
}
function key_(int k, int m, int p1, int p2)
{
pause(p1);
if (m==1) sendkey(k, w_KIB);
if (m==2) sendkeydown(k, w_KIB);
if (m==3) sendkeyup(k, w_KIB);
pause(p2);
}
function findimage_(int #Image, int t, int p1, int p2, int m, int xm, int ym, int p3, int fon, int r, int p, int k, int xs, int ys, int xf, int yf, int#sum, int#x, int#y)
{
int timKIB, sumKIB, xKIB, yKIB;
pause(p1);
sumKIB=0;
if (t!=1) timKIB=gettime();
a: if (r==0 && p==100){sum=findimage(k, #Image[0][0], fon, #x[0], #y[0], xs, ys, xf, yf, w_KIB); if (sum>0) goto e;}
else {sum=findimage(k, #Image[0][0], fon, #x[0], #y[0], xs, ys, xf, yf, r, r, r, r, r, r, p, 1, w_KIB); if (sum>0) goto e;}
if (t==0) return 0;
if (gettime()-timKIB<t){sleep(20); goto a;}
return 0;
e: sumKIB=sum; xKIB=x[0]; yKIB=y[0];
pause(p2);
if (m==1){sendmouse(LEFT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==2){sendmouse(MIDDLE, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==3){sendmouse(RIGHT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==4){sendmousedown(LEFT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==5){sendmousedown(MIDDLE, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==6){sendmousedown(RIGHT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==7){sendmouseup(LEFT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==8){sendmouseup(MIDDLE, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==9){sendmouseup(RIGHT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==10){sendmousemove(xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
return sumKIB;
}
function load_image_()
{
loadimage (#Image_0_KIB[0][0], "C:\bot\start.bmp");
loadimage (#Image_1_KIB[0][0], "C:\bot\notp.bmp");
}
Что нужно дописать в коде КОНТРОЛ - чтобы скрипт заработал в фоне???(Отредактировано автором: 13 Июня, 2018 - 21:05:24) |
|
|
PElllETO |
Отправлено: 13 Июня, 2018 - 21:38:46
|
Наблюдатель
Покинул форум
Сообщений всего: 28
Дата рег-ции: Май 2018
Репутация: 1
|
Я ничего не ожидаю от блокнота,
мне не понятно, почему при включенном в визуальном редакторе фоновом режиме -
этот самый режим вообще не работает, и весь скрипт не работает?
Либо фоновый режим вообще не работает, автор ты так и скажи,
зачем мозги уже месяц копостировать отговорками непонятными?
Функции включения фонового режима в визуальном редакторе есть - а по сути они не работают вообще.
(Добавление)
Самая главная для меня фича чтобы скрипт работал в фоне, не задействуя курсор мыши,
конкретно для чего? - в трее иконка программы VPN, его очень часто приходится включать выключать и менять страны, т.е. в среднем три клика в течение 3-5 сек, и постоянно двигая работая мышью при этом запуская скрипт - он сбивается с назначенных координат клика мыши, т.е. кликает не в ту степь.(Отредактировано автором: 13 Июня, 2018 - 21:41:22) |
|
|
|