Skip to main content

Переменные

Синтаксис

Обращение к переменным происходит при помощи символа $, который пишется перед названием переменной.

Допустим, мы хотим изменить кол-во 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

Пример вывода:

image.png