В этом уроке я вас научу как узнать дистанцию между игроками:

В самый конец мода:
Код: Выделить всё
forward Float:GetDistanceBetweenPlayers(p1,p2); 
public Float:GetDistanceBetweenPlayers(p1,p2) 

new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2; 
if (!IsPlayerConnected(p1) || !IsPlayerConnected(p2)) 

return -1.00; 

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)); 
}

а вот и живой пример:

Код: Выделить всё
forward OnPlayerUpdateNew(playerid); 
public OnPlayerUpdateNew(playerid) 

for(new i = 0; i < MAX_PLAYERS; i++) 

if(IsPlayerConnected(i)) 

if(Float:GetDistanceBetweenPlayers(playerid,i) > 250) return SendClientMessage(playerid,0x00FF00AA,"Вы слишком далеко от других игроков"); 


SetTimer("OnPlayerUpdateNew",5000,0); 
}

вышеуказанный пример выдает сообщение каждые 5 секунд, но только если игрок находится на расстоянии от других более чем в 250
расстояние измеряется в float единицах  автор:admin ставьте +