Download

Timer Issues - Choosing which Timer Information to Retrieve

So I want to make a basic Inventory system that just checks what you clicked, if it matches then add 1 to the appropriate variable

When I want to start displaying these items on screen, I press 1/2/3/4 etc. Check to see if any other items are active, then proceed to set a timer, to allow these items limited time on screen.
However my Timers don’t seem to fire the functions at all now, They aren’t in the execution path, otherwise they would execute INSTANTLY

So I’m wondering where im going wrong, heres some shots to give you an idea,
da46136b426b99bcf2d298b5be5c7989457bfb8f.jpeg
Does some checks, then tries to turn on the light, start the timer, then after 10 seconds destroy a battery,

de2c086fb28b4f7bdb568d0bd4a274b974d3b396.jpeg
Same for this one too, but instead with an Emitter

Here are the functions they are trying to call:
http://puu.sh/8xXAr.jpg
http://puu.sh/8xXBB.jpg

I should mention this is all built from the FPS Blueprint Template, all of these are built within the character themselves,
I planned out pushing them out to other blueprints later once I knew it would work all in one

I’m just unsure whether or not I can have more than one timer per blueprint
OR
I’m failing to set and call them correctly

P.S. Tried the basic example
http://puu.sh/8xXNz.png
That works, but mine don’t

Any ideas?

You can have more than one timer per blueprint, so that shouldn’t be the problem. Have you verified that the SetTimer nodes are actually being called? You can use blueprint debugging to verify: https://docs.unrealengine.com/latest/INT/Engine/Blueprints/UserGuide/Debugging/index.html

Hmm, The nodes do seem to be called, It fires the node, then moves straight back to player input im guessing as that is almost always firing from movement,

Firing: http://puu.sh/8y6R6.jpg
Aftermath: http://puu.sh/8y6RF.jpg

EDIT:

Promoted my Time to a var to print it and see if it was even counting,
Doesn’t look it at all : http://puu.sh/8y7IA.jpg

The time shouldn’t change, that value is just how many seconds from now it should call the function you specify. So if you put 10, you’re requesting that function be called in 10 seconds. Are you calling SetTimer repeatedly? If so, that would keep resetting the amount of time before it went off.

No I linked the variable to Event Tick so that it would fire alot and i could see the number change, but it makes sense to why it doesn’t change, but otherwise it only fires once just as I press the number keys.
Here is the shot of the whole sequence, it only fires once as far as I can tell,

http://puu.sh/8yfpC.png

I Have also posted a question about this, now that I have tested it more its apparent that something to do with SetTimer doesn’t agree with all these checks and branches, or something, There is almost no difference between the test ( I mention in the Question ) and the set up, I am using…

Bearing in mind, I am NO CODER, I just like the logical step by step activity, So as far as I can tell, the executions I have set up should compliment that,

Please help, :frowning:

Question: https://answers.unrealengine.com/questions/39214/settimer-failing-to-call-functions.html

** THIS IS A BUG **

I tried to reproduce the problems by making a large chain of things with branches, spawning emitters, etc., as you did, but it still worked for me. One thing to keep in mind is that if a timer is paused, then IsTimerActive for that timer will return false, so if I’m reading it correctly, the UnPause off the branch at the beginning isn’t necessary. Additionally, if you set a timer that is paused, I believe that makes it unpause as well.

In your example case, if you press only the 1 key one time, it doesn’t work? Can you also check the output log (Window->Output Log) to see if you’re getting any yellow warnings? As an example, if you had made a typo in the function name, you’d get a warning like this when you try to set it: “LogBlueprintUserMessages:Warning: SetTimer passed a bad function (adfs) or object (MyCharacter_C_6).” In that case, I just mashed some keys into the function name box “adfs,” and it told me it was wrong.

Aside from that, there might some other small error, but it’s tricky to see in small images. If you do provide your blueprint, I can try to look at it. The other way to try to debug it would be to make the input action connect directly to the set timer node. If that works, then work backwards until you find what is causing it from working.

It appears I must of been messing up somehow along all this, I have changed those function names numerous times to no avail, even with case sensitivity.
But it works now, So im more than happy, sorry for that huge waste of time, I thought I tried everything but maybe I was just too tired to see.

Cheers for the debugging advice, the Output log is VERY helpful as is the Debug Window, I think the timer needed to call a FAILED function to “activate” then when i replaced it with a functioning one, it was more than happy to cooperate, Very strange,

But thanks a lot :smiley:

No problem, glad you got it figured out! :smiley: