Let's say you enter in a game, before you spawn you see an intro screen that is like the one in Gusmanak's Apocalypse Rising, it shows a black screen with the title of the game for about 10 seconds before allowing you to spawn in. How would you be able to create this?
Hmm I can't explain how to make GUI's in an answer thing like this, but I can give you a link to a video tutorial that shows how to make GUI's: https://www.youtube.com/watch?v=gcvoegnFHxM
Well there are lots of ways to create Intro GUI's. I might add a script to start you off with but other than that here's one I made myself a week ago just for showcasing a map I'm making for a game [Build Your Cybersuit].
I just took it out so its missing some other variables from some other scripts so function correctly but the point of me showing you it is so you can get an idea of Intro (this one is a little bit.. too much tho lol)
You'd probably need less than half of this XD
To see it in action here is a link to the game
[UNCHARTED]2.0 v4.0.6 (Map for StaySpy)
function Welcome(plr) local Clear = false local TypeRate = .025 local LoadingPhrases = { "Connecting to Roblox Main Database", "game:GetService", "Port Fowarding|Server Port:", "Aqquiring UserData","Rendering Game Physics", "Verifying Account Data Sharing" } local ServiceLoading = { "BadgeService", "CoreGui", "StarterGui", "ChangeHistoryService", "Chat", "CollectionService", "ContentFilter", "ContentProvider", "ControllerService", "Debris", "FlagStandService", "FriendService", "Geometry", "GuiService", "GuidRegistryService", "InsertService", "Lighting", "LocalBackpack", "MeshContentProvider", "NetworkClient", "NetworkServer", "Workspace", "PhysicsService", "Players", "ReplicatedStorage", "RunService", "ScriptContext", "ScriptInformationProvider", "Selection", "ServerScriptService", "ServerStorage", "SocialService", "SoundService", "SpawnerService", "Stats", "StarterPack", "Teams", "TeleportService", "TextService", "Timer", "VirtualUser", "Visit", "RenderHooksService", "Authoring", "ChangeHistoryService", "Chat", "CollectionService", "ControllerService", "Debris", "DebugSettings", "FlagStandService", "FriendService", "GameSettings", "Geometry", "GuidRegistryService", "InsertService", "Lighting", "LuaSettings", "NetworkClient", "NetworkServer", "NetworkSettings", "PhysicsSettings", "RenderSettings", "RunService", "ScriptContext", "Selection", "SoundService", "SpawnerService", "Stats", "StarterPack", "Teams", "TaskScheduler", "Timer", "VirtualUser", "Visit", "RenderHooksService", "ChangeHistoryService", "Chat", "CollectionService", "ControllerService", "Debris", "FlagStandService", "FriendService", "Geometry", "GuidRegistryService", "InsertService", "Lighting", "NetworkClient", "NetworkServer", "RunService", "ScriptContext", "Selection", "SoundService", "SpawnerService", "Stats", "StarterPack", "Teams", "Timer", "UserGameSettings", "VirtualUser", "Visit", "RenderHooksService", "HttpService" } function GetAdminGear(destination) destination:WaitForChild("StarterGear") destination:WaitForChild("Backpack") for a, z in pairs(game.ServerStorage.AdministratorsStarterPack:GetChildren()) do local Gear = tostring(z) local GearCopy = game.ServerStorage.AdministratorsStarterPack[Gear]:Clone() GearCopy.Parent = destination.StarterGear local BackPackGearCopy = game.ServerStorage.AdministratorsStarterPack[Gear]:Clone() BackPackGearCopy.Parent = destination.Backpack wait() end end function GenMessage(Object, Text, timeBetween) Object.Text = " " for v in string.gmatch(Text, ".") do Object.Text = Object.Text..v wait(timeBetween) end end local char = game.Workspace:WaitForChild(plr.Name) char.Torso.Anchored = true plr:WaitForChild("PlayerGui") local wgui = script.WelcomeGui:Clone() wgui.Parent = plr.PlayerGui local GUI = wgui.Background GUI.Industries.ImageTransparency = 0 wait(5) GUI.LoadingBar.BackgroundTransparency = 0 GUI.LoadingBar.Size = UDim2.new(0,0,.06,0) GUI.LoadingBar:TweenSize(UDim2.new(.7,0,.06,0),Out,Quad,20,false,nil) wait(20) GUI.LoadingBar.Size = UDim2.new(0,0,.06,0) local PhraseLoad = coroutine.wrap(function() GUI.LoadingBar.Callback.TextTransparency = 0 local Callback = GUI.LoadingBar.Callback for i, v in pairs(LoadingPhrases) do if v == "game:GetService" then for k, w in pairs(ServiceLoading) do if w == "HttpService" then Callback.Text = v..'("'..w..'")' wait(3) else Callback.Text = v..'("'..w..'")' print("Service "..'"'..w..'"'.." loaded.") wait(.1) end end elseif v == "Port Fowarding|Server Port:" then Callback.Text = v..math.random(100000,999999) wait(math.random(3,7)) elseif v == "Connecting to Roblox Main Database" then Callback.Text = v.."." wait(1) Callback.Text = v..".." wait(2) Callback.Text = v.."..." wait(3) else for l = 1,3 do Callback.Text = v wait(.3) Callback.Text = v.."." wait(.3) Callback.Text = v..".." wait(.3) Callback.Text = v.."..." wait(.3) end end end wait(5) if plr.Name == "TochiWasHere" then GenMessage(Callback,"Creator Detected.",TypeRate) wait(2) GenMessage(Callback,"Welcome back Tony Stark.",TypeRate) wait(4) Callback.Text = "Loading your Items" wait(1) Callback.Text = "Loading your Items." wait(1) Callback.Text = "Loading your Items.." wait(1) Callback.Text = "Loading your Items..." GetAdminGear(plr) Callback.Text = "Game Ready Tony Stark" Clear = true else GenMessage(Callback,"Welcome to [UNCHARTED], a map for StaySpy by TochiWasHere AKA Tony Stark "..plr.Name.."!",TypeRate) Clear = true wait() end end) GUI.LoadingBar:TweenSize(UDim2.new(.7,0,.06,0),Out,Quad,40,false,nil) PhraseLoad() while true do if Clear == true then print('Player "'..plr.Name..'" cleared.') GUI.PLAY.Active = true GUI.PLAY.Visible = true wait() break else print("Awaiting Clearance from "..plr.Name.."...") wait(5) end end end game.Players.PlayerAdded:connect(function(player) Welcome(player) end)