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

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

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

> Без описания
Dimod
Отправлено: 05 Апреля, 2019 - 18:32:41
Post Id



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


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




Как создать два или более цикла в программе чтобы они работали одновременно и не мешали друг другу? И можно ли как-либо сократить этот код?
CODE:
a: mouse (LEFT, 350, 800);
pause (1000);
int size_key_char_KIB=-1;
win w_KIB;
int ex_KIB, ey_KIB, sum_KIB, x_KIB, y_KIB;
int Image_0_KIB[81][21];

start_();

m_KIB1: if (findimage_(#Image_0_KIB[0][0], 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, -1, 0, 0, 100, 1, 0, 0, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB)>0) goto m_KIB3;
else goto m_KIB2;
m_KIB2: if (findimage_(#Image_0_KIB[0][0], 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, -1, 0, 0, 100, 1, 0, 0, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB)>0) goto m_KIB3;
else goto m_KIB1;
m_KIB3: key_(27, 1, "", 0, 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, string text, int pc, int p1, int p2)
{
pause(p1);
if (m==-1)
{
if (size_key_char_KIB==-1)
{
size_key_char_KIB=100;
new char key_char_KIB[size_key_char_KIB+1];
}
int size_key=size(text);
if (size_key_char_KIB<size_key)
{
delete key_char_KIB;
size_key_char_KIB=size_key;
new char key_char_KIB[size_key_char_KIB+1];
}
strcpy(#key_char_KIB[0], text);
for (int n=0; n<size_key; n++){sendkey(key_char_KIB[n], w_KIB); sleep(pc);}
}
else
{
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 mov_m, int mov_x, int mov_y, int p3, int wait, int cycle, 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, tx, ty, tcycle=0;
sty: pause(p1);
sumKIB=0;
if (t!=0) 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); goto hy;}
if (m==2){sendmouse(MIDDLE, xs+xKIB+xm, ys+yKIB+ym, w_KIB); goto hy;}
if (m==3){sendmouse(RIGHT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); goto hy;}
if (m==4){sendmousedown(LEFT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); goto hy;}
if (m==5){sendmousedown(MIDDLE, xs+xKIB+xm, ys+yKIB+ym, w_KIB); goto hy;}
if (m==6){sendmousedown(RIGHT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); goto hy;}
if (m==7){sendmouseup(LEFT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); goto hy;}
if (m==8){sendmouseup(MIDDLE, xs+xKIB+xm, ys+yKIB+ym, w_KIB); goto hy;}
if (m==9){sendmouseup(RIGHT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); goto hy;}
if (m==10){sendmousedbl(LEFT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); goto hy;}
if (m==11){sendmousedbl(MIDDLE, xs+xKIB+xm, ys+yKIB+ym, w_KIB); goto hy;}
if (m==12){sendmousedbl(RIGHT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); goto hy;}
if (m==13)sendmousemove(xs+xKIB+xm, ys+yKIB+ym, w_KIB);
hy: if (mov_m==1)sendmousemove(mov_x, mov_y, w_KIB);
if (m>0 && m<14)pause(p3);
if (wait!=-1)
{
for (int ttim=gettime(); gettime()-ttim<wait; sleep(20))
{
if (r==0 && p==100){if (findimage(1, #Image[0][0], fon, #x[0], #y[0], xs, ys, xf, yf, w_KIB)==0)return sumKIB;}
else {if (findimage(1, #Image[0][0], fon, #x[0], #y[0], xs, ys, xf, yf, r, r, r, r, r, r, p, 1, w_KIB)==0)return sumKIB;}
}
if (tcycle<cycle){tcycle++; goto sty;}
return 0;
}
return sumKIB;
}




function load_image_()
{
loadimage (#Image_0_KIB[0][0], "C:\esc menu.bmp");
}

mouse (LEFT, 835, 575);
pause (500);
mouse (LEFT, 835, 575);
pause (1000);
mouse (LEFT, 765, 645);
pause (10000);
mouse (LEFT, 836, 808);
pause (5000);
mouse (LEFT, 836, 808);
pause (5000);
goto a;
 
 Top
Zireael
Отправлено: 06 Апреля, 2019 - 01:43:56
Post Id



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


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




Что вообще хотите сделать?
 
 Top
Dimod
Отправлено: 06 Апреля, 2019 - 02:16:58
Post Id



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


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




Хотелось бы чтобы весь этот код сохранился в рамках a: и goto a; + к этому сделать ещё один цикл в котором будет эта строчка:
CODE:
mouse (LEFT, 840, 525);
pause (210000);
 
 Top
Zireael
Отправлено: 06 Апреля, 2019 - 02:33:45
Post Id



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


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




Для этого есть таймеры: http://kibor-bot.com/forum/topic...m=1&topic=57
 
 Top
Dimod
Отправлено: 06 Апреля, 2019 - 10:58:40
Post Id



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


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




Попробовал два разных варианта, а именно:
CODE:
CREATE_TIMER(0, 210000)
{
mouse (LEFT, 835, 575);
pause (100);
}
и
CODE:
CREATE_TIMER(0, 210000)
{

mouse_(0, 1, 840, 525, 0);



function mouse_(int p1, int m, int xm, int ym, int p2)
{
pause(p1);
if (m==1) mouse(LEFT, xm, ym);
if (m==2) mouse(MIDDLE, xm, ym);
if (m==3) mouse(RIGHT, xm, ym);
if (m==4) mousedown(LEFT, xm, ym);
if (m==5) mousedown(MIDDLE, xm, ym);
if (m==6) mousedown(RIGHT, xm, ym);
if (m==7) mouseup(LEFT, xm, ym);
if (m==8) mouseup(MIDDLE, xm, ym);
if (m==9) mouseup(RIGHT, xm, ym);
if (m==10) mousedbl(LEFT, xm, ym);
if (m==11) mousedbl(MIDDLE, xm, ym);
if (m==12) mousedbl(RIGHT, xm, ym);
if (m==13) mousemove(xm, ym);
pause(p2);
}

}

Оба не работают

(Отредактировано автором: 06 Апреля, 2019 - 11:00:13)

 
 Top
Zireael
Отправлено: 06 Апреля, 2019 - 19:18:47
Post Id



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


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




Таймер нужно включить.
CODE:
enabletimer(0); // в скобках номер таймера

Не нужно саму функцию вставлять в таймер, только вызов функции.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 4 (гостей: 4, зарегистрированных: 0)
« Вопросы и решение проблем »


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




Powered by