Portal SAMP
[Ajuda] Sistema de Gasolina Bugando!! - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Sistema de Gasolina Bugando!! (/showthread.php?tid=4458)



Sistema de Gasolina Bugando!! - Harald - 24/01/2024

Boa Tarde, Bom Meu sistema está QUASE Primeiramente, Eu Spawno um carro(411) usando o cmd /veh que spawna um carro 411, aí okay, se eu entrar nele, Clicar Y, Ele seta o Carro Ligado e Timer de gasolina, Se eu aperto Y Novamente, O veiculo é desligado, E o Timer é parado, Mas se eu spawnar outro carro, /veh, Eu terei 2 infernus, Se eu desligar o primeiro que criei, E deixar Ligado o que criei por último ligado, E voltar por qual criei primeiro, E desligar, Ele continua sentando o timer, Em vez de quebrar, Algum Programador mas esperiente poderia me ajudar?



Código PHP:
stock motorcarro(playerid)

{
    if (GetPlayerState(playerid) == PLAYER_STATE_DRIVER)

    {

        new motlualarporcappormaob;

        new carro GetPlayerVehicleID(playerid);

        new Float:vidacarro;

        GetVehicleHealth(carrovidacarro);

        GetVehicleParamsEx(carromotlualarporcappormaob);



        if (Motor[carro] == 0) 

        
{

            if (Player[playerid][pGasosa] < 1)

            {

                SetVehicleParamsEx(carroVEHICLE_PARAMS_OFFVEHICLE_PARAMS_OFFalarporcappormaob);

                SendClientMessage(playerid, -1"Veículo desligado devido a falta de gasolina.");

                return 1;

            }

            SetVehicleParamsEx(carroVEHICLE_PARAMS_ONVEHICLE_PARAMS_ONalarporcappormaob);

            Motor[carro] = 1; 

            SendClientMessage
(playerid0xFFFFFFAA"Veiculo {2F991A}Ligado!");

            if(IsPlayerInAnyVehicle(playerid))

            {

                vTimer[playerid] = SetTimerEx("TempoGasosa"9000true"d"playerid);

            }

        }

        else if (Motor[carro] == 1) 

        
{

            SetVehicleParamsEx(carroVEHICLE_PARAMS_OFFVEHICLE_PARAMS_OFFalarporcappormaob);

            Motor[carro] = 0// Use Motor, não motor

            KillTimer(vTimer[carro][playerid]);//nao seria mas fácil usar o format?

            SendClientMessage(playerid0xFFFFFFAA"Veiculo {2F991A}Desligado!");

        }

        return 1;

    }

    return 1;





RE: Sistema de Gasolina Bugando!! - pushline - 24/01/2024

Deve ser algo relacionado a criação do timer.

Por que pelo que eu vi dentro do if tem esta linha:
Código PHP:
vTimer[playerid] = SetTimerEx("TempoGasosa"9000true"d"playerid); 

E no else if tem este kill timer que usa a variavel carro:
Código PHP:
KillTimer(vTimer[carro][playerid]); 



RE: Sistema de Gasolina Bugando!! - Harald - 25/01/2024

Essa variavel carro, Pode desconsiderar, Esqueci de remover antes d mandar aqui


RE: Sistema de Gasolina Bugando!! - xbruno1000x - 25/01/2024

O problema é provavelmente que o seu timer está orientado ao jogador, e não ao veículo. Para não ter que alterar o sistema, você pode simplesmente adicionar um bloqueio para o jogador não criar mais de um veículo simultaneamente.

Enviar a função TempoGasosa aqui também ajudaria bastante a resolver o problema.