GE Lua Documentation

Press F to search!

setSaveSlot

Definition


-- @/lua/ge/extensions/career/saveSystem.lua:70

local function setSaveSlot(slotName, specificAutosave)
  extensions.hook("onBeforeSetSaveSlot")
  if not slotName then
    currentSavePath = nil
    currentSaveSlot = nil
    creationDateOfCurrentSaveSlot = nil
    extensions.hook("onSetSaveSlot", nil, nil)
    return false
  end
  if not isLegalDirectoryName(slotName) then
    return false
  end
  local savePath = specificAutosave and (saveRoot .. slotName .. "/" .. specificAutosave) or getAutosave(saveRoot .. slotName, false) -- get newest autosave

  local data = jsonReadFile(savePath .. "/info.json")
  if data then
    if not data.version or M.getBackwardsCompVersion() > data.version then
      return false
    end
    creationDateOfCurrentSaveSlot = data.creationDate
  else
    creationDateOfCurrentSaveSlot = nil
  end

  currentSavePath = savePath
  currentSaveSlot = slotName

  extensions.hook("onSetSaveSlot", currentSavePath, slotName)
  return true
end

Callers

@/lua/ge/extensions/career/saveSystem.lua
    if not career_career.isActive() then
      setSaveSlot(nil)
      FS:directoryRemove(saveRoot .. slotName)
    if not career_career.isActive() then
      setSaveSlot(nil)
      return renameFolder(saveRoot .. slotName, saveRoot .. newName)
@/lua/ge/extensions/gameplay/missions/progress.lua

local function setSaveSlot(slotName)
  plog("I", "", "Progress Save Slot changed to " .. dumps(slotName))
@/lua/ge/extensions/career/career.lua
  log("I","",string.format("Create or Load Career: %s - %s", name, specificAutosave))
  if career_saveSystem.setSaveSlot(name, specificAutosave) then
    M.tutorialEnabled = tutorial