[Ajuda] Impedir a saнda do veнculo
#1

Bom pessoal, й o seguinte.
Para resumir, eu criei um sistema de cinto que, se vocк estiver com o cinto de seguranзa, vocк nгo consegue sair do veнculo...
Aн pensei, "como fazer isso?"
pawn Code:
public OnPlayerExitVehicle(playerid, vehicleid)
{
    if(Cinto[playerid] == 1)
    {
        SendClientMessage(playerid, Vermelho, "[>]"BRANCO" Para sair do veнculo, й necessбrio que vocк retire o cinto de seguranзa antes");
        if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
        {
            PutPlayerInVehicle(playerid, vehicleid, 0);
        }
        if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
        {
            PutPlayerInVehicle(playerid, vehicleid, 1);
        }
        return 1;
    }
    return 1;
}
Coloquei isso aqui, mas nгo tenho certeza se ta 100% correto...
Por que eu penso isso?
Imagina sу um Sultan.
Tem 4 lugares, vocк pode ser o motorista, e pode estar em outros 3 lugares de passageiros.
Ou seja, se o cara й motorista, blz o sistema vai funcionar de boas...
Agora se o cara for passageiro, ele vai por exemplo, sair do seatid 3, e do nada aparecer no seatid 1...
Isso que to querendo dizer. Se tivesse uma funзгo
pawn Code:
GetPlayerSeat(playerid);
Ou algo do gкnero, jб ajudaria muito...


Outra coisa que pensei , acho que talvez esteja errado... Mas se eu der um
pawn Code:
return false;
Na public
pawn Code:
public OnPlayerExitVehicle(playerid, vehicleid)
Isso cancelaria a saнda? Acho que nгo...
Mas enfim. Estou no aguardo das respostas.
Obrigado por lerem.
Reply
#2

Vocк estб falando, se o(s) passageiros, estiverem com o cinto nгo pode sair do veiculo?
E jб testou algo?
Reply
#3

Ora, й como na vida real.
Se, seja lб quem for, estiver com um cinto de seguranзa, nгo pode sair do veнculo.
Seja motorista, seja passageiro.

Obs.: Nгo, nгo testei porque nгo consigo (eu programo num iMac (iOS) - Sistema Operacional que nгo aceita o compilador do pawno). Se quiser testar... (Eu disse "se") eu agradeceria.
Reply
#4

Teste, talvez funcione, pesquise, mas a ideia de dar return 0; na public nгo sei se adiantaria, mas se fosse funcionar nгo poderia se esquecer de verificar se ta com cinto ou nгo.

Abraзos.
Reply
#5

Sei lб, nunca vi um sistema assim... Nгo posso ajudar
Reply
#6

Quote:
Originally Posted by DjonathaTM
View Post
Sei lб, nunca vi um sistema assim... Nгo posso ajudar
Isso й sу para aumentar o nъmero de post's?
Caso nгo saiba, й sу nгo comentar.

@Topic: Aguardando respostas do autor.
Reply
#7

Use:

Code:
newstate == PLAYER_STATE_PASSENGER
Reply
#8

Quote:
Originally Posted by Coringa_Vilao
View Post
Use:

Code:
newstate == PLAYER_STATE_PASSENGER
Com todo o respeito... Mas no que isso me ajudaria?

A dъvida aqui й:

como eu posso impedir a saнda do player do veнculo sem retirб-lo do atual "seat".
Reply
#9

Caro amigo, veja abaixo o cуdigo de como ficaria. Nгo sei se estб funcionando, pois no momento estou em uma maquina sem GTA. Mas caso funcione ou nгo, sу comentar abaixo.

Att.

pawn Code:
public OnPlayerExitVehicle(playerid, vehicleid){
    if(Cinto[playerid] == 1){
        new banco = GetPlayerVehicleSeat(playerid); //Seta a vбriavel banco o valor do assento em que o usuбrio estб
        PutPlayerInVehicle(playerid, vehicleid, banco);//Seta o usuбrio no banco em que estava
    }
}
@edit
Desculpe a tabulaзгo do cуdigo.
Reply
#10

resumindo, ele estava a procura apenas disto GetPlayerVehicleSeat(playerid); o resto й fбcil, porem eu nгo tinha visto tal funзгo atй os dias atuais.
Reply
#11

Nem eu.
Nгo achei em lugar algum.
Atualmente estou sem compilador, entгo nгo posso confirmar a fucionalidade.
Obrigado assim mesmo.
Vou deixar aqui em aberto.
Se alguйm puder, teste para ver se essa funзгo realmente existe...

Obrigado.
Reply
#12

Quote:
Originally Posted by Jauro
View Post
Nem eu.
Nгo achei em lugar algum.
Atualmente estou sem compilador, entгo nгo posso confirmar a fucionalidade.
Obrigado assim mesmo.
Vou deixar aqui em aberto.
Se alguйm puder, teste para ver se essa funзгo realmente existe...

Obrigado.
Testei o cуdigo e ele funcionou, caso venha a realizar um teste e retornar em algum erro e/ou nгo sanar seu problema, entre em contato conosco.

Att.
Reply
#13

Cara oque tem a ver ? vocк falou que tambйm quer usar para os Passageiros, entгo use essa funзгo !

Code:
if(newstate == PLAYER_STATE_PASSENGER || newstate == PLAYER_STATE_DRIVER){
//Funзгo
}
Reply
#14

Eu vim aqui e analisei seu post, Fiz esse sistema no meu GameMode e estб funcionando perfeitamente!
Nгo do modo que vocк fez, mas sim do meu jeito! Nгo irei passar os cуdigos mas sim oque eu usei.

Code:
SetTimerEx
KillTimer
Public
SetVirtualWorld
PutPlayerInVehicle
GetPlayerVehicleID
GetPlayerVehicleSeat
GetPlayerVirtualWorld
TogglePlayerControllable
Variбveis globais do player.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)