07.12.2015, 23:47
So im just worrying because this thing will not work as it should. No matter if someone is around or not it will detect like there is someone near you
PHP код:
CMD:test(playerid,params[]) {
new someplayer = GetClosestPlayer(playerid);
if(GetDistanceBetweenPlayers(playerid,someplayer) < 5) {
SendClientMessage(playerid,COLOR_RED,"There are players near you.");
}
else if(GetDistanceBetweenPlayers(playerid,someplayer) > 5) return SendClientMessage(playerid,COLOR_RED,"You are not near any player");
return true;
}
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 GetClosestPlayer(p1);
public GetClosestPlayer(p1)
{
new x,Float:dis,Float:dis2,player;
player = -1;
dis = 5.00;
for (x=0;x<MAX_PLAYERS;x++) {
if(IsPlayerConnected(x)) {
if(x != p1) {
dis2 = GetDistanceBetweenPlayers(x,p1);
if(dis2 < dis && dis2 != -1.00) {
dis = dis2;
player = x;
}
}
}
}
return player;
}