[Ajuda] Gasolina ao carro spawnar
#1

Eae galera da forum samp, eu coloquei meu sistema de gasolina para o veнculo e nгo na conta do player, e gostaria de saber como eu poderia fazer pra quando o veнculo do servidor spawnar, ele ja spawnar com uma certa quantia de gasolina. Uso da seguinte forma:

PHP код:
new vehicleid = GetPlayerVehicleID(playerid);
GasolinaVeiculo[vehicleid] += ID; 
Reply
#2

PHP код:
public OnVehicleSpawn(vehicleid) {

    
GasolinaVeiculo[vehicleid] = QUANTIDADE;
    return 
1;
} 
Isso?

Beijos!
Reply
#3

como eu poderia criar um comando de abastecer todos os carros do servidor? tentei criar aqui mas nгo funciona, sу funciona pra quem da o comando :X

o cуdigo abaixo:

PHP код:

CMD
:abastecercarros(playerid,params[])
{
    if( 
PlayerInfo[playerid][pAdmin] == 1 || PlayerInfo[playerid][pMod] == 1  || PlayerInfo[playerid][pDono] == 1)
    {
        new 
quantidadetotal;
        if(
sscanf(params, "i", quantidadetotal)) return SendClientMessage(playerid, vermelho, "Use: /abastecercarros [quantidade]");
        if(
quantidadetotal < 0 || quantidadetotal > 100) return SendClientMessage(playerid, vermelho, "| ERRO | A quantidade mбxima de gasolina й 100!");
        for ( new 
c = 0 ; c < MAX_VEHICLES ; c ++)
        {
            new 
stringgasosa[256];
            
GasolinaVeiculo[c] += quantidadetotal;
            
format(stringgasosa, sizeof(stringgasosa), "AdmCmd: Vocк abasteceu %d litros em todos os carros de San Andreas.", quantidadetotal);
            
SendClientMessage(playerid, AZUL_CLARO, stringgasosa);
            return 
1;
        }
    }
    else
    {
        
SendClientMessage(playerid,vermelho,"| ERRO | Vocк nгo tem permissгo!");
    }
    return 
1;
} 
Reply
#4

tenta mudar isto: GasolinaVeiculo[c] += quantidadetotal;

para: GasolinaVeiculo[c] += strval(quantidadetotal);
Reply
#5

Acho que por causa desse strval deu esse erro :

PHP код:
error 035: argument type mismatch (argument 1) 
Reply
#6

me mostra como voce declarou a variavel GasolinaVeiculo.
Reply
#7

PHP код:
new GasolinaVeiculo[MAX_VEHICLES];

forward VerificarGasolina(playerid);
public 
VerificarGasolina(playerid)
{
    if(
IsPlayerInAnyVehicle(playerid))
    {
        new 
carid = GetPlayerVehicleID(playerid);
        new 
engine, lights, alarm, doors, bonnet, boot, objective;
        
GetVehicleParamsEx(carid, engine, lights, alarm, doors, bonnet, boot, objective);
        if(
engine) //assim so ira consumir gasolina se o motor estiver on
        
{
            
GetVehicleVelocity(carid, VehSpeed[0], VehSpeed[1], VehSpeed[2]);
            if(
floatround(((floatsqroot(((VehSpeed[0] * VehSpeed[0]) + (VehSpeed[1] * VehSpeed[1]) + (VehSpeed[2] * VehSpeed[2]))) * (170.0))) * 1) > 5)
            {
                new 
modelo = GetVehicleModel(carid);
                if(
modelo == 509 || modelo == 510 || modelo == 481) return 1;
                
                if(
GasolinaVeiculo[carid] == 0)
                {
                    
SetVehicleParamsEx(carid, VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);
                    
SendClientMessage(playerid, vermelho, "| INFO | A Gasolina de seu veiculo acabou, chame um mecвnico para guinchar, ou compre um galгo em um posto.");
                }
                if(
GasolinaVeiculo[carid] > 0)
                {
                    
ConsumoGas[playerid]+=1;
                    if(
ConsumoGas[playerid] >= (45 * 13))
                    {
                        
GasolinaVeiculo[carid]--;
                        
ConsumoGas[playerid] = 0;
                    }
                }
            }
        }
    }
    return 
1;
} 
Reply
#8

alguem??
Reply
#9

O seu codigo estб certo nгo vejo erro
Reply
#10

Vocк nгo deve colocar return dentro de um loop porque quando o loop comeзar de novo vai parar.

PHP код:
CMD:abastecercarros(playerid,params[]) 
{ 
    if( 
PlayerInfo[playerid][pAdmin] == 1 || PlayerInfo[playerid][pMod] == 1  || PlayerInfo[playerid][pDono] == 1) 
    { 
        new 
quantidadetotal; 
        if(
sscanf(params, "d", quantidadetotal)) return SendClientMessage(playerid, vermelho, "Use: /abastecercarros [quantidade]"); 
        if(
quantidadetotal < 0 || quantidadetotal > 100) return SendClientMessage(playerid, vermelho, "| ERRO | A quantidade mбxima de gasolina й 100!"); 
        for ( new 
c = 0 ; c < MAX_VEHICLES ; c ++) 
        { 
            new 
stringgasosa[256]; 
            
GasolinaVeiculo[c] += quantidadetotal; 
            
format(stringgasosa, sizeof(stringgasosa), "AdmCmd: Vocк abasteceu %d litros em todos os carros de San Andreas.", quantidadetotal); 
            
SendClientMessage(playerid, AZUL_CLARO, stringgasosa);
        } 
    } 
    else 
SendClientMessage(playerid,vermelho,"| ERRO | Vocк nгo tem permissгo!"); 
    return 
1; 
} 
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)