[Ajuda] comando para puxar jogador para um veiculo - retornar erro de veiculo sem vagas de passageiros ou ja estiver no veiculo
#1

Ola, como sou leigo em Pawn, estou com uma duvida, recentemente pesquisei soluзхes aqui no fуrum para colocar um jogador em um veiculo verificando os assentos disponнveis.. consegui ate entгo um que basicamente nгo explicou, simplesmente referiu-se a dois modos, e COMO SOU LEIGO em pawn, quero pedir a voces, seguindo este modo ensinado por ... nгo lembro nome, como posso retornar um erro se o jogador nгo tiver vagas no veiculo para passageiro, e se o jogador ja estiver no veiculo?

ficou basicamente assim:

PHP код:
//comando para puxar jogador para o veiculo
CMD:puxarpv(playeridparams[])
{
    
//variaveis que armazenaram o ID do jogador e o ID do veiculo atual
    
new idppvidvehppv;
    
//se o jogador nгo informar o ID do jogador
    
if(sscanf(params"d"idppv))
    return 
SendClientMessage(playeridCor_Vermelha"| ERRO | Modo de uso: /PuxarPV [ID do Jogador]");
    
//armazenar o ID do veiculo do jogador
    
idvehppv GetPlayerVehicleID(playerid);
    
//colocar o jogador no veiculo em um assento disponivel e enviar mensagens de aviso
    
SendClientMessage(idppvCor_Vermelha"Voce foi puxado para o veiculo.");
    
PutPlayerInVehicle(idppvidvehppvGetEmptyVehicleSeat(idvehppv));
    
SendClientMessage(playeridCor_Verde"Jogador puxado!");
      
    return 
1;
}
stock GetEmptyVehicleSeat(vehicleid)
{
    new 
bool:Seat[4];
    for(new 
i;i<MAX_PLAYERS;i++)
    {
        if(
IsPlayerConnected(i))
        {
            if(
IsPlayerInVehicle(i,vehicleid))
            {
                if(
GetPlayerVehicleSeat(i) == 0Seat[0] = true;
                if(
GetPlayerVehicleSeat(i) == 1Seat[1] = true;
                if(
GetPlayerVehicleSeat(i) == 2Seat[2] = true;
                if(
GetPlayerVehicleSeat(i) == 3Seat[3] = true;
            }
        }
    }
    for(new 
a;a<sizeof(Seat);a++)
    {
        if(
Seat[a] == false) return a;
    }
    return -
1;

Reply
#2

PHP код:
if(GetEmptyVehicleSeat(vehicleid) == -1) return SendClientMessage(playerid, -1"Veнculo cheio."); 

Tente deste modo.
Reply
#3

Quote:
Originally Posted by ipsLuan
Посмотреть сообщение
PHP код:
if(GetEmptyVehicleSeat(vehicleid) == -1) return SendClientMessage(playerid, -1"Veнculo cheio."); 

Tente deste modo.
coloquei desta forma

PHP код:
//comando para puxar jogador para o veiculo
CMD:puxarpv(playeridparams[])
{
//variaveis que armazenaram o ID do jogador e o ID do veiculo atual
    
new idppvidvehppv;
    
//se o jogador nгo informar o ID do jogador
    
if(sscanf(params"d"idppv))
    return 
SendClientMessage(playeridCor_Vermelha"| ERRO | Modo de uso: /PuxarPV [ID do Jogador]");
    
//armazenar o ID do veiculo do jogador
    
idvehppv GetPlayerVehicleID(playerid);
    if(
GetEmptyVehicleSeat(idvehppv) == -1) return SendClientMessage(playeridCor_Vermelha"| ERRO | Veнculo cheio.");
    
//colocar o jogador no veiculo em um assento disponivel e enviar mensagens de aviso
    
SendClientMessage(idppvCor_Vermelha"Voce foi puxado para o veiculo.");
    
PutPlayerInVehicle(idppvidvehppvGetEmptyVehicleSeat(idvehppv));
    
SendClientMessage(playeridCor_Verde"Jogador puxado!");
    return 
1;

ainda recebe a mensagem que puxou jogador
Reply
#4

Troque sua callback por essa:
PHP код:
stock GetEmptyVehicleSeat(vehicleid)
{
    new 
Seat[4];
    for(new 
iMAX_PLAYERSi++)
    {
        if(
IsPlayerConnected(i))
        {
            if(
IsPlayerInVehicle(ivehicleid))
            {
                if(
GetPlayerVehicleSeat(i) == 0Seat[0] = true;
                if(
GetPlayerVehicleSeat(i) == 1Seat[1] = true;
                if(
GetPlayerVehicleSeat(i) == 2Seat[2] = true;
                if(
GetPlayerVehicleSeat(i) == 3Seat[3] = true;
            }
        }
    }
    for(new 
asizeof(Seat); a++)
    {
        if(
Seat[a] == false) return false;
    }
    return 
true;



E use assim:
PHP код:
if(!GetEmptyVehicleSeat(vehicleid)) return SendClientMessage(playerid, -1"Veiculo cheio."); 


Fiz pela lуgica, nгo testei.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)