Остальные команды

ach

Разблокирует определенное достижение в Steam.

Синтаксис
ach [id]
Параметры
Пример использования
# разблокирует достижение "First Step"
ach firststep

backdrop

Выводит текст поверх определённого набора фонов с затемнением.
Используется в основном при переходах между главами сценария.

Синтаксис
backdrop |xml| (text) {duration} {bg}
Параметры
Примеры использования
# выводит стандартный backdrop-фон на 5 секунд без текста
backdrop

# выводит стандартный backdrop-фон и текст с ID back1
backdrop xml back1

# выводит backdrop-фон el с текстом "День первый" на 10 секунд
backdrop "День первый" bg el duration 10

chibi

Выводит иконки-подсказки с характерным звуком в левом нижем углу экрана.

Подсказки выводятся только если они включены в настройках игры.

Синтаксис
chibi |mute| [ids]
Параметры
Примеры использования
chibi ca_angry hi_happy

# без звука
chibi mute ca_happy hi_angry

creditsmode

Включает режим титров, в котором у игрока отбирается возможность использовать пропуск строк. Также игрок не сможет открыть внутриигровое меню — только вернуться в главное.

Синтаксис
creditsmode (state)
Параметры

load

Загружает сценарий.

Синтаксис
load [name] (label)
Параметры
Пример использования
# загружает сценарий day2
load day2
# загружает сценарий day2 с лейбла day2_4
load day2 day2_4

menu

Выводит меню с выборами.

Синтаксис
menu
{
   [choices]
}
Параметры
Примеры использования
menu 
{
    "Выбор 1"
    {
      # команды внутри этого блока будут выполняться, если игрок выберет первый вариант ответа
      "Вы выбрали 1 вариант!"
    }

    "Выбор 2"
    {
      # команды внутри этого блока будут выполняться, если игрок выберет второй вариант ответа
      "Вы выбрали 2 вариант!"
    }
}

Условия

Также у выборов могут быть условия. Условия указываются при помощи ключевого слова if, которое пишется после названия выбора. В случае, если условие не выполнено, выбор выводиться не будет:

var lovePoints = 0

menu 
{
    # данный вариант выбора будет показан, если значение lovePoints будет больше 0
    "Выбор 1" if $lovePoints > 0
    {
      # команды внутри этого блока будут выполняться, если игрок выберет первый вариант ответа
      "Вы выбрали 1 вариант!"
    }

    "Выбор 2"
    {
      # команды внутри этого блока будут выполняться, если игрок выберет второй вариант ответа
      "Вы выбрали 2 вариант!"
    }
}


Аналогично можно указывать условия для команды menu в целом:

var lovePoints = 0

# меню с выборами будет показано, если значение lovePoints будет больше 0
menu if $lovePoints > 0
{
    "Выбор 1"
    {
      # команды внутри этого блока будут выполняться, если игрок выберет первый вариант ответа
      "Вы выбрали 1 вариант!"
    }

    "Выбор 2"
    {
      # команды внутри этого блока будут выполняться, если игрок выберет второй вариант ответа
      "Вы выбрали 2 вариант!"
    }
}

overlay_color

Выводит поверх всего игрового экрана определённый цвет.

Синтаксис
overlay_color [color] {opacity} {fade} |skip|
Параметры
Примеры использования
"..."
# выводит чёрный оверлей-цвет с непрозрачностью = 50% за 1 секунду
overlay_color black opacity 0.5 fade 1
"..."

# убирает overlay-цвет за 1 секунду
overlay_color clear fade 1

pause

Пауза.

Синтаксис
pause |hard| [duration]

Параметры

Пример использования
# обычная пауза на 5 секунд, которую можно пропустить кликом
pause 5

# hard-пауза на 5 секунд, которую нельзя пропустить
pause hard 5

 

posteffect

Включает эффект пост-обработки.

Синтаксис
posteffect [effectName]
Параметры
Пример использования
scene bg akihibara_day with dissolve
show hi
"..."

