Skip to content

uonline/unify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 

Repository files navigation

unify

uonline data files.

Спецификация формата hi-tech

Формат hi-tech - подмножество формата Markdown, поэтому он одинаково легко понятен и человеку, и компьютеру. Приятным побочным эффектом является также то, что гитхаб показывает такие файлы не просто в виде текста, а с правильным форматированием.

Файлы формата hi-tech имеют расширение .ht.md. Двойное расширение имеет смысл: это Markdown, пригодный для автоматической обработки.

Структура каталогов

Каждая папка описывает зону. Название папки имеет вид название зоны - метка. Если папка вложена в другую папку, то к метке этой зоны добавляется метка родительской зоны через дефис. Например, дана такая структура каталогов:

Кронт - kront/
 Окрестности Кронта - outer/
  Пещера - cave/

В этом случае зоны получат метки kront, kront-outer и kront-outer-cave соответственно. При этом названия зон не меняются.

В каждой папке лежат данные зоны. На данный момент это один файл - map.ht.md. Он описывает локации внутри зоны.

map.ht.md

Файл имеет следующую структуру:

# Название зоны (должно совпадать с содержащимся в названии папки)

Описание зоны.

### Локация 1 `метка локации 1` (initial)

Описание локации 1.

Абзацы должны разделяться пустой строкой.

* Перейти на локацию 1 `location`
* Перейти на локацию 2 (в другой зоне) `zone2/location2`

### Локация 2 `метка локации 2`

Бла-бла-бла.

* Пойти туда-то `zone3/something`

Если название зоны, указанное в файле, не совпадает с указанным в папке - это фатальная ошибка.

Описание перехода имеет вид:

надпись на кнопке `целевая локация`

Если целевая локация находится в этой же зоне, то пишется просто её метка, иначе - метка вида зона/локация, например, kront-outer/location1. Таким образом, две локации с одинаковыми метками, но в разных зонах, не будут мешать друг другу.

Если после метки локации написано (initial), то она становится локацией по умолчанию - именно на ней будут появляться новые игроки. Локация по умолчанию может быть только одна на всю игру.

Ошибки

  1. Ссылка на несуществующую локацию.
  2. Переход без метки.
  3. Локация без метки.
  4. Зона без метки (в имени каталога).
  5. Название зоны, выведенное из имени каталога, не совпадает с обозначенным в файле.
  6. Не определена локация по умолчанию.
  7. Две локации с одной и той же меткой.
  8. выпилено
  9. Более одного изображения в локации.
  10. В описании изображения ![str1](str2) не совпадают str1 и str2.
  11. Более чем одна локация по умолчанию.
  12. Название зоны объявлено два раза.
  13. Переход вне локации.
  14. Изображение вне локации.
  15. Две зоны с одной и той же меткой.

Предупреждения

  1. В начале строки есть #, но нет пробела. Она будет считаться текстовой строкой, но скорее всего имелась в виду зона.
  2. В начале строки есть ###, но нет пробела. Она будет считаться текстовой строкой, но скорее всего имелась в виду локация.
  3. В начале строки есть *, но нет пробела. Она будет считаться текстовой строкой, но скорее всего имелся в виду переход.
  4. Строка из одних пробелов.
  5. Висячие пробелы в конце строки.
  6. Пробелы в начале строки (в hi-tech нет мест, где они требуются).
  7. Перед обозначением зоны есть непустые строки (они игнорируются парсером).
  8. Надпись на переходе заканчивается точкой (это не предложение, так что там точка не нужна).
  9. Два перехода в одно и то же место.
  10. Текст после метки локации (он игнорируется парсером). Это касается как переходов, так и заголовков локаций.

About

uonline data files

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published