Hello, I'll tell you straight away I'm not very experienced in Construct 2 yet, & I haven't helped someone on the forum before, but your question caught my eye. I want to make a fighting game sometime, you see. I set to work making an extremely simple mockup of how to do a "Hadouken" compared to a normal punch using direction inputs.
I'll post the capx if you want (once I learn how to do that), but here's the explanation:
Have your character object (Ryu). Give him an instance variable (I called it RyuCommand). I also had 2 Bullet objects from the "Ghost Shooter" tutorial on Scirra. I gave them both "Bullet" movement behavior, but I made one slow (bullet), & the other fast (Hadouken). I made it to where you have to quickly press S & then D & then P to spawn the Hadouken, & just press P to spawn the slow bullet.
Events:
On P Pressed -> spawn Bullet
On S Pressed -> add 1 to RyuCommand
On D Pressed AND RyuCommand = 1 -> add 1 to RyuCommand
On P Pressed AND RyuCommand = 2 -> spawn Hadouken
Hadouken on created -> set RyuCommand to 0
So that means that if you press P, he'll spawn a bullet (or punch, if you make him punch). But if you pressed S then D, he'll spawn Hadouken. Plus, once the Hadouken is spawned, the variable goes back to 0.
BUT I don't know how to reset the variable after a certain amount of time has passed; like if you want the player to have to press down>forward within 30 frames or something. The best I know how to do right now is:
RyuCommand greater than 0 AND Every x seconds -> set RyuCommand to 0
Of course the timing doesn't work very well on that, but it's what I know for now. Hope this gives you an idea.