SSGamers - 13 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

Participe do fórum, é rápido e fácil

SSGamers - 13 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

SSGamers - 13 Anos online por você.

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Chegou o novo tema 6.5.5 - SSGamers - Servidores online de qualidade - Aproveite e entre para nossa comunidade, inscreva-se já! - Ouça nossa web radio - Veja nossas novidades - Participe dos nossos setores de jogos online - Parcerias aberta fale já com um administrador.

    Sistema de Controle do Motor do Carro

    VanHelsing
    VanHelsing
    --> Postador Iniciante
    --> Postador Iniciante


    Celular : 17996575631
    Mensagens : 2
    Moedas : 1162
    Data de inscrição : 07/09/2021
    Idade : 24

    Sistema de Controle do Motor do Carro Empty Sistema de Controle do Motor do Carro

    Mensagem por VanHelsing Ter 7 Set 2021 - 22:29

    Trago aqui para vocês um sistema simples, muito requisitado pela sua importância em servidores RP/G.



    1- Para facilitar nossa vida, utilizaremos as seguintes duas stocks:

    Código:
    SetVehicleEngineState(vehicleID, newState)
    {
       new engine, lights, alarm, doors, bonnet, boot, objective;

       GetVehicleParamsEx(vehicleID, engine, lights, alarm, doors, bonnet, boot, objective);

       if (engine != newState)
       {
          SetVehicleParamsEx(vehicleID, newState, lights, alarm, doors, bonnet, boot, objective);
       }
    }

    GetVehicleEngineState(vehicleID)
    {
       new engine, lights, alarm, doors, bonnet, boot, objective;

       GetVehicleParamsEx(vehicleID, engine, lights, alarm, doors, bonnet, boot, objective);

       return engine;
    }


    OBS: A stock GetVehicleEngineState retornara valor nulo (0) caso o motor esteja desligado, e valor verdadeiro (1) caso esteja ligado.


    OBS2: Na stock SetVehicleEngineState, utilize valor verdadeiro (1) no argumento newState para ativar o motor, e valor nulo (0) para desativa-lo.





    _____________________________________________________________________________________________________________________________________________


    EXEMPLO DE USO




    2- No fim de nosso callback OnGamemodeInit ( ou em outro lugar em que você utilize para criar os veículos), utilizamos:
    Código:
    for(new i; i < MAX_VEHICLES; i++)
    {
        SetVehicleEngineState(i,0);
    }




    3- Definimos o comando para alterar o estado do motor
    Código:
    CMD:motor(playerid)
    {
       if(IsPlayerInAnyVehicle(playerid))
       {
          if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
          {
             if(GetVehicleEngineState(GetPlayerVehicleID(playerid)) == 0)
             {
                SetVehicleEngineState(GetPlayerVehicleID(playerid),1);
                SendClientMessage(playerid,-1,"Motor Ligado");
             }
             else
             {
                SetVehicleEngineState(GetPlayerVehicleID(playerid),0);
                SendClientMessage(playerid,-1,"Motor Desligado");
             }
          }
          else
          {
             SendClientMessage(playerid,-1,"Você não é o motorista desse veículo!");
          }
       }
       else
       {
          SendClientMessage(playerid,-1,"Você precisa estar em algum veículo para executar esse comando.");
       }
       return 1;
    }





    4 - Criamos a função para o estado do motor ser alterado quando pressionado a letra 'Y', como em servidores de RPG
    Código:
    public OnPlayerKeyStateChange(playerid,newkeys,oldkeys)
    {
       if(newkeys == KEY_YES)
       {
           if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
           {
             cmd_motor(playerid);
           }
        }
        return 1;
    }




      Data/hora atual: Qui 7 Nov 2024 - 11:50