Where is your problem exactly? On the code implementation or in the node tree?
For a combo system I use an array to store the combo requests and a timer to track the attack duration. Every time the button is pressed, I stack the attack type at the end of the array and every time the attack timer gets to 0, I launch the next attack of the combo. To keep track of the combo stack, I use an index, every time an attack is launched the index steps up. I also check that the attack array does not get bigger than the combo limit.
For the AnimationTree, I made one Transition node for each combo and I change the parameter manually for the attack that is currently being excecuted.
I hope this helps. If not, you could show some code in order to know exactly whats going on.