22.01.2019, 11:25
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:
ficou basicamente assim:
PHP код:
//comando para puxar jogador para o veiculo
CMD:puxarpv(playerid, params[])
{
//variaveis que armazenaram o ID do jogador e o ID do veiculo atual
new idppv, idvehppv;
//se o jogador nгo informar o ID do jogador
if(sscanf(params, "d", idppv))
return SendClientMessage(playerid, Cor_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(idppv, Cor_Vermelha, "Voce foi puxado para o veiculo.");
PutPlayerInVehicle(idppv, idvehppv, GetEmptyVehicleSeat(idvehppv));
SendClientMessage(playerid, Cor_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) == 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;
}