Hello,
first off I'm no expert, but the way I did this was with 3 triggers (which you could trigger from addActions, or just use the same commands in the addaction-sqf)
I have a soldier named p1, trigger 1 and 2 were activated by radio (for easy testing) all triggers were repeatable.
Trigger1: onAct: p1 switchmove "AdthPercMstpSrasWrflDb_8"
Trigger2: onAct: p1 switchMove "AinjPpneMstpSnonWrflDnon_rolltofront"; getup = true;
Trigger3: Condition: getup
Timer: 3 seconds (min,mid,max)
onAct: p1 switchMove "AmovPpneMstpSrasWrflDnon_AmovPercMstpSrasWrflDnon"; getup = false;
This worked for me, the first trigger makes him "die", second makes him roll over (but that anim wont let you move), and the 3rd (which is triggered after the roll by a timer) makes you stand up.
However, the die anim makes you fall on your back, (with the feet first) and the roll anim then moves you with your head first. So that looks a bit weird but you should be able to work around it. maybe with a p1 setDir (getDir p1)+180 or something. haven't looked into it.
But that worked for me. Hope you can use some of it.
As for your second question, I don't know.
But the third should be doable. using p1 switchMove ""; This will cancel the animation and should allow you to move. may not look pretty but yeah. or even playMove "" (maybe that will give a nicer transition?).
Also I'm sure there are some other people that will give much more delicate solutions than me.
Btw, is this for singleplayer or multiplayer? (just out of curiosity)
Kind regards
Melvin