Набор утилит на 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]