In my multiplayer game, my players will sometimes talk to an NPC, and depending on where they are in the game's story, the NPC will say different things to them in dialogue. Currently, all progress the players make in the story is tracked by global variables (I assume that's the best way to do it?).
I'm worried that this will be a problem to implement in multiplayer -- presumably the NPC will just use the host player's values for the global where-are-you-in-the-storyline variable, since the host PC supplies all the game logic and the peers just sync up to that. How do I make it so that the NPC correctly reads the where-are-you-in-the-storyline variable from each player and spits out the appropriate dialogue for each player when they interact with him?