Portal SAMP
[Ajuda] Funções do veículo ZCMD - 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] Funções do veículo ZCMD (/showthread.php?tid=4805)



Funções do veículo ZCMD - Alfarr Heimrik - 15/06/2024

Olá pessoal, estou passando aqui rapidamente para pedir ajuda com certo comando em ZCMD.

Código PHP:
CMD:vei(playeridparams[])
{
    new String[128], MotorFarolAlarmeTravasCapoPMalasTravasObjetivo;
    new 
Veiculo GetPlayerVehicleID(playerid);
    
GetVehicleParamsEx(VeiculoMotorFarolAlarmeTravasCapoPMalasObjetivo);
    if(
IsPlayerInAnyVehicle(playerid))
    {
        if(
GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
        {
        
    if(sscanf(params"s[128]d"String))
        
    {
        
        SendClientMessage(playerid, -1"|______________________________________________________|");
        
        SendClientMessage(playerid, -1"{CFCFCF}||{FF0000}ERRO{CFCFCF}|| Uso correto: /Vei [Opcao]");
        
        SendClientMessage(playerid, -1"{CFCFCF}||{FF0000}ERRO{CFCFCF}|| Opcoes disponiveis: Motor, Farol, Capo, PMalas, ");
        
        SendClientMessage(playerid, -1"|______________________________________________________|");
        
        return 1;
        
    }
        
    if(strcmp(String"motor"true) == 0)
        
    {
        
        SetVehicleParamsEx(VeiculoVEHICLE_PARAMS_ONFarolAlarmeTravasCapoPMalasObjetivo);
        
    }
        
    else if(strcmp(String"farol"true) == 0)
        
    {
        
    }
        
    else if(strcmp(String"capo"true) == 0)
        
    {
        
    }
        
    else if(strcmp(String"pmalas"true) == 0)
        
    {
        
    }
        
    else
        
    {
        
        SendClientMessage(playerid, -1"{CFCFCF}||{FF0000}ERRO{CFCFCF}|| Opcao inexistente");
        
        return 1;
        
    }
        }
        else
        {
        
    SendClientMessage(playerid, -1"{CFCFCF}||{FF0000}ERRO{CFCFCF}|| Voce nao e o motorista");
        }
    }
    else
    {
    
    SendClientMessage(playerid, -1"{CFCFCF}||{FF0000}ERRO{CFCFCF}|| Voce nao esta em um veiculo");
    }
    return 1;



meu objetivo é simplesmente criar um comando para utilizar as funções do veículo, mas eu não entendo nem 20%, por isso gostaria de saber se o codigo que criei está correto? Obrigado.

outra coisa, se estiver tuido ok, como faz pra desligar o veiculo?


RE: Funções do veículo ZCMD - BitSain - 15/06/2024

Sim, está parcialmente correto!
Mas ainda falta completar "as outras opções".
Você pode se basear no código do motor que eu completei pra você.

Uma correção foi no sscanf, você está acessando 2 tipos, string e int "s[128]d", em vez de apenas "s[128]".
Movi também a criação das variáveis para o local onde elas são usadas realmente.

Código PHP:
CMD:vei(playeridparams[]){
    if(IsPlayerInAnyVehicle(playerid)) {
        if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) {
            new String[128];
            if(sscanf(params"s[128]"String)) {
                SendClientMessage(playerid, -1"|______________________________________________________|");
                SendClientMessage(playerid, -1"{CFCFCF}||{FF0000}ERRO{CFCFCF}|| Uso correto: /Vei [Opcao]");
                SendClientMessage(playerid, -1"{CFCFCF}||{FF0000}ERRO{CFCFCF}|| Opcoes disponiveis: Motor, Farol, Capo, PMalas, ");
                SendClientMessage(playerid, -1"|______________________________________________________|");
                return false;
            }
            new MotorFarolAlarmeTravasCapoPMalasTravasObjetivo;
            new Veiculo GetPlayerVehicleID(playerid);
            GetVehicleParamsEx(VeiculoMotorFarolAlarmeTravasCapoPMalasObjetivo);
    
            
if(!strcmp(String"motor"true)) {
                Motor = (Motor == VEHICLE_PARAMS_ON ? (VEHICLE_PARAMS_OFF) : (VEHICLE_PARAMS_ON));
            
                SetVehicleParamsEx
(VeiculoMotorFarolAlarmeTravasCapoPMalasObjetivo);
                SendClientMessage(playerid, -1Motor == VEHICLE_PARAMS_ON ? ("Motor Ligado") : ("Motor Desligado"));
                return true;
            }
            else if(!strcmp(String"farol"true)) {
                return true;
            }
            else if(!strcmp(String"capo"true)) {
                return true;
            }
            else if(!strcmp(String"pmalas"true)) {
                return true;
            }
            else return SendClientMessage(playerid, -1"{CFCFCF}||{FF0000}ERRO{CFCFCF}|| Opcao inexistente");
        }
        else
            return SendClientMessage(playerid, -1"{CFCFCF}||{FF0000}ERRO{CFCFCF}|| Voce nao e o motorista");
    }
    else
        return SendClientMessage(playerid, -1"{CFCFCF}||{FF0000}ERRO{CFCFCF}|| Voce nao esta em um veiculo");
}
  

Para desligar o veículo você basta estar a variável do motor para 0, pode ser representando também por "VEHICLE_PARAMS_OFF"