banner
Avaliação
Votado0

Núcleo ReservedItemSlotCore

0
Versão do mod:1
Versão do jogo:2.0.37
O mod foi testado com sucesso e está livre de vírus
1749.29K19.61K

Denunciar mod

  • image
modalImage

Sobre este Mod

NúcleoSlotDeItemReservado

Compatível com V64!

O modo principal para todos os modos ReservedItemSlot.


Este modo é necessário para meus modos ReservedItemSlot, como ReservedFlashlightSlot e ReservedWalkieSlot.

Esses mods lhe darão slots dedicados gratuitos no inventário para os respectivos itens. Esses slots aparecerão no lado direito da tela, dobrando verticalmente.


Você não poderá alternar para esses slots manualmente rolando a tela. Em vez disso, para alternar para esses itens, mantenha pressionada a tecla Alt (a tecla de atalho padrão) e role para cima e para baixo para alternar entre eles.

Então você pode mudar para esses itens para jogá-los, bem como executar outras atividades, como carregamento, armazenamento, etc.


A captura dos itens reservados, bem como a comutação entre os slots da barra de acesso principal e da barra de acesso reservada, devem ser sincronizadas entre os clientes que usam esse modo.

Se apropriado, esses mods terão teclas especiais para ativar itens sem ter que selecioná-los agora.


Todos os clientes que usam esse modo principal sincronizarão com o host e terão os mesmos slots de item reservados, independentemente de qual dos modos de slots de item reservados eles instalaram.

Usar slots reservados para itens de host para mods que você não tem não deve ser um problema, mas você não será capaz de tirar vantagem de recursos de moda adicionais, como teclas de atalho especiais para itens reservados, e não verá esses itens reservados com jogadores até que eles estejam no momento.

Isso pode mudar ou ser ajustado no futuro, mas é feito atualmente para tentar manter o mesmo tamanho de inventário para todos para ajudar na sincronização.

Ele também pode ajudar no envio de slots reservados para itens para outros clientes a partir do host, se eu adicionar funcionalidade para criá-los na configuração ou se eu criar um modo ReservedCustomItemSlot que será um modo do lado do servidor.


~Usar este modo enquanto o host não tem este modo foi permitido, mas espera-se que ocorram erros e problemas fora de sincronia. Use com cuidado!

Este modo será novamente desabilitado para clientes que não são de host se o host não tiver esse modo por vários motivos.

Para aqueles que são teimosos o suficiente, pode ser forçosamente permitido em config. Você foi avisado!



Comprando slots de itens reservados (novo na versão 2.0.0)

Slots reservados para itens podem ser adquiridos no terminal. No momento, comprar slots reservados irá desbloquear o slot para cada jogador. Atualmente não há nenhuma maneira de definir seu desbloqueio para cada jogador.

Você pode digitar "reservado" no terminal para ver dicas sobre como comprar slots de itens reservados.

Para os mods de Fenda de Item Reservado que suportam esse recurso, os preços podem ser configurados na configuração. Todos os itens de slots reservados que fiz têm estas configurações.

Os itens de slots comprados serão salvos ao salvar seu jogo. Sair do jogo e recarregar o salvamento deve recarregar todos os slots de itens desbloqueados anteriormente. Os slots desbloqueados serão redefinidos quando você iniciar um novo jogo.

A compra de itens de slots pode ser desativada na configuração.


Personalizado

Cada uma das configurações a seguir deve ser suportada por cada modo de Slot de Item Reservado.

Adiciona suporte que permite que os mods de Fenda de Item Reservado definam o preço do slot de item na configuração.

Adiciona suporte para permitir que os mods de Slot de Item Reservado configurem a prioridade de slot de item na configuração.

Quanto maior for a prioridade, menor será a ordem no lado direito da tela.

Uma prioridade negativa fará com que os slots de item sejam exibidos no lado direito da tela se ela não estiver desabilitada na configuração.

Adiciona suporte para adição de itens adicionais aos slots reservados na configuração.

Adiciona suporte para a remoção de itens existentes de slots reservados na configuração.


Suporta InputUtils

Todas as teclas de atalho necessárias para este modo podem ser controladas no menu de atalho do jogo.

