Repair Abuse
#3

Try avoiding timers wherever you can use GetTickCount/gettime instead. Change 5 to the seconds you want; for example, every 5 seconds a player can repair their vehicle.

pawn Code:
new
    Allow_Repair[ MAX_PLAYERS ]
;

public OnPlayerConnect( playerid )
{
    Allow_Repair[ playerid ] = -1;
    return 1;
}

public OnPlayerKeyStateChange( playerid, newkeys, oldkeys )
{
    if( GetPlayerState( playerid ) == PLAYER_STATE_DRIVER )
    {
        if( ( newkeys & KEY_ANALOG_UP ) && !( oldkeys & KEY_ANALOG_UP ) )
        {
            if( Allow_Repair[ playerid ] == -1 || ( Allow_Repair[ playerid ] != -1 && ( gettime( ) - Allow_Repair[ playerid ] ) > 5 ) )
            {
                new
                    vehicleid = GetPlayerVehicleID( playerid )
                ;
                SetVehicleHealth( vehicleid, 1000.0 );
                RepairVehicle( vehicleid );
                SendClientMessage( playerid, 0x800080FF, "[ Server ] Vehicle repaired." );
                Allow_Repair[ playerid ] = gettime( );
            }
        }
    }
    return 1;
}
EDIT: I improved something in OnPlayerKeyStateChange callback. In case you used the code I gave, replace it with the new one.
Reply


Messages In This Thread
Repair Abuse - by MBilal - 30.09.2013, 12:50
Re: Repair Abuse - by EiresJason - 30.09.2013, 13:06
Re: Repair Abuse - by Konstantinos - 30.09.2013, 13:08
Re: Repair Abuse - by MBilal - 30.09.2013, 13:09
Re: Repair Abuse - by MBilal - 30.09.2013, 13:28
Re: Repair Abuse - by xganyx - 30.09.2013, 13:28
Re: Repair Abuse - by Konstantinos - 30.09.2013, 13:34
Re: Repair Abuse - by MBilal - 30.09.2013, 13:38
Re: Repair Abuse - by xganyx - 30.09.2013, 13:49
Re: Repair Abuse - by MBilal - 30.09.2013, 14:05

Forum Jump:


Users browsing this thread: 1 Guest(s)