Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Помогите плс, не могу понять что не так

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

1. SlitMe - 04 Июля, 2024 - 13:17:46 - перейти к сообщению
Небольшой скрипт, запускает поиск динамики, далее фильтрует его по скучности цветов, после чего нужно зажать Alt + левый клик. Но проблема в том, что когда я беру координаты для левого клика мышью из FindHeapColor (x_kib,y_kib) то выдается ошибка.
(для просмотра ссылки Вам необходимо авторизоваться)
2. Kibor - 04 Июля, 2024 - 13:46:43 - перейти к сообщению
Прекрасно.
А код?
3. SlitMe - 04 Июля, 2024 - 13:55:15 - перейти к сообщению
CODE:
win W_Kib=window (-1, "ProjectR2", -1, -1, 1920, 1080, -1);

int Kd_Kib;

int Xd_Kib[1000];

int Yd_Kib[1000];

int eCol_Kib;

int eX_Kib;

int eY_Kib;

int Screen[3000][3000];

int K_mb;

int X_Kib[1000];

int Y_Kib[1000];

int Color0[4] = {5534667,3689346,2316638,2647399};

int Kol0[4] = {7,5,5,5};



getdisplay(eCol_Kib, eX_Kib, eY_Kib);



activate(W_Kib);

Pause(2000);



