[Ajuda] Flood
#1

Ola pessoal, minha duvida й a seguinte eu criei um sistema de gasolina mais como ele й chamado a cada 30 segundos a mensagem que a gasolina acabo fica floodando a cada vez que a public й chamada novamente, esse й o meu problema jб tentei usar um killtimer mais quando ele entra em outro veiculo com gasolina nгo desconta mais gasolina tem alguma maneira que eu possa fazer pra mensagem ser exibida uma vez sу? irei deixar o cуdigo que eu tentei fazer com o killtimer.

pawn Код:
new Checkgaskill;

//OnGameModeInit
Checkgaskill = SetTimer("CheckGas", RunOutTime, true);

public CheckGas()
{
    for(new i=0;i<MAX_PLAYERS;i++)
    {
        new vid = GetPlayerVehicleID(i);
        if(IsPlayerConnected(i))
        {
            if(GetVehicleModel(GetPlayerVehicleID(i)) != 481 && 510)
            {
                if(GetPlayerState(i) == PLAYER_STATE_DRIVER)
                {
                    if(Gas[GetPlayerVehicleID(i)] >= 1)
                    {
                        Gas[GetPlayerVehicleID(i)]--;
                    }
                }
            }
        }
        if(Gas[GetPlayerVehicleID(i)] < 1)
        {
            SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,0,0,0,0,0,0);
            SendClientMessage(i, COLOR_RED,"[ERRO] Veiculo sem combustivel.");
            KillTimer(Checkgaskill);
            return 1;
        }
    }
    return 1;
}
Reply
#2

Coloca dentro esse if

pawn Код:
if(GetPlayerState(i) == PLAYER_STATE_DRIVER)
Reply
#3

vocк quis dizer pra fazer isso:

pawn Код:
public CheckGas()
{
    for(new i=0;i<MAX_PLAYERS;i++)
    {
        new vid = GetPlayerVehicleID(i);
        if(IsPlayerConnected(i))
        {
            if(GetVehicleModel(GetPlayerVehicleID(i)) != 481 && 510)
            {
                if(GetPlayerState(i) == PLAYER_STATE_DRIVER)
                {
                    if(Gas[GetPlayerVehicleID(i)] >= 1)
                    {
                        Gas[GetPlayerVehicleID(i)]--;
                    }
                    if(Gas[GetPlayerVehicleID(i)] < 1)
                    {
                        SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,0,0,0,0,0,0);
                        SendClientMessage(i, COLOR_RED,"[ERRO] Veiculo sem combustivel.");

                    }
                }
            }
        }
    }
    return 1;
}
??

@EDIT

O que eu quero evitar й esse flood aqui
Reply
#4

Coloca assim
pawn Код:
if(Gas[GetPlayerVehicleID(i)] > 0)
    Gas[GetPlayerVehicleID(i)]--;

if(Gas[GetPlayerVehicleID(i)] == 0)
{
    Gas[GetPlayerVehicleID(i)]--;
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,0,0,0,0,0,0);
    SendClientMessage(i, COLOR_RED,"[ERRO] Veiculo sem combustivel.");
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)