Checking if a player is close
#1

In a pay command, I want to check if they payer and payee are close to each other.

Any ideas?

Thanks
Reply
#2

use this func

PHP код:
forward GetClosestPlayer(p1);// top
public GetClosestPlayer(p1)
{
    new 
x,Float:dis,Float:dis2,player;
    
player = -1;
    
dis 99999.99;
    for (
x=0;x<MAX_PLAYERS;x++)
    {
        if(
IsPlayerConnected(x))
        {
            if(
!= p1)
            {
                
dis2 GetDistanceBetweenPlayers(x,p1);
                if(
dis2 dis && dis2 != -1.00)
                {
                    
dis dis2;
                    
player x;
                }
            }
        }
    }
    return 
player;

and u can use this func like that

PHP код:
GivePlayerMoney(GetClosestPlayer(playerid), 100); // give $100 to closest player 
Reply
#3

https://sampwiki.blast.hk/wiki/IsPlayerInRangeOfPoint

pawn Код:
new Float:x, Float:y, Float:z;
GetPlayerPos(PLAYER_ID_NUMBER_ONE, x, y, z);

if(IsPlayerInRangeOfPoint(PLAYER_ID_NUMBER_TWO, 2.0, x, y, z))
{
    // They are within 2.0 units
}
https://sampwiki.blast.hk/wiki/GetPlayerDistanceFromPoint

pawn Код:
new Float:x, Float:y, Float:z;
GetPlayerPos(PLAYER_ID_NUMBER_ONE, x, y, z);

if(GetPlayerDistanceFromPoint(PLAYER_ID_NUMBER_TWO, x, y, z) < 2.0)
{
    // They are within 2.0 units
}
Reply
#4

I'd personally use a bigger radius than 2; perhaps 5.
Reply
#5

I settled on 3.0

Thanks for the help as always!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)