19.12.2016, 20:42
If the array stores only the trailer IDs in sequence, then:
and you'll avoid the 2 loops that go through 24000 iterations in total.
pawn Код:
const TruckTrailer_size = sizeof TruckTrailer;
new bool: attached_trailers[TruckTrailer_size char], trailer_id, last_vehicleid = TruckTrailer[TruckTrailer_size - 1];
for (new vehicleid = 1, j = GetVehiclePoolSize(); vehicleid <= j; vehicleid++)
{
if (!(trailer_id = GetVehicleTrailer(vehicleid))) continue;
if (!(TruckTrailer[0] <= trailer_id <= last_vehicleid)) continue;
attached_trailers{TruckTrailer_size - (last_vehicleid - trailer_id) - 1} = true;
}
for (new i; i != TruckTrailer_size; i++)
{
if (!attached_trailers{i}) SetVehicleToRespawn(TruckTrailer[i]);
}