Прохожий
Покинул форум
Сообщений всего: 4
Дата рег-ции: Дек. 2018
Репутация: 0
|
Доброго времени суток!
Первый вопрос почему логика визульного редактора не срабатывает если не выставить паузу после нажатия? Тоесть логика в не правду не уходит а начинает бегать по кругу и кликать в эти же координаты.
Нажмите для увеличения
Второй вопрос как реализовать в модуле поиска изображения рэндомный клик от центра найденного изображения с настройкой количества пикселей отступа рандомизации x.y.?
Я реализовал вот так, но проблема в том, что найденное изображение может появляться в разных местах, а рэндомный клик у меня будет происходить все равно в заранее выставленных координатах.
Нажмите для увеличения
CODE: (Отобразить)
win w_KIB;
int ex_KIB, ey_KIB, sum_KIB, x_KIB, y_KIB;
int Image_0_KIB[35][47];
int Image_1_KIB[92][35];
int Image_2_KIB[95][12];
int Image_3_KIB[74][16];
int Image_4_KIB[40][11];
start_();
m_KIB2: if (findimage_(#Image_0_KIB[0][0], 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, -1, -1, 50, 90, 1, 0, 0, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB)>0) goto m_KIB3;
else goto m_KIB4;
m_KIB3: pause(rand(500, 2500));
mouse_(0, 1, 238+rand(-35, 35), 685+rand(-41, 41), 500); goto m_KIB2;
m_KIB4: if (findimage_(#Image_1_KIB[0][0], 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, -1, -1, 50, 90, 1, 0, 0, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB)>0) goto m_KIB5;
else goto m_KIB8;
m_KIB5: pause(rand(500, 1500));
mouse_(0, 1, 640+rand(-200, 200), 381+rand(-200, 200), 800);
mouse_(0, 1, 631+rand(-125, 125), 427+rand(-125, 125), 200); goto m_KIB2;
m_KIB8: if (findimage_(#Image_2_KIB[0][0], 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, -1, -1, 50, 90, 1, 0, 0, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB)>0) goto m_KIB9;
else goto m_KIB11;
m_KIB9: pause(rand(800, 1500));
mouse_(0, 1, 759+rand(-70, 70), 596+rand(-40, 40), 500); goto m_KIB2;
m_KIB11: if (findimage_(#Image_3_KIB[0][0], 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, -1, -1, 50, 95, 1, 0, 0, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB)>0) goto m_KIB12;
else goto m_KIB14;
m_KIB12: pause(rand(800, 1500));
mouse_(0, 1, 407+rand(-170, 170), 397+rand(-45, 45), 200); goto m_KIB2;
m_KIB14: if (findimage_(#Image_4_KIB[0][0], 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, -1, -1, 70, 80, 1, 0, 0, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB)>0) goto m_KIB15;
else goto m_KIB2;
m_KIB15: pause(rand(1000, 2000));
mouse_(0, 1, 654+rand(-94, 94), 565+rand(-65, 65), 200);
mouse_(0, 1, 654+rand(-94, 94), 639+rand(-65, 65), 200); goto m_KIB2;
function start_()
{
load_image_();
pause(1000);
w_KIB=window ("BlueStacks Android PluginAndroid", "WindowsForms10.Window.8.app.0.34f5582_r9_ad1", -1);
ex_KIB=w_KIB.widthclient; ey_KIB=w_KIB.heightclient;
}
function mouse_(int p1, int m, int xm, int ym, int p2)
{
pause(p1);
if (m==1) sendmouse(LEFT, xm, ym, w_KIB);
if (m==2) sendmouse(MIDDLE, xm, ym, w_KIB);
if (m==3) sendmouse(RIGHT, xm, ym, w_KIB);
if (m==4) sendmousedown(LEFT, xm, ym, w_KIB);
if (m==5) sendmousedown(MIDDLE, xm, ym, w_KIB);
if (m==6) sendmousedown(RIGHT, xm, ym, w_KIB);
if (m==7) sendmouseup(LEFT, xm, ym, w_KIB);
if (m==8) sendmouseup(MIDDLE, xm, ym, w_KIB);
if (m==9) sendmouseup(RIGHT, xm, ym, w_KIB);
if (m==10) sendmousedbl(LEFT, xm, ym, w_KIB);
if (m==11) sendmousedbl(MIDDLE, xm, ym, w_KIB);
if (m==12) sendmousedbl(RIGHT, xm, ym, w_KIB);
if (m==13) sendmousemove(xm, ym, 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:\Users\Desktop\kibor_set\IMG\Image_0_G.bmp");
loadimage (#Image_1_KIB[0][0], "C:\Users\Desktop\kibor_set\IMG\Image_1_G_V.bmp");
loadimage (#Image_2_KIB[0][0], "C:\Users\Desktop\kibor_set\IMG\Image_3_G_POL.bmp");
loadimage (#Image_3_KIB[0][0], "C:\Users\Desktop\kibor_set\IMG\Image_4_G_POVT.bmp");
loadimage (#Image_4_KIB[0][0], "C:\Users\Desktop\kibor_set\IMG\Image_5_OK.bmp");
}
(Отредактировано автором: 18 Декабря, 2018 - 22:52:17) |