📝Условия

Условия для диалога - это условия, которые применяются к сообщению, чтобы продолжить диалог с персонажем. К примеру, есть ли у игрока 16 яблок, если нет, то будут выполняться действия которые прописаны в deny_action, если да и у игрока есть 16 яблок, то будут выполнять действия дальше, которые идут в сообщении. Условия для появления - это условия, которые применяются к диалогу для появления персонажа и связи с ним диалога. К примеру, завершил ли игрок диалог под названием "SOME_DIALOG", если да, то появится персонаж с диалогом, который требовал это условие.

Все условия хранятся в файле: DialogMaker/conditions.yml

Условия для диалога

Есть ли у игрока предмет?

<название_условия>:
  type: HAS_ITEM
  requirement:
    item: <название_предмета>;<количество_предмета>

Есть ли у игрока деньги?

<название_условия>:
  type: HAS_MONEY
  requirement:
    money: <количество_денег>

Поддерживаются десятичные числа для количества денег.

Примеры условий для диалога:

Dialog:
  APPLE_PRESENT:
    type: HAS_ITEM
    requirement:
      item: APPLE;10
    deny_action:
      - 'message: У вас нету 10 яблок!'
  MELON_PRESENT:
    type: HAS_ITEM
    requirement:
      item: MELON_SLICE;12
    deny_action:
      - 'message: Недостаточно ломтиков арбузов!'
  WHEAT_PRESENT:
    type: HAS_ITEM
    requirement:
      item: WHEAT;32
    deny_action:
      - 'message: Необходимо 32 пшеницы!'

Условия для появления

Зашел ли игрок на сервер?

<название_условия>:
  type: PLAYER_JOIN
  requirement: []

Если игрок уже завершил этот диалог, то диалог не начнется при заходе на сервер.

Завершил ли диалог игрок?

<название_условия>:
  type: DIALOG_END  
  requirement:
    dialog: <название_диалога>

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

Примеры условий для появления:

Spawn:
  PLAYER_HAS_JOINED:
    type: PLAYER_JOIN
    requirement: []
  DIALOG_FINISHED:
    type: DIALOG_END  
    requirement:
      dialog: WHEAT_DIALOG

Last updated