12/07/2021 16:59
(12/07/2021 10:51)xbruno1000x Escreveu:(12/07/2021 05:53)fear Escreveu:(12/07/2021 00:32)xbruno1000x Escreveu:Código:stock CriarVeiculo(playerid, modelid, Float:posX, Float:posY, Float:posZ, Float:angle, Colour1, Colour2, respawn_delay)
{
new world = GetPlayerVirtualWorld(playerid);
new interior = GetPlayerInterior(playerid);
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
DestroyVehicle(GetPlayerVehicleID(playerid));
GetPlayerPos(playerid, posX, posY, posZ);
GetPlayerFacingAngle(playerid, angle);
SDSCar[playerid] = CreateVehicle(modelid, posX, posY, posZ, angle, Colour1, Colour2, respawn_delay);
LinkVehicleToInterior(SDSCar[playerid], interior);
SetVehicleVirtualWorld(SDSCar[playerid], world);
SetVehicleZAngle(SDSCar[playerid], angle);
PutPlayerInVehicle(playerid, SDSCar[playerid], 0);
SetPlayerInterior(playerid, interior);
}
if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
{
if(VeiculoOcupado(SDSCar[playerid])) {} else DestroyVehicle(SDSCar[playerid]);
GetPlayerPos(playerid, posX, posY, posZ);
GetPlayerFacingAngle(playerid, angle);
SDSCar[playerid] = CreateVehicle(modelid, posX, posY, posZ, angle, Colour1, Colour2, respawn_delay);
LinkVehicleToInterior(SDSCar[playerid], interior);
SetVehicleVirtualWorld(SDSCar[playerid], world);
SetVehicleZAngle(SDSCar[playerid], angle);
PutPlayerInVehicle(playerid, SDSCar[playerid], 0);
SetPlayerInterior(playerid, interior);
}
return 1;
}
Acredito que a stock seja essa, sendo assim o ID é SDSCar[playerid]. Caso não seja a mesma stock, basta procurar por ela e encontrar como está o ID no seu. Depois basta fazer o que os amigos acima recomendaram.
Eu tentei fazer assim:
Código PHP:stock IsVehicleOccupied(vehicleid)
{
for(new i = 0; i < MAX_PLAYERS; i++)
if(IsPlayerInVehicle(i, vehicleid) && GetPlayerState(i) == PLAYER_STATE_DRIVER)
return 1;
return 0;
}Código PHP:CMD:dlc(playerid)
{
for(new v; v<MAX_VEHICLES; v++) if(!IsVehicleOccupied(v)) DestroyVehicle(v);
return 1;
}
só que da isso...
Código PHP:error 021: symbol already defined: "IsVehicleOccupied"
A Maneira que você falaram acima não consegui entender.
a variavel do car é: sCar[playerid]
se puderem ajudar..
1° ponto:
Você colocou duas vezes a função IsVehicleOccupied no gamemode e por isso ocorreu um erro.
2° ponto:
Isso não resolveria seu problema, pois deletaria todos veículos que não estão ocupados. Isso deve ser feito utilizando a variável sCar, é a única maneira de deletar apenas veículos criados por comando.
Por fim, tente assim:
Código:for(new i; i != MAX_PLAYERS; i++) DestroyVehicle(sCar[i]);
Vai deletar os abandonados? Ou vai deletar todos independente se tem ocupante ou não?