Destruir apenas carros criado por Players -
Ever_SH - 01.03.2015
Estou criando meu Servidor de Freeroam usando de base o Gamemode The Brasil Drift, quando eu uso /destruircarros, todos os carros do servidor sгo destruidos, queria que apenas os que foram criado pelos players fossem destruidos, mas nгo entendo o comando.
pawn Код:
if(strcmp(cmd, "/DestruirCarros", true) == 0)
{
new string[148];
new sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
if(pDados[playerid][Admin] < 1 && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, CINZA, "{00FF00}[TMF] {FFFFFF}Somente Administrador Level 1 ou superior.");
format(string, sizeof(string), "{A9A9A9}[Administraзгo] O Admin {FF0000}%s {A9A9A9}Deletou todos os carros vazios", sendername);
SendClientMessageToAll(0x00FF00FF, string);
new bool:vehicle[MAX_VEHICLES];
for(new j = 0; j < MAX_VEHICLES; ++j)
{
vehicle[j] = false;
for(new p = 0; p < MAX_PLAYERS; ++p)
{
if(!IsPlayerInAnyVehicle(p) || !IsPlayerConnected(p)) continue;
if(IsPlayerInVehicle(p, j))
{
vehicle[j] = true;
break;
}
}
if(!vehicle[j]) DestroyVehicle(j);
}
return 1;
}
Meu servidor tem no GM 122 Veнculos, entгo Id dos veнculos vгo atй 121 eu acho. Como faзo para esses carros nгo serem destruidos?
Re: Destruir apenas carros criado por Players -
arakuta - 01.03.2015
Cria uma variбvel per-vehicle
PHP код:
new bool:PlayerVehicle[MAX_VEHICLES];
Quando um jogador criar um veнculo:
PHP код:
new id = CreateVehicle...
PlayerVehicle[id] = true;
E entгo para destruir, passe um loop por todos os veнculos, verificando qual й de Player...
PHP код:
for(new i; i < MAX_VEHICLES; ++i)
{
if(PlayerVehicle[i])
{
PlayerVehicle[i] = false;
DestroyVehicle(i);
}
}
Re: Destruir apenas carros criado por Players -
Ever_SH - 02.03.2015
Agora estou com outro problema, como faзo para deletar apenas carros vazio?
Re: Destruir apenas carros criado por Players -
arakuta - 02.03.2015
Faзa uma verificaзгo, se algum player estб dentro dele:
PHP код:
stock IsVehicleOccupied(vehicleid)
{
for(new i; i < MAX_PLAYERS; ++i)
{
if(IsPlayerConnected(i))
{
if(IsPlayerInVehicle(i,vehicleid))
return 1;
}
}
return 0;
}
entгo vocк pode aplicar dentro do primeiro loop que te passei
PHP код:
if(PlayerVehicle[id] && !IsVehicleOccupied(id))
Re: Destruir apenas carros criado por Players -
Ever_SH - 02.03.2015
Funcionou, +Rep