I read the marked solution, waiting 4 seconds? what a good solution
unless you want me to scroll for every single comment which isn’t very time efficient…
Also i edited my answer on the second comment
I was referring more to my own post since someone already pointed out Loaded/IsLoaded as well as received a reply regarding using that for attempting to resolve OP’s issue.
There’s a search bar and not too many large posts here. It helps a whole lot more to read some of the discussion just so you can see what has and hasn’t been tried yet.
Actually you are right, when i first looked at this i didn’t find any direct answer and the comment marked as solution was no good so i searched on another threads and when i found out the answer and after testing it on my own game and making sure it worked without any trouble i thought of sharing a direct comment code i used cuz it may help others in future, i didn’t realize that other comments mentioned similar steps since most wasn’t really that direct
I will try to be extra careful in future, thanks!
That is better than your previous answer. However, if you would mix it with a little ContentProvider’s RequestQueueSize it would be more efficient. And to make the UX better, add the amount of minimum instances to load that when crossed will show you a skip loading button or it will just close the loading screen automatically altogether and let the other non-important assets load in the background.
This is personally my opinion of what’s the best way to make an efficient and user-friendly loading screen. Let me know if you got better ideas!
Use this:
local ContProvider = game:GetService(“ContentProvider”)
while ContProvider.RequestQueueSize > 0 do
print("loading...")
end
and this
Players_OBJ = game:GetService("Players")
Players_OBJ.PlayerAdded:Connect(function(The_Player)
The_Player.CharacterAdded:Connect(function(Character)
The_Player_3D = The_Player.Character or The_Player.CharacterAdded:wait()
while The_Player.HasAppearanceLoaded == false do
print("loading...")
end
if The_Player.HasAppearanceLoaded == true then
print("fully loaded!!")
end
end)
also you can detect when the player’s orb has gone
while task.wait() do
if Character:FindFirstChild("ForceField") then
print("Orb's there...")
wait(0.1)
else
print("Orb's gone...")
break
end
end
I truly have the same question.
You can try this maybe:
game.Loaded:Wait()
print("The game has loaded succesfully! :)")
Hello, just ran into this …
As long as you’re using a LocalScript, this worked perfectly for me.
wait(5)
if not game:IsLoaded() then
game.Loaded:Wait()
end
wait(1)
Pretty sure you don’t even need the wait() commands before and after
I’m using them as padding for script timing, so a fast load isn’t too fast for my timed intro.
Update … This works for the most part. But you will still need the waits to fine tune it.
Fully loaded and completed last screen update are not the same thing … (I guess)
This seems to get you right up to fully loaded, just need the wait time to complete
the last screen update/objects update.
This answer was way over a hundred times more straight forward than the answers given.
Which is why it’s such a bad solution. You can’t do anything until absolutely everything is loaded.
(2 years later, its for new readers)
This post is 5 years old and has already been solved, just let it die.