FindDynamic(0, #W_Kib, W_Kib.leftclient, W_Kib.topclient, 20, 20, 50, 50, 100, 1, 0, 0, 0, #Kd_Kib, #Xd_Kib[0], #Yd_Kib[0], 0, 0, eX_Kib, eY_Kib, 0, 0, 0, 0, "0, 0, 0, 0", 0, "Бездействие", 0, 0, 0, 0, 5, 5);

FindHeapcolor(0, #Screen[0][0], #W_Kib, W_Kib.leftclient, W_Kib.topclient, 20, 20, 50, 50, #Color0[0], #Kol0[0], 4, 2, 1, 0, 0, 0, #K_mb, #X_Kib[0], #Y_Kib[0], 0, 0, eX_Kib, eY_Kib, 1000, 100, 3, 0, "0, 0, 0, 0", 0, "Переместить", 0, 0, 500, 0, 5, 5, 0, 0);

Mouse(0, #W_Kib, W_Kib.leftclient, W_Kib.topclient, 0, X_Kib, Y_Kib, "Левую клик", 0);



function FindDynamic(int ew, win #w, int v_x, int v_y, int Obl_n_x, int Obl_n_y, int Obl_o_x, int Obl_o_y, int pp, int kol, int Sort, int sortx, int sorty, int #mK, int #mX, int #mY, int ex1, int ey1, int ex2, int ey2, int p1, int t, int r, int ignor, string mas_ignor, int p2, string m, int smx, int smy, int p3, int per_m, int per_x, int per_y)

{

pause (p1);

if (t==0)goto d1r;

looptime(t)

{

d1r:;

if (ew==0)

{

finddynamic(0, #mX[0], #mY[0], 0, 0, 0, 0, ex1, ey1, ex2, ey2, r, -1);

pause(pp);

mK=finddynamic(kol, #mX[0], #mY[0], Obl_n_x, Obl_n_y, Obl_o_x, Obl_o_y, ex1, ey1, ex2, ey2, r, -1);

}

if (ew==1)

{

finddynamic(0, #mX[0], #mY[0], 0, 0, 0, 0, v_x+ex1, v_y+ey1, v_x+ex2, v_y+ey2, r, -1);

pause(pp);

mK=finddynamic(kol, #mX[0], #mY[0], Obl_n_x, Obl_n_y, Obl_o_x, Obl_o_y, v_x+ex1, v_y+ey1, v_x+ex2, v_y+ey2, r, -1);

}

if (ew==2)

{

finddynamic(0, #mX[0], #mY[0], 0, 0, 0, 0, ex1, ey1, ex2, ey2, r, w);

pause(pp);

mK=finddynamic(kol, #mX[0], #mY[0], Obl_n_x, Obl_n_y, Obl_o_x, Obl_o_y, ex1, ey1, ex2, ey2, r, w);

}

if (mK>0 || t==0) break;

sleep(5);

}

if (mK<1) return mK;

for (int n=0; n<mK; n++)

{

mX[n]=mX[n]+ex1;

mY[n]=mY[n]+ey1;

}

if (ignor)

{

mas_ignor=mas_ignor+"^r^n";

string P[4];

int x1, y1, x2, y2;

if (regexsearch(4, #P[0], mas_ignor, "[0-9]+(?=,|\r\n)")==4)

{

x1=formatsn(P[0]); y1=formatsn(P[1]); x2=formatsn(P[2]); y2=formatsn(P[3]);

for (n=0; n<mK; n++)

{

if (mX[n]>x1 && mX[n]<x2 && mY[n]>y1 && mY[n]<y2)

{

mK--;

for (int n1=n; n1<mK; n1++)

{

mX[n1]=mX[n1+1]; mY[n1]=mY[n1+1];

}

if (mK<1) return mK;

n--;

}

}

while (regexsearch(4, #P[0])==4)

{

x1=formatsn(P[0]); y1=formatsn(P[1]); x2=formatsn(P[2]); y2=formatsn(P[3]);

for (n=0; n<mK; n++)

{

if (mX[n]>x1 && mX[n]<x2 && mY[n]>y1 && mY[n]<y2)

{

mK--;

for (n1=n; n1<mK; n1++)

{

mX[n1]=mX[n1+1]; mY[n1]=mY[n1+1];

}

if (mK<1) return mK;

n--;

}

}

}

}

}

if (Sort) sort(sortx, sorty, #mX[0], #mY[0], mK);

pause (p2);

if (ew==0 || ew==1)

{

if (ew==1){smx=v_x+smx; smy=v_y+smy;}

if (m=="Левую клик"){mouse(LEFT, smx+mX[0], smy+mY[0]); goto hy;}

if (m=="Среднюю клик"){mouse(MIDDLE, smx+mX[0], smy+mY[0]); goto hy;}

if (m=="Правую клик"){mouse(RIGHT, smx+mX[0], smy+mY[0]); goto hy;}

if (m=="Левую нажать"){mousedown(LEFT, smx+mX[0], smy+mY[0]); goto hy;}

if (m=="Среднюю нажать"){mousedown(MIDDLE, smx+mX[0], smy+mY[0]); goto hy;}

if (m=="Правую нажать"){mousedown(RIGHT, smx+mX[0], smy+mY[0]); goto hy;}

if (m=="Левую отпустить"){mouseup(LEFT, smx+mX[0], smy+mY[0]); goto hy;}

if (m=="Среднюю отпустить"){mouseup(MIDDLE, smx+mX[0], smy+mY[0]); goto hy;}

if (m=="Правую отпустить"){mouseup(RIGHT, smx+mX[0], smy+mY[0]); goto hy;}

if (m=="Левая двойной клик"){mousedbl(LEFT, smx+mX[0], smy+mY[0]); goto hy;}

if (m=="Средняя двойной клик"){mousedbl(MIDDLE, smx+mX[0], smy+mY[0]); goto hy;}

if (m=="Правая двойной клик"){mousedbl(RIGHT, smx+mX[0], smy+mY[0]); goto hy;}

if (m=="Переместить"){mousemove(smx+mX[0], smy+mY[0]); goto hy;}

}

if (ew==2)

{

if (m=="Левую клик"){sendmouse(LEFT, smx+mX[0], smy+mY[0], w); goto hy;}

if (m=="Среднюю клик"){sendmouse(MIDDLE, smx+mX[0], smy+mY[0], w); goto hy;}

if (m=="Правую клик"){sendmouse(RIGHT, smx+mX[0], smy+mY[0], w); goto hy;}

if (m=="Левую нажать"){sendmousedown(LEFT, smx+mX[0], smy+mY[0], w); goto hy;}

if (m=="Среднюю нажать"){sendmousedown(MIDDLE, smx+mX[0], smy+mY[0], w); goto hy;}

if (m=="Правую нажать"){sendmousedown(RIGHT, smx+mX[0], smy+mY[0], w); goto hy;}

if (m=="Левую отпустить"){sendmouseup(LEFT, smx+mX[0], smy+mY[0], w); goto hy;}

if (m=="Среднюю отпустить"){sendmouseup(MIDDLE, smx+mX[0], smy+mY[0], w); goto hy;}

if (m=="Правую отпустить"){sendmouseup(RIGHT, smx+mX[0], smy+mY[0], w); goto hy;}

if (m=="Левая двойной клик"){sendmousedbl(LEFT, smx+mX[0], smy+mY[0], w); goto hy;}

if (m=="Средняя двойной клик"){sendmousedbl(MIDDLE, smx+mX[0], smy+mY[0], w); goto hy;}

if (m=="Правая двойной клик"){sendmousedbl(RIGHT, smx+mX[0], smy+mY[0], w); goto hy;}

if (m=="Переместить")sendmousemove(smx+mX[0], smy+mY[0], w);

}

hy: if (m!="Бездействие")

{

(Добавление)
CODE:
pause (p3);

if (per_m)

{

if (ew==0 || ew==1)mousemove(per_x, per_y);

if (ew==2)sendmousemove(per_x, per_y, w);

}

}

return mK;

}



function FindHeapcolor(int ew, int #Scr, win #w, int v_x, int v_y, int Obl_n_x, int Obl_n_y, int Obl_o_x, int Obl_o_y, int #col, int #kol, int k_col, int kol_col, int k, int Sort, int sortx, int sorty, int #mK, int #mX, int #mY, int ex1, int ey1, int ex2, int ey2, int p1, int t, int r, int ignor, string mas_ignor, int p2, string m, int smx, int smy, int p3, int per_m, int per_x, int per_y, int p4, int povtor)

{

pause (p1);

int pvt=0;

int tsmx=smx, tsmy=smy;

S:;

if (t==0)goto d1r;

looptime(t)

{

d1r:;

if (ew==0)mK=findheapcolor(k, #col[0], #kol[0], k_col, kol_col, #mX[0], #mY[0], Obl_n_x, Obl_n_y, Obl_o_x, Obl_o_y, ex1, ey1, ex2, ey2, r, r, r, r, r, r, -1);

if (ew==1)mK=findheapcolor(k, #col[0], #kol[0], k_col, kol_col, #mX[0], #mY[0], Obl_n_x, Obl_n_y, Obl_o_x, Obl_o_y, v_x+ex1, v_y+ey1, v_x+ex2, v_y+ey2, r, r, r, r, r, r, -1);

if (ew==2)mK=findheapcolor(k, #col[0], #kol[0], k_col, kol_col, #mX[0], #mY[0], Obl_n_x, Obl_n_y, Obl_o_x, Obl_o_y, ex1, ey1, ex2, ey2, r, r, r, r, r, r, w);

if (ew==3 || ew==4)mK=findheapcolor(k, #col[0], #kol[0], k_col, kol_col, #mX[0], #mY[0], Obl_n_x, Obl_n_y, Obl_o_x, Obl_o_y, ex1, ey1, ex2, ey2, r, r, r, r, r, r, #Scr[0][0]);

if (mK>0 || t==0) break;

sleep(5);

}

if (mK<1) return mK;

if (ew==3 || ew==4){ex1=ex1+screenstartx(); ey1=ey1+screenstarty();}

for (int n=0; n<mK; n++)

{

mX[n]=mX[n]+ex1;

mY[n]=mY[n]+ey1;

}

if (ignor)

{

mas_ignor=mas_ignor+"^r^n";

string P[4];

int x1, y1, x2, y2;

if (regexsearch(4, #P[0], mas_ignor, "[0-9]+(?=,|\r\n)")==4)

{

x1=formatsn(P[0]); y1=formatsn(P[1]); x2=formatsn(P[2]); y2=formatsn(P[3]);

for (n=0; n<mK; n++)

{

if (mX[n]>x1 && mX[n]<x2 && mY[n]>y1 && mY[n]<y2)

{

mK--;

for (int n1=n; n1<mK; n1++)

{

mX[n1]=mX[n1+1]; mY[n1]=mY[n1+1];

}

if (mK<1) return mK;

n--;

}

}

while (regexsearch(4, #P[0])==4)

{

x1=formatsn(P[0]); y1=formatsn(P[1]); x2=formatsn(P[2]); y2=formatsn(P[3]);

for (n=0; n<mK; n++)

{

if (mX[n]>x1 && mX[n]<x2 && mY[n]>y1 && mY[n]<y2)

{

mK--;

for (n1=n; n1<mK; n1++)

{

mX[n1]=mX[n1+1]; mY[n1]=mY[n1+1];

}

if (mK<1) return mK;

n--;

}

}

}

}

}

(Добавление)
 Kibor пишет:
Прекрасно.
А код?

CODE:
if (Sort) sort(sortx, sorty, #mX[0], #mY[0], mK);

pause (p2);

if (ew==0 || ew==3 || ew==1)

{

if (ew==1){smx=v_x+smx; smy=v_y+smy;}

if (m=="Левую клик"){mouse(LEFT, smx+mX[0], smy+mY[0]); goto hy;}

if (m=="Среднюю клик"){mouse(MIDDLE, smx+mX[0], smy+mY[0]); goto hy;}

if (m=="Правую клик"){mouse(RIGHT, smx+mX[0], smy+mY[0]); goto hy;}

if (m=="Левую нажать"){mousedown(LEFT, smx+mX[0], smy+mY[0]); goto hy;}

if (m=="Среднюю нажать"){mousedown(MIDDLE, smx+mX[0], smy+mY[0]); goto hy;}

if (m=="Правую нажать"){mousedown(RIGHT, smx+mX[0], smy+mY[0]); goto hy;}

if (m=="Левую отпустить"){mouseup(LEFT, smx+mX[0], smy+mY[0]); goto hy;}

if (m=="Среднюю отпустить"){mouseup(MIDDLE, smx+mX[0], smy+mY[0]); goto hy;}

if (m=="Правую отпустить"){mouseup(RIGHT, smx+mX[0], smy+mY[0]); goto hy;}

if (m=="Левая двойной клик"){mousedbl(LEFT, smx+mX[0], smy+mY[0]); goto hy;}

if (m=="Средняя двойной клик"){mousedbl(MIDDLE, smx+mX[0], smy+mY[0]); goto hy;}

if (m=="Правая двойной клик"){mousedbl(RIGHT, smx+mX[0], smy+mY[0]); goto hy;}

if (m=="Переместить"){mousemove(smx+mX[0], smy+mY[0]); goto hy;}

}

if (ew==2 || ew==4)

{

if (m=="Левую клик"){sendmouse(LEFT, smx+mX[0], smy+mY[0], w); goto hy;}

if (m=="Среднюю клик"){sendmouse(MIDDLE, smx+mX[0], smy+mY[0], w); goto hy;}

if (m=="Правую клик"){sendmouse(RIGHT, smx+mX[0], smy+mY[0], w); goto hy;}

if (m=="Левую нажать"){sendmousedown(LEFT, smx+mX[0], smy+mY[0], w); goto hy;}

if (m=="Среднюю нажать"){sendmousedown(MIDDLE, smx+mX[0], smy+mY[0], w); goto hy;}

if (m=="Правую нажать"){sendmousedown(RIGHT, smx+mX[0], smy+mY[0], w); goto hy;}

if (m=="Левую отпустить"){sendmouseup(LEFT, smx+mX[0], smy+mY[0], w); goto hy;}

if (m=="Среднюю отпустить"){sendmouseup(MIDDLE, smx+mX[0], smy+mY[0], w); goto hy;}

if (m=="Правую отпустить"){sendmouseup(RIGHT, smx+mX[0], smy+mY[0], w); goto hy;}

if (m=="Левая двойной клик"){sendmousedbl(LEFT, smx+mX[0], smy+mY[0], w); goto hy;}

if (m=="Средняя двойной клик"){sendmousedbl(MIDDLE, smx+mX[0], smy+mY[0], w); goto hy;}

if (m=="Правая двойной клик"){sendmousedbl(RIGHT, smx+mX[0], smy+mY[0], w); goto hy;}

if (m=="Переместить")sendmousemove(smx+mX[0], smy+mY[0], w);

}

hy: if (m!="Бездействие")

{

pause (p3);

if (per_m)

{

if (ew==0 || ew==3 || ew==1)mousemove(per_x, per_y);

if (ew==2 || ew==4)sendmousemove(per_x, per_y, w);

}

}

int tX, tY;

if (p4>0)

{

looptime(p4)

{

if (ew==0){if (findheapcolor(1, #col[0], #kol[0], k_col, kol_col, #tX, #tY, Obl_n_x, Obl_n_y, Obl_o_x, Obl_o_y, ex1, ey1, ex2, ey2, r, r, r, r, r, r, -1)==0) return mK;}

if (ew==1){if (findheapcolor(1, #col[0], #kol[0], k_col, kol_col, #tX, #tY, Obl_n_x, Obl_n_y, Obl_o_x, Obl_o_y, v_x+ex1, v_y+ey1, v_x+ex2, v_y+ey2, r, r, r, r, r, r, -1)==0) return mK;}

if (ew==2){if (findheapcolor(1, #col[0], #kol[0], k_col, kol_col, #tX, #tY, Obl_n_x, Obl_n_y, Obl_o_x, Obl_o_y, ex1, ey1, ex2, ey2, r, r, r, r, r, r, w)==0) return mK;}

if (ew==3 || ew==4){if (findheapcolor(1, #col[0], #kol[0], k_col, kol_col, #tX, #tY, Obl_n_x, Obl_n_y, Obl_o_x, Obl_o_y, ex1, ey1, ex2, ey2, r, r, r, r, r, r, #Scr[0][0])==0) return mK;}

sleep(5);

}

}

if (povtor>0 && pvt<povtor)

{

smx=tsmx; smy=tsmy;

if (ew==0){if (findheapcolor(1, #col[0], #kol[0], k_col, kol_col, #tX, #tY, Obl_n_x, Obl_n_y, Obl_o_x, Obl_o_y, ex1, ey1, ex2, ey2, r, r, r, r, r, r, -1)==1) {pvt++; goto S;}}

if (ew==1){if (findheapcolor(1, #col[0], #kol[0], k_col, kol_col, #tX, #tY, Obl_n_x, Obl_n_y, Obl_o_x, Obl_o_y, v_x+ex1, v_y+ey1, v_x+ex2, v_y+ey2, r, r, r, r, r, r, -1)==1) {pvt++; goto S;}}

if (ew==2){if (findheapcolor(1, #col[0], #kol[0], k_col, kol_col, #tX, #tY, Obl_n_x, Obl_n_y, Obl_o_x, Obl_o_y, ex1, ey1, ex2, ey2, r, r, r, r, r, r, w)==1) {pvt++; goto S;}}

if (ew==3 || ew==4){if (findheapcolor(1, #col[0], #kol[0], k_col, kol_col, #tX, #tY, Obl_n_x, Obl_n_y, Obl_o_x, Obl_o_y, ex1, ey1, ex2, ey2, r, r, r, r, r, r, #Scr[0][0])==1) {pvt++; goto S;}}

}

return mK;

}



function Mouse(int ew, win #w, int v_x, int v_y, int p1, int x, int y, string m, int p2)

{

pause(p1);

if (ew==0 || ew==1)

{

if (ew==1){x=v_x+x; y=v_y+y;}

if (m=="Левую клик"){mouse(LEFT, x, y); goto hy;}

if (m=="Среднюю клик"){mouse(MIDDLE, x, y); goto hy;}

if (m=="Правую клик"){mouse(RIGHT, x, y); goto hy;}

if (m=="Левую нажать"){mousedown(LEFT, x, y); goto hy;}

if (m=="Среднюю нажать"){mousedown(MIDDLE, x, y); goto hy;}

if (m=="Правую нажать"){mousedown(RIGHT, x, y); goto hy;}

if (m=="Левую отпустить"){mouseup(LEFT, x, y); goto hy;}

if (m=="Среднюю отпустить"){mouseup(MIDDLE, x, y); goto hy;}

if (m=="Правую отпустить"){mouseup(RIGHT, x, y); goto hy;}

if (m=="Левая двойной клик"){mousedbl(LEFT, x, y); goto hy;}

if (m=="Средняя двойной клик"){mousedbl(MIDDLE, x, y); goto hy;}

if (m=="Правая двойной клик"){mousedbl(RIGHT, x, y); goto hy;}

if (m=="Переместить"){mousemove(x, y); goto hy;}

}

if (ew==2)

{

if (m=="Левую клик"){sendmouse(LEFT, x, y, w); goto hy;}

if (m=="Среднюю клик"){sendmouse(MIDDLE, x, y, w); goto hy;}

if (m=="Правую клик"){sendmouse(RIGHT, x, y, w); goto hy;}

if (m=="Левую нажать"){sendmousedown(LEFT, x, y, w); goto hy;}

if (m=="Среднюю нажать"){sendmousedown(MIDDLE, x, y, w); goto hy;}

if (m=="Правую нажать"){sendmousedown(RIGHT, x, y, w); goto hy;}

if (m=="Левую отпустить"){sendmouseup(LEFT, x, y, w); goto hy;}

if (m=="Среднюю отпустить"){sendmouseup(MIDDLE, x, y, w); goto hy;}

if (m=="Правую отпустить"){sendmouseup(RIGHT, x, y, w); goto hy;}

if (m=="Левая двойной клик"){sendmousedbl(LEFT, x, y, w); goto hy;}

if (m=="Средняя двойной клик"){sendmousedbl(MIDDLE, x, y, w); goto hy;}

if (m=="Правая двойной клик"){sendmousedbl(RIGHT, x, y, w); goto hy;}

if (m=="Переместить")sendmousemove(x, y, w);

}

hy: if (m!="Бездействие")pause (p2);

}


4. Zireael - 04 Июля, 2024 - 18:44:04 - перейти к сообщению
 Цитата:
X_Kib, Y_Kib

Это массивы, для обращения к элементу нужно указывать индекс.
 Цитата:
Mouse(0, #W_Kib, W_Kib.leftclient, W_Kib.topclient, 0, X_Kib[0], Y_Kib[0], "Левую клик", 0);
5. SlitMe - 04 Июля, 2024 - 19:07:34 - перейти к сообщению
 Zireael пишет:
 Цитата:
X_Kib, Y_Kib

Это массивы, для обращения к элементу нужно указывать индекс.
 Цитата:
Mouse(0, #W_Kib, W_Kib.leftclient, W_Kib.topclient, 0, X_Kib[0], Y_Kib[0], "Левую клик", 0);


Спасибо за ответ. Но я немного не понимаю. Всё делается через визуальный редактор, и там есть только 2 поля для координат. Что в моём случае туда прописать? А так же буду очень признателен за более развернутый ответ откуда это берется? Это чтобы в будущем не задавал таких вопросов.
(Добавление)
 Zireael пишет:
 Цитата:
X_Kib, Y_Kib

Это массивы, для обращения к элементу нужно указывать индекс.
 Цитата:
Mouse(0, #W_Kib, W_Kib.leftclient, W_Kib.topclient, 0, X_Kib[0], Y_Kib[0], "Левую клик", 0);


Например в данном видео, разработчик берет те же координаты что и я, и выполняется тоже что и у меня, просто поиск скучностей пикселей. И там всё работает)(для просмотра ссылки Вам необходимо авторизоваться) (Добавление)
Опытным путем понял, что в координаты для клика нужно поставить X_Kib[0] и Y_Kib[0]. Помогите понять, откуда взялись данные нули. И что они значат?
6. Zireael - 04 Июля, 2024 - 19:23:32 - перейти к сообщению
 Цитата:
X_Kib[0] и Y_Kib[0]. Помогите понять, откуда взялись данные нули. И что они значат?

Если найдётся 3 объекта, то координаты первого X_Kib[0] и Y_Kib[0], второго X_Kib[1] и Y_Kib[1], третьего X_Kib[2] и Y_Kib[2] и т. д.
7. SlitMe - 04 Июля, 2024 - 19:47:48 - перейти к сообщению
 Zireael пишет:
 Цитата:
X_Kib[0] и Y_Kib[0]. Помогите понять, откуда взялись данные нули. И что они значат?

Если найдётся 3 объекта, то координаты первого X_Kib[0] и Y_Kib[0], второго X_Kib[1] и Y_Kib[1], третьего X_Kib[2] и Y_Kib[2] и т. д.


У меня вроде бы поиск стоит только 1 объекта. Ну да ладно, думаю со временем приду к пониманию. Просто в видео было не так, старался всё делать как там) Спасибо за помощь!!!
8. Kibor - 04 Июля, 2024 - 23:00:35 - перейти к сообщению
 SlitMe пишет:
Просто в видео было не так

То видео по старому виз редактору.
В нем искалось только одно изображение в findimage
В новом можно искать сразу много. Поэтому там массивы.

Тут полная справка по блоку FindImage

Как указывать параметры блоков в Визуальном редакторе Кибор на примере заполнения блока FindImage
9. SlitMe - 05 Июля, 2024 - 17:12:56 - перейти к сообщению
Комунити, снова нужна помощь. Нужно реализовать следующее действие, зажать Alt далее Лкм, отпустить Alt отпустить ЛКМ. У меня почему-то не работает.
CODE:
win W_Kib;
int Size_Key_Char_Kib = -1;

KIB_Exit:;

function Attack()
{
goto KIB_2;
KIB_5: Mouse(0, #W_Kib, W_Kib.leftclient, W_Kib.topclient, 50, X_Kib[0], Y_Kib[0], "Левую отпустить", 10);
MobHP();
goto KIB_Exit;
KIB_3: Mouse(0, #W_Kib, W_Kib.leftclient, W_Kib.topclient, 50, X_Kib[0], Y_Kib[0], "Левую нажать", 10);
Key(0, W_Kib, 50, 18, "mail@mail.com - Почта", "Отпустить", 10);
goto KIB_5;
KIB_2: Key(0, W_Kib, 50, 18, "mail@mail.com - Почта", "Нажать", 10);
goto KIB_3;
KIB_Exit:;
}

function Key(int ew, win w, int p1, int c, string text, string k, int p2)
{
pause(p1);
if (ew==0)
{
if (k=="Клик"){key(c); goto hy;}
if (k=="Нажать"){keydown(c); goto hy;}
if (k=="Отпустить"){keyup(c); goto hy;}
if (k=="Ввод текста"){key(text, 0, 1, getwindow()); goto hy;}
}
if (ew==1)
{
if (k=="Клик"){if ((c>191 && c<256) || c==168 || c==184) sendlanguage("00000419", formatiw(gethwnd())); sendmessage(WM_CHAR, c, 1, w); goto hy;}
if (k=="Нажать"){sendkeydown(c, w); goto hy;}
if (k=="Отпустить"){sendkeyup(c, w); goto hy;}
if (k=="Ввод текста")
{
if (Size_Key_Char_Kib==-1)
{
Size_Key_Char_Kib=100;
new char Key_CHAR[Size_Key_Char_Kib+1];
}
int size_key=size(text);
if (Size_Key_Char_Kib<size_key)
{
delete Key_CHAR;
Size_Key_Char_Kib=size_key;
new char Key_CHAR[Size_Key_Char_Kib+1];
}
strcpy(#Key_CHAR[0], text);
for (int n=0; n<size_key; n++)
{
if ((Key_CHAR[n]>191 && Key_CHAR[n]<256) || Key_CHAR[n]==168 || Key_CHAR[n]==184) sendlanguage("00000419", formatiw(gethwnd()));
sendmessage(WM_CHAR, Key_CHAR[n], 1, w);
sleep(20);
}
}
}
hy: pause (p2);
}

function Mouse(int ew, win #w, int v_x, int v_y, int p1, int x, int y, string m, int p2)
{
pause(p1);
if (ew==0 || ew==1)
{
if (ew==1){x=v_x+x; y=v_y+y;}
if (m=="Левую клик"){mouse(LEFT, x, y); goto hy;}
if (m=="Среднюю клик"){mouse(MIDDLE, x, y); goto hy;}
if (m=="Правую клик"){mouse(RIGHT, x, y); goto hy;}
if (m=="Левую нажать"){mousedown(LEFT, x, y); goto hy;}
if (m=="Среднюю нажать"){mousedown(MIDDLE, x, y); goto hy;}
if (m=="Правую нажать"){mousedown(RIGHT, x, y); goto hy;}
if (m=="Левую отпустить"){mouseup(LEFT, x, y); goto hy;}
if (m=="Среднюю отпустить"){mouseup(MIDDLE, x, y); goto hy;}
if (m=="Правую отпустить"){mouseup(RIGHT, x, y); goto hy;}
if (m=="Левая двойной клик"){mousedbl(LEFT, x, y); goto hy;}
if (m=="Средняя двойной клик"){mousedbl(MIDDLE, x, y); goto hy;}
if (m=="Правая двойной клик"){mousedbl(RIGHT, x, y); goto hy;}
if (m=="Переместить"){mousemove(x, y); goto hy;}
}
if (ew==2)
{
if (m=="Левую клик"){sendmouse(LEFT, x, y, w); goto hy;}
if (m=="Среднюю клик"){sendmouse(MIDDLE, x, y, w); goto hy;}
if (m=="Правую клик"){sendmouse(RIGHT, x, y, w); goto hy;}
if (m=="Левую нажать"){sendmousedown(LEFT, x, y, w); goto hy;}
if (m=="Среднюю нажать"){sendmousedown(MIDDLE, x, y, w); goto hy;}
if (m=="Правую нажать"){sendmousedown(RIGHT, x, y, w); goto hy;}
if (m=="Левую отпустить"){sendmouseup(LEFT, x, y, w); goto hy;}
if (m=="Среднюю отпустить"){sendmouseup(MIDDLE, x, y, w); goto hy;}
if (m=="Правую отпустить"){sendmouseup(RIGHT, x, y, w); goto hy;}
if (m=="Левая двойной клик"){sendmousedbl(LEFT, x, y, w); goto hy;}
if (m=="Средняя двойной клик"){sendmousedbl(MIDDLE, x, y, w); goto hy;}
if (m=="Правая двойной клик"){sendmousedbl(RIGHT, x, y, w); goto hy;}
if (m=="Переместить")sendmousemove(x, y, w);
}
hy: if (m!="Бездействие")pause (p2);
}



10. Zireael - 05 Июля, 2024 - 17:52:24 - перейти к сообщению
Это весь код?
Функция Attack нигде не вызывается.

Powered by ExBB FM 1.0 Final