banner
Valoración
Votado0

Núcleo de ranura de elemento reservado

0
Versión del mod:1
Versión del juego:2.0.37
El mod ha sido verificado exitosamente y está libre de virus
1749.29K21.24K

Reportar mod

  • image
modalImage

Acerca de este Mod

ReservedItemSlotCore

¡Compatible con V64!

El mod principal para todos los mods ReservedItemSlot.


Este mod es necesario para mis mods ReservedItemSlot, como ReservedFlashlightSlot y ReservedWalkieSlot.

Estos mods le darán ranuras dedicadas gratuitas en el inventario para los artículos respectivos. Estas ranuras aparecerán en el lado derecho de la pantalla, plegándose verticalmente.


No podrá cambiar a estas ranuras manualmente desplazándose por la pantalla. En su lugar, para cambiar a estos elementos, mantenga pulsada la tecla Alt (la tecla de acceso rápido predeterminada) y desplácese hacia arriba y hacia abajo para cambiar entre ellos.

Por lo que puede cambiar a estos elementos para lanzarlos, así como realizar otras actividades como la carga, almacenamiento, etc.


La captura de los elementos reservados, así como el cambio entre la barra de acceso principal y las ranuras de la barra de acceso reservada, deben sincronizarse entre los clientes utilizando este mod.

Si es apropiado, estos mods tendrán enlaces de teclas especiales para activar elementos sin tener que seleccionarlos ahora.


Todos los clientes que utilicen este modo principal se sincronizarán con el host y tendrán las mismas ranuras de elementos reservados independientemente de cuáles de las ranuras de elementos reservados mods hayan instalado.

El uso de ranuras reservadas para los elementos de host para los mods que no tiene no debería ser un problema, pero no podrá aprovechar las características de moda adicionales, como teclas de acceso rápido especiales para los elementos reservados, y no verá estos elementos reservados con los jugadores hasta que estén en el momento.

Esto puede cambiar o ajustarse en el futuro, pero esto se hace actualmente para tratar de mantener el mismo tamaño de inventario para que todos ayuden con la sincronización.

También puede ayudar a enviar ranuras reservadas para elementos a otros clientes desde el host, si agrego funcionalidad para crearlos en config, o si creo un mod ReservedCustomItemSlot que será un mod del lado del servidor.


~ El uso de este modo mientras el host no tiene este modo se ha permitido, pero se esperan errores y problemas fuera de sincronización. ¡Úsalo con precaución!

Este mod se deshabilitará nuevamente para clientes que no son anfitriones si el host no tiene este mod por varias razones.

Para aquellos que son lo suficientemente obstinados, se puede permitir por la fuerza en la configuración. ¡Te han advertido!



Comprar ranuras de artículos reservados (nuevo en 2.0.0)

Las ranuras reservadas para los artículos se pueden comprar en la terminal. Por el momento, la compra de tragamonedas reservadas desbloqueará la tragamonedas para cada jugador. Actualmente no hay forma de establecer su desbloqueo para cada jugador.

Puede ingresar "reservado" en el terminal para ver consejos sobre cómo comprar ranuras de artículos reservados.

Para los mods de Ranura de Artículo Reservado que admiten esta función, los precios se pueden configurar en config. Todos los artículos de ranuras reservadas que he hecho tienen estas configuraciones.

Los artículos de tragamonedas comprados se guardarán al guardar su juego. Salir del juego y volver a cargar el guardado debe volver a cargar todas las ranuras de elementos desbloqueadas anteriormente. Las tragaperras desbloqueadas se restablecerán cuando comiences un nuevo juego.

La compra de elementos de ranuras se puede deshabilitar en la configuración.


Personalizado

Cada modo de Ranura de elemento reservado debe admitir cada una de las siguientes configuraciones.

Añade soporte que permite a los mods de Ranura de Artículo Reservado establecer el precio de la ranura de artículo en configuración.

Agrega soporte para permitir que los mods de Ranura de elemento reservado configuren la prioridad de ranura de elemento en la configuración.

Cuanto mayor sea la prioridad, menor será el orden en que estarán en el lado derecho de la pantalla.

La prioridad negativa hará que las ranuras de elementos se muestren en el lado derecho de la pantalla si no está deshabilitada en la configuración.

Agrega soporte para agregar elementos adicionales a las ranuras reservadas en la configuración.

Agrega soporte para eliminar elementos existentes de las ranuras reservadas en la configuración.


