So, first of all:
Try to use Breakpoints. When you set a breakpoint on a node in the blueprint, the game will stop once the node is reached.
This allows you to see if some nodes are even reached.
I would wager that your first comparison will always throw a “false” result, as 0 is never bigger than any amount of potions the player can have. This would mean that nothing past the branch node would ever be reached.
I don’t see any other issues with the code in your screenshot.
For comparison, this is the quick hackjob that I did to roughly replicate what you are doing:
(Please note that this is implemented in the PlayerController on my side, so you shouldn’t need the “Get Player Pawn” and “Cast to” nodes. I’m also using the “Print String” to see the potion count, as I didn’t implement a HUD for it.)
Basically, my code is identical, save for inverting the comparison at the beginning, and works.
It works now! There’s just one tiny problem, when I have full health, and I pick up a potion, the actor isn’t destroyed so this allows the player to pick up more than 1 potion out of a single actor, how can I destroy it inside the Character blueprint?