My code:
function Nuke()
game.Workspace.SoundStorage.TacticalNuke:Play()
wait(5.4)
local x = game.Workspace.Nuke.Size.X
local y = game.Workspace.Nuke.Size.Y
local z = game.Workspace.Nuke.Size.Z
game.Workspace.Nuke.KillScript.Disabled = false
game.Workspace.Nuke.Size=Vector3.new(x+600,y+600,z+600)
wait(5)
game.Workspace.Nuke.KillScript.Disabled = true
game.Workspace.Nuke.Size=Vector3.new(x-591,y-595,z-595)
game.StarterGui.ScreenGui.Regenerating.Visible = true
wait(3)
game.StarterGui.ScreenGui.Regenerating.Visible = false
end
game.Workspace.Nuke.ClickDetector.MouseClick:Connect(Nuke)
What I am trying to do is, after game.StarterGui.ScreenGui.Regenerating.Visible = true then It will wait 3 seconds and have game.StarterGui.ScreenGui.Regenerating.Visible = false. Meaning it will be invisible. It doesn't work

2 comments
That's because StarterGui is just a storage for all the Gui's. Once a player loads in, all those Gui's get cloned into a players "PlayerGui". That's why if you change anything in StarterGui, it won't affect anyone directly.
https://developer.roblox.com/en-us/articles/Remote-Functions-and-Events