float is still set after a false on branch

Hello ,

I have an external float curve which I get the value from in my character BP as shown below. This happens after a branch. If the branch returns false I would like the float value to remain the same, instead of flowing back to its initial value, which currently is the case for some reason I can’t figure out. Here is a screenshot of the problem variable, its the only place in the blueprint where it is set. Down the chain there are some delta time, float interpolations, could those be affecting the beginning of the chain, or keep the whole chain active even after its not supposed to be executed?

All I want is for the slope multiplier to remain at the set value after the conditions of the branch before it are no longer met.

P.S.
If I set the variable to a stored copy of itself which I make at the end of the execution chain, it still successfully returns to its base value, like what the Rudolf is going on?

Hi man ,
i am sure that your event once fired just check your IF , and if go false, he jump out of the Whole event.
Nothing in the true event can change the first part.
When running false, your event should not do anything to your variables.

May i figured out what you done wrong…
Out of the IF pin out the false and assign your variable again “”“like the float value to remain the same”".

Hey thanks for the reply,
I have tried to set it to a copy made at the end of the whole chain and the exact same variable,- again, but still it interpolates(why?) back to being 1.000395 or something, its base value is 1 and it also goes to 1.000395 or something if I stand on a steep slope. So basically, if the chain returns false no change has to be made to the variable, but still it goes back to about 1, how?, shall I screenshot the rest of the chain? it are all only max walk speed interpolation further on which de[end on this slope variable…

Duplicate your actor if you can and delete all not necessary part. if you dont get what is wrong post a screenshot of the clean blueprint.

Thank you, I finally realized what I did wrong, can’t believe I’ve been this blind, instead of an OR, I now by using AND get the desired behaviour.