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

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

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

> Без описания
Koroll
Отправлено: 22 Февраля, 2020 - 08:45:43
Post Id



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


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




Добрый день! Столкнулся с проблемой: есть код, который открывает первый эмулятор multimemu и совершает n-ые действия в игре. Далее необходимо выполнить те же самые действия уже на втором эмуляторе memu с самого начала, потом на третьем, а потом цикл должен повториться снова с первым эмулятором и так до бесконечности.

Главная трудность, которая мне встретилась - это то, что если при переходе на открытие нового эмулятора (при помощи блока поиска изображения) в конце скрипта, скрипт повторится, вплоть опять до перехода на этот же самый эмулятор, т.е. зацикливание кода происходит. А мне необходимо что бы скрипт повторился уже на третьем эмуляторе, а потом снова на первом.

Т.е. логика такая: Открытие 1 memu - действия в игре - закрытие 1 memu - открытие 2 memu- действия в игре - закрытие 2 memu, открытие 3 memu - действия в игре - закрытие 3 memu - повтор с самого начала.

P.S. код был накидан в визуальном редакторе Кибор, тк. с синтаксисом ЯП не дружу.
 
 Top
Koroll
Отправлено: 22 Февраля, 2020 - 11:21:36
Post Id



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


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




Если более подробно - то вот код

int size_key_char_KIB=-1;
int col_KIB, ex_KIB, ey_KIB, sum_KIB, x_KIB, y_KIB;
int Image_0_KIB[70][14];
int Image_1_KIB[58][44];
int Image_2_KIB[141][16];
int Image_3_KIB[28][25];
int Image_4_KIB[24][27];
int Image_5_KIB[12][6];
int Image_6_KIB[27][24];
int Image_7_KIB[45][36];
int Image_8_KIB[92][30];
int Image_9_KIB[22][19];
int Image_10_KIB[40][32];
int Image_11_KIB[29][35];
int Image_12_KIB[55][15];
int Image_13_KIB[42][40];
int Image_14_KIB[40][33];
int Image_15_KIB[25][17];
int Image_16_KIB[67][21];
int Image_17_KIB[35][41];
int Image_18_KIB[44][53];
int Image_19_KIB[29][26];
int Image_20_KIB[53][44];
int Image_21_KIB[66][15];
int Image_22_KIB[66][15];
int Image_23_KIB[68][13];
int Image_24_KIB[68][13];
int Image_25_KIB[68][11];
int Image_26_KIB[69][11];

start_();

