Portal SAMP
[Ajuda] Identificar a variável - 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] Identificar a variável (/showthread.php?tid=1319)



Identificar a variável - LeleziiN - 27/06/2021

Bom galera estou atualizando o meu sistema de gasolina pois é bem simples e estou querendo algo mais moderno, bom eu fazendo o meu sistema dessa forma (Diesel - Etanol - Gasolina - Gas) e bem minha duvida é como posso identificar a variável se ela é gasolina ou Diesel tipo o meu está dessa forma

Código PHP:
format(teste,sizeof(teste),ConverterTexto("%02d ~g~~h~~h~L"), Gasolina[I]);
PlayerTextDrawSetString(IGasolinalol[I], teste); 

Lembrando que isso é na parte do velocímetro e outra coisa esse é meu sistema antigo que desenvolve. Ai queria por para identificar se o player ta usando gasolina ou Diesel no veículo


RE: Identificar a variável - LeleziiN - 27/06/2021

Bom conseguir fazer aqui mais estou tendo problemas com a variável na callback

Código PHP:
public Speed()
{
    new S[128];
    new string[128];
    foreach(new 
Player)//=
    
{
         new vehicleid GetPlayerVehicleID(I);
     if((
IsPlayerConnected(I)) && (GetPlayerState(I) == PLAYER_STATE_DRIVER))
     {
         if((
vehicleid != 594) && (vehicleid != 481) && (vehicleid != 509) && (vehicleid != 510))
         {
             if(
TCombustivel[vehicleid][TiposC] == 1)
         {
             new 
teste[70];
                     format(teste,sizeof(teste),ConverterTexto("%d ~g~~h~~h~L"), TCombustivel[vehicleid][TiposC]);
                     PlayerTextDrawSetString(IGasolinalol[I], teste);
                     PlayerTextDrawShow(IGasolinalol[I]);
                     if(PrintON[I] == 1PlayerTextDrawHide(IGasolinalol[I]);
             }
             if(TCombustivel[vehicleid][TiposC] > 1)
             {
                 new teste[70];//, string[180];
                    format(teste,sizeof(teste),ConverterTexto("%02d ~g~~h~~h~L"), TCombustivel[vehicleid][TiposC]);
                  PlayerTextDrawSetString(IGasolinalol[I], teste);
                 PlayerTextDrawShow(IGasolinalol[I]);
                 SetProgressBarMaxValue(BGasol[I], 100.0);
                     SetProgressBarValue(BGasol[I], TCombustivel[vehicleid][TiposC]);
                     UpdateProgressBar(BGasol[I], I);
                     PlayerTextDrawShow(IMarcadorG[I]);
                     PlayerTextDrawShow(IMarcadorV[I]);
                     GetVehicleHealth(GetPlayerVehicleID(I), Latariax);
         
    format(string,sizeof(string), "%0.0f%"Latariax/10);
         
    PlayerTextDrawShow(ILataria[I]);
         
    PlayerTextDrawSetString(ILataria[I], string);
         
    SetProgressBarMaxValue(BVidaC[I], 100.0);
                     SetProgressBarValue(BVidaC[I], Latariax/10);
                     UpdateProgressBar(BVidaC[I], I);
                     if(PrintON[I] == 1PlayerTextDrawHide(IGasolinalol[I]);
            }
            }
        }
    }
    return 
1;


o erro está nessa variável TCombustivel


RE: Identificar a variável - xbruno1000x - 27/06/2021

Por que não utilizar Speed(playerid)? Ao invés de um timer global você cria um SetTimerEx("Speed", tempo, true, "i", playerid); na OnPlayerConnect. Dessa forma você evita possíveis picos de processamento com loopings.


RE: Identificar a variável - LeleziiN - 28/06/2021

(27/06/2021 23:29)xbruno1000x Escreveu: Por que não utilizar Speed(playerid)? Ao invés de um timer global você cria um SetTimerEx("Speed", tempo, true, "i", playerid); na OnPlayerConnect. Dessa forma você evita possíveis picos de processamento com loopings.

Ok, mais queria ajuda com esse problema mano pq quando eu ponho dessa forma
Código PHP:
TCombustivel[vehicleid][TiposC

Da erro agora quando eu ponho asse
Código PHP:
TCombustivel[vehicleid][Gasolina

Da certo compila normal sem nenhum erro, mais desa forma só vai aparecer no veículo a gasolina, tipo se eu entrar no veículo que é diesel tipo o caminhão, vai setar a gasolina nele e eu queria uma ajuda com isso


RE: Identificar a variável - ipsLuan - 29/06/2021

Você pode fazer dessa forma:

Código PHP:
#define Gasolina 1
#define Etanol    2
#define Diesel    3
#define Gas       4

TCombustivel[vehicleid][TiposC] = Gasolina
TCombustivel
[vehicleid][TiposC] = Etanol
TCombustivel
[vehicleid][TiposC] = Diesel
TCombustivel
[vehicleid][TiposC] = Gas

function getFuel(vehicleid)
{
    new 
Combustivel[10];

    switch(
TCombustivel[vehicleid][TiposC]
    {
        case 
Gasolina: { Combustivel Gasolina }
        case 
Etanol: { Combustivel Etanol }
        case 
Diesel: { Combustivel Diesel }
        case 
Gas: { Combustivel Gas }
    }
    return 
Combustivel;
}

printf("Veiculo %d esta usando %s."vehicleidgetFuel(vehicleid)); 

Apenas uma forma de usar.


RE: Identificar a variável - LeleziiN - 29/06/2021

(29/06/2021 09:27)ipsLuan Escreveu: Você pode fazer dessa forma:

Código PHP:
#define Gasolina 1
#define Etanol    2
#define Diesel    3
#define Gas       4

TCombustivel[vehicleid][TiposC] = Gasolina
TCombustivel
[vehicleid][TiposC] = Etanol
TCombustivel
[vehicleid][TiposC] = Diesel
TCombustivel
[vehicleid][TiposC] = Gas

function getFuel(vehicleid)
{
    new Combustivel[10];

    switch(TCombustivel[vehicleid][TiposC]
    {
        case Gasolina: { Combustivel Gasolina }
        case Etanol: { Combustivel Etanol }
        case Diesel: { Combustivel Diesel }
        case Gas: { Combustivel Gas }
    }
    return Combustivel;
}

printf("Veiculo %d esta usando %s."vehicleidgetFuel(vehicleid)); 

Apenas uma forma de usar.

Certo, vlw mano vou pega esse seu exemplo e adapita-lo ao meu sistema


RE: Identificar a variável - LeleziiN - 29/06/2021

Bom conseguir resolver aqui da minha maneira mano. Mais queria saber como posso fazer com quando a pessoa vai abastecer o veículo no se ela estiver com o motor ligado não da para ela abastecer e aparece uma SendClientMessage dizendo que ela tem que desligar o veiculo para poder abastecer. Como posso fazer isso?

Código PHP:
new motlualarporcappormaob;
new 
veiculoid GetPlayerVehicleID(playerid);
GetVehicleParamsEx(veiculoidmotlualarporcappormaob);
SetVehicleParamsEx(veiculoidVEHICLE_PARAMS_OFFlualarporcappormaob);
motor[playerid] = 0



RE: Identificar a variável - k2bi_YT - 29/06/2021

(29/06/2021 19:31)LeleziiN Escreveu: Bom conseguir resolver aqui da minha maneira mano. Mais queria saber como posso fazer com quando a pessoa vai abastecer o veículo no se ela estiver com o motor ligado não da para ela abastecer e aparece uma SendClientMessage dizendo que ela tem que desligar o veiculo para poder abastecer. Como posso fazer isso?

Código PHP:
new motlualarporcappormaob;
new 
veiculoid GetPlayerVehicleID(playerid);
GetVehicleParamsEx(veiculoidmotlualarporcappormaob);
SetVehicleParamsEx(veiculoidVEHICLE_PARAMS_OFFlualarporcappormaob);
motor[playerid] = 0

Código PHP:
if(mot) return SendClientMessage(playerid, -1"O veículo deve estar desligado para reabastecer!");