[Ajuda] Luzes dos Veнculos
#1

Boas pessoal, eu tenho o seguinte code para ligar/apagar luzes dos veнculos:

pawn Код:
if(strcmp(cmd, "/luzes", true) == 0)
    {
        if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
        {
            if(IsAnOwnableCar(idcar))
            {
                if(PlayerInfo[playerid][pCarKey] == idcar) { }
                else { return 1; }
            }
            if(LuzesStatus[GetPlayerVehicleID(playerid)] == 0)
            {
                GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights, alarm, doors, bonnet, boot, objective);
                SetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, ON, alarm, doors, bonnet, boot, objective);
                LuzesStatus[GetPlayerVehicleID(playerid)] = 1;
                PlayerActionMessage(playerid,15.0,"carrega no botгo e liga as luzes do veнculo");
            }
            else
            {
                GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights, alarm, doors, bonnet, boot, objective);
                SetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, OFF, alarm, doors, bonnet, boot, objective);
                LuzesStatus[GetPlayerVehicleID(playerid)] = 0;
                PlayerActionMessage(playerid,15.0,"carrega no botгo e desliga as luzes do veнculo");
            }
        }
        else
        {
            SendClientMessage(playerid, COLOR_GREY, "[Error:] You are not in a car");
        }
        return 1;
    }
Mas eu queria que quando ficasse de noite a luz do veнculo, quando um player entra no veнculo a luz nгo se ligue automбtico mas sim sу se ele fizesse o comando. E tambйm queria que mesmo de dia, o player conseguia ligar e desligar a luz do veнculo...
Agora enquanto estava a escrever tive uma ideia, para quando o player entra no veнculo, na Public do OnPlayerEnteredVehicle ( ou qualquer coisa assim ), por as luzes OFF.
Mas nгo faзo a mнnima ideia de meter as luzes dos veнculos a funcionar tambйm de dia :S
Se alguйm me poder ajudar, agradecia...

Cumps,
Swat
Reply
#2

No OnGameModeInit coloque:

pawn Код:
ManualVehicleEngineAndLights();
Reply
#3

Obrigado Diogo, funcionoou!
Reply
#4

Boas pessoal, eu adicionei o
pawn Код:
ManualVehicleEngineAndLights();
e os carros nгo andam, faзo o comando /motor para ligar o motor e diz que o motor estб ligado mas o carro nгo anda ...
Reply
#5

Para ligar
pawn Код:
SetVehicleParamsEx(GetPlayerVehicleID(playerid), ON, lights, alarm, doors, bonnet, boot, objective);
Para desligar
pawn Код:
SetVehicleParamsEx(GetPlayerVehicleID(playerid), OFF, lights, alarm, doors, bonnet, boot, objective);
Reply
#6

O que tenho de fazer mesmo ?

este й o meu /motor (para ligar e desligar o carro):

