GE Lua Documentation

Press F to search!

maybeSpawnDefaultVehicle

Definition


-- @/lua/ge/extensions/core/levels.lua:400
local function maybeSpawnDefaultVehicle()
  if nextSpawnVehicle == nil then
    -- spawn default vehicle
    nextSpawnVehicle = core_vehicles.getDefaultVehicleParams()
  end
  if nextSpawnVehicle == false then
    -- do nothing
  end
  if type(nextSpawnVehicle) == 'table' then
    local model, options = unpack(nextSpawnVehicle)
    local modelData = core_vehicles.getModel(model)
    if not modelData or not next(modelData) then
      log("E", "", "Model: "..dumps(model).." does not exist. using default vehicle instead.")
      nextSpawnVehicle = core_vehicles.getDefaultVehicleParams()
      model, options = unpack(nextSpawnVehicle)
    end
    if options.color == '' then
      options.color = nil
    end
    options.vehicleName = "thePlayer"

    local spawnPoint = spawn.pickSpawnPoint('player')
    --local spawnPoint = setSpawnpoint.loadDefaultSpawnpoint()
    --spawnPoint = scenetree.findObject(spawnPoint)
    if spawnPoint then
      options.pos = spawnPoint:getPosition()
      options.rot = quat(spawnPoint:getRotation()) * quat(0,0,1,0)
    end

    local vehicle = core_vehicles.spawnNewVehicle(model, options)
    if not vehicle then
      log("E", "", "Failed to spawn vehicle: "..dumps(nextSpawnVehicle))
    end
    local missionCleanup = scenetree.MissionCleanup
    if not missionCleanup then
      log('E', 'vehicles.loadMaybeVehicle', 'missionCleanup does not exist')
    else
      missionCleanup:addObject(vehicle)
    end
    local missionGroup = scenetree.MissionGroup
    if not missionGroup then
      log('E', 'vehicles.loadMaybeVehicle', 'MissionGroup does not exist')
    else
      missionGroup:addObject(vehicle)
    end
    vehicle.canSave = false
  end
  nextSpawnVehicle = nil
end

Callers

@/lua/ge/spawn.lua
  if core_levels then
    core_levels.maybeSpawnDefaultVehicle()
  end