Шаблоны строк

Шаблоны строк позволяют создавать динамический текст, который меняется в зависимости от переменных или просто случайным образом. Это особенно полезно для создания разнообразных диалогов, отслеживания прогресса или создания более захватывающего игрового процесса, где актёры не повторяют одни и те же фразы как роботы.

Где можно использовать шаблоны

Шаблоны строк могут использоваться в нескольких блоках узлов сценария:

  • Блок "Сказать реплику"
  • Блок "Показать сообщение"
  • Блок "Выполнить шаблон"
  • Блок "Дать выбор", включая его варианты выбора
  • Блок "Спросить (да/нет)"

Синтаксис шаблонов

Whimtale поддерживает два основных варианта шаблонизации:

1. Подстановка переменных: ${переменная}

Вы можете вставить значение переменной, используя синтаксис ${имя переменной:

Привет, меня зовут ${characterName}!

Если переменная characterName содержит "Алиса", вывод будет таким: Привет, меня зовут Алиса!

2. Случайный выбор текста: {вариант1|вариант2|вариант3}

Вы можете выводить случайный текст из списка вариантов, используя символ вертикальной черты (|) в качестве разделителя:

{Добрый день|Привет|Здравствуй}, путник!

При каждом отображении этого текста Whimtale будет случайным образом выбирать одно из приветствий. Например, Здравствуй, путник!

Комбинирование шаблонов

Вы можете комбинировать оба варианта в одном тексте:

{Привет|Здарова|Здравствуй}, ${playerName}! У тебя ${flowerCount} цветов.

Возможный вывод: Привет, Куплинов! У тебя 5 цветов.

Экранирование шаблонов

Если вы хотите отобразить синтаксис шаблона как простой текст, вы можете экранировать его обратной косой чертой (\) перед символами $ и скобками:

Чтобы использовать переменные, введите \$\{имяПеременной\}. Чтобы вывести случайный результат, используйте \{то|сё\}.

В результате будет выведено следующее: Чтобы использовать переменные, введите ${имяПеременной}. Чтобы вывести случайный результат, используйте {то|сё}.

Использование шаблонов в блоках сценария

В блоках "Сказать реплику" и "Показать сообщение"

Когда актёр должен сказать что-то меняющееся:

  1. Добавьте блок "Сказать реплику" к вашему сценарию
  2. В поле текста введите свой шаблон:
Я смотрю, у тебя ${flowerCount} цветов. {Это здорово|Впечатляет|Как мило}!
Форматирование шаблонов

Если вам нужно сделать отображаемой переменной радужным или стилизовать его другим способом, убедитесь, что вы применяете стиль ко всему шаблону, включая $, { и }.

В блоке "Выполнить шаблон"

Блок «Выполнить шаблон» обрабатывает шаблон и позволяет вам сохранять результат в переменной или использовать в других блоках. Это полезно для:

  • Генерации случайных имён или описаний, которые будут постоянными;
  • Создания постоянных ответов, которые вы будете отображать не один раз;
  • Предварительной обработки сложного текста перед его отображением.
Подсказка: шаблоны рекурсивны

В любом блоке, если в получившемся тексте всё ещё есть символы шаблонизации, текст будет шаблонизирован повторно.

Например, у вас может быть переменная положительноеПрилагательное типа "строка" с содержимым {крутой|добрый|дружелюбный|смелый|спокойный|...}, и вы можете использовать её как Все знают, что он ${положительноеПрилагательное}, которое может превратиться во Все знают, что он крутой..

Примеры

Разнообразные приветствия NPC

{Доброе утро|Привет|Здравствуй}, путник.
{Добро пожаловать в нашу деревню!|Прекрасный день, не правда ли?|Чем я могу вам помочь сегодня?}

Диалог с показом прогресса квеста

У вас ${счётчикЦветов} из 10 цветов.
{Продолжайте искать!|Вы близки к цели!|Почти готово!}