Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Ломается программа при нажатии мышью

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

1. F1nansist - 14 Января, 2020 - 13:59:55 - перейти к сообщению
Ломается программа когда необходимо по найденным координатам нажать правую мышь. Привязка по указателю, эта ошибку ловил при отладке
Как только необходимо кликнуть мышью по координатам найденной картинки, то она падает с "Out of memory" и потом вылетают ошибки, скрины которые я прикрепил внизу
В коде я пометил комментарием, где предположительно код падает

Код:

string text_KIB;
loadsymbolbase("C:\Users\79185\Desktop\5.0\data.sib"Подмигивание;
int size_key_char_KIB=-1;
win w_KIB;
int ex_KIB, ey_KIB, sum_KIB, x_KIB, y_KIB, y_ORANGE, y_FLOAT;
int sx_KIB, sy_KIB;
int Image_0_KIB[10][13];
int Image_1_KIB[7][4];
int Image_2_KIB[5][13];
int Image_3_KIB[13][13];
int Image_4_KIB[3][22];

sleep(2000);

start_();
goto m_KIB1;
m_KIB2:
goto exit_KIB;
m_KIB1: loop(){

net();

uda();

}

exit_KIB:;


function start_()
{
load_image_();
pause(1000);
w_KIB=window (-1, "EFLaunchUnrealUWindowsClient", -1);
ex_KIB=w_KIB.widthclient; ey_KIB=w_KIB.heightclient;
sx_KIB=w_KIB.leftclient; sy_KIB=w_KIB.topclient;
}


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++){key(key_char_KIB[n]); sleep(pc);}
}
else
{
if (m==1) key(k);
if (m==2) keydown(k);
if (m==3) keyup(k);
}
pause(p2);
}


function mouse_(int p1, int m, int xm, int ym, int p2)
{
xm=xm+sx_KIB; ym=ym+sy_KIB;
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);
}


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)
{
xs=xs+sx_KIB; ys=ys+sy_KIB; xf=xf+sx_KIB; yf=yf+sy_KIB;
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, -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); goto hy;}
if (m==2){mouse(MIDDLE, xs+xKIB+xm, ys+yKIB+ym); goto hy;}
if (m==3){mouse(RIGHT, xs+xKIB+xm, ys+yKIB+ym); goto hy;}
if (m==4){mousedown(LEFT, xs+xKIB+xm, ys+yKIB+ym); goto hy;}
if (m==5){mousedown(MIDDLE, xs+xKIB+xm, ys+yKIB+ym); goto hy;}
if (m==6){mousedown(RIGHT, xs+xKIB+xm, ys+yKIB+ym); goto hy;}
if (m==7){mouseup(LEFT, xs+xKIB+xm, ys+yKIB+ym); goto hy;}
if (m==8){mouseup(MIDDLE, xs+xKIB+xm, ys+yKIB+ym); goto hy;}
if (m==9){mouseup(RIGHT, xs+xKIB+xm, ys+yKIB+ym); goto hy;}
if (m==10){mousedbl(LEFT, xs+xKIB+xm, ys+yKIB+ym); goto hy;}
if (m==11){mousedbl(MIDDLE, xs+xKIB+xm, ys+yKIB+ym); goto hy;}
if (m==12){mousedbl(RIGHT, xs+xKIB+xm, ys+yKIB+ym); goto hy;}
if (m==13)mousemove(xs+xKIB+xm, ys+yKIB+ym);
hy: if (mov_m==1)mousemove(mov_x, mov_y);
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, -1)==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, -1)==0)return sumKIB;}
}
if (tcycle<cycle){tcycle++; goto sty;}
return 0;
}
return sumKIB;
}




