Dimarik_RF |
Отправлено: 18 Сентября, 2017 - 20:22:39
|
Прохожий
Покинул форум
Сообщений всего: 3
Дата рег-ции: Сент. 2017
Репутация: 0
|
Kibor пишет:
ого) спасибо большое) попробую разобраться) а нет видео примерного по этому лабиринту?) только несколько десятков часов работал по этой теме) благо гайды есть) очень хорошее пособие про приложению) пытался найти какой нибудь гайд с похожей ситуацией, но увы не нашёл...
Но в любом случае спасибо за ответ)
(Добавление)
[quote=Dimarik_RF] Kibor пишет:
а всё увидел ниже) поторопился с ответом) буду голову ломать) т.к. я человек не особо силён в этой области) БОЛЬШОЕ спасибо))
(Добавление)
int col_KIB, ex_KIB, ey_KIB, sum_KIB, x_KIB, y_KIB;
int Image_0_KIB[9][12];
int Image_1_KIB[12][13];
int Image_2_KIB[55][18];
start_();
m_KIB1: if (findimage_(#Image_0_KIB[0][0], 0, 0, 0, 1, 5, 5, 0, -1, 75, 100, 1, 0, 0, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB)>0) goto m_KIB4;
else goto m_KIB2;
m_KIB4: findimage_(#Image_2_KIB[0][0], 2000, 0, 0, 1, 5, 2, 0, -1, 75, 100, 1, 0, 0, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB);
mouse_(1500, 1, 1193, 660, 0);
mouse_(0, 1, 1193, 660, 0); goto m_KIB1;
m_KIB5: mouse_(1500, 1, 1193, 660, 0);
mouse_(0, 1, 1193, 660, 0); goto m_KIB1;
m_KIB3: findimage_(#Image_2_KIB[0][0], 2000, 0, 0, 1, 5, 5, 0, -1, 75, 100, 1, 0, 0, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB); goto m_KIB5;
m_KIB2: findimage_(#Image_1_KIB[0][0], 0, 0, 0, 1, 5, 5, 0, -1, 75, 100, 1, 0, 0, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB); goto m_KIB3;
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:\клик\гидра ск.bmp"
loadimage (#Image_1_KIB[0][0], "C:\BOT\шлем.bmp"
loadimage (#Image_2_KIB[0][0], "C:\клик\в бой 1.bmp"
}
пока только так...на языке программирования сложно сделать лабиринт (лично для меня) ... куда прописывать лабиринт? чтобы стало легче..) а то скоро мозг взорвётся язык программирования для меня как "китайский" ... при успешном тестировании обязательно выложу на всеобщее обозрение) заранее спасибо)
(Добавление)
Лабиринт 5 по х и 4 по y |
|
|
tabletka |
Отправлено: 27 Сентября, 2017 - 05:45:13
|
Прохожий
Покинул форум
Сообщений всего: 20
Дата рег-ции: Окт. 2016
Откуда: msk
Репутация: 0
|
Забавно))) как раз Нахождение кратчайшего пути просил добавить именно для этой игры))) Код давно написал и прекрасно работает)))
А так же башня,поиск боса за 5 ходов, качь героев, слив ресурсов в маркет, поиск петуха, слив меди на гемы и т.д. ед проблема уперся в кол-во блоков т.к. их всего 128 в визуальном редакторе(((( гидра отдельным скриптом создана, а не в общем....
В скрипте выше, используется поиск по шлему и гидре, это криво и использует доп ходы на авось и полную чистку, что увеличивает силу следующих мобов, но в целом работо способно... примерно тоже самое использовал раньше... сейчас при появлении иконки гидры идет кратчайшим путем до нее... что не дает увеличению силы монстров за прохождение каждого шлема...смысл в том что убив 9 шлемов появляется гидра, если путь до нее открыт это 10й ход... если нет чистка в рандом порядке увеличивает силу монстров на 1 уровень... что не есть хорошо.... в моем случае минимизирует данный этап, в вашем это рандом, где на ~ 10 уровне шлем будет не 100 уровня, а 200+ .... В моем случае на 300+ уровне гидры, шлемы максимум 330-350.... с рандомом, что выше, как я ранее использовал рамки уходили за 800+
P.S. Clepin а как ГМ узнает юзаю ли я бота лол...(Отредактировано автором: 27 Сентября, 2017 - 06:00:59) |
|
|
|