GE Lua Documentation

Press F to search!

startFreeroam

Definition


-- @/lua/ge/extensions/freeroam/freeroam.lua:83

local function startFreeroam(level, startPointName, wasDelayed, spawnVehicle, customLoadingFunction)
  core_gamestate.requestEnterLoadingScreen(logTag)
  -- if this was a delayed start, load the FGs now.
  --if wasDelayed then
  --  startAssociatedFlowgraph(level)
  --end

  -- this is to prevent bug where freeroam is started while a different level is still loaded.
  -- Loading the new freeroam causes the current loaded freeroam to unload which breaks the new freeroam
  --local delaying = false
  if scenetree.MissionGroup then
    log('D', logTag, 'Delaying start of freeroam until current level is unloaded...')
    M.triggerDelayedStart = function()
      log('D', logTag, 'Triggering a delayed start of freeroam...')
      M.triggerDelayedStart = nil
      startFreeroam(level, startPointName, true, spawnVehicle, customLoadingFunction)
    end
    endActiveGameMode(M.triggerDelayedStart)
    --delaying = true
  elseif not core_gamestate.getLoadingStatus(logTag .. '.startFreeroamHelper') then -- remove again at some point
    startFreeroamHelper(level, startPointName, spawnVehicle, customLoadingFunction)
    core_gamestate.requestExitLoadingScreen(logTag)
  end
  -- if there was no delaying and the function call itself didnt
  -- come from a delayed start, load the FGs (starting from main menu)

end

Callers

@/lua/ge/extensions/freeroam/freeroam.lua
      M.triggerDelayedStart = nil
      startFreeroam(level, startPointName, true, spawnVehicle, customLoadingFunction)
    end
  if level then
    startFreeroam(level, startPointName, wasDelayed, spawnVehicle, customLoadingFunction)
    return true
    extensions.setCompletedCallback("onClientStartMission", callback);
    startFreeroam(level)
  else
@/lua/ge/extensions/util/precompileVehicles.lua
    log('I', logTag, string.format('Will precompile data for %d vehicles.', #vehicles))
    freeroam_freeroam.startFreeroam(path.getPathLevelMain('smallgrid'))
end
@/lua/ge/extensions/gameplay/garageMode.lua
  -- load the test level
  freeroam_freeroam.startFreeroam(testLevelPath, nil, nil, getCurrentVehicle())
end
@/lua/ge/extensions/career/career.lua
    spawn.preventPlayerSpawning = true
    freeroam_freeroam.startFreeroam(path.getPathLevelMain(levelToLoad), nil, false, nil, function()
      toggleCareerModules(true)
  deactivateCareer(saveCareer)
  freeroam_freeroam.startFreeroam(path.getPathLevelMain(getCurrentLevelIdentifier()))
end
@/lua/ge/main.lua
    if getMissionFilename() == "" then
      freeroam_freeroam.startFreeroam(path.getPathLevelMain("smallgrid"))
      extensions.load('editor_flowgraphEditor')
    local levelFile = "levels/" .. levelToLoad
    freeroam_freeroam.startFreeroam(levelFile)
  end
@/ui/modules/levelselect/levelselect.js
    $scope.$emit('CloseMenu')
    bngApi.engineLua(`freeroam_freeroam.startFreeroam(${bngApi.serializeToLua(level)})`)
  }
@/lua/ge/extensions/core/loadMapCmd.lua
  log("I", "changeMap", "starting in ="..tostring(args.mapName))
  freeroam_freeroam.startFreeroam(args.mapName)
  args.mapName = nil