Синтаксис: GetDistanceBetweenPlayers(p1,p2); p1 - первый игрок, расстояние от которого имеряется;
p2 - второй игрок, расстояние до которого измеряется.
Code
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));
}
Автор: V4N0M.
Более быстрый по исполнению вариант:
Code
forward Float:GetDistanceBetweenPlayers(playerid1,playerid2);
stock Float:GetDistanceBetweenPlayers(playerid1,playerid2)
{
new Float:x1, Float:y1, Float:z1, Float:x2, Float:y2, Float:z2;
if(!IsPlayerConnected(playerid1) || !IsPlayerConnected(playerid2)) return -1.00;
GetPlayerPos(playerid1, x1, y1, z1);
GetPlayerPos(playerid2, x2, y2, z2);
return floatsqroot((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1) + (z2 - z1) * (z2 - z1));
}
Автор: [KOM]Butilka aka [TWP]E1edge.