Sanny Builder
Search…
Константы
Константа представляет собой идентификатор, которому присваивается определенное значение. В отличие от переменных значение константы не может изменяться. При компиляции имя константы заменяется на то значение, которое ей было присвоено. Константы могут быть числовыми (числа, имена моделей или метки) или строковыми, а также содержать в себе выражение.
Костанты объявляются статически или динамически. Каждый режим редактирования может загрузить статические определения констант из внешнего файла при помощи параметра <constants> в modes.xml. Динамические определения создаются в скрипте при помощи синтаксиса, описанного ниже.

Объявление констант

Для объявления константы используется конструкция CONST..END:
CONST <имя константы> = <значение> END
Именем константы может быть любая комбинация букв, цифр и _, которая не повторяет зарезервированные компилятором имена, такие как Continue, Break, And (см. файл compiler.ini). Значением константы может быть число (а также имя модели или метка), строковый литерал, переменная (а также свойство класса), другая константа.
1
var
2
$PLAYER_CHAR: Player
3
end
4
5
const
6
MoneyRequired = 30
7
PlayerMoney = $PLAYER_CHAR.Money
8
end
9
10
if
11
PlayerMoney > MoneyRequired
12
then
13
PlayerMoney += -1
14
end
Copied!
Во время компиляции константа MoneyRequired будет заменена на число 30 , а PlayerMoney на $PLAYER_CHAR.Money.
Если языковая служба включена, список констант можно увидеть при нажатии Ctrl+пробел.

Ограничения

Константы могут использоваться везде, кроме случая:
1
const
2
VarName = $Var
3
IndexName = 25
4
end
5
VarName[IndexName] = 0
Copied!
Чтобы скомпилировать такое выражение, нужно указать номер опкода:
1
0004: VarName[IndexName] = 0
Copied!
Также существуют ограничения на использование выражений в качестве константы.
Last modified 2mo ago