Hello. Because i cannot explain the situation by text, i just made a video to do that. You can see it here:
https://www.youtube.com/watch?v=kPku4DgPA7g
Here's a copy of the current scrpt i'm using:
local assets = game.ContentProvider.RequestQueueSize -- it loads immediately the total assets the game has to load and stores it. Doesn't update.--
script.Parent:RemoveDefaultLoadingScreen()
local frame = game.ReplicatedFirst.LoadingGUI:Clone()
frame.Parent = game.Players.LocalPlayer:WaitForChild("PlayerGui")
local speed = 0.2 -- It stores the rotation speed --
while game.ContentProvider.RequestQueueSize > 0 and speed < 50 do
local assetys = game.ContentProvider.RequestQueueSize -- it loads immediately the assets the game still didn't load. Updates every loop. --
frame.Frame.MovingTyre1.Rotation = (script.Parent.Rotation-speed)
frame.Frame.MovingTyre2.Rotation = (script.Parent.Rotation+speed)
speed = (speed+.2) -- Doubles the rotation speed (until it reaches the speed of 50)
wait()
frame.Frame.LoadingLabel.Text = "Loading assets... Progress: " ..(((assets - assetys)/assets)*100).."%"
-- If there were 10000 instances to load and 3500 are still loading: (((1000-3500)/10000)*100) == (6500/10000)*100 == 0.65*100 == 65% complete --
-- Then, of these 10000 instances, 2650 are unloaded yet: (((1000-2650)/10000)*100) == (7350/10000)*100 == 0.735*100 == 73.5% complete --
end
while game.ContentProvider.RequestQueueSize > 0 do
local assetys = game.ContentProvider.RequestQueueSize
frame.Frame.MovingTyre1.Rotation = (script.Parent.Rotation-speed)
frame.Frame.MovingTyre2.Rotation = (script.Parent.Rotation+speed)
frame.Frame.LoadingLabel.Text = "Loading assets... Progress: " ..(((assets - assetys)/assets)*100).."%"
wait()
end
frame.LoadingLabel.Text = "Game Loaded. Preparing to spawn..."
while speed > 0 do
local assetys = game.ContentProvider.RequestQueueSize
frame.Frame.MovingTyre1.Rotation = (script.Parent.Rotation-speed)
frame.Frame.MovingTyre2.Rotation = (script.Parent.Rotation+speed)
speed = (speed-.2) -- It will gradually slow down the rotation speed until it reaches zero.
wait()
end
wait (2.5)
frame.Parent = nil
Thank you.

1 comment
It still does not work.