Why doesn't this make my gui visible

Hello! Today I needed something for a loading screen, and I had an invisible textlabel (I meant to make it invisible) For some reason when I test it, it doesn’t work.
There is no errors in the output. Here is the script:

wait(2)

Visible = true

Edit: Do I have to make it like this?

 wait(2)

 game.ReplicatedFirst.LocalScript.LoadingScreen.Frame.time.Visible = true --I did this because ReplicatedFirst is where my gui is located.

Also, put a local script inside time and to make it visible

wait(2)
script.Parent.Visible = true
2 Likes

Yes.You didnt seem to make an variable of the propertie.

1 Like

If the GUI is meant to be seen by everyone, put it in image

1 Like

GUI Elements are supposed to go in StarterGui → PlayerGui.

When you set visible to true in ReplicatedFirst, it’s still there and not actually on the player’s screen.
So move it to either StarterGui and on join make it visible to true or when you set it to Visible move it to PlayerGui so like :

ScreenGui.Parent = game:GetService(“Players”).LocalPlayer.PlayerGui

Placing your gui in ReplicatedFirst will not cause it to appear. Instead, you should place it under StarterGui and preferably parent your LocalScript to it, so that you can index it via script.Parent

From that point, in order to make a label visible, you’d do this:

script.Parent.TextLabel.Visible = true

assuming the hierarchy looks like this:
image

3 Likes

I assume we have misunderstood here.
Do you actually want script that loads the game before the game starts?
because loading the game when you actually loaded is fake
So what you want is for the loading to work as a loading screen before the game actually loads
heres an AlvinBlox toturial so you can understand how to do it

1 Like

You have to put the Text invisible in the clientside, from what i have seen your making it client side.

like @Amiaa16 is talking, you must edit it client side.

There 2 ways.
Use Parent to get the Text
Use game.Players.LocalPlayer.PlayerGui to get to the Gui

Lordy this thread is a trainwreck. If you’re dead set on keeping the GUI in ReplicatedFirst, you’ll want a LocalScript in there as well that parents the GUI to the player’s PlayerGui. After you reparent it, you’ll want this code to run:

game.Players.LocalPlayer.PlayerGui.LoadingScreen.Frame.time.Visible = true

Okay so heres how your gonna wanna do it.
Create local script, and parent your textlabel to the StarterGui
Set textlabel to visible = false
Do in the local script where it defines localplayer and then go into localplayer and into PlayerGui and set textlabel’s visibility to true there. this works because what you edit in startergui is not what will happen in game, your script works but you have to update what the player sees and that is “PlayerGui”