pawn Код:
if(strcmp(cmd, "/motor", true) == 0)
    {
        if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
        {
                //new Float:health;
                //new veh;
                //veh = GetPlayerVehicleID(playerid) - 1;
                //health = GetVehicleHealth(veh, health);
                new Float:Vehhp;
                new VID;
                VID = GetPlayerVehicleID(playerid);
                GetVehicleHealth(VID, Vehhp);
                new carro = GetPlayerVehicleID(playerid) - 1;
                    if(DynamicCars[carro][buy] == 0)
                    {
                        if(Vehhp > 400)
                        {
                            if(EngineStatus[GetPlayerVehicleID(playerid)] == 0)
                            {
                                if(DynamicCars[GetPlayerVehicleID(playerid)][avariado] == 0)
                                {
                                    TogglePlayerControllable(playerid,0);
                                    new enginer;
                                    enginer = random(50);
                                    if(enginer >= 10)
                                    {
                                        TogglePlayerControllable(playerid,1);
                                        EngineStatus[GetPlayerVehicleID(playerid)] = 1;
                                        if(PlayerInfo[playerid][pSex] == 1)
                                        {
                                            PlayerActionMessage(playerid,15.0,"roda a chave na igniзгo e liga o motor.");
                                        }
                                        else
                                        {
                                            PlayerActionMessage(playerid,15.0,"roda a chave na igniзгo e liga o motor.");
                                        }
                                    }
                                    if(enginer < 10)
                                    {
                                       PlayerActionMessage(playerid,15.0,"roda a chave na igniзгo mas nгo consegue ligar o carro.");
                                    }
                                }
                                else if(DynamicCars[GetPlayerVehicleID(playerid)][avariado] == 1)
                                {
                                    PlayerActionMessage(playerid,15.0,"repara no уleo que escorre por baixo do veiculo.");
                                    SendClientMessage(playerid, COLOR_LIGHTYELLOW2, "O teu veнculo estб danificado, chama um mecвnico!");
                                }

                            }
                            else
                            {
                                EngineStatus[GetPlayerVehicleID(playerid)] = 0;
                                TogglePlayerControllable(playerid, 0);

                                if(PlayerInfo[playerid][pSex] == 1)
                                {
                                    PlayerActionMessage(playerid,15.0,"roda a chave na igniзгo e desliga o motor.");
                                }
                                else
                                {
                                    PlayerActionMessage(playerid,15.0,"roda a chave na igniзгo e desliga o motor.");
                                }
                            }
                        }
                        else
                        {
                            if(EngineStatus[GetPlayerVehicleID(playerid)] == 0)
                            {
                                    TogglePlayerControllable(playerid,1);
                                    EngineStatus[GetPlayerVehicleID(playerid)] = 0;
                                    RemovePlayerFromVehicle(playerid);
                                    SendClientMessage(playerid, COLOR_LIGHTYELLOW2, "O teu veiculo estб muito danificado, chama um mecвnico!");
                                    if(PlayerInfo[playerid][pSex] == 1)
                                    {
                                        PlayerActionMessage(playerid,15.0,"tenta ligar o motor mas o veiculo nгo pega.");
                                    }
                                    else
                                    {
                                        PlayerActionMessage(playerid,15.0,"tenta ligar o motor mas o veнculo nгo pega.");
                                    }
                            }
                            else
                            {
                                EngineStatus[GetPlayerVehicleID(playerid)] = 0;
                                TogglePlayerControllable(playerid, 1);
                                RemovePlayerFromVehicle(playerid);
                                SendClientMessage(playerid, COLOR_LIGHTYELLOW2, "O teu veiculo estб muito danificado, chama um mecвnico!");

                                if(PlayerInfo[playerid][pSex] == 1)
                                {
                                    PlayerActionMessage(playerid,15.0,"repara que a chave do veiculo se partiu.");
                                }
                                else
                                {
                                    PlayerActionMessage(playerid,15.0,"repara que a chave do veiculo se partiu.");
                                }
                            }
                        }
                    }
                //new carro = GetPlayerVehicleID(playerid) - 1;
                if(DynamicCars[carro][buy] == 1)
                {
                    TogglePlayerControllable(playerid,1);
                    EngineStatus[GetPlayerVehicleID(playerid)] = 0;
                    RemovePlayerFromVehicle(playerid);
                    GetPlayerName(playerid, sendername, sizeof(sendername));
                    format(string, 256, "O jogador %s tentou ligar um carro do stand!!", sendername);
                    AdministratorMessage(COLOR_ORANGE, string,1);
                    SendClientMessage(playerid, COLOR_LIGHTYELLOW2, "Nгo podes ligar o carro nгo tens as chaves.");
                    PlayerActionMessage(playerid,15.0,"tenta ligar o carro.");
                }
            }
            else
            {
                SendClientMessage(playerid,COLOR_LIGHTYELLOW2,"Nгo estбs dentro dum veiculo.");
            }
        return 1;
    }
Reply
#7

