Getar veнculo vazio -
DrTHE - 02.07.2012
Estou tentando fazer esta funзгo para verificar
UM carro (da array CarroEvento[MaxNCarro]) que esteja vazio
Sendo:
e
pawn Код:
new CarroEvento[MaxNCarro];
pawn Код:
stock GetEmptyCarEvent()
{
new Vazio;
for(new i = 0; i < MaxNCarro; i++)
{
for(new p = 0; p < MAX_PLAYERS; ++p)
{
if(!IsPlayerInVehicle(p, CarroEvento[i]))
Vazio = i;
}
}
return Vazio;
}
Re: Getar veнculo vazio -
ViniBorn - 02.07.2012
Jб que vocк criou a variбvel CarroEvento, basta usar os valores.
Exemplo
pawn Код:
//Topo
new bool:CarroEvento[MaxNCarro];
//OnPlayerEnterVehicle ou OnPlayerStateChange se preferir
for(new v; v < MaxNCarro; v++)
if(vehicleid == v)
CarroEvento[v] = true;
//OnPlayerExitVehicle
for(new v; v < MaxNCarro; v++)
if(vehicleid == v)
CarroEvento[v] = false;
stock GetEmptyCarEvent()
{
new Vazio;
for(new v; v < MaxNCarro; v++)
if(CarroEvento[v] == false)
Vazio = v;
return Vazio;
}
Re: Getar veнculo vazio -
Y_Seven - 02.07.2012
No Lugar de MAX_PLAYERS nгo seria MAX_VEHICLES?
Re: Getar veнculo vazio -
Falcon. - 02.07.2012
Quote:
Originally Posted by Y_Seven
No Lugar de MAX_PLAYERS nгo seria MAX_VEHICLES?
|
nгo, ele estб verificando se hб algum player dentro do veнculo.
caso use o exemplo do viniborn, altere o valor da variбvel tambйm em onplayerdisconnect
Re: Getar veнculo vazio -
DrTHE - 02.07.2012
@Resolvido!
Re: Getar veнculo vazio -
zSuYaNw - 02.07.2012
Tente assim:
pawn Код:
stock GetEmptyCarEvent()
{
static Percorrer;
for(; Percorrer != MaxNCarro; ++Percorrer){
if(!isVehicleOcuppied(CarroEvento[Percorrer])){
return CarroEvento[Percorrer];
}
}
return -1;
}
stock isVehicleOcuppied(vehicleid)
{
static MaxPlayers, Percorrer;
for(Percorrer = 0,MaxPlayers = GetMaxPlayers(); Percorrer != MaxPlayers; ++Percorrer){
if(IsPlayerInVehicle(Percorrer,vehicleid)){
return true;
}
}
return false;
}
pawn Код:
if(GetEmpytCarEvent() != -1)
{
PutPlayerInVehicle(...);
}
else
{
SendClientMessage(playerid, -1, "Nгo hб carros disponнveis");
}
Re: Getar veнculo vazio -
DrTHE - 02.07.2012
@Resolvido!
Re: Getar veнculo vazio -
ViniBorn - 02.07.2012
Testa isso aqui
pawn Код:
stock GetEmptyCarEvent()
{
new i, p;
Mark:
for( ; i < MaxNCarro; i++)
{
for(p = 0; p < MAX_PLAYERS; ++p)
{
if(IsPlayerInVehicle(p, CarroEvento[i]))
goto Mark;
}
return i;
}
}
Re: Getar veнculo vazio -
DrTHE - 02.07.2012
@Resolvido!
Re: Getar veнculo vazio -
DrTHE - 05.07.2012
@Resolvido!
Obrigado Vini e Garfield
eu adaptei o cуdigo do Garfield e finalmente consegui.