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

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

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

> Описание: Проблема в том, что когда я беру координаты для левого клика мышью из FindHeapColor (x_kib,y_kib) то выдается ошибка
SlitMe
Отправлено: 04 Июля, 2024 - 21:17:46
Post Id



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


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




Небольшой скрипт, запускает поиск динамики, далее фильтрует его по скучности цветов, после чего нужно зажать Alt + левый клик. Но проблема в том, что когда я беру координаты для левого клика мышью из FindHeapColor (x_kib,y_kib) то выдается ошибка.

https://postimg.cc/18x5nG3B

(Отредактировано автором: 04 Июля, 2024 - 21:18:26)

 
 Top
Kibor
Отправлено: 04 Июля, 2024 - 21:46:43
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




Прекрасно.
А код?
 
 Top
SlitMe
Отправлено: 04 Июля, 2024 - 21:55:15
Post Id



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


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




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);

}


(Отредактировано автором: 04 Июля, 2024 - 22:05:06)

 
 Top
Zireael
Отправлено: 05 Июля, 2024 - 02:44:04
Post Id



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


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




 Цитата:
X_Kib, Y_Kib

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



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


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




 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]. Помогите понять, откуда взялись данные нули. И что они значат?
 
 Top
Zireael
Отправлено: 05 Июля, 2024 - 03:23:32
Post Id



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


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




 Цитата:
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] и т. д.
 
 Top
SlitMe
Отправлено: 05 Июля, 2024 - 03:47:48
Post Id



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


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




 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 объекта. Ну да ладно, думаю со временем приду к пониманию. Просто в видео было не так, старался всё делать как там) Спасибо за помощь!!!
 
 Top
Kibor
Отправлено: 05 Июля, 2024 - 07:00:35
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




 SlitMe пишет:
Просто в видео было не так

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

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

Как указывать параметры блоков в Визуальном редакторе Кибор на примере заполнения блока FindImage
 
 Top
SlitMe
Отправлено: 06 Июля, 2024 - 01:12:56
Post Id



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


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




Комунити, снова нужна помощь. Нужно реализовать следующее действие, зажать 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);
}



 
 Top
Zireael
Отправлено: 06 Июля, 2024 - 01:52:24
Post Id



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


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




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


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




Powered by