Download

Adding a buff on player spawn but it keeps getting added each time

Hi, I have an event on player spawn that adds a buff, after checking if the player already has it. It is a persistent buff,. f763cba6db2636d2f2a003f0dcce289a5f78d062.png

But if a player logs out and logs back in they now have two of these buffs, then 3 and 4 and so on, if they die they are back to one, and on server restart they are back to one. I have dried with a delay of 10 seconds before checking and same result.

Any clues as to why the check fails and keeps adding the buff?

Is there a particular reason as to why you are using the “Spawn Buff and Attach to Character” node? I’m thinking that since it is “Attached” to the character that may be why it is failing the check since the character doesn’t technically “Have” the buff, only attached.
That being said, I’ve only ever used the “Static Add Buff” and never had a buff “stacking” issue

I probably misunderstanding of the nodes purpose, if only I have read the documentation right? When I first made the buff I made it from scratch and not by copying an existing buff. So originally the buf had not socket set to attach to and was remaining stuck in the location in the world where the player was standing when the buff was “Static Add Buff” onto it. So I assumed “Spawn Buff and Attach” was the correct way to attach a buy to the player pawn.

When I realised I needed to tell it what socket to attach too I was already using “Spawn Buff and Attach”, I will try switching to “Static Add Buff” and see if that solves my problem.

The real question is why is that branch returning false and applying another buff, as well as why is re adding the buff stacking it and not extending/resetting it. Buffs should be default extend the current buff’s duration or reset it to its start point.

Static Add Buff may fix both of this issues, but that type of logic is something that can always help you diagnose an issue like this.

My buff was parented to Base Buff, after reparenting directly to Primal Buff it started working as expected.