I'll suggest you the easiest way:
Setup your combo animations to not loop. Setup an instance variable to the player and call it by Combo.
On the event sheet, you'll need to setup the follow:
Condition:
Player pressed the attack button (A for example);
Action:
Set Player.Combo = choose("1", "2", "and so on");
Sub-Condition 1: Invert (Player is playing "Combo"&Player.Combo);
Sub-Action 1: Set Player animation to "Combo" & Player.Combo (where the first "Combo" is the combo animation name);
Sub-Condition 2: Else AND Player animation frame = Player.AnimationFrameCount;
Sub-Action 2: Set Player animation to "Combo" & Player.Combo (where the first "Combo" is the combo animation name);
Condition:
Invert it (is Pressing Attack Key) AND Player animation = "Combo" & Player.Combo AND Player animation finished;
Action: Player.Combo = 0;
I do believe it need some adjustments but will give you the idea.
The problem with combo is:
The player should press a key to start attack, but, it also need to check if the player is not performing an attack already, if not, start, else, wait it finish and attack again.
To check it, you should make an instance variable where you'll store the combo number and check over the animation combo index if he is performing it.
If you want give the player the right of perform the same attack in a subsequent combo, you should improve this code.