Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Ошибка в программе идентификации противника

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

1. Nicolazz92 - 11 Октября, 2015 - 09:07:57 - перейти к сообщению
В качестве флага взял кусок рамки врага. При нахождении этого куска рамки должно выводиться сообщение. Пока почему-то выводится только "враг не найден".

 Цитата:
int PosX_0[512];int PosY_0[512];
int Enimy_ident[15][20];//переменная куска рамки
int isEn;//флаг идентификации врага
loadimage(#Enimy_ident[0][0], "C:\allods_bots\Enimy_Ident.bmp");
win w = window ("Аллоды Онлайн", "NIVAL_MMO_ENGINE", -1);

isEnimy();

if(isEn == 1)
{
messagebox("враг найден")
}
else
{
messagebox("враг не найден")
}

isEnimy(){
if(findimage(-1, #Enimy_ident[0][0], 0, #PosX_0[0], #PosY_0[0], 0, 0, 784, 562, w)>0)
{
isEn = 1
}
else
{
isEn = 0
}
}


И ещё, как правильно возвращать значения из функции? типа
if(a){return 1;}else{return 2;}
2. Kibor - 11 Октября, 2015 - 09:22:54 - перейти к сообщению
 Цитата:
if(a){return 1;}else{return 2;}


if(a){return 1;}
else{return 2;}
или
if(a) return 1;
else return 2;

и правильно ставить ; везде где инструкция заканчивается

int PosX_0[512];int PosY_0[512];
int Enimy_ident[15][20];
pause(1000);
loadimage(#Enimy_ident[0][0], "C:\allods_bots\Enimy_Ident.bmp");
win w = window ("Аллоды Онлайн", "NIVAL_MMO_ENGINE", -1);

if(isEnimy()==1)messagebox("враг найден");
else messagebox("враг не найден");

function isEnimy()
{
if(findimage(-1, #Enimy_ident[0][0], 0, #PosX_0[0], #PosY_0[0], 0, 0, w.widthclient, w.heightclient, w)>0)return 1;
return 0;
}
3. Nicolazz92 - 11 Октября, 2015 - 10:26:37 - перейти к сообщению
[quote=Kibor][quote]

выводится окно "ошибка else"
4. Kibor - 11 Октября, 2015 - 10:29:40 - перейти к сообщению
 Nicolazz92 пишет:
выводится окно "ошибка else"

в моем коде не выводится..
 Цитата:
int PosX_0[512];int PosY_0[512];
int Enimy_ident[15][20];
pause(1000);
loadimage(#Enimy_ident[0][0], "C:\allods_bots\Enimy_Ident.bmp");
win w = window ("Аллоды Онлайн", "NIVAL_MMO_ENGINE", -1);

if(isEnimy()==1)messagebox("враг найден");
else messagebox("враг не найден");

function isEnimy()
{
if(findimage(-1, #Enimy_ident[0][0], 0, #PosX_0[0], #PosY_0[0], 0, 0, w.widthclient, w.heightclient, w)>0)return 1;
return 0;
}
5. Nicolazz92 - 11 Октября, 2015 - 11:39:35 - перейти к сообщению
[quote=Kibor]

 Цитата:
int PosX_0[512];int PosY_0[512];
int Enimy_ident[15][17];loadimage(#Enimy_ident[0][0], "C:\allods_bots\idnEn.bmp");

win w = window ("Àëëîäû Îíëàéí", "NIVAL_MMO_ENGINE", -1);
int countEnimy = 0;
int countEnimyFin = 5;

e:;
if(isEnimy==1)
{
messagebox("got");
}
else
{
messagebox("got nothing");
key(TAB, 1, 0, w);
// goto e;
}



function isEnimy()
{
if(findimage(-1, #Enimy_ident[0][0], 0, #PosX_0[0], #PosY_0[0], 0, 0, 784, 562, w)>0)return 1;
return 0;
}


key() исправно работает, но программа не может найти даже аватар игрока. Где ошибка?
6. Kibor - 11 Октября, 2015 - 11:43:35 - перейти к сообщению
 Nicolazz92 пишет:
key() исправно работает, но программа не может найти даже аватар игрока. Где ошибка?

в подходе к поиску.
игра 3Д..
куча эфектов и полу прозрачностей.
надо искать по другому..
примерно так(для просмотра ссылки Вам необходимо авторизоваться) и то не факт.
(Добавление)
и что такое if(isEnimy==1)
где там isEnimy
?

Powered by ExBB FM 1.0 Final