Run it
Copy the script and paste it into your executor.
CONFIG = {
ContainerWidth = ,
ContainerHeight = ,
BarHeight = ,
BarPaddingX = ,
BarLerpSpeed = ,
FadeInSpeed = ,
FadeOutSpeed = ,
}
loader = {}
screenGui = .()
screenGui.Name =
screenGui.ZIndexBehavior = .ZIndexBehavior.Sibling
screenGui.ResetOnSpawn =
success = (()
screenGui.Parent = :()
)
success
screenGui.Parent = :().LocalPlayer:()
container = .()
container.Name =
container.Size = .(, CONFIG.ContainerWidth, , CONFIG.ContainerHeight)
container.Position = .(, , , )
container.AnchorPoint = .(, )
container.BackgroundColor3 = .(, , )
container.BorderSizePixel =
container.BackgroundTransparency =
container.Parent = screenGui
containerCorner = .()
containerCorner.CornerRadius = .(, )
containerCorner.Parent = container
containerStroke = .()
containerStroke.Color = .(, , )
containerStroke.Thickness =
containerStroke.Transparency =
containerStroke.Parent = container
gradient = .()
gradient.Color = ColorSequence.{
ColorSequenceKeypoint.(, .(, , )),
ColorSequenceKeypoint.(, .(, , ))
}
gradient.Rotation =
gradient.Parent = container
statusLabel = .()
statusLabel.Name =
statusLabel.Size = .(, -CONFIG.BarPaddingX * , , )
statusLabel.Position = .(, CONFIG.BarPaddingX, , )
statusLabel.BackgroundTransparency =
statusLabel.Text =
statusLabel.TextColor3 = .(, , )
statusLabel.TextSize =
statusLabel.Font = .Font.GothamMedium
statusLabel.TextXAlignment = .TextXAlignment.Center
statusLabel.TextTransparency =
statusLabel.Parent = container
barBackground = .()
barBackground.Name =
barBackground.Size = .(, -CONFIG.BarPaddingX * , , CONFIG.BarHeight)
barBackground.Position = .(, CONFIG.BarPaddingX, , )
barBackground.BackgroundColor3 = .(, , )
barBackground.BorderSizePixel =
barBackground.BackgroundTransparency =
barBackground.Parent = container
barBgCorner = .()
barBgCorner.CornerRadius = .(, )
barBgCorner.Parent = barBackground
barFill = .()
barFill.Name =
barFill.Size = .(, , , )
barFill.BackgroundColor3 = .(, , )
barFill.BorderSizePixel =
barFill.BackgroundTransparency =
barFill.Parent = barBackground
barFillCorner = .()
barFillCorner.CornerRadius = .(, )
barFillCorner.Parent = barFill
barGradient = .()
barGradient.Color = ColorSequence.{
ColorSequenceKeypoint.(, .(, , )),
ColorSequenceKeypoint.(, .(, , ))
}
barGradient.Rotation =
barGradient.Parent = barFill
TweenService = :()
fadeInTween = TweenService:(
container,
TweenInfo.(CONFIG.FadeInSpeed, .EasingStyle.Quad, .EasingDirection.Out),
{BackgroundTransparency = }
)
strokeFadeIn = TweenService:(
containerStroke,
TweenInfo.(CONFIG.FadeInSpeed, .EasingStyle.Quad, .EasingDirection.Out),
{Transparency = }
)
textFadeIn = TweenService:(
statusLabel,
TweenInfo.(CONFIG.FadeInSpeed, .EasingStyle.Quad, .EasingDirection.Out),
{TextTransparency = }
)
barBgFadeIn = TweenService:(
barBackground,
TweenInfo.(CONFIG.FadeInSpeed, .EasingStyle.Quad, .EasingDirection.Out),
{BackgroundTransparency = }
)
barFillFadeIn = TweenService:(
barFill,
TweenInfo.(CONFIG.FadeInSpeed, .EasingStyle.Quad, .EasingDirection.Out),
{BackgroundTransparency = }
)
fadeInTween:()
strokeFadeIn:()
textFadeIn:()
barBgFadeIn:()
barFillFadeIn:()
(status, progress)
progress = .(progress, , )
statusLabel.Text = status
targetSize = .(progress / , , , )
barFill:(
targetSize,
.EasingDirection.Out,
.EasingStyle.Quad,
CONFIG.BarLerpSpeed,
)
loader:()
initialTransparencies = {
container = container.BackgroundTransparency,
stroke = containerStroke.Transparency,
text = statusLabel.TextTransparency,
barBg = barBackground.BackgroundTransparency,
barFill = barFill.BackgroundTransparency
}
fadeOutTween = TweenService:(
container,
TweenInfo.(CONFIG.FadeOutSpeed, .EasingStyle.Quad, .EasingDirection.In),
{BackgroundTransparency = }
)
strokeFadeOut = TweenService:(
containerStroke,
TweenInfo.(CONFIG.FadeOutSpeed, .EasingStyle.Quad, .EasingDirection.In),
{Transparency = }
)
textFadeOut = TweenService:(
statusLabel,
TweenInfo.(CONFIG.FadeOutSpeed, .EasingStyle.Quad, .EasingDirection.In),
{TextTransparency = }
)
barBgFadeOut = TweenService:(
barBackground,
TweenInfo.(CONFIG.FadeOutSpeed, .EasingStyle.Quad, .EasingDirection.In),
{BackgroundTransparency = }
)
barFillFadeOut = TweenService:(
barFill,
TweenInfo.(CONFIG.FadeOutSpeed, .EasingStyle.Quad, .EasingDirection.In),
{BackgroundTransparency = }
)
fadeOutTween:()
strokeFadeOut:()
textFadeOut:()
barBgFadeOut:()
barFillFadeOut:()
fadeOutTween.Completed:(()
screenGui:()
)
.updateLoader = updateLoader
.removeLoader = () loader:()
.(()
()
(, )
()
(, )
()
(, )
()
(, )
()
(, )
()
loader:()
)just a basic loading ui