Portal SAMP
[Ajuda] Jogador não sai do Veiculo - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Jogador não sai do Veiculo (/showthread.php?tid=2623)



Jogador não sai do Veiculo - yoda - 03/08/2022

Olá amigos, quando um jogador em meu servidor, pega algum dos RC's : ID veiculos: 441, 464, 594, 501, 465, 564 que são os carrinhos de brinquedo , não conseguem sair, como solucionar tal problema?


RE: Jogador não sai do Veiculo - White_Blue - 03/08/2022

Na questão dos veículos RC'S é nativo do gta-sa que eles não consigam sair apenas apertando 'F' é necessário o player morrer no SA-MP para ele sair do veículo. E para solucionar isso a única coisa a se fazer é proibir esses IDs de veículos.


RE: Jogador não sai do Veiculo - xbruno1000x - 03/08/2022

Infelizmente não existe uma função pra isso. Talvez o SpawnPlayer(playerid) ou matar o player funcione.

Obs: antes que alguém venha dizer para utilizar RemovePlayerFromVehicle(playerid), já adianto que não funciona para veículos RC.


RE: Jogador não sai do Veiculo - MarcosBrazz - 03/08/2022

Não testei, mas acho que destruir o veiculo e usar o SetCameraBehindPlayer no jogador funciona, quem quiser testar.


RE: Jogador não sai do Veiculo - RodrigoMSR - 03/08/2022

Use SetPlayerPos para tirar do veículo RC. Pode ser em um comando ou em OnPlayerKeyStateChange.


RE: Jogador não sai do Veiculo - Ryuzaki - 04/08/2022

Eu faria a seguinte função:

Na public de detectar veiculo etc, eu criaria uma variável que iria detectar se ele pegou o veiculo RC.
Se ele pegou o veiculo RC, aquela variável poderia mudar para o valor 1.

Na public de detectar tecla, quando ele pressionasse F ( se é que tem essa tecla disponível para ser detectada )
Ela iria verificar se a variável do veiculo RC fosse igual a 1, se for, pegaria a POS do veiculo RC, e iria setar o player na mesma pos. ( SetPlayerPos(playerid, A POSICAO Q ELE TA COM O VEICULO) )

Caso não tenha a tecla, você pode fazer por comando, /sairrc ele pega a pos e seta o jogador.

Acho que talvez funcione, não tenho certeza.


RE: Jogador não sai do Veiculo - Carlos Victor - 05/08/2022

Código:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(newkeys == KEY_SECONDARY_ATTACK)
    {
        if(IsPlayerInAnyVehicle(playerid) && IsARCVehicle(playerid))
        {
            new Float:x, Float:y, Float:z;
            GetPlayerPos(playerid, Float:x, Float:y, Float:z);
            SetPlayerPos(playerid, Float:x, Float:y, Float:z);

            SendClientMessage(playerid, -1, "* Você saiu do brinquedo.");
        }
    }
    return 1;
}

stock IsARCVehicle(playerid)
{
    new vehicleid = GetPlayerVehicleID(playerid);
    switch(GetVehicleModel(vehicleid))
    {
        case 441, 464, 465, 501, 564, 594:
            return 1;
    }
    return 0;
}

Dessa forma irá funcionar.