banner
Avaliação
Votado0

ReservedItemSlotCore

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

Denunciar mod

  • image
modalImage

Sobre este Mod

NúcleoDoSlotDoItemReservado.

O modo principal para todos os modos ReservedItemSlot.

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

Esses modos fornecem um slot de estoque vazio reservado para cada item. Esses slots aparecem no lado direito da tela e estão organizados verticalmente.


Não é possível rolar manualmente a tela para mover para esses slots. Em vez disso, você pode alternar para esses itens mantendo pressionada a tecla Alt (a tecla de atalho padrão) e passando para cima e para baixo.

Dessa forma, você pode navegar de e para esses itens ou executar outras ações, como cobrá-los ou salvá-los.


Os clientes que usam este modo devem sincronizar suas pesquisas de itens reservados e seus slots entre o Painel de Acesso Rápido principal e o Painel de Acesso Rápido reservado.

Quando apropriado, esses modos têm atalhos especiais para ativar elementos, mesmo que não estejam selecionados.


Todos os clientes em execução neste modo kernel serão sincronizados com o host e terão o mesmo slot de item reservado que o host, independentemente do modo de slot de item reservado definido.

Usar um modo que não use um slot de elemento de host reservado não causará nenhum problema, mas não permitirá que você aproveite recursos de modo adicionais, como teclas de atalho específicas de elemento reservado.

Isso pode mudar ou ser ajustado no futuro, mas agora pretende-se manter o mesmo tamanho de inventário para todos, para facilitar a sincronização.

Isso também significa que se eu adicionar a capacidade de criar slots de item reservados personalizados à configuração ou criar o modo ReservedCustomItemSlot, poderei enviar slots de item reservados personalizados do host para outros clientes. Útil para.


~O uso deste modo é permitido novamente quando o host não tem um modo, mas espera bugs e problemas de sincronização. Use com cuidado.

Se um host não tiver esse modo, por vários motivos esse modo será desativado em clientes que não sejam de host.

A teimosia pode forçar a configuração a resolvê-la. Atenção.



Compra de slots reservados (novo na versão 2.0.0)

Slots de item reservados podem ser adquiridos no terminal. Atualmente, comprar um slot reservado irá desbloquear este slot para todos os jogadores. Atualmente não há como desbloqueá-lo para cada jogador individual.

Digite "reservado" no terminal e você receberá uma dica sobre como comprar um slot reservado.

Os modos que suportam slots reservados podem definir um preço nas configurações. Todos os slots de pré-pedido têm essa configuração.

Os itens de slots comprados são salvos no jogo salvo. Quando você cancelar a operação de salvar e reinicializar, todos os slots de itens desbloqueados anteriormente serão reinicializados. Os slots desbloqueados são redefinidos quando você inicia um novo jogo.

A compra de itens de slots pode ser desativada nas configurações.


Personalizado.

Cada modo de Slot de Item Reservado deve oferecer suporte às seguintes configurações:

Adicionado suporte para permitir modos de slot de item dedicado para preços de slots de itens na configuração.

Permite que o modo de Slot de Item Dedicado priorize slots de item na configuração.

Quanto maior a prioridade, menor a fila de slots de item no lado direito da tela.

Se a prioridade estiver definida com um valor negativo, o slot do item será exibido no lado direito da tela, a menos que esteja desativado na configuração.

Os itens agora podem ser adicionados aos slots reservados na configuração.

Suporte adicionado para remover itens existentes do slot reservado na configuração.


Suporte para InputUtils.

As teclas de atalho associadas a este modo podem ser controladas a partir do menu de atalhos de teclado do jogo.

InputUtils não é uma dependência, mas é recomendável.


Funções de API (novo na versão 2.0.0).

A funcionalidade da API foi adicionada para permitir que os desenvolvedores criassem facilmente seus próprios modos de Slot de Item Reservado e adicionassem itens aos Slots de Item Reservado existentes. Ao criar um ReservedItemData para um item específico, os desenvolvedores podem opcionalmente especificar o bone de destino para a capa do item para o player (e inimigos disfarçados) e especificar o deslocamento de posição/virada.


Primeiro de tudo, você precisa adicionar a versão mais recente de ReservedItemSlotCore.dll à referência de projeto do VS.

Aviso:

Adicionar itens que não existem em ReservedItemSlotData (acidentalmente ou de mods descarregados) não quebrará nada.

A adição de um item criado a partir de um modo descarregado a um ReservedItemSlotData existente não será interrompida.


Adicionar itens do MOD a um ReservedItemSlot existente

Se ReservedItemSlotCore estiver habilitado, você poderá usá-lo para adicionar itens do seu próprio modo a um ReservedItemSlot existente criado por outro modo.


Crie uma classe como esta em um arquivo separado.


ReservedItemSlotCore.Data;


classe estática pública ReservedItemSlotsCompat.

{

  public static void AddItemsToReservedItemSlots() (em inglês).

  {

    // Nome do item a ser exibido no jogo.

    ReservedItemData myReservedItemData = new ReservedItemData("ItemDisplayName");

     

    // Não importa se o modo que criou este slot para o item não está habilitado no cliente. Nada será quebrado.

    ReservedItemSlotData.TryAddItemDataToReservedItemSlot(myReservedItemData, "nameOfItemSlot");

  }

}


} ou tornar o objeto visível enquanto estiver na capa:



