Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

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

Asked by 7 years ago

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:

01local function darknessCycle()
02    local darknessClone = game.ServerStorage.Darkness:Clone()
03    darknessClone.Name = ("darknessClone")
04    darknessClone.Parent = game.StarterGui
05    local darknessTimer = 0
06    math.randomseed(tick())
07    wait(0.5)
08    local darknessTime = math.random(2,10)
09        for _ = 1, darknessTime, 1 do
10        darknessTimer = darknessTimer + 1
11        wait(1)
12        print(darknessTime)
13        print(darknessTimer)
14    end
15    print ("darknessTimer finished")
16    darknessClone:Destroy() -- ??????
17end

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?

0
By the way, I am aware that the function hasn't been called. When it is, it won't work. DaBrainlessOne 129 — 7y

1 answer

Log in to vote
1
Answered by
awfulszn 394 Moderation Voter
7 years ago
Edited 7 years ago

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 thePlayerGui.

Example:

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

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.

1for _, v in pairs(game.Players:GetPlayers()) do
2    if v.PlayerGui.darknessClone ~= nil then
3      v.PlayerGui.darknessClone:Destroy()
4    else
5      print('123')
6    end
7end
0
Yeah, that works. Just making an example, though. awfulszn 394 — 7y
Ad

Answer this question