spawnProcessedGroup
Definition
-- @/lua/ge/extensions/core/multiSpawn.lua:569
local function spawnProcessedGroup(spawnData, spawnOptions) -- sets the spawn points of multiple vehicles
if not scenetree.MissionGroup then
log('W', logTag, 'MissionGroup does not exist!')
return
end
if not spawnData or not next(spawnData) then
log('W', logTag, 'Vehicle spawn options array is empty!')
return
end
if spawnOptions.mode == 'road' then spawnOptions.mode = 'roadAhead' end
if spawnOptions.mode == 'lineAbove' then spawnOptions.cling = false end
local transformData
if spawnOptions and type(spawnOptions.customTransforms) == 'table' and #spawnOptions.customTransforms >= #spawnData then
transformData = spawnOptions.customTransforms
else
transformData = createSpawnPositions(#spawnData, spawnOptions)
end
for i, v in ipairs(spawnData) do
v.cling = spawnOptions.cling
v.autoEnterVehicle = false
v.pos = transformData[i].pos
v.rot = transformData[i].rot
spawnData[i] = sanitizeVehicleSpawnOptions(v.model, spawnData[i])
spawnData[i].visibilityPoint = nil
spawnData[i].removeTraffic = false
spawnData[i].centeredPosition = not spawnOptions.ignoreAdjust and true or false
end
groupId = getNewId()
-- NOTE: if ignoring the job system, the vehicles will spawn before the group id is able to be returned from this function!
if not spawnOptions.instant then
extensions.core_jobsystem.create(workSpawnVehicles, 0.5, spawnData, spawnOptions)
else
workSpawnVehicles(nil, spawnData, spawnOptions)
end
return groupId
end
Callers
@/lua/ge/extensions/core/multiSpawn.lua
log('I', logTag, string.format('Spawning vehicle group with %d vehicles: %s', amount, options.name or ''))
return spawnProcessedGroup(setVehicleSpawnData(group, amount), options) -- returns unique group id
end