Вход
Приветствую Вас Гость
 

easy.dialog v.3.0.0

Термины и понятия, применяемые в данном руководстве

  • Тег — особая метка в тексте, отмечающая вхождение рассматриваемого текста. Теги могут быть открывающие и закрывающие, а так же одиночные. Комплекс из открывающего и закрывающего тегов может называться двойным тегом или сдвоенным тегом.
  • Содержимое тега — рассматриваемый текст, место вхождения которого обозначено тегами, или тегом. Может использоваться понятие "значение тега". Числовое значение здесь условно обозначается [#значение], а текстовое - [$значение]. Вместо слова "значение" может употребляться "число", "текст", "шестнадцатеричное число", и другие слова и словосочетания. Если содержимое тега принимает конечное число значений, это будет показано перечислением этих значений через вертикальную черту в квадратных скобках [одно значение|второе значение|третье значение].
  • Диалог — объект, включающий в себя Роли и Реплики, а так же ряд необходимых установок. Именно Диалоги воспроизводятся интерпретатором.
  • Команда — слово или группа слов, которые провоцируют выполнение определённых операций или действий, запуск механизмов.
  • Конструкция — текст, записанный по определённым правилам.
  • Реплика — текст, заключённый между тегами реплик. Может включать в себя произносимую фразу, другие теги, команды, конструкции. Реплики бывают пассивными (questions) и активируемыми (answers). Пассивные реплики как правило отдаются персонажам, с которыми взаимодействует игрок, в то время, как активируемые реплики — являются вариантами выбора, из которых игроку предложено выбирать.
  • Герой — персонаж, которым непосредственно управляет игрок.
  • Актёр — персонаж, которым игрок не может управлять непосредственно, NPC, непись.
  • Фраза — фраза героя или актёра, которая будет выведена на экран после обработки реплики. Фраза (иногда называется "текст реплики") - единственное содержимое реплики, которое не нужно облекать в специальные конструкции, или помещать между тегами.
  • Интерпретация реплики — процесс извлечения всех конструкций и фразы из реплики, а так же выполнение конструкций и команд, воспроизведение фразы в виде текста, выводимого на экран.
  • Пустая реплика — реплика, в которой отсутствует фраза.
  • Узел — реплика, в которую вложена другая реплика.
  • Родительская реплика — так называется узел по отношению к реплике, которая в него вложена. Реплика "F" - родительская реплика реплики "A". Ещё называется родителем. Всякий узел является родителем вложенной в него реплики. Родительские реплики могут также называться старшими репликами.
  • Дочерняя реплика — так называется реплика по отношению к реплике, в которую она вложена. Реплика "A" - дочерняя реплика реплики "F". Всякая реплика, вложенная в узел, является дочерней. Дочерние реплики также могут называться младшими репликами.
  • Корень — реплика, которая не вложена ни в одну другую реплику. Может называться также корневой репликой, нулевой репликой, начальной репликой.
  • Значение по умолчанию — значение, которое будет возвращено механизмом модуля "easy.dialog", если не указано, или ошибочно указано другое значение. Значения по умолчанию встроены в движок.
  • Уровень — счёт вложений реплик, степень вложения реплики. Если реплика вложена в корень - первый уровень. Если реплика вложена в реплику, вложенную в корень, - второй уровень. И так далее. Верхним (нулевым) уровнем при этом считается корень.
  • Ответвления — одноуровненвые реплики, вложенные в один и тот же узел.
  • Ветка — ответвление вместе со всеми вложенными в него репликами.
  • Финал — реплика, в которую не вложено ни одной другой реплики. Называется так же финальной репликой, конечной репликой, или последней репликой.
  • Роль — особый объект, вложенный в объект Диалог, который описывает внешний вид реплик при воспроизведении их от лица определённого персонажа.

Теги, конструкции, команды

  • {:[$текст]:} — теги, между которыми записываются реплики неиграбельных персонажей (далее: актёры, неписи, NPC, персонажи). Текст реплики выводится на экран автоматически. Теги пассивных реплик.
  • [:[$текст]:] — теги, между которыми записываются реплики персонажа, которым управляет игрок. Выводятся на экран в виде доступных игроку действий. При выборе действия, на экран выводится текст реплики. Теги активируемых реплик.
  • actors="[$список ролей]" — идентификаторы ролей текущего диалога, перечисленные через точку с запятой. Подробнее.
  • dialog_usrid="[$уникальное_название_дилога]" — пользовательский идентификатор диалога. Подробнее.
  • strings:[#число] — число фраз из лога диалога, одновременно видимых на экране. Подробнее.
  • btn_name:[$название кнопки]:btn_name — название кнопки, которое будет отображаться при интерпретации реплики. Подробнее.
  • actor_this:[$роль] — роль, применяемая к конкретной реплике, и не наследуемая вложенными репликами. Подробнее.
  • actor_act:[$роль] — роль для активируемых реплик, наследуемая всеми вложенными репликами. Подробнее.
  • actor_pass:[$роль] — роль для пассивных реплик, наследуемая всеми вложенными репликами. Подробнее.
  • btn_length:[#число] — длина надписи на кнопке, если фраза оказывается слишком длинной. Подробнее.
  • repeat:[one|onced|cycle] — схема воспроизведения пассивных реплик. Подробнее.
  • shuffle:[random|straight] — порядок воспроизведения пассивных реплик. Подробнее.
  • selrepl.del — удаление выбранной реплики на время интерпретации диалога. Подробнее.
  • selrepl.kill — безвозвратное уничтоение реплики. Подробнее.
  • selbtn.del — удаление кнопки из списка кнопок, до последующего воспроизведения. Подробнее.
  • btn.fix — фиксирование кнопки вверху списка. Подробнее.
  • <frase_block>[$блок фраз]</frase_block> — блок фраз, которые выводятся на экран последовательной серией. Подробнее.
  • <if>[$условие]</if> — условие для воспроизведения реплики. Подробнее.
  • <dynamic_code>[$валидный код QSP]</dynamic_code> — динамический код, выполняемый при воспроизведении реплики. Подробнее.
  • marker:[$метка] — уникальная пользовательская метка реплики. Подробнее.
  • levelup:[#число] — воспроизвести реплику на указанное число уровней вверх. Подробнее.
  • leveljump:[$метка] — воспроизвести реплику с указанной пользовательской репликой. Подробнее.
  • closeup — закрыть диалог. Подробнее.
  • replic_app:[$метка] — подключение к диалогу реплики с указанной меткой. Подробнее.
  • <!--[$ текст комментария]--> — комментарий внутри реплики. Подробнее.

Допустимые формы записи тегов и их значений

Значением сдвоенного тега считается весь текст с самого первого символа сразу после открывающего тега, до последнего символа включительно перед закрывающим тегом.

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

Игнорируются все переводы строк и пробельные символы непосредственно после открывающего тега и непосредственно перед закрывающим для:

  • тегов реплик {: :} и [: :]
  • тегов <if></if>
  • тегов <dynamic_code></dynamic_code>
  • тегов <frase_block></frase_block>

Все переводы строк и пробельные символы сохраняются при получении и обработке значений для:

  • тегов btn_name: :btn_name
  • тегов <!-- -->

Это связано всего лишь с методами распознавания содержимого.

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

Ни в коем случае нельзя вкладывать одинаковые теги друг в друга. Запись типа

 <frase_block>
  Фраза
  <frase_block>
    фраза фраза фраза
  </frase_block>
  Ещё одна фраза
</frase_block>

недопустима. (Желательно вообще не вкладывать друг в друга теги edsynt, кроме непосредственно предписанных случаев).

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

Таким образом в одиночные теги можно помещать только непробельные символы.

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

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

Если одиночный тег помещается в сдвоенный тег и не заключается в скобки, он должен отделяться от тегов сдвоенного тега хотя бы одним пробелом. Запись типа

<!--marker:first_branch-->

недопустима.

Можно использовать запись

<!-- marker:first_branch -->

или

<!--(marker:first_branch)-->
Наверх