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

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

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

> Без описания
Neznakomec
Отправлено: 29 Октября, 2020 - 11:04:37
Post Id



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


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




Добрый день, на днях написал код(через визуальный редактор), придерживаясь вашего видео, но почему-то оно не пашет. Создавал для игры гта крмп амaзинг pп, для рыбалки. Нужно, чтобы при появлении окошка с буквами в игре(когда клюет), бот начинал их вводить.

Вот как выглядит это в игре, расположение букв всегда разное, появляется данная строка через определенное(не определенное для меня) время
[img](для просмотра ссылки Вам необходимо авторизоваться) /img]
вот рисунок в визуальном редакторе (овалы сам нарисовал в Paint чтобы было понятнее, что работает, а что нет)
[img](для просмотра ссылки Вам необходимо авторизоваться) /img]
вот код
CODE:
int size_key_char_KIB=-1;
int col_KIB, ex_KIB, ey_KIB, sum_KIB, x_KIB, y_KIB;
int Image_0_KIB[26][23];
int Image_1_KIB[16][16];
int Image_2_KIB[14][16];
int Image_3_KIB[14][17];
int Image_4_KIB[16][17];
int Image_5_KIB[39][16];
int Image_6_KIB[37][16];
int Image_7_KIB[37][15];

start_();

