Run it
Copy the script and paste it into your executor.
TweenService = :()
Players = :()
RunService = :()
SoundService = :()
Config = {
HubName = ,
Subtitle = ,
LogoLetter = ,
ImageLogo = ,
LoadTime = ,
ScriptToLoad = ,
Messages = {
,
,
,
,
,
},
Tips = {
,
,
},
Sounds = {
Open = ,
Update = ,
Success = ,
Failure = ,
TipPing =
},
IntroAnimationTime = ,
OutroAnimationTime = ,
Theme = {
Primary = .(, , ),
Background = .(, , ),
BackgroundGradient = .(, , ),
Text = .(, , ),
MutedText = .(, , ),
ProgressBackground = .(, , ),
Failure = .(, , ),
SuccessFlash = .(, , )
},
Fonts = {
Main = .Font.GothamBold,
Secondary = .Font.Gotham,
Code = .Font.Code
}
}
SoundPlayer = {}
name, id (Config.Sounds)
id id ~=
sound = .()
sound.SoundId = id
sound.Parent = SoundService
SoundPlayer[name] = sound
(name)
SoundPlayer[name]
SoundPlayer[name]:()
player = Players.LocalPlayer
playerGui = player:()
blur = .(, :())
blur.Size =
blur.Enabled =
screenGui = .()
screenGui.Name =
screenGui.ResetOnSpawn =
screenGui.ZIndexBehavior = .ZIndexBehavior.Sibling
screenGui.DisplayOrder =
container = .()
container.Name =
container.AnchorPoint = .(, )
container.Size = .(, , , )
container.Position = .(, , , )
container.BackgroundColor3 = Config.Theme.Background
container.BorderSizePixel =
container.Parent = screenGui
.(, container).CornerRadius = .(, )
containerGradient = .(, container)
containerGradient.Color = ColorSequence.{
ColorSequenceKeypoint.(, Config.Theme.Background),
ColorSequenceKeypoint.(, Config.Theme.BackgroundGradient)
}
containerGradient.Rotation =
borderStroke = .(, container)
borderStroke.Color = Config.Theme.Primary
borderStroke.Thickness =
borderStroke.Transparency =
borderStroke.ApplyStrokeMode = .ApplyStrokeMode.Border
logoCircle = .(, container)
logoCircle.Name =
logoCircle.AnchorPoint = .(, )
logoCircle.Size = .(, , , )
logoCircle.Position = .(, , , )
logoCircle.BackgroundColor3 = Config.Theme.Primary
logoCircle.BorderSizePixel =
logoCircle.ClipsDescendants =
.(, logoCircle).CornerRadius = .(, )
logoInner = .(, logoCircle)
logoInner.AnchorPoint = .(, )
logoInner.Size = .(, , , )
logoInner.Position = .(, , , )
logoInner.BackgroundColor3 = Config.Theme.Background
logoInner.BorderSizePixel =
.(, logoInner).CornerRadius = .(, )
Config.ImageLogo Config.ImageLogo ~=
logoImage = .(, logoInner)
logoImage.Size = .(, , , )
logoImage.BackgroundTransparency =
logoImage.Image = Config.ImageLogo
logoText = .(, logoInner)
logoText.Size = .(, , , )
logoText.BackgroundTransparency =
logoText.Text = Config.LogoLetter
logoText.TextColor3 = Config.Theme.Primary
logoText.TextSize =
logoText.Font = Config.Fonts.Main
title = .(, container)
title.Size = .(, -, , )
title.Position = .(, , , )
title.BackgroundTransparency =
title.Text = Config.HubName
title.TextColor3 = Config.Theme.Text
title.TextSize =
title.Font = Config.Fonts.Main
title.TextXAlignment = .TextXAlignment.Center
versionText = .(, container)
versionText.Size = .(, -, , )
versionText.Position = .(, , , )
versionText.BackgroundTransparency =
versionText.Text = Config.Subtitle
versionText.TextColor3 = Config.Theme.MutedText
versionText.TextSize =
versionText.Font = Config.Fonts.Secondary
versionText.TextXAlignment = .TextXAlignment.Center
progressBg = .(, container)
progressBg.Name =
progressBg.Size = .(, -, , )
progressBg.Position = .(, , , )
progressBg.BackgroundColor3 = Config.Theme.ProgressBackground
progressBg.BorderSizePixel =
.(, progressBg).CornerRadius = .(, )
successGlowStroke = .(, progressBg)
successGlowStroke.Color = Config.Theme.SuccessFlash
successGlowStroke.Thickness =
successGlowStroke.Transparency =
progressFill = .(, progressBg)
progressFill.Name =
progressFill.Size = .(, , , )
progressFill.BackgroundColor3 = Config.Theme.Primary
progressFill.BorderSizePixel =
progressFill.ClipsDescendants =
.(, progressFill).CornerRadius = .(, )
.(, progressFill).Color = ColorSequence.{
ColorSequenceKeypoint.(, Config.Theme.Primary),
ColorSequenceKeypoint.(, .(
.(, Config.Theme.Primary.R * ),
.(, Config.Theme.Primary.G * ),
.(, Config.Theme.Primary.B * )
))
}
progressShine = .(, progressFill)
progressShine.Name =
progressShine.Size = .(, , , )
progressShine.Position = .(-, , , )
progressShine.BackgroundColor3 = .(, , )
progressShine.BackgroundTransparency =
progressShine.BorderSizePixel =
.(, progressShine).CornerRadius = .(, )
.(, progressShine).Transparency = NumberSequence.{
NumberSequenceKeypoint.(, ),
NumberSequenceKeypoint.(, ),
NumberSequenceKeypoint.(, )
}
progressShimmer = .(, progressFill)
progressShimmer.Rotation =
progressShimmer.Offset = .(, -)
progressShimmer.Transparency = NumberSequence.{
NumberSequenceKeypoint.(, ),
NumberSequenceKeypoint.(, ),
NumberSequenceKeypoint.(, ),
NumberSequenceKeypoint.(, ),
NumberSequenceKeypoint.(, )
}
percentText = .(, container)
percentText.Size = .(, , , )
percentText.Position = .(, -, , )
percentText.BackgroundTransparency =
percentText.Text =
percentText.TextColor3 = Config.Theme.Primary
percentText.TextSize =
percentText.Font = Config.Fonts.Main
statusText = .(, container)
statusText.Size = .(, -, , )
statusText.Position = .(, , , )
statusText.BackgroundTransparency =
statusText.Text =
statusText.TextColor3 = Config.Theme.MutedText
statusText.TextSize =
statusText.Font = Config.Fonts.Code
statusText.TextXAlignment = .TextXAlignment.Center
screenGui.Parent = playerGui
currentPercent =
(target, duration)
startPercent = currentPercent
tweenInfo = TweenInfo.(duration, .EasingStyle.Cubic, .EasingDirection.Out)
fillTween = TweenService:(progressFill, tweenInfo, {Size = .(target / , , , )})
fillTween:()
tempNumber = .()
tempNumber.Value = startPercent
textTween = TweenService:(tempNumber, tweenInfo, {Value = target})
textTween:()
connection
connection = tempNumber.Changed:(()
newPercent = .(tempNumber.Value, , )
percentText.Text = .(newPercent) ..
currentPercent = newPercent
newPercent >= target
tempNumber:()
connection:()
)
tipDebounce =
(text, instant)
instant statusText.Text = text;
tipDebounce #Config.Tips > .() <
tipDebounce =
textToRestore = text
.(()
.()
()
originalPosition = statusText.Position
slideDownOffset = .(originalPosition.X.Scale, originalPosition.X.Offset, originalPosition.Y.Scale, originalPosition.Y.Offset + )
slideUpOffset = .(originalPosition.X.Scale, originalPosition.X.Offset, originalPosition.Y.Scale, originalPosition.Y.Offset - )
outTween = TweenService:(statusText, TweenInfo.(), {TextTransparency = })
outTween:()
outTween.Completed:()
statusText.Text = Config.Tips[.(, #Config.Tips)]
statusText.Position = slideDownOffset
inTween = TweenService:(statusText, TweenInfo.(, .EasingStyle.Sine, .EasingDirection.Out), {
TextTransparency = ,
Position = originalPosition
})
inTween:()
inTween.Completed:()
.()
outTween2 = TweenService:(statusText, TweenInfo.(, .EasingStyle.Sine, .EasingDirection.In), {
TextTransparency = ,
Position = slideUpOffset
})
outTween2:()
outTween2.Completed:()
statusText.Text = textToRestore
statusText.Position = originalPosition
inTween2 = TweenService:(statusText, TweenInfo.(), {TextTransparency = })
inTween2:()
.()
tipDebounce =
)
()
outTween = TweenService:(statusText, TweenInfo.(), {TextTransparency = })
outTween:()
outTween.Completed:()
statusText.Text = text
inTween = TweenService:(statusText, TweenInfo.(), {TextTransparency = })
inTween:()
(errorMessage)
(errorMessage, )
()
TweenService:(borderStroke, TweenInfo.(), {Color = Config.Theme.Failure}):()
TweenService:(progressFill, TweenInfo.(), {BackgroundColor3 = Config.Theme.Failure}):()
grad = progressFill:()
grad
TweenService:(grad, TweenInfo.(), {Color = ColorSequence.(Config.Theme.Failure)}):()
percentText.TextColor3 = Config.Theme.Failure
_, child (container:())
child:()
child.TextTransparency =
child:()
child.ImageTransparency =
child:()
child.BackgroundTransparency =
child:()
child.Transparency =
logoCircle.MouseEnter:(()
TweenService:(logoCircle, TweenInfo.(), {Size = .(, , , )}):()
)
logoCircle.MouseLeave:(()
TweenService:(logoCircle, TweenInfo.(), {Size = .(, , , )}):()
)
()
TweenService:(blur, TweenInfo.(Config.IntroAnimationTime), {Size = }):()
introTween = TweenService:(container, TweenInfo.(Config.IntroAnimationTime, .EasingStyle.Back, .EasingDirection.Out), {
Size = .(, , , )
})
introTween:()
introTween.Completed:()
_, child (container:())
child:()
TweenService:(child, TweenInfo.(), {TextTransparency = }):()
child:()
TweenService:(child, TweenInfo.(), {ImageTransparency = }):()
child:()
targetTransparency = (child.Name == )
TweenService:(child, TweenInfo.(), {BackgroundTransparency = targetTransparency}):()
child:()
targetTransparency = (child == successGlowStroke)
TweenService:(child, TweenInfo.(), {Transparency = targetTransparency}):()
.()
Config.ScriptToLoad == Config.ScriptToLoad ==
()
loadingFinished =
.(()
container.Parent loadingFinished
progressShine.Position = .(-, , , )
TweenService:(progressShine, TweenInfo.(, .EasingStyle.Linear), {Position = .(, , , )}):()
.()
)
.(()
container.Parent loadingFinished
progressShimmer.Offset = .(, -)
TweenService:(progressShimmer, TweenInfo.(, .EasingStyle.Linear), {Offset = .(, )}):()
.()
)
.(()
stepDuration = Config.LoadTime / #Config.Messages
i, msg (Config.Messages)
(msg, )
((i / #Config.Messages) * , stepDuration * )
.(stepDuration)
loadingFinished =
logoCircle.Active =
TweenService:(progressShine, TweenInfo.(), {BackgroundTransparency = }):()
(, )
success, result = (()
(:(Config.ScriptToLoad))()
)
success
()
(, )
flashIn = TweenService:(successGlowStroke, TweenInfo.(, .EasingStyle.Sine, .EasingDirection.Out), {Transparency = })
flashOut = TweenService:(successGlowStroke, TweenInfo.(, .EasingStyle.Sine, .EasingDirection.Out), {Transparency = })
bounceUp = TweenService:(logoCircle, TweenInfo.(, .EasingStyle.Elastic, .EasingDirection.Out), {Size = .(, , , )})
bounceDown = TweenService:(logoCircle, TweenInfo.(, .EasingStyle.Linear), {Size = .(, , , )})
flashIn:()
bounceUp:()
flashIn.Completed:(()
.()
flashOut:()
)
bounceUp.Completed:(()
bounceDown:()
)
flashOut.Completed:(()
TweenService:(statusText, TweenInfo.(), {TextTransparency = }):()
.()
TweenService:(blur, TweenInfo.(Config.OutroAnimationTime), {Size = }):()
outroTween = TweenService:(container, TweenInfo.(Config.OutroAnimationTime, .EasingStyle.Back, .EasingDirection.In), {
Size = .(, , , )
})
outroTween:()
_, child (container:())
child ~= statusText
child:()
TweenService:(child, TweenInfo.(Config.OutroAnimationTime * ), {TextTransparency = }):()
child:()
TweenService:(child, TweenInfo.(Config.OutroAnimationTime * ), {ImageTransparency = }):()
child:()
TweenService:(child, TweenInfo.(Config.OutroAnimationTime * ), {BackgroundTransparency = }):()
child:()
TweenService:(child, TweenInfo.(Config.OutroAnimationTime * ), {Transparency = }):()
outroTween.Completed:()
screenGui:()
blur:()
)
()
(, result)
)Loads code from the internet. It downloads more code when it runs (loadstring + HttpGet), which can change after it was posted. From: pastebin.com.