Эксперт
Покинул форум
Сообщений всего: 1489
Дата рег-ции: Июнь 2016
Репутация: 58
|
Спойлер (Отобразить)CODE:
win w_KIB;
int ex_KIB, ey_KIB, sum_KIB, x_KIB, y_KIB;
int Image_0_KIB[15][20];
int Image_1_KIB[2][6];
int Image_2_KIB[24][34];
start_();
pause(2000);
m_KIB1: findimage_(#Image_0_KIB[0][0], 651651651, 0, 0, 0, 0, 0, 0, -1, 0, 100, 1, 0, 0, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB);
win wind=window ("Warspear Online", "Warspear", -1);
sendkey("Продам банки хп 1100", 0, wind);
sendkey(13);
pause(500);
sendkey(113);
pause(500);
sendkey(56);
pause(500);
if (findimage_(#Image_1_KIB[0][0], 500, 0, 0, 0, 0, 0, 0, -1, 0, 100, 1, 0, 500, 370, 640, #sum_KIB, #x_KIB, #y_KIB)>0) goto m_KIB9;
else goto m_KIB6;
m_KIB9: textout(0, 100, 50, "===Входящее сообщение===", 0);
beep(7777, 800);
beep(7777, 800);
beep(7777, 800);
pause(222);
findimage_(#Image_2_KIB[0][0], 10000, 0, 0, 0, 0, 0, 0, -1, 0, 100, 1, 0, 0, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB); goto m_KIB1;
m_KIB7: if (findimage_(#Image_0_KIB[0][0], 0, 0, 0, 0, 0, 0, 0, -1, 0, 100, 1, 0, 0, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB)>0) goto m_KIB1;
else goto m_KIB5;
m_KIB8: if (findimage_(#Image_1_KIB[0][0], 18000, 0, 0, 0, 0, 0, 0, -1, 0, 100, 1, 0, 500, 370, 640, #sum_KIB, #x_KIB, #y_KIB)>0) goto m_KIB9;
else goto m_KIB7;
m_KIB5: sendkey(113);
pause(500);
sendkey(49);
pause(500); goto m_KIB1;
m_KIB6: win wind=window ("Warspear Online", "Warspear", -1);
sendkey("Продам банки хп 1100. порт", 0, wind);
sendkey(13); goto m_KIB8;
function start_()
{
load_image_();
pause(1000);
int x, y;
getmouse(x, y);
w_KIB=getwindow(1, x, y);
ex_KIB=w_KIB.widthclient; ey_KIB=w_KIB.heightclient;
}
function findimage_(int #Image, int t, int p1, int p2, int m, int xm, int ym, int p3, 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;
pause(p1);
sumKIB=0;
if (t!=1) 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); pause(p3);}
if (m==2){sendmouse(MIDDLE, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==3){sendmouse(RIGHT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==4){sendmousedown(LEFT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==5){sendmousedown(MIDDLE, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==6){sendmousedown(RIGHT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==7){sendmouseup(LEFT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==8){sendmouseup(MIDDLE, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==9){sendmouseup(RIGHT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==10){sendmousemove(xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
return sumKIB;
}
function load_image_()
{
loadimage (#Image_0_KIB[0][0], "D:\Kibor\1\торг_чат.bmp");
loadimage (#Image_1_KIB[0][0], "D:\Kibor\Бот_чат\входящее_сообщение.bmp");
loadimage (#Image_2_KIB[0][0], "D:\Kibor\фарм2\обмен.bmp");
}
Абсолютно не понимаю как заставить работать его в фоне.
Стоит галочка фоновый режим, но решил прописать отдельно привязку к окну текста сообщения.
CODE:win wind=window ("Warspear Online", "Warspear", -1);
sendkey("Продам банки хп 1100", 0, wind);
sendkey(13);
pause(500);
sendkey(113);
pause(500);
sendkey(56);
pause(500);
Но всё равно некоторые клавиши нажимаются не в игре, а именно - sendkey(49); которая идет в блоке кода после проверки изображения.
CODE:ищем изображение, если нет, то:
sendkey(113); \\ возможно тоже нажимается
pause(500);
sendkey(49);
pause(500);
Хотелось бы как-то по-проще решить эту проблему(Отредактировано автором: 03 Сентября, 2016 - 15:37:47) |