[Ajuda] Sistema de Carro parar de funcionar
#1

Testei esse sistema aqui funcionou, ele funciona assim eu fico batendo o carro e tals atй ficar fumaзa preta, quando ficar fumaзa preta no ultimo o carro para de funcionar e n liga mais, ai dps q eu conserto o carro e tento entrar no carro ele nгo liga, tipo o carro finge que vai ligar, acende o farol, parece q ele liga, sу que dai ele й desligado automaticamente... meu sistema de ligar carro estб funcionando corretamente, nгo sei porque estб acontecendo isso, ja tentei usar 2 sistemas desses abaixo \/
porйm oq deve ser?

pawn Код:
//Onde tem teus "forwards"
forward CheckCarHealth();
forward TirarAviso(playerid);

//Onde tem teus "new"
new PlayerAvisado[MAX_PLAYERS];

//Em OnGameModeInit
SetTimer("CheckCarHealth", 2000, true); // nao esquece de deixar o "true" que й pra repetir...

//Em OnPlayerExitVehicle
SetTimerEx("TirarAviso",2000,0,"i",playerid);

//Onde vc costuma por teus publics
    public CheckCarHealth()
    {
        for(new i=0; i<MAX_PLAYERS; i++)
        {
            if(IsPlayerInAnyVehicle(i))
            {
                new Float:CarHealth;
                new vid = GetPlayerVehicleID(i);
                new motor, luz, alarme, porta, capo, pmala, sla;
                GetVehicleHealth(vid, CarHealth);
                if(CarHealth <= 251)
                {
                    if(GetPlayerState(i) == PLAYER_STATE_DRIVER)
                    {
                        GetVehicleParamsEx(vid, motor, luz, alarme, porta, capo, pmala, sla);
                        SetVehicleParamsEx(vid,     0, luz, alarme, porta, capo, pmala, sla);
                        SetVehicleHealth(vid, 251.0);//POE A VIDA QUE TU QUISER AQUI, EM 250 ELE PEGA FOGO...
                        if(PlayerAvisado[i] == 0)//criei o "if" aqui ai fica setando a vida senгo buga facim facim
                        {
                            SendClientMessage(i, COLOR_GREEN, "[Info]{B4B5B7} Seu veнculo parou de funcionar, chame um mecвnico (/serviзo mecanico)!");//EDITA O "COLOR_YELLOW" PRA COR QUE TU QUISER E A MENSAGEM TB
                            PlayerAvisado[i] = 1;
                        }
                    }
                }
            }
        }
    }
    public TirarAviso(playerid)
    {
        PlayerAvisado[playerid] = 0;
    }
Sistema de ligar carro que funciona corretamente, sу nгo funciona em cima desse sistema acima:

pawn Код:
if(PRESSED(KEY_FIRE))
    {
        if(PInfo[playerid][StartCar] == 1) return 0;
        if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return 0;
        if(IsVehicleStarted(GetPlayerVehicleID(playerid))) return 0;
        if(Fuel[GetPlayerVehicleID(playerid)] <= 0) return SendClientMessage(playerid,red,"[x] "cred"Este veнculo estб sem combustнvel!");
        if(Oil[GetPlayerVehicleID(playerid)] <= 0) return SendClientMessage(playerid,red,"[x] "cred"Este veнculo estб sem olйo!");
        static Float:health;
        GetVehicleHealth(GetPlayerVehicleID(playerid),health);
        if(health <= 350) return SendClientMessage(playerid,red,"[x] "cred"Este veнculo estб muito danificado!");
        SetTimerEx("Startvehicle",2300,false,"i",playerid);
        static string[64];
        format(string,sizeof string,""cjam"[ > ] %s(%i) estб tentando ligar o veнculo...",GetPName(playerid),playerid);
        SendNearMessage(playerid,white,string,20);
        PInfo[playerid][StartCar] = 1;
    }
pawn Код:
function Startvehicle(playerid)
{
    new rand = random(2);
    if(rand == 0) return SendClientMessage(playerid,white,"* "cred"[x] Falha no motor, tente novamente."),PInfo[playerid][StartCar] = 0;
    else
    {
        if(Fuel[GetPlayerVehicleID(playerid)] == 0) return SendClientMessage(playerid,red,"[x] Nгo hб combustнvel no veнculo!"),PInfo[playerid][StartCar] = 0;
        if(Oil[GetPlayerVehicleID(playerid)] == 0) return SendClientMessage(playerid,red,"[x] Nгo hб olйo no veнculo!"),PInfo[playerid][StartCar] = 0;
        SendClientMessage(playerid,white,"* "corange"[ > ] O veнculo foi ligado com sucesso!");
        StartVehicle(GetPlayerVehicleID(playerid),1);
        PInfo[playerid][StartCar] = 0;
        VehicleStarted[GetPlayerVehicleID(playerid)] = 1;
    }
    return 1;
}
Reply
#2

Coloca no comando de conserta o carro
PHP код:
SetVehicleHealth(IDVeiculo1000.0); 
Reply
#3

Ja tem...

pawn Код:
if(PRESSED(KEY_CROUCH))
    {
        if(IsPlayerInAnyVehicle(playerid)) return 0;
        if(PInfo[playerid][SPerk] == 11)
        {
            if(Team[playerid] == ZOMBIE) return 0;
            new Float:x,Float:y,Float:z,id;
            id = -1;
            for(new i; i < MAX_VEHICLES;i++)
            {
                GetVehiclePos(i,x,y,z);
                if(IsPlayerInRangeOfPoint(playerid,3.0,x,y,z))
                {
                    id = i;
                    break;
                }
                else continue;
            }
            if(id == -1) return 0;
            static Float:health;
            GetVehicleHealth(id,health);
            if(health >= 500.0) return SendClientMessage(playerid,white,"» "cred"[x] Este veнculo nгo precisa de conserto!");
            TurnPlayerFaceToPos(playerid, x-270, y-270);
            ApplyAnimation(playerid, "CAR" , "Fixn_Car_Out" , 2.0 , 0 , 0 , 1 , 0 , 5000 , 1);
            static string[100];
            format(string,sizeof string,""cjam"[ > ] %s(%i) ja preparou o seu veнculo",GetPName(playerid),playerid);
            SendNearMessage(playerid,white,string,20);
            SetVehicleHealth(id,health+250.0);
            SetTimerEx("ClearAnim",1500,false,"i",playerid);
        }
Reply
#4

PHP код:
function Startvehicle(playerid)
{
      if(
Fuel[GetPlayerVehicleID(playerid)] == 0) return SendClientMessage(playerid,red,"[x] Nгo hб combustнvel no veнculo!"),PInfo[playerid][StartCar] = 0;
      if(
Oil[GetPlayerVehicleID(playerid)] == 0) return SendClientMessage(playerid,red,"[x] Nгo hб olйo no veнculo!"),PInfo[playerid][StartCar] = 0;
     
SendClientMessage(playerid,white,"* "corange"[ > ] O veнculo foi ligado com sucesso!");
     
StartVehicle(GetPlayerVehicleID(playerid),1);
     
PInfo[playerid][StartCar] = 0;
     
VehicleStarted[GetPlayerVehicleID(playerid)] = 1;
     return 
1;

tenta mudar so isso aki pra ver
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)