Skip to content

Latest commit

 

History

History
60 lines (53 loc) · 2.81 KB

dialogue.md

File metadata and controls

60 lines (53 loc) · 2.81 KB

О диалогах

Для реализации общения с NPC мы можем использовать диалоги.

Структура данных

Диалог - это JSON-объект, внутри которого используются другие структуры. Ниже приведена таблица со всеми KV-парами данного JSON-объекта.

Ключ Описание Тип Стандартное значение
id id данного диалога string
text Текст, который NPC даст при открытии диалога. При значении null NPC ничего не говорит string|null null
buttons Кнопки данного диалога Button[]
conditions Условия данного диалога string[]

*Все элементы у которого отсутствует стандартное значение обязательны для ввода

Типы данных, используемые в таблице:

  • string - Обычная строка. Пример:
    "Какая-то строка"
  • null - Null-тип. Имеет только единственное значение(null). Обозначает отсутствие объекта.
  • Button - Структура данных кнопки диалога.
  • Если после имени типа данных присутствует [], то это обозначает, что это массив данного типа. Пример:
    [
      "Это кажется массив строк.",
      "Да, это массив строк.",
      "Круто!"
    ]

Инструкция по созданию диалога

  1. Для создания диалога можно воспользоваться примером ниже или достать его из папки plugins/Expo/example_dialogue.json.
  2. После того как мы завершили его создание, мы сохраняем файл в виде id_диалога.json, куда мы подставляем наш id диалога.
  3. Скидываем файл в папку plugins/Expo/dialogues и вводим команду /expo reload для перезагрузки контента.

Пример диалога

{
  "id": "test_dialogue",
  "text": "Какой-то текст",
  "buttons": [
    {
      "text": "Какой-то текст у кнопки",
      "action": "none",
      "conditions": [
        "test 2 4 6"
      ]
    },
    {
      "text": "Какой-то другой текст у кнопки",
      "action": "none Паккаааааааа :D"
    }
  ],
  "conditions": [
    "test 1 2 3"
  ]
}