Player A has health and speed “abilities”. Health is 100, speed is 10. When the player collects a “Double HP” token the token will use an overlap event to call an interface. The interface will be the “Health PickUp” interface implemented in the player character. Once the interface is called the “logic” inside the interface within the player character will do something like this:
- Get player Health
- Multiply player health x2
- Set Player health
Player now has 200 health points instead of 100. As for what skill are “active” normally something like health I would expect to be “active” always, but something like a “flying” ability may be temporary. So when the player picks up a “flying token” that can fire off a different interface that instead of doubling health like we did in the prior example it instead sets the character movement state to “flying” from “walking”, waits for 10 seconds and then sets it back to “walking”. Now you have a “temporary” ability. Honestly there are a million ways to do a “skill system”. This is all theory, I have no idea what specific skills you want, what their effect will be, permanent or temporary etc so it is hard to explain with so little info. It is highly variable based on your game and its mechanics.