[Ajuda] PutPlayerInVehicle Nгo Funciona
#1

Cumprimentos, estou tentando por o meu comando /algemar a funcionar, e descobri que a razгo dos players saнrem do veнculo era esta: o player saн do veнculo e nгo volta.

Eu estou tentando arranjar o onplayerexitvehicle, mas nгo funciona e nгo percebo porquк, jб tentei de vбrias formas e nгo funcionou de nenhuma.

A funзгo estб assim:
Код:
public OnPlayerExitVehicle(playerid, vehicleid)
{
 	if (GetPlayerState(playerid) == 1)
	{
		return true;
	}
	if(PlayerCuffed[playerid] == 2)
	{
        PutPlayerInVehicle(playerid, GetPlayerVehicleID(playerid), GetPlayerVehicleSeat(playerid));
	}
Estб algo de errado com ela?
Reply
#2

OnPlayerStateChange, estude ela e vai fazer isso em 3 minutos
Reply
#3

pawn Код:
new sentou[MAX_PLAYERS];

public OnPlayerStateChange(playerid, newstate, oldstate)

    if(newstate == PLAYER_STATE_PASSENGER)
    {
sentou[playerid] = GetPlayerVehicleSeat(playerid);
}

public OnPlayerExitVehicle(playerid, vehicleid)

    if (GetPlayerState(playerid) == 1)
    {
        return true;
    }
    if(PlayerCuffed[playerid] == 2)
    {
        PutPlayerInVehicle(playerid, GetPlayerVehicleID(playerid), sentou[playerid]);
    }
tenta assim agora mano
Reply
#4

Quote:
Originally Posted by hard_dalzot
Посмотреть сообщение
pawn Код:
new sentou[MAX_PLAYERS];

public OnPlayerStateChange(playerid, newstate, oldstate)

    if(newstate == PLAYER_STATE_PASSENGER)
    {
sentou[playerid] = GetPlayerVehicleSeat(playerid);
}

public OnPlayerExitVehicle(playerid, vehicleid)

    if (GetPlayerState(playerid) == 1)
    {
        return true;
    }
    if(PlayerCuffed[playerid] == 2)
    {
        PutPlayerInVehicle(playerid, GetPlayerVehicleID(playerid), sentou[playerid]);
    }
tenta assim agora mano
OnPlayerExitVehicle nгo funciona em estados, no caso se ele cair de uma moto ?
Reply
#5

usa entгo a funзгo inversa de newstate poe o que ta em onplayerexitvehicle em uma oldstate == PLAYER_STATE_PASSENGER
Reply
#6

Eu fiz isso:
Mas continua sem funcionar... o player saн do veнculo e nгo volta entrar...

Код:
new vehicleseat[MAX_PLAYERS];
new veiculoid[MAX_PLAYERS];


        if(newstate == PLAYER_STATE_PASSENGER && oldstate == PLAYER_STATE_ONFOOT)
	{
		vehicleseat[playerid] = GetPlayerVehicleSeat(playerid);
		veiculoid[playerid] = GetPlayerVehicleID(playerid);
	}

public OnPlayerExitVehicle(playerid, vehicleid)
{
 	if (GetPlayerState(playerid) == 1)
	{
		return true;
	}
	if(PlayerCuffed[playerid] == 1)
	{
        PutPlayerInVehicle(playerid, veiculoid[playerid], vehicleseat[playerid]);
        
	}
Reply
#7

Quote:
Originally Posted by Wellington1999
Посмотреть сообщение
OnPlayerStateChange, estude ela e vai fazer isso em 3 minutos
Estive horas estudando elas e ainda nгo consegui...
Reply
#8

Quote:
Originally Posted by Pedro_Teixeira
Посмотреть сообщение
Estive horas estudando elas e ainda nгo consegui...
Tenta usar um timer ou algo assim onplayerupdate ou sei la mano olha ai

pawn Код:
new vehicleseat[MAX_PLAYERS];
new veiculoid[MAX_PLAYERS];


    if(newstate == PLAYER_STATE_PASSENGER && oldstate == PLAYER_STATE_ONFOOT)
    {
        vehicleseat[playerid] = GetPlayerVehicleSeat(playerid);
        veiculoid[playerid] = GetPlayerVehicleID(playerid);
    }

public OnGameModeInit()
{
    SetTimer("JogadorEstaPresoVeiculo", 500, 1);
    return 1;
}

forward JogadorEstaPresoVeiculo();
public JogadorEstaPresoVeiculo()
{
    for(new playerid = 0; playerid<MAX_PLAYERS; playerid++)
    {
        if(PlayerCuffed[playerid] == 1)
        {
            PutPlayerInVehicle(playerid, veiculoid[playerid], vehicleseat[playerid]);

        }
    }
    return 1;
}
Reply
#9

Um timer seria inъtil...
Reply
#10

o put player in vehicle pode ser inutil se o player estiver a usar sobas e tiver a usar la uma cena que desativa isso.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)