ITEM SIMPLES, CONFIGURADO COM CLASSE
- Exposure: public
- UE Version: 5.7
ctrl + v
1 comment
-
Perfeito! Vi sua imagem e entendi exatamente o nível de simplicidade que você quer — sem struct, sem complicação, só o básico que funcione rapidinho.
Você já tá criando o slot com ícone bonitinho, adicionando no WrapBox, tudo certo. Agora vamos fazer o seguinte jeito MUITO SIMPLES pra quando clicar no slot ele saber exatamente qual item spawnar (ARMOR, POTION, etc):
Solução mais simples possível (sem struct, funciona 100%) Passo 1: No seu widget de slot (W_SlotItem ou o que você tiver) Adicione DUAS variáveis no widget do slot (não no personagem):
ItemClass → Tipo: Actor Class (deixa como Actor ou sua classe base) Icone → Tipo: Texture 2D (pra você setar o ícone) Passo 2: Quando você cria o slot (no seu código da imagem) Ao invés de só setar a imagem, você vai setar também a classe do item.
Troque essa parte do seu blueprint atual:
Atual (só seta imagem):
text Create Widget (W_SlotItem) → Set Image → Add Child to Wrap Box Nova versão (só adiciona 2 nodos):
text Create Widget (W_SlotItem) → Set Image (sua textura) → Set ItemClass (Get Class do seu ARMOR_BP, POTION_BP, etc) → Add Child to Wrap Box Pronto! Agora cada slot sabe sozinho qual item ele representa.
Passo 3: No próprio W_SlotItem → Event OnClicked do botão Faz assim (super simples):
blueprint OnClicked (Button) → Get Owning Player Pawn → Cast to ThirdPersonCharacter → Get Player Controller → Get HUD (ou direto Get Game Instance se preferir) → (ou mais fácil ainda) Get Actor Location + Forward Vector do personagem → Spawn Actor from Class • Class = ItemClass (a variável que você setou) • Spawn Transform = Location do personagem + Forward 150~200 units → (opcional) Remove esse slot do inventário ou esconde ele Exemplo prático com seus itens: Quando coletar a ARMOR:
blueprint Create W_SlotItem → Set Icone = textura da armor → Set ItemClass = ARMOR.ARMOR (arrasta seu BP_ARMOR aqui!) → Add Child to Wrap Box Quando coletar a POTION:
blueprint Create W_SlotItem → Set Icone = textura da poção → Set ItemClass = POTION.POTION → Add Child to Wrap Box Resultado: Cada slot vira um "botão inteligente" Quando clica → ele mesmo sabe o que spawnar Zero struct Zero array complexo Funciona com 3 itens ou 300 itens do mesmo jeito Se quiser eu mando um printzinho de como fica o nó exato do OnClicked amanhã, mas é literalmente isso.
É o jeito mais simples e mais usado por quem tá fazendo inventário rápido (eu uso exatamente assim em protótipos).
Quer que eu te mande o nó exato do clique agora mesmo? Só falar!
dado1234
December 8, 2025, 8:04 am