PLAYER LEAVING PICKUP
#1

Hello,

I have a litle problem i have robbing system and i would like to make it with pickups but the thing is when you are on the pickup and your robbing it takes 30 sec to rob a store but i would like to now when a player leaves a pickups so it can cancel the robbing and i dont now how to do good.

Thank You
Reply
#2

You can check by using IsPlayerInRangeOfPoint function, just to check if he is still near the pickup, you may also start a 1 second repeating timer and decrease its variable and show him a gametext for the time left, it will be helpful also to detect whether if he still pick it up or not

pawn Код:
new
        PlayerRobbery[ MAX_PLAYERS ] = 0,
        PlayerTimer[ MAX_PLAYERS ] = -1,
        bool:RobberyStart[ MAX_PLAYERS] = false;
public OnPlayerConnect( playerid )
{
    PlayerRobber[ playerid ] = 0;
    RobberyStart[ playerid ] = false;
    return true;
}
public OnPlayerPickUpPickup( playerid, pickupid )
{
    if( pickupid == .. )
    {
        if( RobberyStart[ playerid ] == false )
        {
            RobberyStart[ playerid ] = true;
            PlayerTimer[ playerid ] = SetTimerEx("Robbery", 1000, "i", playerid );
            PlayerRobbery[ playerid ] = 30;
        }
    }
    return 1;
}
forward Robbery( playerid );
public Robbery( playerid )
{
    if( PlayerRobbery[ playerid ] > 0 )
    {
        PlayerRobbery[ playerid ] --;
        if(IsPlayerInRangeOfPoint( playerid, 1.0, x, y , z ) )
        {
            //if he still pick it up
        }
        else
        {
            KillTimer( PlayerTimer[ playerid ] );
            RobberyStart[ playerid ] = false;
            //he left the pickup!
        }
    }
    if( PlayerRobbery[ playerid ] <= 0 )
    {
        KillTimer( PlayerTimer[ playerid ] );
        RobberyStart[ playerid ] = false;
    }
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)