However Your script will not work as desired. Changing values in StarterGui will not change anything for players already in the game (unless they reset) only for new players.
To change values in specific player gui use
p.s. If you need to change player GUI, there is no need to use event. Simply use LocalScript to access player GUI, as the server does not need to know about those changes anyway (in most cases).
Hey there! Hopefully this is a solution to your script.
game.Players.PlayerAdded:Connect(function(plr))
So if you want to get the local player (not the same as the player who fired the event), you can do a PlayerAdded function.
Please stop. Doing it this way will cause new function being made every time new player joins. This function will then run multiple times, (depending on the amount of players in the server), each time a SINGLE players invokes the function.
While it may work, this is a bad habit and should not be encouraged.