Набор утилит на Python для работы с диалоговыми файлами.
python
rich
python-ron
-
parser.py
Реализует классParser
с методомparse()
, который превращает.dlg
-файл в словарьИспользование:
from parser import Parser
parser = Parser()
dialogue = parser.parse("dialogues/alice_bob_calse.dlg")
print("В этом диалоге", len(dialogue["marks"]), "бранчей")
-
printer.py
Печатает диалог из.dlg
-файла в консоль с оформлениемИспользование:
$ python printer.py dialogues/alice_bob_case.dlg
Алиса, зевая, заходит в комнату Боба
🥱 Алиса
Привет, Боб!
😀 Алиса
Сегодня такой хороший день!
С самого утра я чувствую воодушение и
радость!
...
-
player.py
Проигрывает диалог в консоли -
dlg2json.py
Конвертирует.dlg
в.json
Использование:
$ python dlg2json.py dialogues/alice_bob_case.dlg test.json
File has been saved as test.json
dlg2ron.py
Конвертирует.dlg
в.ron
characters.csv
хранит информацию о персонажах для проигрывания (alias,name,color)dialogues
— директория с.dlg
-файлами для вывода
Парсер использует спецификацию .dlg
из hpmor#8. Также в выводе поддерживается BBCode.
Для написания диалога используются спецсимволы в начале строки.
-
@
— обьявление говорящегоИспользование:
@alias:emotion //Начало реплики персонажа alias с эмоцией
-
:
— начало команды:menu
— создаёт меню из последующих командopt
:opt(#mark)
— добавляет опцию, отправляющую в бранч#mark
-
#
— начало бранча
Также //
делает весь последующий текст в строке комментарием
При использовании printer.py
и player.py
доступно форматирование BBCode, встроенное в модуль rich
. Теги:
b
жирныйi
курсивr
инверсия с фономs
зачёркнутыйu
подчёркнутый#
-код или имя из этого списка изменяет цвет
Использование:
Смотри, я говорю [b]жирным[/b], [i]курсивом[/i], [s]зачёркнутым[/s], [u]подчёркнутым[/u]