[Ajuda] Ajuda com veнculos
#1

Entao galera quer bloquear o veнculo somente para o dono conseguir entrar e to sem ideia de como posso fazer isso.
Alguem pode me ajudar? nгo quero codigo pronto nem nada sу uma base de como fazer isso.

como estб sendo criado o veiculo

PHP Code:
VeiculoInfo[playerid][CriarVeiculoPessoal] = CreateVehicle(VeiculoInfo[playerid][IDVeiculoPessoal],VeiculoInfo[playerid][XVeiculoPessoal],VeiculoInfo[playerid][YVeiculoPessoal],VeiculoInfo[playerid][ZVeiculoPessoal],VeiculoInfo[playerid][RVeiculoPessoal],VeiculoInfo[playerid][Cor1VeiculoPessoal],VeiculoInfo[playerid][Cor2VeiculoPessoal], 00); 
Reply
#2

Vocк pode getar o nome do dono do veнculo e comparar com o nome do jogador que entrou no mesmo na callback OnPlayerEnterVehicle ou OnPlayerStateChange.

Como fazer?

1. Na callback escolhida faзa a verificaзгo em um loop e veja se o veнculo que o jogador entrou й um veнculo pessoal.

2. Se for um veнculo pessoal, gete o nome do dono no arquivo deste veнculo.

3. Compare (strcmp) o nome do dono com o nome do jogador que entrou no veнculo, se for diferente, force o jogador a sair do veнculo (RemovePlayerFromVehicle).
Reply
#3

Entao mano й que foi criado no VeiculoInfo[playerid][CriarVeiculoPessoal] daн se eu fosse colocar no onplayerentervehicle como ficaria ? ja tentei de diversas maneiras mas n deu
Reply
#4

Nгo faz muito sentido vocк utilizar uma variбvel per-player neste caso, jб que й um veнculo que serб criado e salvo com dados do jogador, certo? Isto irб atrapalhar em manipulaзхes futuras, repense o mйtodo para a criaзгo do veнculo.

Eu salvaria o ID do veнculo que foi criado com os demais dados a serem salvos, por exemplo:
Dono = InsaneBR
ID = 0
(o 0 й referente ao primeiro veнculo criado in-game.)


Agora, em relaзгo a sua dъvida,
Quote:
Originally Posted by SamuelMatheus05
View Post
Entao mano й que foi criado no VeiculoInfo[playerid][CriarVeiculoPessoal] daн se eu fosse colocar no onplayerentervehicle como ficaria ? ja tentei de diversas maneiras mas n deu
pawn Code:
//PS: Utilizei DOF2 no exemplo.

new veiculoPessoal;//Variбvel global

//Um comando para criar o veнculo pessoal, vocк deve adaptar da maneira que lhe agradar.   
CMD:veiculo(playerid)
{
    new carString[25],
        playerName[24]
    ;  
    format(carString, sizeof(carString), "Diretorio/veiculo%i.ini", veiculoPessoal);
    new carID = AddStaticVehicle(modelid, Float:X, Float:Y, Float:Z, Float:Angle, color1, color2);
   
    GetPlayerName(playerid, playerName, 24);
    DOF2_SetString(carString, "Dono", playerName);
    //
    DOF2_SetInt(carString, "ID", carID);
    DOF2_SaveFile();
   
    veiculoPessoal++;
    return 1;
}
   
public OnGameModeInit()
{
    new carString[25];
    for(new cars; cars <= /*MБXIMO DE VEНCULOS PESSOAIS*/; cars++)
    {
        format(carString, sizeof(carString),"Diretorio/veiculo%i.ini", cars);
        if(DOF2_FileExists(carString))
        {
            new carID = AddStaticVehicle(modelid, Float:X, Float:Y, Float:Z, Float:Angle, color1, color2);
            DOF2_SetInt(carString, "ID", carID);
            DOF2_SaveFile();

            veiculoPessoal++;
        }
    }
    return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(newstate == PLAYER_STATE_DRIVER)
    {
        new carString[25],
            playerName[24]
        ;
        GetPlayerName(playerid, playerName, 24);

        for(new cars; cars <= /*MAXIMO DE VEНCULOS PESSOAIS*/; cars++)
        {
            format(carString, sizeof(carString),"Diretorio/veiculo%i.ini", cars);
            if(GetPlayerVehicleID(playerid) == DOF2_GetInt(carString, "ID"))
            {
                if(!strcmp(DOF2_GetString(carString,"Dono"), playerName))
                    SendClientMessage(playerid, -1, "Vocк entrou no seu veнculo pessoal!");
                else
                    RemovePlayerFromVehicle(playerid);
            }
        }
    }
    return 1;
}
Nгo cheguei a testar, mas deve funcionar com suas devidas adaptaзхes.
Reply
#5

Ok mano entendi seu raciocinio amanhг irei refazer meu sistema creio q irб dar certo!
Obrigado mano
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)