24.02.2013, 20:08
Quickly written, should do the job
Now just use RespawnAllVehicles to respawn them to their original positions ![Smiley](images/smilies/smile.png)
EDIT: If you need a timer for it, here:
pawn Код:
stock RespawnAllVehicles()
{
for (new i=0;i<MAX_VEHICLES;i++)
{
if (CanVehicleBeRespawned(i)) // If this returns 1 (no factors preventing the vehicle from being respawned as stated in "CanVehicleBeRespawned"), the vehicle will respawn
{
SetVehicleToRespawn(i);
}
}
}
stock CanVehicleBeRespawned(vehicleid)
{
new Float:X,Float:Y,Float:Z;
GetVehiclePos(vehicleid, X,Y,Z);
if (X == 0.0 && Y == 0.0 && Z == 0.0)
{
//Vehicle not created, returning 0
return 0;
}
for (new i=0;i<MAX_PLAYERS;i++)
{
if (IsPlayerConnected(i))
{
if (GetPlayerVehicleID(i) == vehicleid) return 0; // Someone is inside the vehicle, returning 0
}
}
return 1; // Vehicle is ready to be respawned, returning 1 :)
}
![Smiley](images/smilies/smile.png)
EDIT: If you need a timer for it, here:
pawn Код:
forward RespawnVehicles();
public OnGameModeInit()
{
SetTimer("RespawnVehicles", 300000, true);
}
public RespawnVehicles()
{
RespawnAllVehicles();
SendClientMessageToAll(-1, "All unoccupied vehicles successfully respawned");
}