Sanny Builder
In English
Search
K

Constants

A constant is an identifier with an associated predefined value. The identifier must be unique in the current compilation context (the main source file and all includes).
In compile-time the constant gets replaced with the value associated with it, e.g., a number or a string literal. Contrary to a variable the value of the constant cannot be changed in run-time.
Constants are declared either statically or dynamically. Each edit mode can load static constant definitions from a file using the <constants> parameter in the modes.xml. Dynamic declarations get created in the script code with the syntax outlined below.

Syntax

To declare a new constant in the code, use the const keyword.
const <constant name> = <constant value>
A constant name is any allowed identifier (a combination of letters, numbers and _). There are names reserved by the compiler that cannot be used, such as Continue, Break, And etc. (see compiler.ini). A constant value might be a number (also a model identifier or a label); a string literal; a variable (also a class property); another constant.
For example:
const x = 5
You can declare multiple constants separating each declaration with a comma like this:
const a = 1, b = 2, c = 3
If you prefer to have each declaration on its own line, conclude them in a CONST..END construct:
const
a = 1
b = 2
c = 3
end
More complex example:
var
$PLAYER_CHAR: Player
end
const
MoneyRequired = 30
PlayerMoney = $PLAYER_CHAR.Money
end
if
PlayerMoney > MoneyRequired
then
PlayerMoney += -1
end
During compilation the constant MoneyRequired gets replaced with the number 30 and PlayerMoney with $PLAYER_CHAR.Money
When the Language service is enabled, a list of constants gets displayed after pressing Ctrl+Space.