I have a script attached to a button attached to the Starter Gui. When a player joins, he gets his own gui with his own button and script. In that script I'm trying to change DataStore variable (that is stored in a folder in each player) but I don't know how. I'm trying to directly change the variable with the button script and it says I've done so, but the ServerScriptService script doesn't detect the change. If you have any questions, please ask.
game.Players.LocalPlayer.data.has_done_intro.Value = true
This is how I change the bool variable that's located in Player > "" > data > has_done_intro. And indeed the variable does change (in the Studio) but the server doesn't seem to detect that at all. It's like the server doesn't detect any changes that aren't made by him.

2 comments
This is how the game is supposed to act. Trust nothing of the client where data does not get replicated to the server and everyone else. You'll want to look into RemoteEvents in order to change values on the server side.
Thanks! That's exactly what I'm doing now, figured it out on my own :P