Default Loading Screen won't go Away

Did you put it in ReplicatedFirst?

TopbarTransparency is now deprecated.

1 Like

Hey bro my bad but the person above me is right. That function don’t work no mo. I just found out about it. So if you remove that line of code and set the gui to ignoreguiinset you should be good.

I know you’ve changed your code already but instead of polling it’s better to use:

if not game:IsLoaded() then
    game.Loaded:Wait()
end

This will ensure that you’re not waiting longer than you need to and is generally a good practice.

I already set it to ignore GUI Inset because that’s just what I always do.

@Jaxlither1234 Yes it’s in ReplicatedFirst.

This is the code now and the default UI is still there. The new one shows after the new one leaves:

wait(1)
game.ReplicatedFirst:RemoveDefaultLoadingScreen()

local PlayerGui = game.Players.LocalPlayer:WaitForChild("PlayerGui")

local GUI = script.LoadingScreen
GUI.Parent=PlayerGui

wait(10)

GUI.Frame:TweenPosition(UDim2.new(0,0,1,0), "InOut", "Sine", .5)
wait(.5)
GUI:Destroy()

@pullman45

Where do I put the code that I want to run after it’s loaded? Just under it?

Yeah you just replace the old loop with that code. This tutorial may offer a little help.

Thank you so much I will use that tutorial.

Ok, I used the tutorial, and I have the part that says to delete the default loading GUI, but it’s still not working:

local Players = game:GetService("Players")
local ReplicatedFirst = game:GetService("ReplicatedFirst")
local TweenService = game:GetService("TweenService")
 
local player = Players.LocalPlayer 
local playerGui = player:WaitForChild("PlayerGui")
 
-- Create a basic loading screen
local screenGui = Instance.new("ScreenGui")
screenGui.IgnoreGuiInset = true
local textLabel = Instance.new("TextLabel")
textLabel.Size = UDim2.new(1, 0, 1, 0)
textLabel.BackgroundColor3 = Color3.fromRGB(0, 20, 40)
textLabel.Font = Enum.Font.GothamSemibold
textLabel.TextColor3 = Color3.new(0.8, 0.8, 0.8)
textLabel.Text = "Loading"
textLabel.TextSize = 28
textLabel.Parent = screenGui
local loadingRing = Instance.new("ImageLabel")
loadingRing.Size = UDim2.new(0, 256, 0, 256)
loadingRing.BackgroundTransparency = 1
loadingRing.Image = "rbxassetid://4965945816"
loadingRing.AnchorPoint = Vector2.new(0.5, 0.5)
loadingRing.Position = UDim2.new(0.5, 0, 0.5, 0)
loadingRing.Parent = screenGui
-- Parent entire screen GUI to player GUI
screenGui.Parent = playerGui
 
-- Remove the default loading screen
ReplicatedFirst:RemoveDefaultLoadingScreen()
 
local tweenInfo = TweenInfo.new(4, Enum.EasingStyle.Linear, Enum.EasingDirection.In, -1)
local tween = TweenService:Create(loadingRing, tweenInfo, {Rotation=360})
tween:Play()


local tweenInfo = TweenInfo.new(4, Enum.EasingStyle.Linear, Enum.EasingDirection.In, -1)
local tween = TweenService:Create(loadingRing, tweenInfo, {Rotation=360})
tween:Play()
 
--wait(3)  -- Optionally force screen to appear for a minimum number of seconds
if not game:IsLoaded() then
	game.Loaded:Wait()
end
screenGui:Destroy()

It’s set to go away after loading, so you never see it, even after the default one goes away. You can see the updated game that I added this code to here.

As far as AlvinBlox’s tutorial, you forgot :Clone() after local GUI = script.LoadingScreen
So it would be local GUI = script.LoadingScreen:Clone()
I tested it out today just to see if it works and mine did.

I will try that in a couple of days someone told me to take it out for some reason, so I did, but yeah, that makes a lot more sense to have multiple copies for multiple players.