- Домой-
- Lethal Company-
- Моды для Lethal Company-
- Ядро ReservedItemSlotCore

Ядро ReservedItemSlotCore
Об этом моде
ReservedItemSlotCore
Совместим с V64!
Основной мод для всех модов ReservedItemSlot.
Этот мод необходим для работы моих модов ReservedItemSlot, таких как ReservedFlashlightSlot и ReservedWalkieSlot.
Эти моды дадут вам бесплатные выделенные слоты в инвентаре для соответствующих предметов. Эти слоты будут отображаться в правой части экрана, складываясь вертикально.
Вы не сможете переключиться на эти слоты вручную, прокручивая экран. Вместо этого для переключения на эти предметы нужно удерживать Alt (горячая клавиша по умолчанию) и прокручивать экран вверх и вниз, чтобы переключаться между ними.
Таким образом, вы можете переключаться на эти предметы, чтобы бросить их, а также выполнять другие действия, такие как зарядка, хранение и т. д.
Захват зарезервированных предметов, а также переключение между основным хотбаром и зарезервированными слотами хотбара должны синхронизироваться между клиентами, использующими этот мод.
Если это уместно, в этих модах будут специальные привязки клавиш для активации предметов без необходимости их текущего выбора.
Все клиенты, использующие этот основной мод, будут синхронизироваться с хостом и иметь одинаковые зарезервированные слоты предметов, независимо от того, какой из модов зарезервированных слотов предметов у них установлен.
Использование зарезервированных слотов для предметов от хоста для модов, которых у вас нет, не должно вызывать проблем, но вы не сможете воспользоваться дополнительными возможностями мода, такими как специальные горячие клавиши для зарезервированных предметов, и не увидите эти зарезервированные предметы у игроков, пока они не находятся в данный момент.
Это может измениться или быть скорректировано в будущем, но в настоящее время это сделано для того, чтобы попытаться сохранить одинаковый размер инвентаря у всех, чтобы помочь с синхронизацией.
Это также может помочь в отправке зарезервированных слотов для предметов другим клиентам с хоста, если я добавлю функциональность для их создания в конфиг, или если я создам мод ReservedCustomItemSlot, который будет модом на стороне сервера.
~Использование этого мода в то время, когда у хоста нет этого мода, было разрешено, но ожидайте ошибок и проблем с рассинхронизацией. Используйте с осторожностью!
Этот мод снова будет отключен для нехостовых клиентов, если у хоста нет этого мода по различным причинам.
Для тех, кто достаточно упрям, это может быть принудительно разрешено в конфиге. Вы были предупреждены!
Покупка зарезервированных слотов предметов (новое в 2.0.0)
Зарезервированные слоты для предметов можно купить в терминале. На данный момент покупка зарезервированных слотов разблокирует слот для каждого игрока. В настоящее время нет возможности настроить его разблокировку для каждого игрока.
Вы можете ввести «reserved» в терминале, чтобы просмотреть подсказки о том, как приобрести зарезервированные слоты предметов.
Для модов Reserved Item Slot, которые поддерживают эту функцию, цены могут быть настроены в конфиге. Все зарезервированные слоты предметов, которые я сделал, имеют такие конфиги.
Купленные слоты предметов будут сохранены в сохранении вашей игры. Выход из игры и повторная загрузка сохранения должны перезагрузить все ранее разблокированные слоты предметов. Разблокированные слоты будут сброшены при начале новой игры.
Покупка слотов предметов может быть отключена в конфиге.
Настраиваемый
Каждая из следующих конфигураций должна поддерживаться каждым модом Reserved Item Slot.
Добавляет поддержку, позволяющую модам Reserved Item Slot настраивать цену слота предметов в конфиге.
Добавляет поддержку, позволяющую модам Reserved Item Slot настраивать приоритет слота предмета в конфиге.
Чем выше приоритет, тем ниже по порядку они будут располагаться в правой части экрана.
Отрицательный приоритет заставит слоты предметов отображаться в правой части экрана, если это не отключено в конфиге.
Добавляет поддержку добавления дополнительных предметов в зарезервированные слоты в конфиге.
Добавляет поддержку удаления существующих предметов из зарезервированных слотов в конфиге.
Поддерживает InputUtils
Все необходимые горячие клавиши для этого мода могут управляться во внутриигровом меню привязки клавиш.
InputUtils не является зависимостью, но рекомендуется!
Поддержка API (примеры ниже)
Добавляет API-функции, с помощью которых разработчики могут легко создавать свои собственные моды Reserved Item Slot или добавлять свои предметы в существующие Reserved Item Slots.
При создании ReservedItemData для определенного предмета разработчики могут указать целевую кость, к которой будет прикреплен предмет у игрока (и врага в маске), а также задать смещение позиции/вращения.
Мои моды ReservedItemSlot
ReservedFlashlightSlot
ReservedWalkieSlot
ReservedWeaponSlot
ReservedUtilitySlot
ReservedSprayPaintSlot
Другие моды Reserved Item Slot могут существовать на Thunderstore!
Совместимость модов
HotbarPlus совместим!
LethalThings Utility Belt совместим (или должен быть совместим)! (надеюсь, так и останется).
Этот мод может плохо работать с Advanced Company. Используйте на свой страх и риск!
Работа других модов, добавляющих слоты для хотбаров, не гарантируется.
Другие моды, которые могут изменить расположение слотов хотбара (HUD), не гарантируют хорошей работы с этими модами, но технически могут работать.
Если вы дочитали до этого момента и вам нравятся мои моды.
Пожалуйста, поддержите меня здесь!
Это, конечно, не обязательно, но я буду очень признателен! =)
Примеры API
Прежде всего, убедитесь, что вы добавили последнюю версию ReservedItemSlotCore.dll в ссылки вашего проекта VS.
ПРИМЕЧАНИЕ
Добавление несуществующих предметов (по ошибке или из не загруженного мода) в ReservedItemSlotData ничего не нарушит.
Добавление элемента в существующий ReservedItemSlotData, который был создан из не загруженного мода, ничего не нарушит.
Добавление предметов вашего мода в существующий слот зарезервированных предметов
Этот класс будет использоваться для добавления предметов из вашего мода в существующие слоты зарезервированных предметов, которые были созданы другим модом, и если ReservedItemSlotCore включен.
Создайте класс, подобный этому, в отдельном файле.
using ReservedItemSlotCore.Data;
public static class ReservedItemSlotsCompat
{
public static void AddItemsToReservedItemSlots()
{
// Название вашего предмета, как оно отображается в игре
ReservedItemData myReservedItemData = new ReservedItemData(«ItemDisplayName»);
// Ничего страшного, если мод, создавший этот слот для предмета, не включен на клиенте. Ничего не сломается
ReservedItemSlotData.TryAddItemDataToReservedItemSlot(myReservedItemData, «nameOfItemSlot»);
}
}
ИЛИ, чтобы ваш предмет был виден при ношении в кобуре:
используя ReservedItemSlotCore.Data;
public static class ReservedItemSlotsCompat
{
public static void AddItemsToReservedItemSlots()
{
// Аргументы: ItemDisplayName, ParentBone(enum), PositionOffset, RotationOffset
ReservedItemData myReservedItemData = new ReservedItemData(«ItemDisplayName», PlayerBone.Spine3, new Vector3(0.2f, 0.25f, 0), new Vector3(90, 0, 0));
// Ничего страшного, если мод, создавший этот слот для предмета, не включен на клиенте. Ничего не сломается
ReservedItemSlotData.TryAddItemDataToReservedItemSlot(myReservedItemData, «nameOfItemSlot»);
}
}
И в метод Awake (или Start) в классе Plugin добавьте вот это: (желательно после привязки конфигов)
Если ваш мод не зависит от ReservedItemSlotCore, а только опционально добавляет ваши предметы в Reserved Item Slots, если они существуют, то проверка того, включен ли этот мод, очень важна!
if (BepInEx.Bootstrap.Chainloader.PluginInfos.ContainsKey(«FlipMods.ReservedItemSlotCore»))
ReservedItemSlotsCompat.AddItemsToReservedItemSlots(); // Это будет вызов вашей функции
И последнее, но не менее важное: добавьте этот заголовок SoftDependency над определением класса вашего плагина
Если ваш мод зависит от ReservedItemSlotCore, то вы можете изменить BepInDependency.DependencyFlags.SoftDependency на BepInDependency.DependencyFlags.HardDependency.
[BepInDependency(«FlipMods.ReservedItemSlotCore», BepInDependency.DependencyFlags.SoftDependency)] // Добавьте эту строку
[BepInPlugin(«EXAMPLE_MOD_GUID», «EXAMPLE_MOD_NAME», «1.0.0»)] // У ВАС ДОЛЖНА БЫТЬ ЭТА СТРОКА ПОД ОПРЕДЕЛЕНИЕМ ВАШЕГО КЛАССА ПЛУГИНА.
public class Plugin : BaseUnityPlugin
{
...
}
Создание собственного ReservedItemSlot
Пример создания собственного ReservedItemSlotData и добавления предметов вашего мода (или существующих предметов в игре) в слот предметов.
Включите этот код в метод Awake (или Start) вашего класса Plugin. Вам не нужно создавать отдельный файл или класс для добавления этого кода.
using ReservedItemSlotCore.Data;
// УБЕДИТЕСЬ, ЧТО ВЫ ПОМЕСТИЛИ ЭТОТ ЗАГОЛОВОК НАД КЛАССОМ ПЛАГИНА
[BepInDependency(«FlipMods.ReservedItemSlotCore», BepInDependency.DependencyFlags.HardDependency)]
[BepInPlugin(«EXAMPLE_MOD_GUID», «EXAMPLE_MOD_NAME», «1.0.0»)] // У ВАС ДОЛЖНА БЫТЬ ЭТА СТРОКА ПОСЛЕ ОПРЕДЕЛЕНИЯ ВАШЕГО КЛАССА ПЛУГИНА.
public class Plugin : BaseUnityPlugin
{
private void Awake()
{
// Ваш существующий код...
// Это зарегистрирует ваши ReservedItemSlotData и будет добавлено в игру, если на хосте запущен мод.
// Аргументы: ItemSlotName (формат не слишком важен), ItemSlotPriority, ItemSlotPrice
ReservedItemSlotData myReservedItemSlot = ReservedItemSlotData.CreateReservedItemSlotData(«my_item_slot_name», 20, 100);
// Создайте данные ReservedItemData для вашего элемента
// Вы также можете добавить дополнительные аргументы, чтобы позволить этому предмету отображаться на игроках, когда он находится в кобуре. (см. предыдущий пример)
ReservedItemData myReservedItemData = new ReservedItemData(«ItemDisplayName»);
// Добавьте ReservedItemData в ваш ReservedItemSlotData, и готово!
myReservedItemSlot.AddItemToReservedItemSlot(myReservedItemData);
}
}
Другие функции API
Вот несколько примеров того, как вы можете получать и управлять зарезервированными предметами игроков.
PlayerControllerB localPlayerController = StartOfRound.Instance.localPlayerController;
for (int i = 0; i < SessionManager.numReservedItemSlotsUnlocked; i++)
{
ReservedItemSlotData itemSlotData = SessionManager.GetUnlockedReservedItemSlot(i);
if (itemSlotData != null)
{
// Получает индекс этого слота предметов в инвентаре игрока
int indexInPlayerInventory = itemSlotData.GetIndexInInventory(localPlayerController); // можно передать любой контроллер игрока
// Получает объект, который в данный момент удерживается в этом слоте указанным игроком, или возвращает null
GrabbableObject heldObjectInSlot = itemSlotData.GetHeldObjectInSlot(localPlayerController);
// Получает рамку слота предмета (компонент изображения в HUD) для этого слота предмета. Применяется только для локального игрока
Image itemSlotFrameHUD = itemSlotData.GetItemSlotFrameHUD();
// Для проверки, примет ли зарезервированный слот для предметов определенный предмет (название предмета, как он выглядит в игре)
// Вы также можете передать ссылку на GrabbableObject
if (itemSlotData.ContainsItem(«Flashlight»))
Plugin.Log(«Этот слот содержит фонарик»);
}
}
Если вы создаете свой собственный ReservedItemSlotData, не забудьте также включить эту строку в список зависимостей в вашем файле manifest.json.
«FlipMods-ReservedItemSlotCore-2.0.7»
Если вы хотите посмотреть больше примеров, не стесняйтесь, посмотрите на мои существующие моды ReservedItemSlot на github!
Если вы считаете, что я что-то упустил, или столкнулись с какими-то проблемами, пожалуйста, дайте мне знать! Я довольно активен в дискорде моддинга Lethal Company, так что найдите меня!
Вы также можете оставлять сообщения о любых проблемах на github для этого мода!
Похожие Моды/Аддоны
Губкинские ботинки1.0.1Моды для Lethal CompanyLethal Company
Этот мод предназначен для улучшения многих шагов в Lethal Company с помощью Spongebob SquarePants fo...000
БумбоксРегулятор громкости1.0.1Моды для Lethal CompanyLethal Company
Регулировка громкости бумбоксаРежим, позволяющий регулировать громкость бумбокса, особенно полезный...000
Шунгит1.0.1Моды для Lethal CompanyLethal Company
Замените SFX в «Жучке-клопе» на различные клипы Шунгита.000
Костюмы Frickhen1.0.2Моды для Lethal CompanyLethal Company
больше костюмов и дерьмаобновленоснова обновлено, хочешь испытать бога?000
Динамический диапазон сканера1.0.0Моды для Lethal CompanyLethal Company
Динамический диапазон сканирования.Для каждого сканируемого узла может быть установлен свой диапазон...000
MetalGearMenu мод1.0.0Моды для Lethal CompanyLethal Company
Замените музыку из меню на музыку из меню MGS1. Рекомендуется Misophonics)000
СайКосметика1.1.0Моды для Lethal CompanyLethal Company
Sai Cosmetics.Больше плагинов компании для добавления косметики. Обновляется регулярно.Обновление/пу...000
Золотой костюм Фредди1.0.0Моды для Lethal CompanyLethal Company
Спасибо Festive_Arms за организацию оригинального костюма Фредди.Глаза загорелись и я стал Фредди.Уд...000
Пожарные лестницы1.0.1Моды для Lethal CompanyLethal Company
Лестница для аварийных выходовУстановите лестницу рядом с большинством аварийных выходов. Они могут...000
BearVids мод0.0.7Моды для Lethal CompanyLethal Company
#BearBoyTeam #BearModsНеинтересное видео со сжатым размером около 50 МБ.000
Эпикалл1.0.0Моды для Lethal CompanyLethal Company
Что он делает.Этот мод позволяет заменить стандартный звук игры на свои собственные файлы .wav/.mp3/...000
Смертельное исправление веса1.1.1Моды для Lethal CompanyLethal Company
Если вас когда-нибудь спрашивал друг: «Как лучше сделать это?», то этот мод для вас!Исправлена пробл...000
Mario 64 Piranha Plant Jester No Stem Version мод1.0.1Моды для Lethal CompanyLethal Company
Mario 64 Piranha Plant Jester (без ручки) - PokeTrainerЭта версия Mario 64 Piranha Plant не содержит...000
Тун Линк0.1.2Моды для Lethal CompanyLethal Company
Toon Link Suit v0.1.2Toon Link SuitИспользование.Поместите содержимое в папку bepinex/plugins и убед...000
Крейсцутц.1.0.1Моды для Lethal CompanyLethal Company
За тобой. ...... Вы ....... (Смерть от мины).000
Пакет для бумбокса.1.1.0Моды для Lethal CompanyLethal Company
Бумбокс.Бумбокс для меня и моих друзей.000
FunkyMCMoon мод1.0.0Моды для Lethal CompanyLethal Company
Модифицированный смертоносный minecraft moonhat.#FeaturesСумасшедший лут.Множество багов.Minecraft.М...000
Костюм LabMan1.0.0Моды для Lethal CompanyLethal Company
Костюм Дерпли v1.0.Добавьте тематический костюм Derply.000
БылиРичем1.0.3Моды для Lethal CompanyLethal Company
We're Rich.Мод, который переносит знаменитую песню Deep Rock Galactic «We're Rich» в Компанию.Просто...000
СаважПродсуиты1.1.2Моды для Lethal CompanyLethal Company
Дополнительная одежда v1.0.2О дополнительной одеждеДобавляет 8 стандартных костюмов в ваш гардероб в...000