Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
✓ ANSWER ACCEPTED

How to make an intro screen?

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?

2 answers

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)

This discussion is preserved as it was. New answers, comments, and votes are closed.