Variables

Variables store numbers: points, lives, keys, levels. They can belong to a user, an object, the zone or a single run, and last while you are in the zone or forever.

6 boxes
Verified notes (16)
  • Effect: Remove variable deletes the whole variable; it doesn't set it to 0.
  • ~teleport.target_id on a teleporter gives its pair. Writing it pairs it with another teleporter in the zone, same owner and same type, and their old pairs end up paired with each other.
  • Reference variable can point to a shared variable in another zone of the same owner even if that zone isn't open: it reads the last saved value.
  • Effect: Change variable value doesn't create the variable: you need Effect: Give variable first.
  • The Room variable always exists: it's 0 from the moment it's set up.
  • Inside a stack the order is fixed: give → change → remove → $(…) is read → messages → signal. It doesn't depend on height.
  • Dividing by 0 and modulo 0 change nothing. Division is integer division.
  • “Set minimum” is a floor and “set maximum” is a ceiling.
  • The Context variable is born and dies in each execution.
  • A “while in room” variable is quietly deleted on leaving, without firing Trigger: Variable changes.
  • A permanent variable stays after leaving and survives an island reload.
  • Picking up an object and placing it again in the same zone keeps its variable.
  • Picking up the variable's box deletes the variable and all its saved values. When you place it again, it's empty.
  • A variable belongs to its zone. To use it in another one, make it shared and create a Reference variable; only the owner can set it up.
  • A read-only Reference variable doesn't write.
  • An Echo variable only accepts internal or smart variables, not ones created by users.