[Ajuda] Detectar Assentos disponiveis e Maximo de assentos do veiculo atual
#1

Boa Noite, Hoje eu estava programando, aproveitando meu tempinho on, e estava criando um comando chamado:
'/Injetar' ( Funзгo que teletransporta um Jogador(a) pra dentro de um veiculo em assentos. ) , porem, estou tendo
muita dificuldades, principalmente, pra saber qual assento do veiculo estб livre pra teletransportar o jogador.

Eu andei pesquisando, e sу achei a funзгo chamada: GetPlayerVehicleSeat , porem, pega de um jogador.

Existe alguma forma de saber, se em um veiculo atual, existe algum assento livre? caso alcontrario imprime um erro?

Estava tentando, e nгo consegui,...

Код:
       new Assentos = 0;
       for(new VCheck = 0; VCheck < MAX_PLAYERS; VCheck++)
       {
        if(IsPlayerConnected(VCheck) && GetPlayerVehicleID(VCheck) == GetPlayerVehicleID(playerid))
        {
         if(GetPlayerVehicleSeat(VCheck) != 128) Assentos++;
         else return SendClientMessage(playerid,Vermelho,"[ ERRO ]: Veiculo atual nгo hб capacidade suficiente pra transportar este jogador(a) !");
        }
       }
       PutPlayerInVehicle(ID_I,GetPlayerVehicleID(playerid),Assentos);
Este meu cуdigo esta correto?
Reply
#2

isto podera te ajuda:

Quote:
Originally Posted by wouter0100
Посмотреть сообщение
pawn Код:
stock GetEmptyVehicleSeat(vehicleid)
{
    new bool:Seat[4];
    for(new i;i<MAX_PLAYERS;i++)
    {
        if(IsPlayerConnected(i))
        {
            if(IsPlayerInVehicle(i,vehicleid))
            {
                if(GetPlayerVehicleSeat(i) == 0) Seat[0] = true;
                if(GetPlayerVehicleSeat(i) == 1) Seat[1] = true;
                if(GetPlayerVehicleSeat(i) == 2) Seat[2] = true;
                if(GetPlayerVehicleSeat(i) == 3) Seat[3] = true;
            }
        }
    }
    for(new a;a<sizeof(Seat);a++)
    {
        if(Seat[a] == false) return a;
    }
    return -1;
}
Returns -1 if there isnt a free seat.
ou

Quote:
Originally Posted by Littlehelper
Посмотреть сообщение
.......
pawn Код:
stock IsSeatTaken(vehicleid, seatid)
{
    for(new i=0; i<MAX_PLAYERS; i++)
    {
        if(GetPlayerVehicleID(i) == vehicleid && GetPlayerVehicleSeat(i) == seatid) return 1;
    }
    return 0;
}
Reply
#3

Funcionou, obrigado
Reply
#4

+REP
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)