new trailerid = sizeof(TruckTrailer); for(new vehicleid; vehicleid <= GetVehiclePoolSize(); vehicleid ++) { if(!IsTrailerAttachedToVehicle(vehicleid)) { SetVehicleToRespawn(trailerid); } }
for(new i = 0; i < sizeof(TruckTrailer); i++)
{
if(!IsTrailerAttachedToVehicle(i))
{
SetVehicleToRespawn(i);
}
}
new bool:TrailerIsFree[MAX_VEHICLES] = true;
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(cmdtext, "/respawnfreetrailers", true))
{
new TrailerID = -1;
for(new i=0; i<MAX_VEHICLES;i=i+1)
{
if(IsTrailerAttachedToVehicle(i) == 1)
{
TrailerID = GetVehicleTrailer(i);
TrailerIsFree[TrailerID] = false;
}
}
for(new i=0; i<MAX_VEHICLES;i=i+1)
{
if(TrailerIsFree[i] == true)
{
SetVehicleToRespawn(i);
}
}
}
return 0;
}
new bool:trailer[(sizeof(TruckTrailer)) char];
for(new v = GetVehiclePoolSize(),i; v!=0; v--)
{
if(IsTrailerAttachedToVehicle(v) && (i=GetTrailerIndex(v)) != -1)
{
trailer{i} = true;
}
}
for(new i; i<sizeof(TruckTrailer); i++)
{
if(!trailer{i}) SetVehicleToRespawn(TruckTrailer[i]);
}
stock GetTrailerIndex(v)
{
for(new i; i<sizeof(TruckTrailer); i++)
{
if(TruckTrailer[i] == v) return i;
}
return -1;
}
If TruckTrailer has size of 50 and there are 100 vehicles, half of them will be ignored.
|
new bool:TrailerIsFree[MAX_VEHICLES] = true;
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(cmdtext, "/respawnfreetrailers", true))
{
new TrailerID = -1;
for(new i=0; i<MAX_VEHICLES;i=i+1)
{
if(IsTrailerAttachedToVehicle(i) == 1)
{
TrailerID = GetVehicleTrailer(i);
TrailerIsFree[TrailerID] = false;
}
}
for(new i=0; i<MAX_VEHICLES;i=i+1)
{
if(TrailerIsFree[i] == true)
{
if(GetVehicleModel(i) == 435 || GetVehicleModel(i) == 450 || GetVehicleModel(i) == 584 || GetVehicleModel(i) == 591)
{
SetVehicleToRespawn(i);
}
}
}
}
return 0;
}