Skip to content

Variables

Variables store values that can be used in math, logical, and string operations. Declare a new variable with the var keyword.

Declaration and Initialization

stonescript
var myVar = 10

myVar is initialized with value 10. Variables are initialized only once — the first time var executes.

Updating Values

stonescript
var myVar = 10
myVar = myVar + 5
// myVar now equals 15

var secondVar = 3
myVar = myVar - secondVar
// myVar now equals 12

Lifecycle

Variables only reset to their initial value if you leave a location and begin a new run manually. They do not reset when:

  • The Ouroboros loops
  • The Mind Stone is opened then closed

This means you can use variables as persistent frame counters:

stonescript
var i = 0
i++
>i = @i@
// i increases by 1 every frame of the run

String Variables

String variables can be declared with or without quotes. Use quotes when the value contains special symbols or trailing spaces.

stonescript
var a = 10
var b = 5
var myVar = a + " x " + b + " = " + (a * b)
>@myVar@
// Prints "10 x 5 = 50"

Variable Isolation in Imports

Variables declared in imported scripts are contained within those scripts. Their names won't collide with variables or functions in other scripts. See Importing Scripts for details.

Stonescript is part of Stone Story RPG.