All pastes #533881 Raw Edit

Mine

public text v1 · immutable
·published 2007-06-03 16:33 UTC
rendered paste body

new pteam[MAX_PLAYERS];
new used[MAX_PLAYERS];

stock Float:GetDistanceBetweenPlayers(p1,p2)
{
	new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
	GetPlayerPos(p1,x1,y1,z1);
	GetPlayerPos(p2,x2,y2,z2);
	return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
}

stock GetClosestPlayerEx(p1)
{
	new x,Float:dis,Float:dis2,player,players,called,p[24],str[24];
	player = -1;
	dis = 99999.99;
	for (x=0;x<MAX_PLAYERS;x++)
	{
	    players++;
		if (x != p1)
		{
			dis2 = GetDistanceBetweenPlayers(x,p1);
			if (dis2 < dis && dis2 != -1.00 && pteam[x] == pteam[p1] && used[x] == 0)
			{
				dis = dis2;
				player = x;
				used[x] = 1;
				called++;
				GetPlayerName(x,p,24);
				while(players>called) GetClosestPlayerEx(p1);
			}
		}
	}
	format(str,sizeof(str),"%s",p);
	return player;
}