For this method to work you would need to use Switches, not States. States by definition can only have one global value at a time. This means that if more than one player exists in a given game (or more than one NPC) they would not be able to have states customized to their own current actions. Switches, on the other hand, can have an infinite number of switch settings simultaneously so long as they are associated to individual game objects (ie. characters and NPCs). Beyond that, this method should work.