Here's an example file you can see how i've delt with reusing assets and spawing "prefab" characters based on one setup and multiple controls
Basically its all based on functions though.
You create a single player entity, and give it a unique owner ID at the time of creation. Then program a function for each different type of attack or movement etc.
Then you call the function using its Unique ID as a parameter, and thus only the player that matches that Unique ID performs the action.
eg: On Function Fire Bullet (1) (100) (250)
Function "Fire Bullet"
create object "bullet" at function.param(0) (player 1's position)
set bullet.damage = function.param(1)
set bullet.speed = function.param(2)
This way you can reuse this one section of code over and over for any player no matter how many you have etc.
Example
dl.dropboxusercontent.com/u/403350/SpawnPlayerExample/index.html
click player 1 and player 2's) gamepad to spawn them.
use WASD and SPACE for player 1 and arrow keys and "/" For player 2
you can see how i've used the same technique for dealing with other ares such as collision detection as well, one function that gets reused over and over
Capx
dl.dropboxusercontent.com/u/403350/SpawnPlayerExample/SpawnPlayerExample.capx