add web
This commit is contained in:
@@ -0,0 +1,175 @@
|
||||
-- Creates the generic "ROBLOX" loading screen on startup
|
||||
-- Written by Ben Tkacheff, 2014
|
||||
|
||||
local frame
|
||||
local forceRemovalTime = 5
|
||||
local destroyed = false
|
||||
|
||||
Game:GetService("ContentProvider"):Preload("rbxasset://textures/roblox-logo.png")
|
||||
|
||||
-- get control functions set up immediately
|
||||
function removeLoadingScreen()
|
||||
if frame then frame:Destroy() end
|
||||
if script then script:Destroy() end
|
||||
destroyed = true
|
||||
end
|
||||
|
||||
function startForceLoadingDoneTimer()
|
||||
wait(forceRemovalTime)
|
||||
removeLoadingScreen()
|
||||
end
|
||||
|
||||
function gameIsLoaded()
|
||||
if Game.ReplicatedFirst:IsDefaultLoadingGuiRemoved() then
|
||||
removeLoadingScreen()
|
||||
else
|
||||
startForceLoadingDoneTimer()
|
||||
end
|
||||
end
|
||||
|
||||
function makeDefaultLoadingScreen()
|
||||
if not settings():GetFFlag("NewLoadingScreen") then return end
|
||||
if destroyed then return end
|
||||
|
||||
frame = Instance.new("Frame")
|
||||
frame.ZIndex = 10
|
||||
frame.Active = true
|
||||
frame.Size = UDim2.new(1,0,1,0)
|
||||
frame.BackgroundColor3 = Color3.new(48/255,90/255,206/255)
|
||||
|
||||
local robloxLogo = Instance.new("ImageLabel")
|
||||
robloxLogo.BackgroundTransparency = 1
|
||||
robloxLogo.ZIndex = 10
|
||||
robloxLogo.Image = "rbxasset://textures/roblox-logo.png"
|
||||
robloxLogo.Size = UDim2.new(0,1031,0,265)
|
||||
robloxLogo.Position = UDim2.new(0.5,-515,0.5,-132)
|
||||
robloxLogo.Name = "RobloxLogo"
|
||||
robloxLogo.Parent = frame
|
||||
|
||||
local poweredByText = Instance.new("TextLabel")
|
||||
poweredByText.Font = Enum.Font.SourceSansBold
|
||||
poweredByText.FontSize = Enum.FontSize.Size24
|
||||
poweredByText.TextWrap = true
|
||||
poweredByText.TextColor3 = Color3.new(1,1,1)
|
||||
poweredByText.BackgroundTransparency = 1
|
||||
poweredByText.ZIndex = 10
|
||||
poweredByText.Text = "This Game Powered By"
|
||||
poweredByText.TextXAlignment = Enum.TextXAlignment.Left
|
||||
poweredByText.Size = UDim2.new(1,0,0,40)
|
||||
poweredByText.Position = UDim2.new(0,0,0,-50)
|
||||
poweredByText.Name = "PoweredByText"
|
||||
poweredByText.Parent = robloxLogo
|
||||
|
||||
local exitButton = Instance.new("ImageButton")
|
||||
exitButton.ZIndex = 10
|
||||
exitButton.BackgroundTransparency = 1
|
||||
exitButton.Image = "rbxasset://textures/ui/CloseButton.png"
|
||||
exitButton.Size = UDim2.new(0,22,0,22)
|
||||
exitButton.Position = UDim2.new(1,-23,0,1)
|
||||
exitButton.Name = "ExitButton"
|
||||
exitButton:SetVerb("Exit")
|
||||
|
||||
UserSettings().GameSettings.FullscreenChanged:connect(function ( isFullScreen )
|
||||
if isFullScreen then
|
||||
exitButton.Parent = frame
|
||||
else
|
||||
exitButton.Parent = nil
|
||||
end
|
||||
end)
|
||||
if UserSettings().GameSettings:InFullScreen()then
|
||||
exitButton.Parent = frame
|
||||
end
|
||||
|
||||
-- put something visible up asap
|
||||
frame.Parent = Game.CoreGui.RobloxGui
|
||||
|
||||
local instanceText = Instance.new("TextLabel")
|
||||
instanceText.Font = Enum.Font.SourceSansBold
|
||||
instanceText.FontSize = Enum.FontSize.Size18
|
||||
instanceText.TextWrap = true
|
||||
instanceText.TextColor3 = Color3.new(1,1,1)
|
||||
instanceText.BackgroundTransparency = 1
|
||||
instanceText.ZIndex = 10
|
||||
instanceText.Text = ""
|
||||
instanceText.Size = UDim2.new(1,0,0,40)
|
||||
instanceText.Position = UDim2.new(0,0,1,-60)
|
||||
instanceText.Name = "InstanceText"
|
||||
instanceText.Parent = frame
|
||||
|
||||
local loadingText = Instance.new("TextLabel")
|
||||
loadingText.Font = Enum.Font.SourceSansBold
|
||||
loadingText.FontSize = Enum.FontSize.Size36
|
||||
loadingText.TextWrap = true
|
||||
loadingText.TextColor3 = Color3.new(1,1,1)
|
||||
loadingText.BackgroundTransparency = 1
|
||||
loadingText.ZIndex = 10
|
||||
loadingText.Text = "Loading"
|
||||
loadingText.Size = UDim2.new(1,0,0,40)
|
||||
loadingText.Position = UDim2.new(0,0,1,20)
|
||||
loadingText.Name = "LoadingText"
|
||||
loadingText.Parent = robloxLogo
|
||||
|
||||
local howManyDots = 0
|
||||
local lastUpdateTime = tick()
|
||||
local minUpdateTime = 0.3
|
||||
local aspectRatio = 1031/265
|
||||
|
||||
function ResolutionChanged( prop )
|
||||
if prop == "AbsoluteSize" then
|
||||
local size = Game.CoreGui.RobloxGui.AbsoluteSize
|
||||
if size.X >= 1031 then
|
||||
robloxLogo.Size = UDim2.new(0,1031,0,265)
|
||||
robloxLogo.Position = UDim2.new(0.5,-515,0.5,-132)
|
||||
else
|
||||
local sizeReducer = -0.05
|
||||
while size.X < robloxLogo.AbsoluteSize.X do
|
||||
|
||||
robloxLogo.Size = UDim2.new(sizeReducer,1031,0,265)
|
||||
local newY = robloxLogo.AbsoluteSize.X * 265/1031
|
||||
robloxLogo.Size = UDim2.new(sizeReducer,1031,0,newY)
|
||||
robloxLogo.Position = UDim2.new(0.5 - (sizeReducer/2),-515,0.5,-132)
|
||||
|
||||
sizeReducer = sizeReducer - 0.1
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
ResolutionChanged("AbsoluteSize")
|
||||
Game.CoreGui.RobloxGui.Changed:connect(ResolutionChanged)
|
||||
|
||||
Game:GetService("RunService").RenderStepped:connect(function()
|
||||
instanceText.Text = Game:GetMessage()
|
||||
|
||||
if tick() - lastUpdateTime >= minUpdateTime then
|
||||
howManyDots = howManyDots + 1
|
||||
if howManyDots > 5 then
|
||||
howManyDots = 0
|
||||
end
|
||||
|
||||
loadingText.Text = "Loading"
|
||||
for i = 1, howManyDots do
|
||||
loadingText.Text = loadingText.Text .. "."
|
||||
end
|
||||
lastUpdateTime = tick()
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
makeDefaultLoadingScreen()
|
||||
|
||||
Game.ReplicatedFirst.RemoveDefaultLoadingGuiSignal:connect(function()
|
||||
removeLoadingScreen()
|
||||
end)
|
||||
if Game.ReplicatedFirst:IsDefaultLoadingGuiRemoved() then
|
||||
removeLoadingScreen()
|
||||
return
|
||||
end
|
||||
|
||||
Game.Loaded:connect(function()
|
||||
gameIsLoaded()
|
||||
end)
|
||||
|
||||
if Game:IsLoaded() then
|
||||
gameIsLoaded()
|
||||
end
|
||||
Reference in New Issue
Block a user