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

Black screen won't go away, even when the GUI is destroyed?

I'm trying to make a script (and I'm fairly new to this) that when run, would make a black screen, wait a while, then take the screen away.

Here it is:

local function darknessCycle()
	local darknessClone = game.ServerStorage.Darkness:Clone()
	darknessClone.Name = ("darknessClone")
	darknessClone.Parent = game.StarterGui
	local darknessTimer = 0
	math.randomseed(tick())
	wait(0.5)
	local darknessTime = math.random(2,10)
		for _ = 1, darknessTime, 1 do
		darknessTimer = darknessTimer + 1
		wait(1)
		print(darknessTime)
		print(darknessTimer)
	end
	print ("darknessTimer finished")
	darknessClone:Destroy() -- ??????
end

The thing is, when the script is run, and the darknessClone is destroyed, the black screen still stays. Is there something I'm missing that I need to get rid of it?

1 comment

0

By the way, I am aware that the function hasn't been called. When it is, it won't work.

1 answer

It's because you're cloning the Gui to the StarterGui, which is cloned to the PlayerGui when a player joins. If you want the black screen destroyed, :Destroy() the Gui from the PlayerGui.

Example:

for _, v in pairs(game.Players:GetPlayers()) do
    v.PlayerGui.darknessClone:Destroy()
end

Note: You may want to check if the GUI is there before removing it, just a precaution, so it won't error.

Replace line 16 with this.

for _, v in pairs(game.Players:GetPlayers()) do
    if v.PlayerGui.darknessClone ~= nil then
      v.PlayerGui.darknessClone:Destroy()
    else
      print('123')
    end
end

2 comments

0

Yeah, that works. Just making an example, though.

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