function load_image_()
{
loadimage (#Image_0_KIB[0][0], "C:\Users\79185\Desktop\5.0\net.bmp"Подмигивание;
loadimage (#Image_1_KIB[0][0], "C:\Users\79185\Desktop\5.0\float.bmp"Подмигивание;
loadimage (#Image_2_KIB[0][0], "C:\Users\79185\Desktop\5.0\orange.bmp"Подмигивание;
loadimage (#Image_3_KIB[0][0], "C:\Users\79185\Desktop\5.0\rod.bmp"Подмигивание;
loadimage (#Image_4_KIB[0][0], "C:\Users\79185\Desktop\5.0\sign.bmp"Подмигивание;
}


function helpfull(int y_orange)
{

int temp_orange = y_ORANGE+9;

m_KIB2: if (findimage_(#Image_1_KIB[0][0], 3000, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, -1, -1, 20, 90, 1, 344, 83, 361, 363, #sum_KIB, #x_KIB, #y_FLOAT)>0) goto m_KIB3;
else goto m_KIB4;
m_KIB3: int temp_float = y_FLOAT;
if (temp_orange < temp_float)
carry();
goto m_KIB2;
m_KIB4: sleep(2500);
goto exit_KIB;
exit_KIB:;
}


function net()
{

if (findimage_(#Image_0_KIB[0][0], 500, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, -1, -1, 40, 90, 1, 603, 387, 657, 438, #sum_KIB, #x_KIB, #y_KIB)>0) goto m_KIB3;
else goto m_KIB1;
m_KIB3: key_(81, 1, "", 0, 0, 5500);
findimage_(#Image_2_KIB[0][0], 3000, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, -1, -1, 40, 90, 1, 327, 77, 347, 349, #sum_KIB, #x_KIB, #y_ORANGE); goto m_KIB5;
m_KIB1:
goto exit_KIB;
m_KIB5: helpfull();

goto exit_KIB;
exit_KIB:;
}


function uda()
{

key_(87, 1, "", 0, 1000, 0);
sleep(500);
readtext(RU, #text_KIB, 18, 1, -1, -1, -1, -1, -1, 0, -1, sx_KIB+16, sy_KIB+617, sx_KIB+52, sy_KIB+634, -1);


if (text_KIB == "Необ"Подмигивание goto m_KIB3;
else goto m_KIB8;
m_KIB3: key_(73, 1, "", 0, 500, 0);
findimage_(#Image_3_KIB[0][0], 20000, 500, 0, 0, 0, 0, -1, 0, 0, 0, -1, -1, -1, 0, 100, 1, 52, 634, 1270, 594, #sum_KIB, #x_KIB, #y_KIB);
mouse_(500, 3, x_KIB, y_KIB, 0); goto m_KIB7; //вот на этом моменте вылетает
m_KIB10:
goto exit_KIB;
m_KIB8: if (findimage_(#Image_4_KIB[0][0], 25000, 1500, 0, 0, 0, 0, -1, 0, 0, 0, -1, -1, -1, 40, 90, 1, 621, 292, 655, 353, #sum_KIB, #x_KIB, #y_KIB)>0) goto m_KIB9;
else goto m_KIB10;
m_KIB9: key_(87, 1, "", 0, 0, 5000); goto exit_KIB;
m_KIB7: key_(73, 1, "", 0, 500, 0);
exit_KIB:;
}


function carry()
{

key_(32, 1, "", 0, 0, 150);
}
(для просмотра ссылки Вам необходимо авторизоваться) (для просмотра ссылки Вам необходимо авторизоваться) (для просмотра ссылки Вам необходимо авторизоваться) (Добавление)
P.S. провел пару тестов, в общем он не может сделать клик по координатам, на которых была найдена картинка. Из-за чего беда? Передаю вроде обыденно
2. Kibor - 14 Января, 2020 - 14:44:31 - перейти к сообщению
Зоны поиска проверьте.
3. Zireael - 14 Января, 2020 - 17:51:31 - перейти к сообщению
 Цитата:
findimage_(#Image_3_KIB[0][0], 20000, 500, 0, 0, 0, 0, -1, 0, 0, 0, -1, -1, -1, 0, 100, 1, 52, 634, 1270, 594, #sum_KIB, #x_KIB, #y_KIB );

Начальная координата больше конечной.
4. F1nansist - 15 Января, 2020 - 06:39:23 - перейти к сообщению
Крч эта проблема разрешилась, и возможно да, проблема в области поиска. Теперь новая проблема. После нахождения изображения (делаю через визуальный редактор) мне надо кликнуть правой мышью по найденному изоюражению. Клик я делаю в окне настройки поиска изображения. Она наводится корректно, но клика не происходит. Не клика, не зажима, ничего. Анти-антикликер включен, приватный


string text_KIB;
loadsymbolbase("C:\Users\79185\Desktop\5.0\data_test.sib"Подмигивание;
int size_key_char_KIB=-1;
win w_KIB;
int ex_KIB, ey_KIB, sum_KIB, x_KIB, y_KIB;
int sx_KIB, sy_KIB;
int Image_0_KIB[13][13];

sleep(2000);

start_();

key_(87, 1, "", 0, 0, 0);
test();




function start_()
{
load_image_();
pause(1000);
w_KIB=window (-1, "EFLaunchUnrealUWindowsClient", -1);
ex_KIB=w_KIB.widthclient; ey_KIB=w_KIB.heightclient;
sx_KIB=w_KIB.leftclient; sy_KIB=w_KIB.topclient;
}


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++){key(key_char_KIB[n]); sleep(pc);}
}
else
{
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 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)
{
xs=xs+sx_KIB; ys=ys+sy_KIB; xf=xf+sx_KIB; yf=yf+sy_KIB;
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, -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); goto hy;}
if (m==2){mouse(MIDDLE, xs+xKIB+xm, ys+yKIB+ym); goto hy;}
if (m==3){mouse(RIGHT, xs+xKIB+xm, ys+yKIB+ym); goto hy;}
if (m==4){mousedown(LEFT, xs+xKIB+xm, ys+yKIB+ym); goto hy;}
if (m==5){mousedown(MIDDLE, xs+xKIB+xm, ys+yKIB+ym); goto hy;}
if (m==6){mousedown(RIGHT, xs+xKIB+xm, ys+yKIB+ym); goto hy;}
if (m==7){mouseup(LEFT, xs+xKIB+xm, ys+yKIB+ym); goto hy;}
if (m==8){mouseup(MIDDLE, xs+xKIB+xm, ys+yKIB+ym); goto hy;}
if (m==9){mouseup(RIGHT, xs+xKIB+xm, ys+yKIB+ym); goto hy;}
if (m==10){mousedbl(LEFT, xs+xKIB+xm, ys+yKIB+ym); goto hy;}
if (m==11){mousedbl(MIDDLE, xs+xKIB+xm, ys+yKIB+ym); goto hy;}
if (m==12){mousedbl(RIGHT, xs+xKIB+xm, ys+yKIB+ym); goto hy;}
if (m==13)mousemove(xs+xKIB+xm, ys+yKIB+ym);
hy: if (mov_m==1)mousemove(mov_x, mov_y);
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, -1)==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, -1)==0)return sumKIB;}
}
if (tcycle<cycle){tcycle++; goto sty;}
return 0;
}
return sumKIB;
}




function load_image_()
{
loadimage (#Image_0_KIB[0][0], "C:\Users\79185\Desktop\5.0\rod.bmp"Подмигивание;
}


function test()
{

sleep(300);
readtext(RU, #text_KIB, 18, 1, -1, -1, -1, -1, -1, 0, -1, sx_KIB+16, sy_KIB+617, sx_KIB+52, sy_KIB+634, -1);


if (text_KIB == "Необ"Подмигивание goto m_KIB3;
else goto m_KIB4;
m_KIB3: key_(73, 1, "", 0, 0, 0);
findimage_(#Image_0_KIB[0][0], 10000, 500, 1000, 6, 10, 10, -1, 0, 0, 0, -1, -1, -1, 20, 80, 1, 33, 33, 1242, 633, #sum_KIB, #x_KIB, #y_KIB); goto m_KIB6;
m_KIB4: messagebox("Ошибка"Подмигивание;

goto exit_KIB;
m_KIB6: key_(73, 1, "", 0, 1000, 0);
exit_KIB:;
}
5. Kibor - 15 Января, 2020 - 06:53:39 - перейти к сообщению
Анти-антикликер не работает в фоновом режиме.
6. F1nansist - 15 Января, 2020 - 10:35:18 - перейти к сообщению
Фоновый режим не включал. Просто привязка по указателю. Потом программу сразу запсукается поверх окна, он кликает кнопками, но мышью не хочет
(Добавление)
 F1nansist пишет:
Фоновый режим не включал. Просто привязка по указателю. Потом программу сразу запсукается поверх окна, он кликает кнопками, но мышью не хочет


И при чем мышка перемешалась правильно на изображение, но не кликала
7. Dantes3000 - 16 Января, 2020 - 02:10:33 - перейти к сообщению
 F1nansist пишет:
И при чем мышка перемешалась правильно на изображение, но не кликала


А клики вообще проходят в эту игру?
Иногда в некоторых играх надо после перемещения мыши подождать 100-200мс, чтобы клик нормально прошел
8. F1nansist - 17 Января, 2020 - 06:36:17 - перейти к сообщению
Проблему решил с помощью создания exe файла. В оболочке Кибор клик не происходит, а в exe файл все работает четко. Можете закрывать тему

Powered by ExBB FM 1.0 Final