int GetClosestEnemy(int myindex)
{
int closestplayerindex = 0;
float smallnum;
bool bfirstenemy = false;
float targets[16];
PlayerTable* enemies[16];
PlayerTable* myplayer = (PlayerTable*)GetPlayerInfo(myindex);
for(int i = 0; i < 16; i++)
{
if(enemies[i] != 0)
enemies[i] = GetPlayerInfo(i);
if(enemies[i] && myplayer && enemies[i]->Pos && myplayer->Pos)
targets[i] = sqrtf(((enemies[i]->Pos->x - myplayer->Pos->x)*(enemies[i]->Pos->x - myplayer->Pos->x)) + ((enemies[i]->Pos->y - myplayer->Pos->y)*(enemies[i]->Pos->y - myplayer->Pos->y)) + ((enemies[i]->Pos->z - myplayer->Pos->z)*(enemies[i]->Pos->z - myplayer->Pos->z)));
if(enemies[i]->team != myplayer->team)
{
if(bfirstenemy == false)
{
bfirstenemy = true;
smallnum = targets[i];
}
if(smallnum < targets[i])
{
smallnum = targets[i];
closestplayerindex = i;
}
}
}
return closestplayerindex;
}
if(enemies[i] != 0)
enemies[i] = GetPlayerInfo(i);
float GetPlayerDistance(PlayerTable *me, PlayerTable *enemy)
{
float xD = pow(me->Pos->x - enemy->Pos->x, 2);
float yD = pow(me->Pos->y - enemy->Pos->y, 2);
float zD = pow(me->Pos->z - enemy->Pos->z, 2);
return sqrt(xD + yD + zD);
}
PlayerTable *GetClosestEnemy(int myindex)
{
PlayerTable *pClosest = NULL;
PlayerTable *pEnemy = NULL;
PlayerTable *pMe = (PlayerTable*)GetPlayerInfo(myindex);
float fClosest = 9999999999f; //some stupid value
float fCurrent = 0.0f;
if (pMe != NULL)
{
for(int i = 0; i < 16; i++)
{
if (i != myindex)
{
pEnemy = (PlayerTable*)GetPlayerInfo(i);
if (pEnemy == NULL) { continue; }
fCurrent = GetPlayerDistance(pMe, pEnemy);
if (fCurrent < fClosest && pEnemy->team != pMe->team)
{
fClosest = fCurrent;
pClosest = pEnemy;
}
}
}
}
return pClosest;
}

int GetClosestEnemy(int myindex)
{
PlayerTable *pClosest = NULL;
PlayerTable *pEnemy = NULL;
PlayerTable *pMe = (PlayerTable*)GetPlayerInfo(myindex);
float fClosest = 99999999999999999999999999999999999999.0f; //some stupid value
float fCurrent = 0.0f;
int index = 0;
for(int i = 0; i < 16; i++)
{
pEnemy = (PlayerTable*)GetPlayerInfo(i);
if (pEnemy && pMe && pEnemy->Pos && pMe->Pos)
{
xD = (pMe->Pos->x - pEnemy->Pos->x)*(pMe->Pos->x - pEnemy->Pos->x);
yD = (pMe->Pos->y - pEnemy->Pos->y)*(pMe->Pos->y - pEnemy->Pos->y);
zD = (pMe->Pos->z - pEnemy->Pos->z) * (pMe->Pos->z - pEnemy->Pos->z);
fCurrent = (xD + yD + zD);
if (fCurrent < fClosest && pEnemy->team != pMe->team)
{
fClosest = fCurrent;
pClosest = pEnemy;
index = i;
}
}
}
return index;
}