Loading Screen Ending So Fast

So I saw a tutorial for loading screen but the problem is that the tween applies as soon as default loading screen removed

game > ReplicatedFirst > LocalScript > (my GUI)

game.ReplicatedFirst:RemoveDefaultLoadingScreen()
wait(5) --Tried to put delay but still ending so fast

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

local GUI = script.LoadingScreen:Clone()
GUI.Parent = PlayerGUI

repeat wait() until game:IsLoaded()

if game:IsLoaded() then
	local position = UDim2.new(0.5, 0,-1, 0)
	GUI.LoadingFrame:TweenPosition(position, Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.35)
end

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

wait(5)

GUI:Destroy()

I tried to search for solution anywhere but didn’t see anything helpful for this problem. I have the same problem as this guy but different script

3 Likes

You can change the wait(5) to the highest number to make the loading screen stay longer :>

That wait time doesn’t help at all, the gui still removes as defaul loading screen have been removed

Hmmm, you can try to add a new loading screen after it done loading

you found me !!! ‘0’

I think you can take that out and put it inside the loop.

repeat wait(5) until game:IsLoaded()

But I managed to “solve it” by increasing the delay

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

(This is not a solution)

2 Likes

Your “animation” is too fast so you can’t see anything.
In your case, this should fix it.

local Players = game:GetService("Players"); --//players service
local ReplicatedFirst = game:GetService("ReplicatedFirst"); --//repfirst service
local TweenService = game:GetService('TweenService'); --//tween service

local Player = Players.LocalPlayer; --// local player
local PlayerGui = Player:WaitForChild'PlayerGui'; --// wait for playergui

local LoadingScreen = script:WaitForChild('LoadingScreen'); --// wait for loading screen
local GUI = LoadingScreen:Clone(); --// clone screen
GUI.Parent = PlayerGui; --// parent cloned screen into local player gui

ReplicatedFirst:RemoveDefaultLoadingScreen(); --// remove def. loading screen

wait(5); --// force screen to appear for some sec.
if not game:IsLoaded() then --// if game didn't load already then
	game.Loaded:Wait(); --// wait for game to load
end;

local Info = TweenInfo.new(.35, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut); --// tween info
local Tween = TweenService:Create(GUI.LoadingFrame, Info, {Position = UDim2.new(0.5, 0,-1, 0)}); --// create tween

Tween.Completed:Connect(function()
	GUI:Destroy();
end); --// destroy GUI after animation is completed

Tween:Play(); --// play tween

Actually, try this

game > ReplicatedFirst > LocalScript > (my GUI)

game.ReplicatedFirst:RemoveDefaultLoadingScreen()
wait(5) --Tried to put delay but still ending so fast

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

local GUI = script.LoadingScreen:Clone()
GUI.Parent = PlayerGUI

repeat wait() until game:IsLoaded()

if game:IsLoaded() then
	local position = UDim2.new(0.5, 0,-1, 0)
	GUI.LoadingFrame:TweenPosition(position, Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.35)
wait(5)
end

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

wait(5)

GUI:Destroy()

Doesn’t work. Sorry for very late reply

Don’t. There’s absolutely no reason for anyone to wait for the game to load using the repeat loop, especially that the .Loaded event exists - you should wait for it instead.