# включает эффект сепии
posteffect sepia

show hi hands2
hi "Это эффект сепии."

# включает хроматическую аберрацию
posteffect chromaticaberration

show hi laugh hands4
hi "Это хроматическая аберрация."

# отключает эффекты
posteffect none

show hi normal hands1
hi "А сейчас все эффекты выключены."

rollcredits

Показывает титры.

Текст титров берётся из меню "Помощь".

Синтаксис
rollcredits (duration)
Параметры

Пример использования

scene bg tokio_street_day with dissolve
rollcredits
Вложенные команды

Т.к. сценарий ожидает конца выполнения команды, все команды, прописанные после титров, будут выполнены только тогда, когда титры закончатся.

Чтобы выполнить какие-то команды во время показа титров, их нужно прописывать внутри команды rollcredits:

rollcredits
{
    scene bg akihibara_night with dissolve
    play music burita

    pause hard 10

    scene bg bar_inside with dissolve
}

sequence и trigger

sequence

Определяет последовательность команд, которую можно выполнить внутри сценария при помощи команды trigger или тэга <seq>.

Синтаксис
sequence [name]
{
   [commands]
}
Параметры
Пример использования
# вывод фона
scene bg school_corridor with dissolve

# определяет сиквенс hi_sad, который меняет эмоцию у спрайта Химицу
sequence hi_sad
{
   show hi sad
}

# вывод спрайта Химицу
show hi with dissolve

hi "Нико-кун! Рада, что ты пришёл в школу."

# Сиквенс запускается в тэге <seq>
"Привычно встрепенулась она, но тут же <seq hi_sad> помрачнела."

trigger

Делает то же самое, что и тэг <seq>, — запускает сиквенс — только отдельной командой.

Синтаксис
trigger [name]
Параметры
Пример использования
trigger hi_sad

unlock_ending

Разблокирует определённую концовку.

Синтаксис
unlock_ending [name]
Параметры
Пример использования
# разблокирует плохую концовку Элли
unlock_ending ellie_bad

 

 

with

Команда, у которой есть 3 назначения:

Синтаксис

with [transition] |strict|

Переход фона со спрайтами

Спавнит спрайты персонажей на фоне до того, как он появится на экране. Таким образом, фон будет выведен уже со спрайтами.

Для того, чтобы использовать команду для осуществления таких переходов, нужно прописать под командой вывода фона команды для вывода (или скрытия) спрайтов, затем под ними прописать команду with с необходимым переходом фона:

scene bg akihibara_night
show hi
show ca at right
with dissolve
# dissolve - переход фона

Таким образом, фон появится сразу со спрайтами:

Если у любой команды, стоящей выше with, будет указан переход — команда не сработает — будет предпринята попытка скомбинировать команды спрайтов, стоящих выше (до первого найденного перехода), или попытка осуществить переход экрана. Если ничего из этого не вышло, появится ошибка.

Переход нескольких спрайтов

Спавнит (или наоборот убирает) несколько спрайтов с одним переходом.

Возьмём пример выше и пропишем у команды scene собственный переход:

# у команды scene теперь собственный переход
scene bg akihibara_night with pattern bottomleft
show hi
show ca at right
with dissolve
# теперь dissolve - переход спрайтов

Теперь одновременно при помощи dissolve будут появляться только спрайты, т.к. у команды scene определён собственный переход:

Переходы экрана

Также команда with может использоваться для осуществления переходов экрана. Такой тип переходов будет автоматически подразумеваться, если выше нет команды для вывода фона и/или команд для вывода/скрытия спрайтов, или же у ближайшей команды указан собственный переход.

Если по какой-то причине вам нужно будет осуществить переход экрана, когда выше находятся другие команды без собственных переходов (scene, show, hide) — вы можете воспользоваться флагом strict. При указании этого флага, команда будет интерпретироваться только как команда для перехода экрана, игнорируя все вышестоящие команды.