findimage_(#Image_0_KIB[0][0], 3000, 0, 0, 10, 0, 0, -1, 0, 0, 500, -1, -1, -1, 0, 100, 1, 0, 0, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB);
findimage_(#Image_1_KIB[0][0], 20000, 200, 0, 1, 0, 0, -1, 0, 0, 500, -1, -1, -1, 0, 100, 1, 0, 0, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB);
if (findimage_(#Image_2_KIB[0][0], 15000, 200, 0, 1, 0, 0, -1, 0, 0, 500, -1, -1, -1, 0, 100, 1,
mouse_(0, 1, 1078, 484, 500);
mouse_(0, 1, 1079, 484, 500);
mouse_(0, 1, 1148, 999, 500);
findimage_(#Image_10_KIB[0][0], 3000, 0, 0, 1, 0, 0, -1, 0, 0, 500, -1, -1, -1, 0, 100, 1, 0, 0, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB);
findimage_(#Image_9_KIB[0][0], 3000, 0, 0, 1, 0, 0, -1, 0, 0, 500, -1, -1, -1, 0, 100, 1, 0, 0, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB);
mouse_(10, 1, 808, 857, 500);
findimage_(#Image_8_KIB[0][0], 3000, 0, 0, 1, 0, 0, -1, 0, 0, 500, -1, -1, -1, 0, 100, 1, 0, 0, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB);
findimage_(#Image_20_KIB[0][0], 3000, 0, 0, 1, 0, 0, -1, 0, 0, 500, -1, -1, -1, 0, 100, 1, 0, 0, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB);
mouse_(0, 1, 1078, 477, 500);
mouse_(0, 1, 1078, 478, 500);

}


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==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], "D:\Desktop\Для бота\Изображения\монте 1.bmp"Подмигивание;
loadimage (#Image_1_KIB[0][0], "D:\Desktop\Для бота\Изображения\wao.bmp"Подмигивание;
loadimage (#Image_2_KIB[0][0], "D:\Desktop\Для бота\Изображения\Собрать награду.bmp"Подмигивание;
loadimage (#Image_3_KIB[0][0], "D:\Desktop\Для бота\Изображения\назад при центр привелегий.bmp"Подмигивание;
loadimage (#Image_4_KIB[0][0], "D:\Desktop\Для бота\Изображения\Крест рекламы.bmp"Подмигивание;
load;
loadimage (#Image_23_KIB[0][0], "D:\Desktop\Для бота\Изображения\монте 5.bmp"Подмигивание;
loadimage (#Image_24_KIB[0][0], "D:\Desktop\Для бота\Изображения\монте 6.bmp"Подмигивание;
loadimage (#Image_25_KIB[0][0], "D:\Desktop\Для бота\Изображения\monte 2.bmp"Подмигивание;
loadimage (#Image_26_KIB[0][0], "D:\Desktop\Для бота\Изображения\монте 7.bmp"Подмигивание;
}


Как я вижу - нужно сделать так, что бы в конце кода после выхода из первого memu программа перекидывала с этой строки вначале start_();

findimage_(#Image_0_KIB[0][0], 3000, 0, 0, 10, 0, 0, -1, 0, 0, 500, -1, -1, -1, 0, 100, 1, 0, 0,

На эту ( картинка с иконкой следующего мему)

(#Image_25_KIB[0][0], "D:\Desktop\Для бота\Изображения\monte 2.bmp"Подмигивание;

И цикл так дальше бы повторялся бесконечное кол-во раз
 
 Top
Zireael
Отправлено: 22 Февраля, 2020 - 18:19:32
Post Id



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


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




 Цитата:
Т.е. логика такая: Открытие 1 memu - действия в игре - закрытие 1 memu - открытие 2 memu- действия в игре - закрытие 2 memu, открытие 3 memu - действия в игре - закрытие 3 memu - повтор с самого начала.

Зачем каждый раз открывать и закрывать эмулятор? Не проще 1 раз открыть 3 экземпляра и переключаться между ними?
 
 Top
Koroll
Отправлено: 22 Февраля, 2020 - 19:20:10
Post Id



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


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




 Zireael пишет:
 Цитата:
Т.е. логика такая: Открытие 1 memu - действия в игре - закрытие 1 memu - открытие 2 memu- действия в игре - закрытие 2 memu, открытие 3 memu - действия в игре - закрытие 3 memu - повтор с самого начала.

Зачем каждый раз открывать и закрывать эмулятор? Не проще 1 раз открыть 3 экземпляра и переключаться между ними?


Проблема в том, что необходимо работать с семью эмуляторами. Пк не понятен столько за раз врубать. Написал про три, дабы сократить суть понимания проблемы.
 
 Top
Zireael
Отправлено: 22 Февраля, 2020 - 20:40:30
Post Id



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


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




Смысл примерно такой:
В блоке 'Старт' объявить переменную memu=0, в блоке логики проверять значение переменной memo, если равна 0, то искать картинку монте1, иначе переход к другому блоку логики и т. д. После выполнения нужных действий увеличить переменную memu на 1 и проверить чему она равна, если равна 3 (или 7 если будет 7 эмуляторов), то обнулить её.
Блок кода после всех действий:
CODE:
memu++;
if(memu==3)memu=0;

https://hkar.ru/11bli
 
 Top
Koroll
Отправлено: 23 Февраля, 2020 - 01:38:22
Post Id



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


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




 Zireael пишет:
Смысл примерно такой:
В блоке 'Старт' объявить переменную memu=0, в блоке логики проверять значение переменной memo, если равна 0, то искать картинку монте1, иначе переход к другому блоку логики и т. д. После выполнения нужных действий увеличить переменную memu на 1 и проверить чему она равна, если равна 3 (или 7 если будет 7 эмуляторов), то обнулить её.
Блок кода после всех действий:
CODE:
memu++;
if(memu==3)memu=0;

https://hkar.ru/11bli


Огромное спасибо! Гений среди людей!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 2 (гостей: 2, зарегистрированных: 0)
« Вопросы и решение проблем »


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




Powered by