Hello scripting helpers,
This is my 2nd question today and now I want to ask another question.
I've always had problems using LocalScripts. (This script is a LocalScript. I want it to stay a LocalScript too because I'm using game.Players.LocalPlayer instead of figuring out how to get to the player, I like to take the easy route.)
Here is the script I'm talking about.
local Frame = script.Parent.Question -- Fine
local Frame2 = script.Parent.Answer -- Fine
local Player = game.Players.LocalPlayer -- Fine
while true do -- Fine
wait(1) -- Fine
local InProgress = game.ServerStorage.InProgress -- ERROR
local ContestantUp = game.ServerStorage.ContestantUp -- ERROR
if InProgress.Value == true and ContestantUp.Value == Player.Name then -- Fine
Frame:TweenPosition(UDim2.new(0.1, 0,0.6, 0), "Out", "Quad", 3, false) -- Fine
Frame2:TweenPosition(UDim2.new(0.1, 0,0.8, 0), "Out", "Quad", 3, false) -- Fine
else -- Fine
Frame:TweenPosition(UDim2.new(0.1, 0,-0.6, 0), "Out", "Quad", 3, false) -- Fine
Frame2:TweenPosition(UDim2.new(0.1, 0,-0.8, 0), "Out", "Quad", 3, false) -- Fine
end -- Fine
end -- Fine
The script works fine in studio but not in game. It does not error in studio but it errors in game from looking at the Dev Console. The error is in the video. Here is what I mean:- https://www.youtube.com/watch?v=MseelbLQy2o
Thanks if you help! Nathan.

3 comments
just use PlayerAdded() in a normal script. I don't think local scripts can access Server Storage. If you want ti fix you problem the easy way, just move your Guis to Replicated Storage.
Local scripts can access Server Storage because it works on studio.
@Insert, that's because in Studio, everything is ran locally. You'd be better off placing everything into 'Replicated Storage'