pawn Код:
if(strcmp(cmd, "/motor", true) == 0)
    {
        if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
        {
                //new Float:health;
                //new veh;
                //veh = GetPlayerVehicleID(playerid) - 1;
                //health = GetVehicleHealth(veh, health);
                new Float:Vehhp;
                new VID;
                VID = GetPlayerVehicleID(playerid);
                GetVehicleHealth(VID, Vehhp);
                new carro = GetPlayerVehicleID(playerid) - 1;
                    if(DynamicCars[carro][buy] == 0)
                    {
                        if(Vehhp > 400)
                        {
                            if(EngineStatus[GetPlayerVehicleID(playerid)] == 0)
                            {
                                if(DynamicCars[GetPlayerVehicleID(playerid)][avariado] == 0)
                                {
                                    TogglePlayerControllable(playerid,0);
                                    new enginer;
                                    enginer = random(50);
                                    if(enginer >= 10)
                                    {
                                        TogglePlayerControllable(playerid,1);
                                        EngineStatus[GetPlayerVehicleID(playerid)] = 1;
                                        if(PlayerInfo[playerid][pSex] == 1)
                                        {
                                            SetVehicleParamsEx(GetPlayerVehicleID(playerid), ON, lights, alarm, doors, bonnet, boot, objective);
                                            PlayerActionMessage(playerid,15.0,"roda a chave na igniзгo e liga o motor.");
                                        }
                                        else
                                        {
                                            SetVehicleParamsEx(GetPlayerVehicleID(playerid), ON, lights, alarm, doors, bonnet, boot, objective);
                                            PlayerActionMessage(playerid,15.0,"roda a chave na igniзгo e liga o motor.");
                                        }
                                    }
                                    if(enginer < 10)
                                    {
                                       PlayerActionMessage(playerid,15.0,"roda a chave na igniзгo mas nгo consegue ligar o carro.");
                                    }
                                }
                                else if(DynamicCars[GetPlayerVehicleID(playerid)][avariado] == 1)
                                {
                                    PlayerActionMessage(playerid,15.0,"repara no уleo que escorre por baixo do veiculo.");
                                    SendClientMessage(playerid, COLOR_LIGHTYELLOW2, "O teu veнculo estб danificado, chama um mecвnico!");
                                }

                            }
                            else
                            {
                                EngineStatus[GetPlayerVehicleID(playerid)] = 0;
                                TogglePlayerControllable(playerid, 0);

                                if(PlayerInfo[playerid][pSex] == 1)
                                {
                                    SetVehicleParamsEx(GetPlayerVehicleID(playerid), OFF, lights, alarm, doors, bonnet, boot, objective);
                                    PlayerActionMessage(playerid,15.0,"roda a chave na igniзгo e desliga o motor.");
                                }
                                else
                                {
                                    SetVehicleParamsEx(GetPlayerVehicleID(playerid), OFF, lights, alarm, doors, bonnet, boot, objective);
                                    PlayerActionMessage(playerid,15.0,"roda a chave na igniзгo e desliga o motor.");
                                }
                            }
                        }
                        else
                        {
                            if(EngineStatus[GetPlayerVehicleID(playerid)] == 0)
                            {
                                    TogglePlayerControllable(playerid,1);
                                    EngineStatus[GetPlayerVehicleID(playerid)] = 0;
                                    RemovePlayerFromVehicle(playerid);
                                    SendClientMessage(playerid, COLOR_LIGHTYELLOW2, "O teu veiculo estб muito danificado, chama um mecвnico!");
                                    if(PlayerInfo[playerid][pSex] == 1)
                                    {
                                        PlayerActionMessage(playerid,15.0,"tenta ligar o motor mas o veiculo nгo pega.");
                                    }
                                    else
                                    {
                                        PlayerActionMessage(playerid,15.0,"tenta ligar o motor mas o veнculo nгo pega.");
                                    }
                            }
                            else
                            {
                                EngineStatus[GetPlayerVehicleID(playerid)] = 0;
                                TogglePlayerControllable(playerid, 1);
                                RemovePlayerFromVehicle(playerid);
                                SendClientMessage(playerid, COLOR_LIGHTYELLOW2, "O teu veiculo estб muito danificado, chama um mecвnico!");

                                if(PlayerInfo[playerid][pSex] == 1)
                                {
                                    PlayerActionMessage(playerid,15.0,"repara que a chave do veiculo se partiu.");
                                }
                                else
                                {
                                    PlayerActionMessage(playerid,15.0,"repara que a chave do veiculo se partiu.");
                                }
                            }
                        }
                    }
                //new carro = GetPlayerVehicleID(playerid) - 1;
                if(DynamicCars[carro][buy] == 1)
                {
                    TogglePlayerControllable(playerid,1);
                    EngineStatus[GetPlayerVehicleID(playerid)] = 0;
                    RemovePlayerFromVehicle(playerid);
                    GetPlayerName(playerid, sendername, sizeof(sendername));
                    format(string, 256, "O jogador %s tentou ligar um carro do stand!!", sendername);
                    AdministratorMessage(COLOR_ORANGE, string,1);
                    SendClientMessage(playerid, COLOR_LIGHTYELLOW2, "Nгo podes ligar o carro nгo tens as chaves.");
                    PlayerActionMessage(playerid,15.0,"tenta ligar o carro.");
                }
            }
            else
            {
                SendClientMessage(playerid,COLOR_LIGHTYELLOW2,"Nгo estбs dentro dum veiculo.");
            }
        return 1;
    }
Reply
#8

ficou dando 4 erros:

pawn Код:
C:\Users\Slash\Desktop\rp\rp0.3c\gamemodes\rpnew.pwn(22363) : error 017: undefined symbol "lights"
C:\Users\Slash\Desktop\rp\rp0.3c\gamemodes\rpnew.pwn(22368) : error 017: undefined symbol "lights"
C:\Users\Slash\Desktop\rp\rp0.3c\gamemodes\rpnew.pwn(22391) : error 017: undefined symbol "lights"
C:\Users\Slash\Desktop\rp\rp0.3c\gamemodes\rpnew.pwn(22396) : error 017: undefined symbol "lights"
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)