Hey gxalive in regards to your question, you can also use global variables
so for example
if you press the right arrow and saidglobalvar = 0 (do an action) but if you press the right arrow and saidglobalvar = 1 (do a different action)
In general (and im not too sure if this is the right way to go about things) i set up my players behaviors using global variables
example
if the globalvar movements = 0
(add a set of actions and behaviors)
if the globalvar movements = 1
(add new actions and behaviors)
then you use your triggers to switch between variables. ( player is on floor and keyispressed A )
set movements to 1
this is how i do it and im not sure if its the best way but it works for me.
also i am very open to correction on this if its the wrong way to do it.