2 timers, allow 1 to run while game is paused?

So is it doing the 3,2,1 StartCounter or is it not? If it isn’t, can you show me that part of the HUD widget where it should be getting called?

Not counting down. All is frozen.
This was the part that was calling it without the StartCounter. Remember, before it was set as an EventTick in GameState, now we switched it to a CustomEvent so I thought about calling it there

I’m still here :slight_smile: 36+hrs of no sleep, but I ain’t gonna let this silly thing get me :rofl:

Removed the StartCounter and PrintString still not showing :frowning:

Ah but that wasn’t the 3,2,1, that was the level countdown. Right? I might be getting confused by the names. And that the snips aren’t labeled gamestate, gamemode, etc.

So what we’re going to do? We’re just going to rewrite this timer thing.

Game Mode:


New BP 1 is my GameState. Put “Call Big Hide Counter” After “SET time remaining 321”, where I have no connection.

No TimerCount is the 3,2,1… Inside the GS. But I can do it like you say
Trust me, I’m open to anything at this point… :slight_smile:

So, we’re basically reversing them… 3,2,1 in GM and level timer in GS?

Or do you just want me to rename them for better references???

I THINK I GOT IT. Now, the problem is you might think that a bound event will automatically fire. It will not, and that might be where the miscommunication is. You need to CALL GoGoGo at the end of the HUD button!

Go ahead and do it like I showed you, just reverse gamemode and gamestate to whichever it needs to be.

But for future reference: Game Mode is supposed to be Rules, gameSTATE is supposed to be the active state of the game. Timers typically run here. But it’s okay it can be in game mode.

I used placeholder names for the variables, don’t make new variables use the ones you have because they’re referenced elsewhere.

Now, I’m getting confused… :)) The HUD does not have a button. The button (Play) was in the MainMenu

SORRY. It was on the event construct of the HUD.

Add a call node to the end there!

It needs the match to light the fuse, and that call is the match!

I lit the fuse… with the match… and it quickly jumped over the 3,2,1 countdown… faded Go in/Out… and game is playable, but it did not actually perform the 3,2,1, Go countdown… just flashed Go in/out and game was already playable
I did get the “Event Dispatched” string printed

Let me know if you see anything out of place:

We’re no longer using the delegate???

That’s PROGRESS!

Okay. So Remember where we did this?

Add it back in.
image

After that, sever the connection after event dispatched. Move that stuff down, we’ll reconnect it in a second. Because you don’t want it to fire til the timer’s done, right?

You’re going to grab off that GS Ref and get your time remaining from the 3,2,1. (this is all on the construct of the HUD still). Check if it’s above 0. If it is, run Start Counter, Event Dispatched. If it’s false, run that other stuff we just disconnected.

Edit: Like this, but with the red event line as you have it (I have nothing to connect it to):

Like this?

I do get the Print String “Event dispatched” but both timers still frozen
3,2,1 timer is frozen on 3 :slight_smile:

You did it exactly as I said! Let’s move the StartCounter to before the branch though.

And we’ll add GOGOGO to the false as well, since we have another check later.

That… Should do it. I’m running out of steam lol

I just looked, the level timer can’t be on tick. Tick runs once a frame. it’ll rocket down, and the delay will just block it altogether.

Do another event instead of having it on tick, and do a set timer by function, with a 1 second time, looping. Call the Level Timer event you’ll create from the end of the False line of the GOGOGO. Make it looping (you can’t do time inside a function so you have to use an event->timer->function).

same thing :frowning:

What is your “TimeRemaining321” Float’s default value? It is set as 3 right?

Correct. it is 3

You have this set to 0 :slight_smile: Set it to 1
image

The value here is how many seconds is a second, so it needs to be 1. You can make it faster, but if it’s 0 it’ll just skip through.

I did, and it crashes…

“Infinite loop detected. Blueprint: UI_HUD Function: Delay Call Stack: Show”

Log:
“LogScript: Warning: Infinite script recursion (120 calls) detected - see log for stack trace
UI_HUD_C /Engine/Transient.UnrealEdEngine_0:GameInstance_42.UI_HUD_C_0
Function /Game/UI/UI_HUD.UI_HUD_C:ExecuteUbergraph_UI_HUD:0000
PIE: Error: Infinite loop detected. Blueprint: UI_HUD Function: Delay Call Stack: Show”

Ah, I didn’t think that would cause it. But now that I think about it, yeah. Replace this:
image
With this:

image
This is 100% better. Shouldn’t have even used timers to begin with. Should have just done a delay.

ok, what is that 3,2,1 Tickdown??? Just calling the custom event?

Yes. Actually you could just connect it directly from True, but will keep you from crossing your wires.