SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Português/Portuguese

Reply
 
Thread Tools Display Modes
Old 17/01/2019, 11:12 PM   #1
SamuelMatheus05
Big Clucker
 
Join Date: Jan 2018
Location: Louveira - SP
Posts: 89
Reputation: 0
Default Ajuda com veículos

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); 
SamuelMatheus05 is offline   Reply With Quote
Old 17/01/2019, 11:26 PM   #2
InsaneBR
Big Clucker
 
InsaneBR's Avatar
 
Join Date: Feb 2018
Posts: 104
Reputation: 8
Default Re: Ajuda com veículos

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).

Last edited by InsaneBR; 18/01/2019 at 12:16 AM.
InsaneBR is offline   Reply With Quote
Old 17/01/2019, 11:35 PM   #3
SamuelMatheus05
Big Clucker
 
Join Date: Jan 2018
Location: Louveira - SP
Posts: 89
Reputation: 0
Default Re: Ajuda com veículos

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
SamuelMatheus05 is offline   Reply With Quote
Old 18/01/2019, 01:06 AM   #4
InsaneBR
Big Clucker
 
InsaneBR's Avatar
 
Join Date: Feb 2018
Posts: 104
Reputation: 8
Default Re: Ajuda com veículos

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.
InsaneBR is offline   Reply With Quote
Old 18/01/2019, 01:22 AM   #5
SamuelMatheus05
Big Clucker
 
Join Date: Jan 2018
Location: Louveira - SP
Posts: 89
Reputation: 0
Default Re: Ajuda com veículos

Ok mano entendi seu raciocinio amanhã irei refazer meu sistema creio q irá dar certo!
Obrigado mano
SamuelMatheus05 is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[Ajuda] Ajuda Bug veiculos Coosta Português/Portuguese 13 29/08/2012 12:14 AM
[Ajuda] Veiculos Lipe_Stronda Português/Portuguese 0 01/05/2012 12:48 PM
[Ajuda] VW de veiculos Luciano* Português/Portuguese 7 28/04/2012 06:29 PM
[Ajuda] Bug Veiculos _Cypher_ Português/Portuguese 7 15/04/2012 05:11 PM
[Ajuda]Veiculos Rc's gabrieldefreitas11 Português/Portuguese 7 10/07/2011 03:08 AM


All times are GMT. The time now is 03:37 AM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.