Progress bar
#6

Here you go, Just improved/fixed it for you..
pawn Код:
new Bar:tired[MAX_PLAYERS] = {INVALID_BAR_ID, ...};
new TTired[MAX_PLAYERS];

public OnPlayerConnect(playerid)
{
    tired[playerid] = CreateProgressBar(500.00, 103.00, 105.50, 4.50, -202116097, 100.0);
    return 1;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    ShowProgressBarForPlayer(playerid, tired[playerid]);
    TTired[playerid] = SetTimerEx("Tired", 9000, true, "i", playerid);
    return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
    KillTimer(TTired[playerid]);
    return 1;
}

forward Tired(playerid);
public Tired(playerid)
{
    SetProgressBarValue(tired[playerid], GetProgressBarValue(tired[playerid])+1);
    return 1;
}
Note: I don't suggest using OnPlayerExitVehicle because :
1. OnPlayerEnterVehicle is called when a player starts to enter a vehicle, meaning the player is not in vehicle yet at the time this callback is called."
2. OnPlayerExitVehicle Not called if the player falls off a bike or is removed from a vehicle by other means such as using SetPlayerPos.

And use OnPlayerStateChange instead
Another code using "OnPlayerStateChange"
pawn Код:
new Bar:tired[MAX_PLAYERS] = {INVALID_BAR_ID, ...};
new TTired[MAX_PLAYERS];

public OnPlayerConnect(playerid)
{
    tired[playerid] = CreateProgressBar(500.00, 103.00, 105.50, 4.50, -202116097, 100.0);
    return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER) // Player entered a vehicle as a driver or a passenger
    {
        ShowProgressBarForPlayer(playerid, tired[playerid]);
        TTired[playerid] = SetTimerEx("Tired", 9000, true, "i", playerid);
    }
    else if(oldstate == PLAYER_STATE_DRIVER || oldstate == PLAYER_STATE_PASSENGER) // Player Exited a vehicle and he  was a driver or a passenger
    {
        KillTimer(TTired[playerid]);
    }
    return 1;
}

forward Tired(playerid);
public Tired(playerid)
{
    SetProgressBarValue(tired[playerid], GetProgressBarValue(tired[playerid])+1);
    return 1;
}
Reply


Messages In This Thread
Progress bar - by cnoopers - 27.12.2013, 20:05
Re: Progress bar - by xVIP3Rx - 27.12.2013, 20:10
Re: Progress bar - by cnoopers - 27.12.2013, 20:15
Re: Progress bar - by xVIP3Rx - 27.12.2013, 20:26
Re: Progress bar - by cnoopers - 27.12.2013, 20:33
Re: Progress bar - by xVIP3Rx - 27.12.2013, 20:42
Re: Progress bar - by cnoopers - 27.12.2013, 20:53
Re: Progress bar - by cnoopers - 27.12.2013, 21:16
Re: Progress bar - by xVIP3Rx - 27.12.2013, 21:24
Re: Progress bar - by cnoopers - 27.12.2013, 21:29

Forum Jump:


Users browsing this thread: 1 Guest(s)