Кибор » Кибор - Интегрированная среда разработки ботов » Готовые скрипты » Авто наводка и автобой в ТАНКИ ОНЛАЙН

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

1. Kibor - 22 Августа, 2013 - 18:19:25 - перейти к сообщению
Данный скрипт в автоматическом режиме наводит пушку на танки вражеские и стреляет.

Видео работы скрипта:
Видео работы автонаводки и боя в Танки онлайн

Скрипт можно использовать как в игре управляя танком, так и поставив танк где то в углу и наблюдать со стороны..

Настроен на бои красные синие...
В скрипте надо настроить область поиска так , что бы не попал чат боя (тот что справа)в поиск. Чат сообщений отключить. Все отключить...

Область поиска настраивается так:
findimage(-1, #color_vrag[0][0], 0, #v_X[0], #v_Y[0], 0, 118, ex-280, ey-150......
0-так оставить
118 - координата у верхнего левого угла. указать ниже панелей в игре
ex-280 - 280 это ширина чата боя..
ey-150 - 150 это высота на которую надо поднять нижнюю часть области поиска (что б не попала панель задач и браузер)

Область правого чата боя слепая... там не видит...

Может позже выложу полноценного бота, который будет сам крутить башкой...
Пока ищется только в пределах видимости..
Красным что можно подстраивать
Настроен на экран 1366 768
 Цитата:
int col, ex, ey;
getdisplay(col, ex, ey);
int C_ex=ex/2, C_ey=ey/2;
int v_X[5000], v_Y[5000];
int k;
int rast;
int color_vrag[1][1];

color_vrag[0][0]=13597755;//я красн //Можно подобрать цвет синего ника оптимальнее с помощью редактора Кибор
//color_vrag[0][0]=1389551;//я синий//Можно подобрать цвет красного ника оптимальнее с помощью редактора Кибор

int коэфициент_поворота=2;//От этого зависит скорость наводки, но так же и инерция проскакивания.
int точность_чистовой_наводки=10;//Эту точность держит при стрельбе
int точность_наводки=50;//Это точность при наводке
int точность_наводки_бить=100;//Это точность при которой начинает бить.
int задействовать_при_наводке_корпус=0;//0-не задействовать 1-задействовать с башней
int min_max=15;//Разбежность цвета. Точность определения (уменьшать пока нормально наводит на врага)


int razn;


int rast1;
int pr;
int bp=0;



sleep(1000);

key('z');
key('x');
key(SPACE);


lo:;
key('c');


if (bp==1) {bp=0; keyup(SPACE);}
k=findimage(-1, #color_vrag[0][0], 0, #v_X[0], #v_Y[0], 0, 118, ex-280, ey-150, min_max, min_max, min_max, min_max, min_max, min_max, 100, 1, -1);


if (k>0)
{
sort(C_ex, C_ey, #v_X[0], #v_Y[0], k);
rast=C_ex-v_X[0];
if (rast>точность_наводки)Pov_z();
if (rast<-точность_наводки)Pov_x();

rast1=rast;
if (rast1<0)rast1=-rast1;
if (rast1<точность_наводки_бить)
{
bp=1; keydown(SPACE);
if (rast>точность_чистовой_наводки){keydown('z');sleep(100);keyup('z');}
if (rast<-точность_чистовой_наводки){keydown('x');sleep(100);keyup('x');}
bit();
}
if (bp==1) {bp=0; keyup(SPACE);}

}
goto lo;

/////////////////////////////////////////

function Pov_z()
{
r: rast1=rast;
if (rast1<0)rast1=-rast1;
razn=rast1*коэфициент_поворота;

keydown('z');
if (задействовать_при_наводке_корпус==1)keydown(LEFT);
sleep(razn);
if (задействовать_при_наводке_корпус==1)keyup(LEFT);
keyup('z');
sleep(100);
k=findimage(-1, #color_vrag[0][0], 0, #v_X[0], #v_Y[0], 0, 118, C_ex, ey-150, min_max, min_max, min_max, min_max, min_max, min_max, 100, 1, -1);
if (k>0)
{
sort(C_ex, C_ey-188, #v_X[0], #v_Y[0], k);
rast=C_ex-v_X[0];

if (rast>razn/2)goto r;
if (rast1<точность_наводки_бить){bp=1; keydown(SPACE);}
sleep(100);
k=findimage(-1, #color_vrag[0][0], 0, #v_X[0], #v_Y[0], 0, 118, C_ex, ey-150, min_max, min_max, min_max, min_max, min_max, min_max, 100, 1, -1);
if (k>0){sort(C_ex, C_ey, #v_X[0], #v_Y[0], k);rast=C_ex-v_X[0];}
return;
}
if (rast1<точность_наводки_бить){bp=1; keydown(SPACE);}
sleep(100);
k=findimage(-1, #color_vrag[0][0], 0, #v_X[0], #v_Y[0], 0, 118, C_ex, ey-150, min_max, min_max, min_max, min_max, min_max, min_max, 100, 1, -1);
if (k>0){sort(C_ex, C_ey, #v_X[0], #v_Y[0], k);rast=C_ex-v_X[0];}
}

function Pov_x()
{
r: rast1=rast;
if (rast1<0)rast1=-rast1;
razn=rast1*коэфициент_поворота;

keydown('x');
if (задействовать_при_наводке_корпус==1)keydown(RIGHT);
sleep(razn);
if (задействовать_при_наводке_корпус==1)keyup(RIGHT);
keyup('x');
sleep(100);
k=findimage(-1, #color_vrag[0][0], 0, #v_X[0], #v_Y[0], C_ex, 118, ex-280, ey-150, min_max, min_max, min_max, min_max, min_max, min_max, 100, 1, -1);
if (k>0)
{
sort(0, C_ey, #v_X[0], #v_Y[0], k);
rast=v_X[0];

if (rast<-(razn/2))goto r;
if (rast1<точность_наводки_бить){bp=1; keydown(SPACE);}
sleep(100);
k=findimage(-1, #color_vrag[0][0], 0, #v_X[0], #v_Y[0], C_ex, 118, ex-280, ey-150, min_max, min_max, min_max, min_max, min_max, min_max, 100, 1, -1);
if (k>0){sort(0, C_ey, #v_X[0], #v_Y[0], k);rast=v_X[0];}
return;
}
if (rast1<точность_наводки_бить){bp=1; keydown(SPACE);}
sleep(100);
k=findimage(-1, #color_vrag[0][0], 0, #v_X[0], #v_Y[0], C_ex, 118, ex-280, ey-150, min_max, min_max, min_max, min_max, min_max, min_max, 100, 1, -1);
if (k>0){sort(0, C_ey, #v_X[0], #v_Y[0], k);rast=v_X[0];}
}



function bit()
{
pr=0;
q: k=findimage(-1, #color_vrag[0][0], 0, #v_X[0], #v_Y[0], 0, 118, ex-280, ey-150, min_max, min_max, min_max, min_max, min_max, min_max, 100, 1, -1);
if (k>0)
{
sort(C_ex, C_ey, #v_X[0], #v_Y[0], k);
rast=C_ex-v_X[0];
if (rast>точность_наводки)Pov_z();
if (rast<-точность_наводки)Pov_x();
if (rast>точность_чистовой_наводки){keydown('z');sleep(100);keyup('z');}
if (rast<-точность_чистовой_наводки){keydown('x');sleep(100);keyup('x');}
rast1=rast;
if (rast1<0)rast1=-rast1;
if (rast1<точность_наводки_бить)
{
pr=0;
sleep(20);
goto q;
}

}
if (pr<20)
{
pr++;
sleep(5);
goto q;
}
}


2. Serfer_78 - 28 Октября, 2016 - 10:38:03 - перейти к сообщению
Скажите можно ли как то переделать скрипт под World Of Tanks?

Powered by ExBB FM 1.0 Final