Simply assign each player a different set of controls to use.
If you want to get fancy and setup one function to handle all controls you can as well.
Assign each player a "Player number" variable - 1, 2, 3, 4 etc.
On any key pressed - call function "player action" (keyboard.lastKeyCode") (Player.playernumber)
Function "player action" ("A", 1)
If function.param (0) = "A")
pick player object = function.param(1)
play animation "punch"
if function.param(0) = "left arrow"
pick player object function.param(1)
move player left
So basically you are creating a function that will update a players movement/animations
then telling it which player its effecting
then you can recycle this function to work with any number of active players and movements. so that you are only coding it once, and splitting its duties among all players inputs