Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
✓ ANSWER ACCEPTED

Why does this script work perfectly in Studio but does not work in game?

In studio, this function works absolutely fine. But in game, it gives an error saying PlayerScripts is not a valid member of Player, which is really confusing since PlayerScripts is clearly there in Studio mode.

function bindToNewPlayer()
	vPlayer = game.Players:GetPlayerFromCharacter(vChar)
	if vPlayer then
		print ((vPlayer.Name).." Has entered!")
		local CLocalScript=LocalScript:clone()
		CLocalScript.Parent=vPlayer.PlayerScripts-------This is the line that is causing errors.
	end
end

1 answer

✓ Accepted answer

**Problem **

The only problem I can see is that since it works in studio and not in server it should be a latency problem, this happens because in studio everything is pretty much local so you don't have to wait for a server to create stuff so your local scripts run instantly. In server this doesn't happen as when a local scripts cause upons something in player or character that is server-sided then the local script is "local" which makes it run faster then the server can respond.

Solution

repeat wait() until game.Players.LocalPlayer.Character--To the top of every local script

This discussion is preserved as it was. New answers, comments, and votes are closed.