Is this possible? If it is how would I do this?

I’m wanting my FPS Character to Crouch when you Tap ‘Caps Lock’, but when your in Crouch and you Press ‘Caps Lock’ again you don’t Stand, but when you release ‘Caps Lock’ you will then go back to a Stand. But when your in Crouch and press and hold ‘Caps Lock’ for a good 0.3 seconds, you will then go into a Prone. Then when your in prone, you can press ‘Caps Lock’ again & you will then go back to a crouch & then from Crouch you can either press ‘Caps Lock’ and release it before 0.3 seconds is up and go back to a Stand or press and hold ‘Caps Lock’ again for 0.3 seconds and go back to Prone.

I’ve been using Sequence Nodes, Gate Nodes, MultiGate Nodes, etc and I just can’t get it to work right.

Does this make since or is this even possible?

Please give me some tips, ideas, anything! Thanks :slight_smile:

Could you describe to me what you mean, on a blueprint? Thanks!

Just store a float variable with delta time of tick. If is greater then 3 prone. If not, just toggle between Grouch and Stand.

It’s definitely possible, although what you’re asking for is quite a complex problem. I’ve attached an image of a slightly simplified version of what you’re after just to get you started (‘PlayerStance’ is a enumeration, if you’ve not seen those before).

In this situation, if the player releases (I’m using releases rather than pressed because it’s less ambiguous, but you can obviously change that) the caps lock they’ll change between standing and crouching and then back to standing. If they hold the button, they’ll transition down to prone (from standing this is a two-step process, transitioning through crouching). This isn’t completely what you were after (and it doesn’t handle standing up again), but you shouldn’t need to extend it with anything more than a few booleans (‘were we already in crouch when the caps button was pressed’, stuff like that) and maybe another float.

In my opinion, multiple gates usually gets you into trouble :slight_smile: