b4k88 |
Отправлено: 21 Апреля, 2019 - 01:32:59
|
Участник
Покинул форум
Сообщений всего: 51
Дата рег-ции: Авг. 2017
Откуда: Челябинск
Репутация: 0
|
Как написать, чтобы шла проверка картинки, если не находится, исполняется действие. Т.е. нужно повторять цикл до тех пор, пока не найдется картинка. Заранее благодарю
(Добавление)
CODE:function warp()
{
a:;
for (int t=gettime(); gettime()-t<5000; sleep(20))
{
if (findimage_(#Image_0_KIB[0][0], 5000, 0, 1000, 0, 0, 0, -1, 0, 0, 0, -1, -1, -1, 50, 100, 1, 1195, 350, 1250, 400, #sum_KIB, #x_KIB, #y_KIB)!=1)
{
mousemove(80, 296);
pause(1000);
mouse(RIGHT, 80, 296);
pause(1000);
mousemove(169, 309);
pause(1000);
mouse(LEFT, 169, 309);
pause(5000);
}
}
goto a;
}
чето я туплю) |
|
|
Kibor |
Отправлено: 21 Апреля, 2019 - 02:24:15
|
Эксперт
Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
CODE:function warp()
{
looptime(5000)
{
if (findimage_(#Image_0_KIB[0][0], 5000, 0, 1000, 0, 0, 0, -1, 0, 0, 0, -1, -1, -1, 50, 100, 1, 1195, 350, 1250, 400, #sum_KIB, #x_KIB, #y_KIB)!=0)
{
mousemove(80, 296);
pause(1000);
mouse(RIGHT, 80, 296);
pause(1000);
mousemove(169, 309);
pause(1000);
mouse(LEFT, 169, 309);
pause(5000);
}
sleep(50);
}
} |
|
|
b4k88 |
Отправлено: 21 Апреля, 2019 - 19:10:15
|
Участник
Покинул форум
Сообщений всего: 51
Дата рег-ции: Авг. 2017
Откуда: Челябинск
Репутация: 0
|
Kibor пишет: Используете функцию которую должен генерировать виз редактор.
Он сам генерирует все переменные.
А вы откуда взяли Image_0_KIB?
ну это изображение через визуальный и запил. вот и думаю че он еще требует
CODE:int col_KIB, ex_KIB, ey_KIB, sum_KIB, x_KIB, y_KIB;
int Image_0[30][8];
вот такое имеется
а, и это соответственно тоже
CODE: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)
{
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[0][0], "C:\Users\Роман\Desktop\Kibor\eve screens\агенты.bmp");
}
(Отредактировано автором: 21 Апреля, 2019 - 19:15:11) |
|
|
b4k88 |
Отправлено: 23 Апреля, 2019 - 17:20:24
|
Участник
Покинул форум
Сообщений всего: 51
Дата рег-ции: Авг. 2017
Откуда: Челябинск
Репутация: 0
|
007wan пишет: Вопрос: как мне лучше разделить функции, что бы не путатся и чем разделить? потому что я уже не могу что-нибудь придумать из-за того, что путаюсь в функциях и они почти ничем не разделены. Так же с условиями.
разделяй такими значками "/////" будет видно зеленым) я так делаю) и подписывай что и куда, чтобы не забыть. а, и еще функции называй говорящими названиями, чтобы понимать что за функция
(Добавление)
как сделать чтобы выходило из цикла при нахождении изображения? а то цикла как такового и нет, выполняется 1 раз и все... а надо чтобы повторяло клики до тех пор, пока не найдет изображение
CODE:looptime(1000)
{
if (findimage_(#Image_0_KIB[0][0], 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, -1, -1, 0, 90, 1, 1100, 350, 1220, 400, #sum_KIB, #x_KIB, #y_KIB)!=1)
{
mousemove(1173, 109);
pause(1000);
mouse(LEFT, 1173, 109);
pause(4000);
}
sleep(50);
}
(Добавление)
решил проблему гениально, я подключаюсь к галилео))
CODE:a: if (findimage_(#Image_0_KIB[0][0], 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, -1, -1, 0, 90, 1, 1100, 350, 1220, 400, #sum_KIB, #x_KIB, #y_KIB)!=1)
{
{
mousemove(1173, 109);
pause(1000);
mouse(LEFT, 1173, 109);
pause(4000);
sleep(50);
goto a;
}
return a;
}
бот работает, все гуд, тему можно закрывать))
спасибо за помощь(Отредактировано автором: 23 Апреля, 2019 - 17:30:13) |
|
|
007wan |
Отправлено: 30 Апреля, 2019 - 17:05:07
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
CODE: mousetransfer(LEFT, 200, 100, 845, 450, 0.02, 0, Game);
Log(format(#Time[0])+"текст"); Почему mousetransfer идет медленнее, чем то, что ниже? У меня сначала выполняет Log, а потом уже то, что еще выше. И в логе получается время у всех одинаковое, пока не перейдет в другую функцию. Потому что за 0 секунду нереально выполнить это. |
|
|
007wan |
Отправлено: 01 Мая, 2019 - 16:31:52
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
Как правильнее?
CODE:char Text_Button[255][2];//Создать текст с размером 255 для двух кнопок
Или
CODE:char Text_Button[255][2];//Создать текст с размером 255 для двух кнопок
(Добавление)
Почему не отвечайте?(Отредактировано автором: 01 Мая, 2019 - 16:32:18) |
|
|
|