Описание
Мод создает валютную систему для выделенных серверов, с помощью которой игроки могут зарабатывать валюту и покупать сундуки с наградами.Этот мод состоит из двух частей.
- Во-первых, он создает серверные записи для каждого игрока Steam, который входит на сервер, и различными способами награждает их внутриигровой валютой.
- Во-вторых, он предоставляет пользовательский интерфейс магазина на клиенте игры, для покупки сундуков с наградами.
Валютная система
Мод позволяет вознаграждать игроков следующими способами:
- Статическое вознаграждение за ежедневный вход.
- Дополнительные последовательные ежедневные награды за вход в систему, циклические или разовые.
- Онлайн-вознаграждение за интервал (по умолчанию поминутно).
Валютные записи хранятся на сервере в BepInEx/plugins/ServerRewards/PlayerInfo.
Существует возможность настройки начальной валюты для новых пользователей.
Пользователи с правами администратора также могут награждать валютой вручную с помощью игровой консоли (см. Команды консоли ниже).
Магазин наград
Игроки получают доступ к магазину наград, нажимая настраиваемую горячую клавишу (по умолчанию F10).
Магазин заполняется наградами указанными настройками сервера, которые могут быть приобретены игроками.
После покупка набора наград, сундуки с наградами появляются перед игроком, либо на земле, либо в надгробной плите.
Наборы наград определяются сервером в зависимости от конфигурации пакета (см. Ниже).
Сундуки с наградами в магазине
Сундуки с наградами в магазине могут быть созданы на сервере с использованием файлов JSON, например:
Код:
{
"id": "Shields",
"name": "Shields",
"price": 50,
"type": "Common",
"limit": 1,
"items": [
"ShieldWood,1,70,choice",
"ShieldBronzeBuckler,1,30,choice"
]
}
- id: должен быть уникальным
- name: отображаемое имя, может содержать форматирование и т. д.
- тип: настраиваемый тип, соответствующий имени файла изображения значка (см. ниже).
- limit: необязательный лимит на пользователя (установлен на 0 или опущен для неограниченного количества).
- items: список строк с информацией об элементе (см. ниже).
Наградные предметы
Запись элементов в пакете магазина использует следующий синтаксис:
Код:
"<name>,<amount>,<percentChance>,<chanceType>"
- name: должно быть именем респауна
- amount: Количество наград - если содержит знак минус, то будет считаться диапазоном, например от 5 до 10 даст случайное число от 5 до 10 включительно.
- percentChance: шанс наградить этим предметом
- chanceType: либо выбор, либо шанс. Если вы выбрали вариант, вы должны включить в список достаточное количество элементов, чтобы получить 100% шанс, и только один из них будет выбран случайным образом, как в приведенном выше примере. Если есть шанс, то это прямой шанс из 100 для каждого предмета, и может быть присуждено несколько предметов случайного типа или ни одного. Оба типа могут быть в одном сундуке.
Иконки сундука в магазине
Каждый сундук будет отображаться с иконкой, соответствующим его типу. На экземпляре клиента должен быть соответствующий png-файл с тем же именем, что и тип. Например, если вы создаете пакет с типом «Common», как в примере, вам понадобится файл png с именем Common.png.
Иконки магазина расположены на клиенте в BepInEx/plugins/ServerRewards/Assets. В моде есть четыре значка: Обычный, Редкий, Эпический и Легендарный.
- Для работы этого мода требуются следующие моды
- Установка
-
- Скачать и распаковать архив Server Rewards.
- Переместить файл ServerRewards.dll и папку ServerRewards в BepInEx/plugins на сервере и в игре BepInEx\plugins.
- Перезапустить сервер и запустить игру, после этого будет создан конфиг aedenthorn.ServerRewards.cfg в BepInEx\config.
- Конфиг
-
[Colors]
- WindowBackgroundColor - Цвет фона окна магазина.
- TooltipBackgroundColor - Цвет фона всплывающей подсказки.
- TooltipTextColor - Цвет текста всплывающей подсказки.
- OpenUIKey - Кнопка для открытия магазина.
- UpdateInterval - Интервал обновления в секундах, только для сервер.
- UpdateIntervalReward - Денежная валюта, начисляемая за каждый интервал обновления.
- StaticLoginReward - Денежная валюта, начисляемая за вход в систему.
- ConsecutiveLoginReward - Вознаграждение денежной валютой за вход в систему в течение определенного количества дней подряд.
- ConsecutiveLoginRewardOnce - Вознаграждение за последовательный вход применяется только один раз, в противном случае сбрасывается и начинается с самого начала.
- PlayerStartCurrency - Количество стартовой валюты для всех новых игроков.
- Enabled - Включение\Отключение мода.
- IsDebug - Включение\Отключение журнала отладки.
- Testing - Включение\Отключение режима тестирования модов, заполняет магазин локально.
- NexusID - NexusID для обновления
- UseTombstone - Предметы появляются в надгробии перед игроком, а не на лежат на земле.
- StoreTitle - Заголовок окна магазина.
- CurrencyString - Валюта.
- MyCurrencyString - Моя валютная строка
- PackageString - Строка сундуков
- PackageInfoString - Строка награды для отображения над надгробием. {0} заменяется названием пакета, {1} заменяется именем игрока.
- RewardString - Строка награды, отображаемая при сбрасывании предметов в мире.
- WindowWidth - Ширина окна магазина.
- WindowHeight - Высота окна магазина
- WindowPosition - Расположение окна магазина.
- PackagesPerRow - Сундуков с наградами в одной строке.
- TitleFontSize - Размер заголовка окна магазина.
- CurrencyFontSize - Размер информации о стоимости.
- LabelFontSize - Размер текста с названием сундука.
- TooltipFontSize - Размер текста всплывающей подсказки
- CoinBeforeAmount - Отображать значок валюты перед суммой? В противном случае после.
- Команды управления
-
Консоль открывается нажатием F5. Консольные команды для этого мода включают:
- serverrewards list users
- serverrewards list packages
- serverrewards give <steamIdOrUsername> <currency>
- serverrewards give all <currency>
- serverrewards set <steamIdOrUsername> <currency>
- serverrewards set all <currency>
- serverrewards givepackage <steamIdOrUsername> <packageName>
- serverrewards givepackage all <packageName>
- serverrewards spawn <spawnName>