Soporta InputUtils

Todas las teclas de acceso rápido necesarias para este modo se pueden controlar en el menú contextual del juego.

InputUtils no es una dependencia, pero se recomienda!


Compatibilidad con API (ejemplos a continuación)

Agrega funciones de API que permiten a los desarrolladores crear fácilmente sus propios mods de Ranura de elementos reservados o agregar sus propios elementos a las Ranuras de elementos reservados existentes.

Al crear ReservedItemData para un elemento específico, los desarrolladores pueden especificar el hueso de destino al que se adjuntará el elemento al jugador (y al enemigo en la máscara), así como especificar el desplazamiento de posición/rotación.

Modas de My ReservedItemSlot

RanuraLinternaReservada

RanuraWalkieSlot reservada

RanuraArmaReservada

Ranura de utilidad reservada

RanuraDePinturaDeSprayReservada

Otros mods de Ranura de Artículo Reservado pueden existir en Thunderstore!


Compatibilidad de modo

¡HotbarPlus es compatible!

¡El cinturón de utilidades de LethalThings es (o debería ser) compatible! (Espero que siga siendo así.)

Este mod puede no funcionar bien con Advanced Company. ¡Úsalo bajo tu propio riesgo!

No se garantiza que otros mods que agreguen ranuras de barra de acceso rápido funcionen.

Otros mods que pueden cambiar el diseño de las ranuras de la barra caliente (HUD) no garantizan un buen trabajo con estos mods, pero técnicamente pueden funcionar.


Si lo has leído hasta este punto y te gusta mi moda.

¡Por favor, apóyenme aquí!

Esto no es necesario, ¡pero te lo agradecería! =)





Ejemplos de API

En primer lugar, asegúrese de agregar la última versión de ReservedItemSlotCore.dll a las referencias del proyecto VS.

NOTA

Agregar elementos que no existen (ya sea por error o desde un mod descargado) a ReservedItemSlotData no romperá nada.

Agregar un elemento a un ReservedItemSlotData existente que se creó a partir de un mod descargado no interrumpirá nada.


Agregue sus artículos de moda a una ranura de artículos reservados existente

Esta clase se usará para agregar elementos de su mod a ranuras de elementos reservados existentes que hayan sido creadas por otro mod, y si ReservedItemSlotCore está habilitado.


Crea una clase como esta en un archivo separado.


usando ReservedItemSlotCore.Data;



clase estática pública ReservedItemSlotsCompat

{

  vacío estático público AddItemsToReservedItemSlots()

  {

    // Nombre de tu artículo tal y como se muestra en el juego

    ReservedItemData = new ReservedItemData("ItemDisplayName");

     

    // Está bien si el mod que creó esta ranura para el elemento no está habilitado en el cliente. Nada se romperá

    ReservedItemSlotData.TryAddItemDataToReservedItemSlot(myReservedItemData, "nameOfItemSlot");

  }

}


O para hacer que tu artículo sea visible al usar una funda:



Uso de ReservedItemSlotCore.Data


clase estática pública ReservedItemSlotsCompat

