uonline data files.
Формат hi-tech - подмножество формата Markdown, поэтому он одинаково легко понятен и человеку, и компьютеру. Приятным побочным эффектом является также то, что гитхаб показывает такие файлы не просто в виде текста, а с правильным форматированием.
Файлы формата hi-tech имеют расширение .ht.md
. Двойное расширение имеет смысл: это Markdown, пригодный для автоматической обработки.
Каждая папка описывает зону. Название папки имеет вид название зоны - метка
. Если папка вложена в другую папку, то к метке этой зоны добавляется метка родительской зоны через дефис. Например, дана такая структура каталогов:
Кронт - kront/
Окрестности Кронта - outer/
Пещера - cave/
В этом случае зоны получат метки kront
, kront-outer
и kront-outer-cave
соответственно. При этом названия зон не меняются.
В каждой папке лежат данные зоны. На данный момент это один файл - map.ht.md
. Он описывает локации внутри зоны.
Файл имеет следующую структуру:
# Название зоны (должно совпадать с содержащимся в названии папки)
Описание зоны.
### Локация 1 `метка локации 1` (initial)
Описание локации 1.
Абзацы должны разделяться пустой строкой.
* Перейти на локацию 1 `location`
* Перейти на локацию 2 (в другой зоне) `zone2/location2`
### Локация 2 `метка локации 2`
Бла-бла-бла.
* Пойти туда-то `zone3/something`
Если название зоны, указанное в файле, не совпадает с указанным в папке - это фатальная ошибка.
Описание перехода имеет вид:
надпись на кнопке `целевая локация`
Если целевая локация находится в этой же зоне, то пишется просто её метка, иначе - метка вида зона/локация
, например, kront-outer/location1
. Таким образом, две локации с одинаковыми метками, но в разных зонах, не будут мешать друг другу.
Если после метки локации написано (initial)
, то она становится локацией по умолчанию - именно на ней будут появляться новые игроки. Локация по умолчанию может быть только одна на всю игру.
- Ссылка на несуществующую локацию.
- Переход без метки.
- Локация без метки.
- Зона без метки (в имени каталога).
- Название зоны, выведенное из имени каталога, не совпадает с обозначенным в файле.
- Не определена локация по умолчанию.
- Две локации с одной и той же меткой.
- выпилено
- Более одного изображения в локации.
- В описании изображения

не совпадают str1 и str2. - Более чем одна локация по умолчанию.
- Название зоны объявлено два раза.
- Переход вне локации.
- Изображение вне локации.
- Две зоны с одной и той же меткой.
- В начале строки есть
#
, но нет пробела. Она будет считаться текстовой строкой, но скорее всего имелась в виду зона. - В начале строки есть
###
, но нет пробела. Она будет считаться текстовой строкой, но скорее всего имелась в виду локация. - В начале строки есть
*
, но нет пробела. Она будет считаться текстовой строкой, но скорее всего имелся в виду переход. - Строка из одних пробелов.
- Висячие пробелы в конце строки.
- Пробелы в начале строки (в hi-tech нет мест, где они требуются).
- Перед обозначением зоны есть непустые строки (они игнорируются парсером).
- Надпись на переходе заканчивается точкой (это не предложение, так что там точка не нужна).
- Два перехода в одно и то же место.
- Текст после метки локации (он игнорируется парсером). Это касается как переходов, так и заголовков локаций.