Posts: 280
Threads: 62
Joined: Aug 2014
Reputation:
0
thanks but i really dont know how to start
Posts: 3,324
Threads: 96
Joined: Sep 2013
Quote:
Originally Posted by FarTooBaked
Here we go.
pawn Код:
#define COLOR_WHITE 0xFFFFFFAA
new Float:DistanceFromPlayer[MAX_PLAYERS]; new ThePlayer[MAX_PLAYERS]; new GotFirstDistance[MAX_PLAYERS];
/yourcommandhere
for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { new Float:pX, Float:pY, Float:pZ; GetPlayerPos(i, pX, pY, pZ); new Distance = GetPlayerDistanceFromPoint(playerid, pX, pY, pZ); if(GotFirstDistance[playerid] != 1) { DistanceFromPlayer[playerid] = Distance; ThePlayer[playerid] = i; GotFirstDistance[playerid] = 1; } else { if(Distance < DistanceFromPlayer[playerid]) { DistanceFromPlayer[playerid] = Distance; ThePlayer[playerid] = i; } if(i == MAX_PLAYERS) { if(Distance < DistanceFromPlayer[playerid]) { new string[128]; DistanceFromPlayer[playerid] = Distance; ThePlayer[playerid] = i; new Player = ThePlayer[playerid]; format(string, sizeof(string), "You are %0.2fm away from %s", DistanceFromPlayer[playerid], GetPlayerNameEx(Player)); SendClientMessage(playerid, COLOR_WHITE, string); } else { new string[128]; format(string, sizeof(string), "You are %0.2fm away from %s", DistanceFromPlayer[playerid], GetPlayerNameEx(Player)); SendClientMessage(playerid, COLOR_WHITE, string); } } } } } //GET PLAYER NAME stock GetPlayerNameEx(playerid) { new PlayerName[24]; GetPlayerName(playerid, PlayerName, 24); new string[24]; strmid(string, PlayerName, 0, strlen(PlayerName), 24); return string; }
|
Just a hint, STOP USING MAX_PLAYERS FOR LOOPS!
GetPlayerPoolSize