{

  vacío estático público AddItemsToReservedItemSlots()

  {

    // Argumentos: ItemDisplayName, ParentBone(enum), PositionOffset, RotationOffset

    ReservedItemData myReservedItemData = nuevo ReservedItemData("ItemDisplayName", PlayerBone.Spine3, nuevo Vector3(0.2f, 0.25f, 0), nuevo Vector3(90, 0, 0);

   

    // Está bien si el mod que creó esta ranura para el elemento no está habilitado en el cliente. Nada se romperá

    ReservedItemSlotData.TryAddItemDataToReservedItemSlot(myReservedItemData, "nameOfItemSlot");

  }  

}


Y en el método Awake (o Start) en la clase Plugin, agregue esto: (preferiblemente después de enlazar las configuraciones)

Si su mod no depende de ReservedItemSlotCore, sino que solo agrega opcionalmente sus artículos a Reserved Item Slots, si existen, entonces es muy importante verificar si este mod está habilitado.


if (BepInEx.Bootstrap.Chainloader.PluginInfos.ContainsKey("FlipMods.ReservedItemSlotCore")

  ReservedItemSlotsCompat.AddItemsToReservedItemSlots(); // Esta será una llamada a su función


Por último, pero no menos importante, agregue este encabezado SoftDependency encima de la definición de la clase de complemento

Si su mod depende de ReservedItemSlotCore, puede cambiar BepInDependency.DependencyFlags.SoftDependency a BepInDependency.DependencyFlags.HardDependency.


[BepInDependency("FlipMods.ReservedItemSlotCore", BepInDependency.DependencyFlags.SoftDependency)] // Agregar esta línea

[BepInPlugin("EXAMPLE_MOD_GUID", "EXAMPLE_MOD_NAME", "1.0.0")] // DEBE TENER ESTA CADENA BAJO LA DEFINICIÓN DE SU CLASE DE PLUGIN.

complemento de clase pública: BaseUnityPlugin

{

  ...

}


Crear su propio ReservedItemSlot

Un ejemplo de creación de su propio ReservedItemSlotData y la adición de sus artículos de moda (o elementos existentes en el juego) a una ranura de elementos.

Incluye este código en el método Awake (o Start) de tu clase Plugin. No es necesario crear un archivo o clase independiente para agregar este código.


usando ReservedItemSlotCore.Data;


// ASEGÚRESE DE PONER ESTE ENCABEZADO SOBRE LA CLASE DE COMPLEMENTO

[BepInDependency("FlipMods.ReservedItemSlotCore", BepInDependency.DependencyFlags.HardDependency)]

[BepInPlugin("EXAMPLE_MOD_GUID", "EXAMPLE_MOD_NAME", "1.0.0")] // DEBE TENER ESTA CADENA DESPUÉS DE DEFINIR SU CLASE DE PLUGIN.

complemento de clase pública: BaseUnityPlugin

{

  privado void Awake()

  {

    // Su código existente...


     // Esto registrará su ReservedItemSlotData y se agregará al juego si el host está ejecutando mod.

    // Argumentos: ItemSlotName (formato no demasiado importante), ItemSlotPriority, ItemSlotPrice

    ReservedItemSlotData ("my_item_slot_name", 20, 100);


    // Crear datos ReservedItemData para el elemento

    // También puede agregar argumentos adicionales para permitir que este elemento aparezca en los jugadores cuando está en la funda. (ver ejemplo anterior)

    ReservedItemData = new ReservedItemData("ItemDisplayName");


    // Agregue ReservedItemData a ReservedItemSlotData y listo.

    myReservedItemSlot.AddItemToReservedItemSlot(myReservedItemData);

  }

}


Otras funciones API

Aquí hay algunos ejemplos de cómo puede recibir y administrar elementos de jugador reservados.


PlayerControllerB = StartOfRound.Instance.localPlayerController;

para (int i = 0; i < SessionManager.numReservedItemSlotsUnlocked; i++)

{

  ReservedItemSlotData = SessionManager.GetUnlockedReservedItemSlot(i);

  if (itemSlotData != null)

  {

    // Obtiene el índice de esta ranura de artículo en el inventario del jugador

    int indexInPlayerInventory = itemSlotData.GetIndexInInventory(localPlayerController); // se puede transferir cualquier controlador gamer



    // Obtiene el objeto que el jugador especificado tiene actualmente en esta ranura o devuelve null

    GrabableObjectheldObjectInSlot = itemSlotData.GetHeldObjectInSlot(localPlayerController); 



    // Recibe el marco de la ranura de artículo (componente de imagen en HUD) para esta ranura de artículo. Se aplica solo al reproductor local

    Image itemSlotFrameHUD = itemSlotData.GetItemSlotFrameHUD();



    // Para comprobar si una ranura de elemento reservado aceptará un determinado elemento (nombre del elemento tal y como se ve en el juego)

    // También puede pasar el enlace a GrabableObject

    if (itemSlotData.ContainsItem("Linterna"))

      Plugin.Log ("Esta ranura contiene una linterna");

  }

}


Si está creando su propio ReservedItemSlotData, no olvide incluir también esta línea en su lista de dependencias manifest.json.

"FlipMods-ReservedItemSlotCore-2.0.7"



Si desea ver más ejemplos, no dude en echar un vistazo a mi moda ReservedItemSlot existente en github!

¡Si cree que me perdí algo, o que enfrenté algún problema, por favor hágamelo saber! Soy bastante activo en el disco de modding de la Compañía Letal, ¡así que encuéntrame!

También puede dejar un informe de cualquier problema en github para esta moda!

Mods/Addons similares

Versión del Juego *

2.0.37 (FlipMods-ReservedItemSlotCore-2.0.37.zip)