InputUtils não é uma dependência, mas é recomendado!


Suporte à API (exemplos abaixo)

Adiciona funções de API que permitem aos desenvolvedores criar facilmente seus próprios modos de Fenda de Item Reservado ou adicionar seus próprios itens aos Fendas de Item Reservado existentes.

Ao criar um ReservedItemData para um item específico, os desenvolvedores podem especificar o bone de destino ao qual o item será anexado ao player (e ao inimigo na máscara), bem como especificar o deslocamento de posição/rotação.

Minhas Modas de Slot de Item Reservado

SlotDeLanternaReservado

FendaCurvaReservada

SlotDeArmaReservada

SlotUtilitárioReservado

SlotDePinturaDePulverizaçãoReservado

Outros mods de slot de item reservado podem existir no Thunderstore!


Compatibilidade de Modo

O HotbarPlus é compatível!

LethalThings Utility Belt é (ou deve ser) compatível! (espero que continue assim.)

Este modelo pode não funcionar bem com a Advanced Company. Use por sua conta e risco!

Outros mods que adicionam slots de hotbar não funcionarão com certeza.

Outros mods que podem alterar o layout dos slots de hotbar (HUD) não garantem um bom trabalho com esses mods, mas podem funcionar tecnicamente.


Se você leu até agora e gosta da minha moda.

Por favor, me apóiem aqui!

Isso não é necessário, mas eu apreciaria! =)





Amostras de API

Primeiro, verifique se você adicionou a versão mais recente de ReservedItemSlotCore.dll às suas referências de projeto do VS.

NOTA

Adicionar itens que não existem (por engano ou de um modo descarregado) a ReservedItemSlotData não quebrará nada.

Adicionar um item a um ReservedItemSlotData existente que foi criado a partir de um modo descarregado não quebrará nada.


Adicione seus itens de moda a um slot de itens reservados existente

Essa classe será usada para adicionar itens do seu modo aos slots de itens reservados existentes que foram criados por outro modo e se ReservedItemSlotCore estiver habilitado.


Crie uma classe como esta em um arquivo separado.


usando ReservedItemSlotCore.Data;



classe estática pública ReservedItemSlotsCompat

{

  public static void AddItemsToReservedItemSlots()

  {

    // Nome do item como exibido no jogo

    ReservedItemData myReservedItemData = new ReservedItemData("ItemDisplayName");

     

    // Tudo bem se o mod que criou este slot para o item não estiver habilitado no cliente. Nada vai quebrar

    ReservedItemSlotData.TryAddItemDataToReservedItemSlot(myReservedItemData, "nameOfItemSlot");

  }

}


Ou para tornar seu item visível ao usar um coldre:



Uso de ReservedItemSlotCore.Data


classe estática pública ReservedItemSlotsCompat

{

  public static void AddItemsToReservedItemSlots()

  {

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

    ReservedItemData myReservedItemData = new ReservedItemData("ItemDisplayName", PlayerBone.Spine3, novo vetor3(0.2f, 0.25f, 0), novo vetor3(90, 0, 0));

   

    // Tudo bem se o mod que criou este slot para o item não estiver habilitado no cliente. Nada vai quebrar

    ReservedItemSlotData.TryAddItemDataToReservedItemSlot(myReservedItemData, "nameOfItemSlot");

  }  

}


E no método Despertar (ou Iniciar) na classe Plug-in, adicione isso: (de preferência após vincular as configurações)

Se o seu mod não depende de ReservedItemSlotCore, mas só opcionalmente adiciona seus itens aos Slots de Item Reservado, se eles existirem, então verificar se este mod está habilitado é muito importante!


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

  ReservedItemSlotsCompat.AddItemsToReservedItemSlots(); // Esta será uma chamada para sua função


Por último, mas não menos importante, adicione este cabeçalho SoftDependency acima da sua definição de classe de plug-in

Se o seu modo depender de ReservedItemSlotCore, você poderá alterar BepInDependency.DependencyFlags.SoftDependency para BepInDependency.DependencyFlags.HardDependency.


[BepInDependency("FlipMods.ReservedItemSlotCore", BepInDependency.DependencyFlags.SoftDependency)] // Adicionar esta linha

