So last time I’ve tried explained an issue I have sometimes with GUI, but nobody understood, so…
If I write something like that:
local o = game:GetService("StarterGui"):WaitForChild("ScreenGui").Frame
wait(5)
o.Visible = false
--or
game:GetService("StarterGui"):WaitForChild("ScreenGui").Frame
wait(5)
o.Visible = false
then, well, nothing happens, and happens at the same time. In the properties the value is set, but it doesn’t change anything to the GUI itself. So I have to write
wait(5)
script.Parent.ScreenGui.Visible = false
and this is breaking everything if something isn’t loading correctly, and it’s simply harder to re-write the entire name of the GUI, which property I want to change.
The script only works if I put it into the StarterGui, which could be understandable, but this is not.
It works only if I write script.Parent…
Is it intentional? If it is, then what is the reason? Or it’s a bug only I am having? This makes everything really harder.