ReservedItemSlotCore.Data;


classe estática pública ReservedItemSlotsCompat.

{

  public static void AddItemsToReservedItemSlots() (em inglês).

  {

    // 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))

   

    // O modo que criou este slot para o item não precisa ser habilitado no cliente. Nada está quebrado.

    ReservedItemSlotData.TryAddItemDataToReservedItemSlot(myReservedItemData, "nameOfItemSlot");

  }  

}


Em seguida, adicione o seguinte ao método Wake (ou Initialize) da classe Plugin (de preferência após a vinculação de configuração):

Se o seu mod não estiver vinculado a ReservedItemSlotCore e só adicionar itens opcionalmente se houver slots de itens reservados disponíveis, é muito importante verificar se esse mod é válido.


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

  ReservedItemSlotsCompat.AddItemsToReservedItemSlots(); // esta é uma chamada de função.


Finalmente, adicione este cabeçalho SoftDependency acima da definição da classe Plugin.

Se o seu modo depender de ReservedItemSlotCore, você poderá alterar o cabeçalho BepInDependency.DependencyFlags.SoftDependency para BepInDependency. Pode ser alterado para HardDependency.


[BepInDependency("FlipMods.ReservedItemSlotCore", "BepInDependency.DependencyFlags.SoftDependency")] // Adicione as seguintes linhas.

[BepInPlugin("EXAMPLE_MOD_GUID", "EXAMPLE_MOD_NAME", "1.0.0")] // Você já deve ter esta linha acima da definição da classe do plug-in.

Plug-in de classe pública : BaseUnityPlugin.

{

  .

}

Crie seu próprio slot ReservedItemSlot

Este é um exemplo de como criar seu próprio ReservedItemSlotData e adicionar itens MOD (ou itens existentes no jogo) a um slot de item.

Escreva este código no método Awake (ou Start) da classe Plugin. Não é necessário criar um arquivo ou uma classe separada ao adicionar este código.


ReservedItemSlotCore.Data;


// Verifique se este cabeçalho está na parte superior da classe Plugin.

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

[BepInPlugin("EXAMPLE_MOD_GUID", "EXAMPLE_MOD_NAME", "1.0.0")] // Você já deve ter essa string acima da definição da classe Plugin.

Plug-in de classe pública : BaseUnityPlugin.

{

  private void Awake().

  {

    // Código Existente...


    // Isso salva seus ReservedItemSlotData e será adicionado ao jogo se o modo host for iniciado.

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

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


    // Crie um ReservedItemData para o elemento.

    // Argumentos adicionais podem ser adicionados para que este item possa ser exibido para o player na capa (consulte o exemplo anterior)

    ReservedItemData myReservedItemData = new ReservedItemData("ItemDisplayName");


    // Adicione ReservedItemData a ReservedItemSlotData e pronto!

    MeuReservadoItemSlot.AdicionarItemParaReservadoItemSlot(meusReservadosItemData);

  }

}


Outras Funções de API

A seguir está um exemplo de como receber e gerenciar os itens reservados de um 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)

  {

    // Obtenha o índice deste slot no inventário do player.

    int indexInPlayerInventory = itemSlotData.GetIndexInventory(localPlayerController); // Qualquer controlador do player pode ser transferido.



    // Obtenha o objeto que está atualmente neste slot a partir deste player.

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



    // Obtém o quadro de slot de item (componente de exibição HUD) para este slot de item. Válido apenas para jogadores locais.

    ItemSlotFrameHUD da imagem = itemSlotData.GetItemSlotFrameHUD();



    // Para verificar se um slot de item reservado aceita um determinado item (o nome do item como ele se parece 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, adicione também a linha a seguir à lista de dependências no arquivo manifest.json.

"FlipMods-ReservedItemSlotCore-2.0.7" (em inglês).



Se você quiser ver mais exemplos, sinta-se livre para olhar para os mods ReservedItemSlot disponíveis no meu github!

Se você acha que eu perdi alguma coisa ou me deparei com algum problema, por favor, avise-me! Sou muito ativo na empresa de moda Lethal descoberto, então venha e me encontre!

Você também pode postar problemas no github Fashion!


Modas de ReservedItemSlot

SlotDeLanternaReservado

FendaCurvaReservada

Fenda de Arma Reservada

Slot auxiliar reservado

Slot de Spray Reservado

Mais moda para itens de slots reservados pode ser encontrado na Thunderstore!


Compatibilidade de Modo

O HotbarPlus é compatível!

LethalThings Utility Belt é compatível (deve ser compatível) (espero que ainda intacto).

Este modelo pode não ser compatível 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 movem slots de hotbar (HUD) não garantem trabalhar com esses mods, mas podem funcionar tecnicamente.

Mods/Addons semelhantes

Versão do Jogo *

2.0.33 (FlipMods-ReservedItemSlotCore-2.0.33.zip)