[BepInPlugin("EXAMPLE_MOD_GUID", "EXAMPLE_MOD_NAME", "1.0.0")] // VOCÊ DEVE TER ESTA STRING SOB A DEFINIÇÃO DE SUA CLASSE PLUGIN.

Plug-in de classe pública : BaseUnityPlugin

{

  ..

}


Crie seu próprio ReservedItemSlot

Um exemplo de como criar seu próprio ReservedItemSlotData e adicionar seus itens de moda (ou itens existentes no jogo) a itens de slot.

Inclua este código no método Despertar (ou Iniciar) da classe Plug-in. Não é necessário criar um arquivo ou uma classe separada para adicionar este código.


usando ReservedItemSlotCore.Data;


// CERTIFIQUE-SE DE COLOCAR ESTE CABEÇALHO SOBRE A CLASSE PLUGIN

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

[BepInPlugin("EXAMPLE_MOD_GUID", "EXAMPLE_MOD_NAME", "1.0.0")] // VOCÊ DEVE TER ESTA STRING APÓS DEFINIR SUA CLASSE DE PLUG-IN.

Plug-in de classe pública : BaseUnityPlugin

{

  private void Awake ()

  {

    // Seu código existente...


     // Isso registrará seu ReservedItemSlotData e será adicionado ao jogo se o host estiver executando o mod.

    // Argumentos: ItemSlotName (formato não muito importante), ItemSlotPriority, ItemSlotPrice

    ReservedItemSlotData myReservedItemSlot = ReservedItemSlotData.CreateReservedItemSlotData("my_item_slot_name", 20, 100);


    // Criar dados ReservedItemData para o item

    // Você também pode adicionar argumentos extras para permitir que este item apareça nos jogadores quando ele estiver no coldre. (consulte o exemplo anterior)

    ReservedItemData myReservedItemData = new ReservedItemData("ItemDisplayName");


    // Adicione ReservedItemData aos ReservedItemSlotData e pronto!

    MeuReservadoItemSlot.AdicionarItemParaReservadoItemSlot(meusReservadosItemData);

  }

}


Outras Funções de API

Aqui estão alguns exemplos de como você pode receber e gerenciar itens reservados do jogador.


PlayerControllerB localPlayerController = InícioDaRodada.Instância.localPlayerController;

para (int i = 0; i < GerenciadorSessão.numReservedItemSlotsUnlocked; i++)

{

  ItemSlotData ReservedItemSlotData = SessionManager.GetUnlockedReservedItemSlot(i);

  if (itemSlotData != nulo)

  {

    // Obtém o índice deste slot de item no inventário do player

    int indexInPlayerInventory = itemSlotData.GetIndexInInventory(localPlayerController); // qualquer controlador do jogador pode ser transferido



    // Obtém o objeto mantido atualmente neste slot pelo player especificado ou retorna nulo

    ObjetoAceitável heldObjectInSlot = itemSlotData.GetHeldObjectInSlot(localPlayerController); 



    // Recebe o quadro de slot de item (componente de imagem em HUD) para este slot de item. Aplica-se somente ao reprodutor local

    ItemSlotFrameHUD da imagem = itemSlotData.GetItemSlotFrameHUD();



    // Para verificar se um slot de item reservado aceitará um determinado item (nome do item conforme a aparência no jogo)

    // Você também pode passar o link para GrabbableObject

    if (itemSlotData.ContainsItem("Lanterna"))

      Plugin.Log("Este slot contém uma lanterna");

  }

}


Se você estiver criando seu próprio ReservedItemSlotData, não se esqueça de incluir também esta linha na sua lista de dependências manifest.json.

"FlipMods-ReservedItemSlotCore-2.0.7"



Se você quiser ver mais exemplos, sinta-se livre para dar uma olhada na minha moda ReservedItemSlot existente no github!

Se você acha que eu perdi alguma coisa, ou enfrentei quaisquer problemas, por favor, me informe! Sou muito ativo na empresa de moda Lethal descoberto, então me encontre!

Você também pode deixar um relatório de quaisquer problemas no github para esta moda!

Mods/Addons semelhantes

Versão do Jogo *

2.0.37 (FlipMods-ReservedItemSlotCore-2.0.37.zip)