Главная/Документация/Модификации/DayZMapManager

DayZMapManager

DayZMapManager

DayZMapManager — модификация, добавляющая в игру удобную интерактивную карту.

Карта открывается мгновенно по нажатию клавиши M, позволяя быстро ориентироваться на местности и получать необходимую информацию прямо во время игры.


Содержимое архива

В архиве находятся файлы, необходимые для корректной работы модификации:

DayZMapManager.pbo

Основной файл модификации. Устанавливается на клиентскую часть игры.

DZMM

Папка с конфигурацией модификации.

Её необходимо полностью поместить в папку profiles на сервере.


Содержимое конфигурации

В папке конфигурации находятся следующие файлы:

config.json

Отвечает за настройки интерфейса.

Здесь можно задать цвет активных кнопок и другие визуальные параметры карты.

locale.loc

Файл локализации модификации.

Позволяет перевести интерфейс на любые языки или изменить существующие тексты.

server_markers.json

Файл для настройки серверных маркеров на карте.

С его помощью можно добавлять важные точки, зоны или другие объекты, которые будут отображаться игрокам.

server_markers.json

{
	"markers": [
		{
			"active": true, // true/false - включение/отключение маркера
			"marker_color": [0, 0, 255], // RGB - Цвет маркера 
			"name": "Название маркера", // Название маркера
			"marker_image": "$DZMM/new_markers/mark.edds", // Путь до иконки маркера
			"marker_type": "area", // Тип маркера point - точка и area - зона
			"radius": 200, // Радиус зоны
			"position": [ // Позиция размещения маркера
				4572.84, // х
				90.8049, // y
				3468.37 // z
			]
		},
		{
			"active": true,
			"marker_color": [0, 255, 0],
			"name": "Название маркера2",
			"marker_image": "$DZMM/new_markers/mark.edds",
			"marker_type": "Point",
			"position": [
				4008.29,
				70.0338,
				4209.53
			],
			"allow3d": false // true/false - включение/отключение 3d маркера для игроков
		}
	]
}

Стандартные пути маркеров

В модификации уже предусмотрен набор стандартных иконок маркеров, которые можно использовать для отображения объектов и точек интереса на карте.

Доступные пути к стандартным маркерам:

"$DZMM/new_markers/box.edds"
"$DZMM/new_markers/car.edds"
"$DZMM/new_markers/home.edds"
"$DZMM/new_markers/mark.edds"
"$DZMM/new_markers/stash.edds"
"$DZMM/new_markers/zombie.edds"

Эти иконки можно использовать в конфигурации серверных маркеров для отображения различных типов объектов на карте.


Создание собственного маркера

Если стандартных иконок недостаточно, вы можете добавить собственный маркер.

Для этого необходимо:

  1. Создать собственную модификацию.
  2. Добавить иконку в формате .edds в папку вашего мода.
  3. Указать путь к иконке в конфигурации маркеров.

Пример пути к пользовательскому маркеру:

"MY_MOD/data/icons/icon.edds"

Горячие клавиши

Для удобства использования модификации предусмотрены быстрые клавиши управления картой и маркерами.

Ь — открытие игровой карты.

Позволяет мгновенно открыть карту прямо во время игры.

Ъ — скрывает или показывает все 3D-маркеры.

Используется для временного отключения отображения маркеров в игровом мире, чтобы не загромождать экран и сосредоточиться на игровом процессе.



В модификации предусмотрено API для добавление и удаление сессионных маркеров в процессе игры

// Получаем доступ к серверной модели модификации.
// Через неё выполняется управление маркерами: добавление, удаление и изменение.
DZMM_ServerModel model = DZMM_ServerModel.GetInstance();

// Создаём экземпляр маркера.
// Далее заполняются его основные параметры.
DZMM_MarkerData data = new DZMM_MarkerData();

// Название маркера, которое будет отображаться на карте.
data.name = "My Marker";

// Позиция маркера в мире (формат: X Y Z).
data.position = "5000 0 5000";

// Путь к иконке маркера.
data.marker_image = "$DZMM/point.edds";

// Цвет маркера (RGB).
data.marker_r = 255;   // Красный канал
data.marker_g = 128;   // Зелёный канал
data.marker_b = 0;     // Синий канал

// Тип маркера (например: point, area и т.д.).
data.marker_type = "point";

// Активность маркера (true — отображается, false — скрыт).
data.active = true;

// Добавляем маркер в игровую сессию.
// Описание аргументов.
// "My Category" — название категории маркеров. (string)
// Если категории не существует, она будет создана автоматически.
// data — содержимое маркера. (DZMM_MarkerData)
// true — включает отображение 3D-маркера в игровом мире. (bool)
int id = model.AddSessionMarker("My Category", data, true);. 

// ─────────────────────────────────────────────────────────────────────────────
// Пример использования: AddSessionMarkerForPlayer — маркер для конкретного игрока
// ─────────────────────────────────────────────────────────────────────────────
// Принцип тот же, что и выше, но маркер отправляется только одному игроку.
// Игрок идентифицируется по PlainId (SteamID без двоеточий, например "76561198085441104").
//
// Если игрок не в сети в момент вызова — маркер сохраняется на сервере и будет
// автоматически отправлен ему при следующем подключении.
//
// Аргументы:
//   "76561198085441104" — PlainId целевого игрока (string).
//   "My Category"       — название категории (string).
//   data                — содержимое маркера (DZMM_MarkerData).
//   true                — включить 3D-маркер (bool).
// Возвращает ID маркера. Удаление — model.RemoveSessionMarker(id) — работает для всех игроков.
//   int id = model.AddSessionMarkerForPlayer("76561198085441104", "My Category", data, true);