Переменные
Синтаксис
Обращение к переменным происходит при помощи символа $
, который пишется перед названием переменной.
Допустим, мы хотим изменить кол-во lovepoint'ов Химицу, которые хранятся в глобальной переменной lp_hi
:
# прибавляет единицу к значению глобальной переменной lp_hi
$lp_hi += 1
Или проверить кол-во очков:
if ($lp_hi >= 10)
{
hi "Условие выполнено!"
}
Также мы можем просто написать переменную отдельной строкой, в таком случае игра выведет её значение в текстовом окне:
$lp_hi
Переменные работают при помощи интерпретатора JavaScript, поэтому с ними можно проводить любые манипуляции, поддерживаемые JS (за исключением использования функций и присваиваний внутри текста).
Допустим, можно вывести значение переменной внутри текста при помощи интерполяции строки:
$lp_hi += 10
`У вас ${$lp_hi} очков!`
Весь текст внутри файлов сценариев, за исключением текста внутри кавычек, приводится к нижнему регистру. Внутри интерполируемых строк регистр учитывается — используйте только нижний регистр, когда обращаетесь к переменным.
Виды переменных
Переменные в игре делятся на 3 типа:
- Глобальные переменные
- Persistent переменные (постоянные)
- Runtime переменные (временные)
Глобальные переменные
Глобальные переменные — переменные, определённые заранее в игре или в файле ресурсов мода. Эти переменные доступы в любой точке сценария и их значения сохраняются при переходе на следующий сценарий и в файлах сохранений.
Persistent переменные
Также, как и глобальные, эти переменные доступны в любой точке игрового сценария.
Отличия в том, что они не определяются нигде заранее и их значения доступны между разными модами.
Чтобы воспользоваться persistent-переменной, достаточно просто обратиться к ней, написав $persistent.
перед её именем:
# задаёт значение 10 persistent-переменной some_value
$persistent.some_value = 10
if ($persistent.some_value == 10)
{
"Условие выполнено"
}
Даже если переменная с таким названием ранее нигде не использовалась, она будет определена автоматически.
Runtime переменные
В отличии от глобальных и persistent переменных, данный тип переменных доступен только в пределах одного сценария, и их значения не сохраняются при переходе на следующий сценарий. Это своего рода вспомогательные переменные, которые могут использоваться для каких-то одноразовых проверок или действий.
Они определяются при помощи команды var
:
var some_variable
При определении также можно указать значение переменной:
var some_variable = true
После определения, она будет доступна также, как и любая другая переменная:
var some_variable = true
# можно также записать как if ($some_variable)
if ($some_variable == true)
{
"Условие выполнено!"
}
Условия
Для различных проверок в игре используются условия.
Поддерживаются следующие команды:
if
else if
else
Примеры:
# lp_hi - глобальная переменная, определённая в игре. В ней хранятся лавпоинты (очки) Химицу.
if $lp_hi >= 10
{
"У вас достаточно лавпоинтов Химицу!"
}
else if $lp_hi >= 5
{
"У вас не хватает 5 лавпоинтов Химицу!"
}
else
{
"У вас слишком мало лавпоинтов Химицу."
}
datetime
Это вспомогательная переменная, которая позволяет получить информацию о текущей дате на устройстве игрока.
Для вызова этой переменной не нужно ставить символ $
.
У неё есть следующие свойства:
date
day
month
year
hour
minute
second
Доступ к любому из них можно получить при помощи .
после названия переменной:
datetime.date
datetime.day
datetime.month
datetime.year
datetime.hour
datetime.minute
datetime.second
Пример вывода: