Add mod documentation in seven languages
This commit is contained in:
1 parent
33a4351831
commit
2b642dc455
18 files changed
+582
-8
No files matched your search
+82
@@ -0,0 +1,82 @@
|
||||
# World Map Engine — путешествия между местами по нарисованной карте
|
||||
|
||||
World Map Engine показывает полноэкранную картинку игрового мира с отмеченными на ней местами. Игрок открывает карту, выбирает место и отправляется туда: игра переключается на сцену этого места. Сценарии могут открывать, закрывать, прятать и снова показывать места по ходу истории, и игра сохраняет эти изменения.
|
||||
|
||||
Её использует Cthangover. Это не то же самое, что тайловые карты RPG World: карта мира — одна картинка с областями, по которым можно щёлкать, и переход меняет сцену; тайловая карта — сетка, по которой герой идёт с клетки на клетку.
|
||||
|
||||
## Карта в игре
|
||||
|
||||
Открывается по иконке карты на панели инструментов.
|
||||
|
||||

|
||||
|
||||
- **Места** — области, нарисованные поверх картинки; их выдаёт штриховка. У некоторых мест есть ещё и круглая эмблема с иконкой.
|
||||
- **Легенда**: зелёный — где вы сейчас, золотой — доступно, серый — закрыто.
|
||||
- **Щёлкните место**, чтобы увидеть его карточку: состояние, описание и кнопку **Перейти**. Карту закрывают **Esc** или **×**.
|
||||
|
||||

|
||||
|
||||
**Перейти** переключает игру на сцену места:
|
||||
|
||||

|
||||
|
||||
Место закрыто — в карточке написано «Путь ещё не открыт.», а кнопки «Перейти» нет — когда сценарий его закрыл, когда у него нет сцены или когда его сцены нет в той игре, в которую играют.
|
||||
|
||||
## Как добавить карту мира в игру
|
||||
|
||||
Игре нужны две вещи в её модах:
|
||||
|
||||
1. **Картинка** — фон с именем `map` (например `backgrounds/map.png`).
|
||||
2. **Места** — JSON-файлы в папке `map/`. Все позиции — доли ширины и высоты картинки, от 0 до 1, поэтому карта работает при любом размере.
|
||||
|
||||
Вот вход в город из Cthangover (сокращённый пример):
|
||||
|
||||
```json
|
||||
{
|
||||
"Items": [
|
||||
{
|
||||
"ID": "town_entry",
|
||||
"points": [[0.7099, 0.2493], [0.7334, 0.2630], [0.7348, 0.2906], [0.7091, 0.3429], [0.6974, 0.3264]],
|
||||
"title": "",
|
||||
"scene": "town_entry",
|
||||
"description": "mapzone/town_entry/info",
|
||||
"locked": false,
|
||||
"hidden": false
|
||||
},
|
||||
{
|
||||
"ID": "town_entry_label",
|
||||
"points": [],
|
||||
"title": "mapzone/town_entry",
|
||||
"label_pos": [0.7246, 0.2163]
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
- `points` — контур области, по которой можно щёлкать.
|
||||
- `scene` — логическая сцена, на которую переключает «Перейти».
|
||||
- `title`, `description` — ключи переводов; title — имя места на его карточке и эмблеме.
|
||||
- `image` и `image_pos` — иконка и её позиция: так место получает круглую эмблему.
|
||||
- `label_pos` — отдельно стоящее имя на карте. Зона, у которой есть только title и позиция подписи (как `town_entry_label`), — это имя, а не место: щёлкнуть по ней нельзя.
|
||||
- `locked` — закрыто на старте; `hidden` — не показано на старте.
|
||||
|
||||
Cthangover держит имена своих мест в отдельных зонах-подписях и оставляет `title` самих мест пустым — поэтому на карточке выше нет имени наверху.
|
||||
|
||||
Карту мира также можно нарисовать и отредактировать в редакторе карт из Editor Tools.
|
||||
|
||||
## Изменение мест из сценария
|
||||
|
||||
```scenario
|
||||
action map.open_zone zone_id=town_entry
|
||||
action map.close_zone zone_id=town_entry
|
||||
action map.show_zone zone_id=town_entry
|
||||
action map.hide_zone zone_id=town_entry
|
||||
```
|
||||
|
||||
Изменение попадает в сохранение и остаётся после загрузки; новая игра стартует со значениями из JSON.
|
||||
|
||||
## Если что-то пошло не так
|
||||
|
||||
1. **«Карта недоступна».** Ни у одного мода игры нет фона с именем `map`.
|
||||
2. **В место нельзя попасть.** Его `scene` пуста или написана с ошибкой, либо сценарий его закрыл.
|
||||
3. **Место не на своём месте.** Позиции — это доли картинки (0–1), а не пиксели.
|
||||
Reference in new issue
Block a user