[Ajuda] Ligar carro com um comando
#1

Olб pessoal, eu tenho o comando /motor para ligar e desligar o motor de qualquer veiculo, mas quando eu entro no carro o escape jб estб deitando fumo, ou seja й como se o carro ligasse automaticamente e eu queria que o carro sу ligasse com o comando /motor...

O meu comando /motor й o seguinte:
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
#2

pawn Код:
public OnGameModeInit()
{
    ManualVehicleEngineAndLights();
    return 1;
}
dessa forma todos os carros tem que ser ligado antes de andar.... se o seu comando estiver certo ira funcionar perfeitamente =p


By ApolloRJ
Reply
#3

Quote:
Originally Posted by ApolloRJ
Посмотреть сообщение
pawn Код:
public OnGameModeInit()
{
    ManualVehicleEngineAndLights();
    return 1;
}
dessa forma todos os carros tem que ser ligado antes de andar.... se o seu comando estiver certo ira funcionar perfeitamente =p


By ApolloRJ
Quando adiciono o ManualVehicleEngineAndLights(); o veiculo liga com o comando, mas o carro nгo anda, diz que o veiculo estб ligado mas nгo anda...
Reply
#4

Tenta assim, se der й porque seu comando tб errado '-'
pawn Код:
if(!strcmp(cmd,"/teste",true))
{
    new z,x,c,v,b,n,m;
    GetVehicleParamsEx(GetPlayerVehicleID(playerid),z,x,c,v,b,n,m);
    SetVehicleParamsEx(GetPlayerVehicleID(playerid),VEHICLE_PARAMS_ON,x,c,v,b,n,m);
    SendClientMessage(playerid, -1, "Motor Ligado. Vai te embora *-*");
    return 1;
}
Reply
#5

Quote:
Originally Posted by Willian_Luigi
Посмотреть сообщение
Tenta assim, se der й porque seu comando tб errado '-'
pawn Код:
if(!strcmp(cmd,"/teste",true))
{
    new z,x,c,v,b,n,m;
    GetVehicleParamsEx(GetPlayerVehicleID(playerid),z,x,c,v,b,n,m);
    SetVehicleParamsEx(GetPlayerVehicleID(playerid),VEHICLE_PARAMS_ON,x,c,v,b,n,m);
    SendClientMessage(playerid, -1, "Motor Ligado. Vai te embora *-*");
    return 1;
}
Assim jб funcionou ... Como posso alterar o meu comando para funcionar tambem?
Reply
#6

pawn Код:
// topo
new Motor[MAX_PLAYERS];
new engine,lights,alarm,doors,bonnet,boot,objective;
// OnPlayerConnect(playerid)
Motor[playerid] = 0;


pawn Код:
if(!strcmp(cmd,"/ligar",true))
{
if(Motor[playerid] == 0) {

Motor[playerid] = 1;
new vid = GetPlayerVehicleID(playerid);
if(vid != INVALID_VEHICLE_ID)
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
SendClientMessage(playerid, 0x0000FFAA, "[ Veiculo ] {FFFFFF}Veiculo Ligado!");
}
else
{
Motor[playerid] = 0;
new vid = GetPlayerVehicleID(playerid);
if(vid != INVALID_VEHICLE_ID)
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
SendClientMessage(playerid, 0x0000FFAA, "[ Veiculo ] {FFFFFF}Veiculo Desligado! ");
}
return true;
}
Reply
#7

Quote:
Originally Posted by Slayer1
Посмотреть сообщение
Assim jб funcionou ... Como posso alterar o meu comando para funcionar tambem?
Vocк tentou ligar mais de uma vez? porque pelo oque eu vi, ele tem um 'random' ou seja, pode nгo ligar a primeira vez... (:
Reply
#8

Jб consegui

Uma outra duvida, eu para ligar o motor uso a tecla shift da esquerda mas para o desligar tenho que usar o comando /motor como faзo para usar tambem o shift para desligar o motor ?
Reply
#9

manda ai a newkeys do motor para mim ver...
Reply
#10

Acho que й sу isto:

pawn Код:
if((newkeys == KEY_MOTOR) && (IsPlayerInAnyVehicle(playerid)))
    {
        if(EngineStatus[GetPlayerVehicleID(playerid)] == 0)
        {
            OnPlayerCommandText(playerid,"/motor");
        }
    }
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)