nymphoz Набросал по бырому
Не проверял
ЛУчше конечно через отдельный класс сделать
ref array<EntityAI> m_SpawnedCars;
ref array<vector> m_SpawnedCarsPositions;
void spawnVehicle(string type, vector position)
{
EntityAI car = GetGame().CreateObject(type, position);
car.SetPosition(position);
autoptr array<string> m_Attachments = {
"HeadlightH7","HeadlightH7","SparkPlug","CarBattery","CarRadiator","EngineBelt",
"CivSedanDoors_Driver","CivSedanDoors_CoDriver","CivSedanDoors_BackLeft","CivSedanDoors_BackRight","CivSedanHood","CivSedanTrunk",
"CivSedanWheel","CivSedanWheel","CivSedanWheel","CivSedanWheel"};
if (car)
{
foreach (string att : m_Attachments)
{
car.GetInventory().CreateAttachment(att);
}
Car f_Car = Car.Cast(car);
f_Car.Fill(CarFluid.FUEL, 1000);
f_Car.Fill(CarFluid.COOLANT, 1000);
f_Car.Fill(CarFluid.OIL, 1000);
f_Car.Fill(CarFluid.BRAKE, 1000);
m_SpawnedCars.Insert(car);
m_SpawnedCarsPositions.Insert(position);
}
}
void SpawnVehicles()
{
spawnVehicle( "CivilianSedan", "8742.036133 8.230740 2331.631104");
spawnVehicle( "CivilianSedan", "8877.351563 9.299133 2257.636230");
GetGame().GetCallQueue(CALL_CATEGORY_SYSTEM).CallLater(CheckRespawnVehicles, 300000, true);
}
void CheckRespawnVehicles()
{
for (i = 0; i < m_SpawnedCars.Count(); i++)
{
if (!m_SpawnedCars[i])
{
vector pos = m_SpawnedCarsPositions[i];
m_SpawnedCars.Remove(i);
m_SpawnedCarsPositions.Remove(i);
spawnVehicle("CivilianSedan", pos);
}
}
}
void main()
{
//VEHICLE
m_SpawnedCars = new array<EntityAI>;
m_SpawnedCarsPositions = new array<vector>;
SpawnVehicles();
}