local player = game.Players.LocalPlayer local exp = player.PlayerScripts:WaitForChild("Running script").exp exp.Changed:connect(function(newValue) script.Parent.Text = newValue end)
When you reference the value, you're getting it from game.StarterPlayer.StarterPlayerScripts
. That is not the location of the value inside the client. When the player joins, everything in StarterPlayerScripts is cloned into Player.PlayerScripts
Your code is correct :) you just need to reference the value correctly.
This should be in a localscript.
local plr = game.Players.LocalPlayer; --retrieve from plr.PlayerScripts local exp = plr.PlayerScripts:WaitForChild("Running script").exp; exp.Changed:connect(function(newValue) script.Parent.Text = newValue; end)