How to save an power up to a specific player

I’m doing a local multiplayer game, is a fighting game in the arena where they are generated constantly powerups and the player who catch can use your skill.
This involves up to 4 players and 8 types of power ups, each power up was done in an actor class and I have an array that generates a random to give the player. Each player can have up to 3 powerups.

Problem 1: store the information, I need a system to be able to save which player has which power up.

Problem 2 : know which player made ​​the input, within the classes of powerups I need the player information to enable the ability


powerUP - Object place in the world how generate a powerup for the player how took

PUI_OneBullet - One of powerups, he shoots a projectile straight so I picked up the player that took as reference

PUI_OneBullet “Disparar tiro” function - It is the logic of shooting

TccController - When you press 1 will activate powerup that is the first index of the array of powerups that you took ,
the active 2 which is 2 in the array and so on

I really need to understand how this logic of local multiplayer works, halp guys and sorry for bad english