😎DayZSetManager 2.0.0

Мод предназначен для предоставления игрокам возможности выбора снаряжения и точки появления при возрождении.

Сначала прочитайте статью Установка модификации.

Возможности мода

  • Удобная и гибкая настройка снаряжения игрока.

  • Игрок может сам собрать свой уникальный набор из доступных предметов.

  • Игрок может сохранять собранный набор для быстрого выбора. Сохранённые наборы привязываются к серверу.

  • Возможность настройки персонального снаряжения для игрока по SteamID 64.

  • Блок "описание" для каждой вещи берется из конфигурации игры, а также информирует игрока о дополнительных предметах/аттачментах внутри или на предмете/оружии и т. д.

  • Блоке "содержимое" информирует игрока о всех предметах, которые он получит при появлении.

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

  • Есть возможность устанавливать к/д на появление в одной точке.

  • При выборе точке мод проверит наличие появляющихся/находящихся у точки других игроков и предупредит игрока об их наличии.

  • Если все точки находятся на к/д, игрок может выбрать случайную точку. Мод предпочтёт точку, у которой нет других игроков, при наличии такой, или предупредить игрока о наличии игроков.

  • После появления игрока и выдачи ему снаряжения, функция StartingEquipSetup из init.c будет вызвана, что позволит дополнительно настроить процесс появления игрока.

  • Мод поддерживает настраиваемую через файл на сервере локализацию.

  • Имеет интеграцию с модом @DayZShop.

Установка

Для установки мода:

  • Установите DayZSetManager.pbo как клиентскую модификацию.

  • Папку DZSM поместите в папку профиля вашего сервера.

  • Папку MagicByte поместите в папку профиля вашего сервера. Если такая папка есть, объедините их содержимое.

Конфигурация мода

В приведённых ниже файлах конфигурации используются комментарии (символ '//' и следующие после них слова). Используемый формат (JSON) не поддерживает комментарии, поэтому данные файлы не могут быть использованы в качестве файлов конфигурации.

Файл конфигурации набора

Файл конфигурации набора размещается по пути DZSM/sets/{название набора}.json. Название файла должно соответствовать названию набора. Файл использует формат JSON. Ниже приведён пример файла конфигурации набора под названием "Example Set". Отметим, что в данном файле конфгурации в некоторых местах не указываются поля, поэтому система использует их стандартные значения (значение "count" - "1", значение "quantity" - "1", значение "content" - "[]").

