30.12.2009, 12:36
I don't know who created this function but it can be found on the forum:
You will also need this function:
pawn Код:
stock GetClosestPlayer(playerid)
{
new
Float:dis, Float:dis2, player;
player = -1;
dis = 99999.99;
for(new i = 0; i < MAX_PLAYERS; i++)
{
dis2 = GetDistanceBetweenPlayers(i, playerid);
if((dis2 < dis) && (dis2 != -1.00))
{
dis = dis2;
player = i;
}
}
return player;
}
pawn Код:
stock GetDistanceBetweenPlayers(playerid, playerid2)
{
new
Float:x1, Float:y1, Float:z1,
Float:x2, Float:y2, Float:z2, Float:tmpdis;
GetPlayerPos(playerid, x1, y1, z1);
GetPlayerPos(playerid2, x2, y2, z2);
tmpdis = floatsqroot(floatpower(floatabs(floatsub(x2, x1)), 2) + floatpower(floatabs(floatsub(y2, y1)), 2) + floatpower(floatabs(floatsub(z2, z1)), 2));
return floatround(tmpdis);
}