When I mentioned the picking earlier, so a player 1 has variable playerNum=1, you can assign everything linked to player 1 with an ID of 1. Then for player 2, which has variable playerNum=2, you can link everything to that player with an ID variable of 2.
So hypothetically if player 2 was attacked and you wanted to pick something related to player 2, like a shield taking damage you would say :
on player(family) attacked
pick shield, where shield.ID=player.playerNum
shield take damage
But then the good thing is that this generic code actually applies to all players because you are using families.