konctantin777 |
Отправлено: 29 Апреля, 2018 - 12:22:07
|
Эксперт
Покинул форум
Сообщений всего: 1152
Дата рег-ции: Окт. 2017
Откуда: Архангельск
Репутация: 6
|
Вот тема с которой началось[url=http://kibor-bot.com/forum/topic.php?forum=5&topic=825]
Картинка с 5ю квадратиками в начале темы. В итоге неработающий код
CODE:int xr=10, yr=10, xd=10, yd=10;
int col_KIB, ex_KIB, ey_KIB, sum_KIB, x_KIB, y_KIB;
int Image_0_KIB[11][12];
int Image_1_KIB[7][16];
start_();
m_KIB1: findimage_(#Image_0_KIB[0][0], 1000, 0, 0, 10, 0, 0, 2000, -1, 0, 100, 1, xr+30, yr+30, ex_KIB, ey_KIB, #sum_KIB, #xd, #yd);
if (findimage_(#Image_1_KIB[0][0], 1000, 0, 0, 10, 0, 0, 2000, -1, 0, 100, 1, xd-10, yd+30, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB)>0) goto m_KIB4;
else goto m_KIB3;
m_KIB4: yr=yr+40; goto m_KIB1;
m_KIB3: mouse_(0, 10, xd, yd, 1000); goto m_KIB4;
function start_()
{
getdisplay(col_KIB, ex_KIB, ey_KIB);
load_image_();
pause(1000);
}
function mouse_(int p1, int m, int xm, int ym, int p2)
{
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) mousemove(xm, ym);
pause(p2);
}
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, -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); pause(p3);}
if (m==2){mouse(MIDDLE, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==3){mouse(RIGHT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==4){mousedown(LEFT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==5){mousedown(MIDDLE, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==6){mousedown(RIGHT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==7){mouseup(LEFT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==8){mouseup(MIDDLE, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==9){mouseup(RIGHT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==10){mousemove(xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
return sumKIB;
}
function load_image_()
{
loadimage (#Image_0_KIB[0][0], "C:\Õðîíèêè õàîñà\2.bmp");
loadimage (#Image_1_KIB[0][0], "C:\Õðîíèêè õàîñà\êàìï äðîáü.bmp"); |
|
|
Zireael |
Отправлено: 29 Апреля, 2018 - 20:52:58
|
Эксперт
Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: В итоге неработающий код
То, что код работает не так как вы хотите, ещё не значит что он не работает.
Цитата: Если, например, пытаюсь записать в массив 10 значений, то их там нет
В вашем коде массивов нет, точнее только массивы с картинками.
Цитата: В блокноте 10 строчек из цифры "2". Записать в массив, а потом мышку поводить к каждой по очереди.
CODE:int x[10], y[10]; // массивы, в которые запишутся координаты
int Image_0[12][14];
loadimage (#Image_0[0][0], "C:\Program Files\Kibor\Image_0.bmp"); // картинка цифры 2
sleep(1000);
int count=findimage(10, #Image_0[0][0], -1, #x[0], #y[0], 0, 0, 1920, 1080, -1); // ищем не более 10 картинок
messagebox("Найдено картинок: "+format(count));
if(count>0) // если найдены
{
for(int i=0; i<count; i++) // цикл для всех найденных картинок
{
mousemove(x[i], y[i]); // навести курсор на каждую найденную картинку
sleep(500);
}
} |
|
|
konctantin777 |
Отправлено: 30 Апреля, 2018 - 14:03:25
|
Эксперт
Покинул форум
Сообщений всего: 1152
Дата рег-ции: Окт. 2017
Откуда: Архангельск
Репутация: 6
|
Как то у меня всё сумбурно получилось.... Давайте с самого начала, чтобы проще ошибку найти ?
Вот картинка.
Вот код CODE:
n=0;
m_KIB3: n=n+20;
pause(1000);
if (n=<1300) goto m_KIB4;
else goto m_KIB2;
m_KIB4: mouse_(1000, 10, n, 100, 1000); goto m_KIB3;
m_KIB2:
function mouse_(int p1, int m, int xm, int ym, int p2)
{
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) mousemove(xm, ym);
pause(p2);
}
По идее, просто двигает мышку с координат 1, 100 горизонтально с шагом 20. Что тут неправильно ?(Отредактировано автором: 30 Апреля, 2018 - 14:06:22) |
|
|
|