findimage_(#Image_0_KIB[0][0], 0, 0, 0, 1, 1, 1, -1, 0, 0, 0, -1, -1, -1, 0, 100, 1, 0, 0, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB);
key_(27, 1, "", 0, 1500, 100);
m_KIB4: if (findimage_(#Image_2_KIB[0][0], 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, 100, -1, 0, 100, 1, 0, 0, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB)>0) goto m_KIB15;
else goto m_KIB6;
m_KIB15: key_(67, 1, "", 0, 200, 100); goto m_KIB4;
m_KIB5: if (findimage_(#Image_3_KIB[0][0], 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, 100, -1, 0, 100, 1, 0, 0, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB)>0) goto m_KIB14;
else goto m_KIB3;
m_KIB14: key_(78, 1, "", 0, 200, 100); goto m_KIB4;
m_KIB7: if (findimage_(#Image_5_KIB[0][0], 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, 100, -1, 0, 100, 1, 0, 0, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB)>0) goto m_KIB10;
else goto m_KIB8;
m_KIB16: key_(89, 1, "", 0, 200, 100); goto m_KIB4;
m_KIB9: if (findimage_(#Image_7_KIB[0][0], 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, 100, -1, 0, 100, 1, 0, 0, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB)>0) goto m_KIB11;
else goto m_KIB4;
m_KIB11: key_(2, 1, "", 0, 200, 100); goto m_KIB4;
m_KIB8: if (findimage_(#Image_6_KIB[0][0], 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, 100, -1, 0, 100, 1, 0, 0, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB)>0) goto m_KIB12;
else goto m_KIB9;
m_KIB12: key_(4, 1, "", 0, 200, 100); goto m_KIB4;
m_KIB13: key_(72, 1, "", 0, 200, 100); goto m_KIB4;
m_KIB6: if (findimage_(#Image_4_KIB[0][0], 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, 100, -1, 0, 100, 1, 0, 0, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB)>0) goto m_KIB13;
else goto m_KIB5;
m_KIB3: if (findimage_(#Image_1_KIB[0][0], 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, 100, -1, 0, 100, 1, 0, 0, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB)>0) goto m_KIB16;
else goto m_KIB7;
m_KIB10: key_(1, 1, "", 0, 200, 100);



function start_()
{
getdisplay(col_KIB, ex_KIB, ey_KIB);
load_image_();
pause(1000);
}


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)
{
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\Семья\Desktop\фото\Новая папка\гта.bmp");
loadimage (#Image_1_KIB[0][0], "C:\Users\Семья\Desktop\фото\Новая папка\Y.bmp");
loadimage (#Image_2_KIB[0][0], "C:\Users\Семья\Desktop\фото\Новая папка\C.bmp");
loadimage (#Image_3_KIB[0][0], "C:\Users\Семья\Desktop\фото\Новая папка\N.bmp");
loadimage (#Image_4_KIB[0][0], "C:\Users\Семья\Desktop\фото\Новая папка\H.bmp");
loadimage (#Image_5_KIB[0][0], "C:\Users\Семья\Desktop\фото\Новая папка\лкм.bmp");
loadimage (#Image_6_KIB[0][0], "C:\Users\Семья\Desktop\фото\Новая папка\скм.bmp");
loadimage (#Image_7_KIB[0][0], "C:\Users\Семья\Desktop\фото\Новая папка\пкм.bmp");
}



1 часть сделал, чтобы при запуске скрипта, автоматически входила в игру через панель задач.

Еще вопрос, обязательно ли исходные фото(которые для скрипта нужны) делать в Кибор, просто я делал через скриншот, и сохранял в расширении .bmp
И да, надо чтобы бот не отключался после выполнения 1 ловли, а чтобы работал циклически, по кругу
Прошу ответить простым языком, язык программирования не понимаю)
Связь тут, либо в вк(для просмотра ссылки Вам необходимо авторизоваться)
 
 Top
Zireael
Отправлено: 29 Октября, 2020 - 11:20:58
Post Id



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


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




findimage_ не найдет буквы потому что они отличаются. Нужно использовать findheapcolor или findcolor для поиска жёлтого круга, а потом readtext для распознавания буквы.
 
 Top
Neznakomec
Отправлено: 29 Октября, 2020 - 13:03:58
Post Id



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


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




 Zireael пишет:
findimage_ не найдет буквы потому что они отличаются. Нужно использовать findheapcolor или findcolor для поиска жёлтого круга, а потом readtext для распознавания буквы.

не подскажите как это сделать? или если есть видео для этого случая, скиньте пожалуйста ссылку)
 
 Top
Zireael
Отправлено: 29 Октября, 2020 - 13:15:02
Post Id



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


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




 Цитата:
не подскажите как это сделать?

Визуальным редактором не пользуюсь, принцип такой:
CODE:
int color[1]={1945087} // цвет жёлтого круга
int kol[1]={100} // сколько должно быть найдено пикселей
int r=30; // отклонение в цвете
int coord[4]={974, 826, 1350, 877} // координаты для поиска
int x, y;

string Text;
if(loadsymbolbase ("D:\Kibor2\basetext.sib")==-1){messagebox("База символов не найдена"); goto end;}

// поиск жёлтого круга
if(findheapcolor(1, #color[0], #kol[0], sizearray(color), 1, #x, #y, 30, 30, 70, 80, coord[0], coord[1], coord[2], coord[3], r,r,r,r,r,r, -1))
{
mousemove(coord[0]+x-5, coord[1]+y+5);
sleep(1000);
mousemove(coord[0]+x+20, coord[1]+y+25);
sleep(1000);

// распознавание текста
readtext (EN, #Text, 8, 1, -1, -1, -1, -1, -1, 0, -1, coord[0]+x-5, coord[1]+y+5, coord[0]+x+20, coord[1]+y+25, -1);
messagebox (Text); // распознаный текст

// тут нужные действия
}
else messagebox("Жёлтый круг не найден");

end:;
 
 Top
Neznakomec
Отправлено: 29 Октября, 2020 - 18:47:37
Post Id



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


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




 Zireael пишет:
 Цитата:
не подскажите как это сделать?

Визуальным редактором не пользуюсь, принцип такой:
CODE:
int color[1]={1945087} // цвет жёлтого круга
int kol[1]={100} // сколько должно быть найдено пикселей
int r=30; // отклонение в цвете
int coord[4]={974, 826, 1350, 877} // координаты для поиска
int x, y;

string Text;
if(loadsymbolbase ("D:\Kibor2\basetext.sib")==-1){messagebox("База символов не найдена"); goto end;}

// поиск жёлтого круга
if(findheapcolor(1, #color[0], #kol[0], sizearray(color), 1, #x, #y, 30, 30, 70, 80, coord[0], coord[1], coord[2], coord[3], r,r,r,r,r,r, -1))
{
mousemove(coord[0]+x-5, coord[1]+y+5);
sleep(1000);
mousemove(coord[0]+x+20, coord[1]+y+25);
sleep(1000);

// распознавание текста
readtext (EN, #Text, 8, 1, -1, -1, -1, -1, -1, 0, -1, coord[0]+x-5, coord[1]+y+5, coord[0]+x+20, coord[1]+y+25, -1);
messagebox (Text); // распознаный текст

// тут нужные действия
}
else messagebox("Жёлтый круг не найден");

end:;


Все равно не смог понять, мне бы кого-нибудь, кто в визуальном редакторе шарит
 
 Top
Zireael
Отправлено: 30 Октября, 2020 - 00:55:53
Post Id



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


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




Тоже самое можно сделать в визуальном редакторе.
 
 Top
Neznakomec
Отправлено: 30 Октября, 2020 - 14:14:19
Post Id



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


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




 Zireael пишет:
Тоже самое можно сделать в визуальном редакторе.

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


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




Powered by