{
	"Definition": { //Обязательное поле, в котором описан сам набор
		"display": true, //Отображать ли набор в списке "сохранённые наборы"
		"slots": [ //Предметы, распределённые по категориям
			{
				"category": "Character", //Категория предмета. Может быть любым текстом.
				"classname": "SurvivorM_Mirek", //Класснейм предмета. В данном случае - персонаж.
				"content": //Что положить в предмет. В случае с персонажем - что выдать ему в инвентарь, если он будет выбран.
				[
					{
						"classname": "TShirt_Red", //Класснейм предмета
						"count": 1, //Сколько раз выдать предмет. Если поля нет, предмет будет выдан один раз.
						"quantity": 1, //Заполненность предмета/прочность/количество в стаке. Если поля нет, оно считается равным 1.
					        "UsePercentileQuantity": true // Процентное заполнение Quantity - true, точное заполнение Quantity - false.
                                         }
				]
			},
			{
				"category": "Bag", //Категория предмета. Может быть любым текстом.
				"count": 1, //Сколько раз выдать предмет. Если поля нет, предмет будет выдан один раз.
				"quantity": 1, //Заполненность предмета/прочность/количество в стаке. Если поля нет, оно считается равным 1.
			        "UsePercentileQuantity": true // Процентное заполнение Quantity - true, точное заполнение Quantity - false.
				"classname": "AssaultBag_Black", //Класснейм предмета
				"content": [ //Что положить в предмет
					{
						"classname": "CZ61", //Класснейм предмета
						"count": 2, //Сколько раз выдать предмет. Если поля нет, предмет будет выдан один раз.
						"content": [
							{
								"classname": "Mag_CZ61_20Rnd" //Класснейм предмета
							},
							{
								"classname": "PistolSuppressor" //Класснейм предмета
							}
						]
					}
				]
			}
		],
		"items": [ //Дополнительные предметы, которые игрок получит при появлении всегда, если у него есть доступ к этому набору
			{
				"count": 1, //Выдать предмет 1 раз
				"quantity": 1, //Заполненность предмета/прочность/количество в стаке. Если поля нет, оно считается равным 1.
			        "UsePercentileQuantity": true // Процентное заполнение Quantity - true, точное заполнение Quantity - false.
				"classname": "SodaCan_Cola", //Класснейм предмета
				"content": [] //Что положить в предмет. Если в предмет ничего не помещается, поле можно не указывать
			}
		], 
		"spawns": { //Настройки точек появления, которые игрок увидит, если у него есть доступ к этому набору
			"Example spawn": { //Точка под названием "Example spawn"
				"cooldown": 120, //К/д точки
				"points": [ //Набор реальных точек, среди которых будет выбрано место после выбора этой точки
					{
						"radius": 20, //Радиус проверки на игроков
						"position": "2500.000000 20.000000 2000.000000" //Координаты точки
					}
				],
				"position": "2500.000000 0.000000 2000.000000" //Отображаемая на карте позиция точки
			}
		},
	}
}

Если игрок имеет доступ к данному набору, то в меню у него в категории Character появится пункт с персонажем Mirek, на которого будет надета футболка, в категории "Bag" появится рюкзак, в котором будет лежать 2 CR-61 Skorpion, на каждом их которых будет закреплён глушитель и магазин на 20 патронов. Также игрок получит доступ к точке появления под названием "Example Set", расположенной на поверхности на координатах 2500 0 2000.

Глобальный файл конфигурации

Глобальный файл конфигурации находится по пути DZSM/config.json. Файл использует формат JSON.

{
        "UserSetsOverrideDefaultSets": true/false //Скрывать ли def наборы, если у игрока есть другие наборы. 
	"DefaultSets": [ //Список доступным всем наборов
		"Example Set", //Название набора
		"Test" //Название набора
	],
	"PreloadSets": [ //Список предзагружаемых наборов
		"Example Set" //Предзагружаемый набор
	]
}

В данном файле конфигурации можно настроить как доступные всем наборы, так и предзагружаемые наборы. Предзагружаемые наборы - это наборы, информация о которых читается из их файлов конфигурации в момент загрузки сервера. Эти наборы увеличивают время загрузки сервера, но не влияют на время открытия меню. Остальные наборы загружаются по необходимости. Загрузка такого набора начинается, когда впервые какой-либо игрок с доступом к нему открывает меню. Такие наборы влияют на время открытия меню в первый раз у первого игрока, которому потребовался такой набор.

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

Файл конфигурации игрока

Файл конфигурации игрока размещается по пути DZSM/users/{steamID64}.json. Файл использует формат JSON. Файл читается сервером при входе игрока, и обновляется при выходе игрока.

{
	"Cooldowns": { //Список к/д точек появления игрока
		"Example Set": { //Набор, из которого взяты точки
			"Example spawn": 1692032832 //Точки, взятые из набора, и Unix-timestamp времени, когда к/д закончится
		}
	},
	"AvailableSets": [ //Список доступных игроку наборов
		"Test" //Название набора
	]
}

Локализация

Файл локализации располагается по пути DZSM/locale.loc. Для инструкций по его изменению обратитесь к статье Редактирование файлов локализации. В файле локализации можно указывать id набора в качестве ключа (в таком случае оно не должно содержать пробелов), чтобы переводить названия наборов на клиенте.

Last updated