Skip to content

"Saving Games": SugarCube (v2.18)#

Summary#

SugarCube provides built-in functionality for saving, viewing, and deleting game saves through its sidebar. However, the Save API also provides programmable access for re-creating this for users through functions like Save.slots.has()*, Save.slots.save(), and *Save.slots.load().

This example also demonstrates the use of the State.variables object to access variables in JavaScript and use them.

Example#

Download

Twee Code#

:: StoryTitle
Saving Games in SugarCube

:: Start
<<script>>
if (Save.slots.has(0)) {
  State.variables.slotA = true;
} else {
  State.variables.slotA = false;
}
<</script>>

<<if $slotA is true>>
  The first game slot exists! (This session was most likely reloaded from a game save.)
<</if>>

<<link "Save to the first slot?">>
  <<script>>
    if (Save.slots.ok()) {
      Save.slots.save(0);
    }
  <</script>>
<</link>>

<<link "Load from the first slot?">>
  <<script>>
    if (Save.slots.has(0)) {
      Save.slots.load(0);
    }
  <</script>>
<</link>>

<<link "Delete first slot and restart story?">>
  <<script>>
    if (Save.slots.has(0)) {
      Save.slots.delete(0);
      Engine.restart();
    }
  <</script>>
<</link>>

Twee Download