
KeylessUniversal

-- +---------------+
-- | CONFIGURATION |
-- +---------------+
local CONFIG = {
-- Container Settings
ContainerWidth = 380, -- Width of the loader box
ContainerHeight = 100, -- Height of the loader box
-- Progress Bar Settings
BarHeight = 8, -- Height of the progress bar
BarPaddingX = 32, -- Horizontal padding from container edges
-- Animation Settings
BarLerpSpeed = 0.4, -- Speed of progress bar animation (seconds)
FadeInSpeed = 0.4, -- Speed of fade in animation (seconds)
FadeOutSpeed = 0.3, -- Speed of fade out animation (seconds)
}
local loader = {}
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "GraphiteLoader"
screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
screenGui.ResetOnSpawn = false
local success = pcall(function()
screenGui.Parent = game:GetService("CoreGui")
end)
if not success then
screenGui.Parent = game:GetService("Players").LocalPlayer:WaitForChild("PlayerGui")
end
local container = Instance.new("Frame")
container.Name = "LoaderContainer"
container.Size = UDim2.new(0, CONFIG.ContainerWidth, 0, CONFIG.ContainerHeight)
container.Position = UDim2.new(0.5, 0, 0.5, 0)
container.AnchorPoint = Vector2.new(0.5, 0.5)
container.BackgroundColor3 = Color3.fromRGB(38, 38, 42)
container.BorderSizePixel = 0
container.BackgroundTransparency = 1
container.Parent = screenGui
local containerCorner = Instance.new("UICorner")
containerCorner.CornerRadius = UDim.new(0, 12)
containerCorner.Parent = container
local containerStroke = Instance.new("UIStroke")
containerStroke.Color = Color3.fromRGB(68, 68, 72)
containerStroke.Thickness = 1
containerStroke.Transparency = 1
containerStroke.Parent = container
local gradient = Instance.new("UIGradient")
gradient.Color = ColorSequence.new{
ColorSequenceKeypoint.new(0, Color3.fromRGB(46, 46, 50)),
ColorSequenceKeypoint.new(1, Color3.fromRGB(38, 38, 42))
}
gradient.Rotation = 145
gradient.Parent = container
local statusLabel = Instance.new("TextLabel")
statusLabel.Name = "StatusLabel"
statusLabel.Size = UDim2.new(1, -CONFIG.BarPaddingX * 2, 0, 20)
statusLabel.Position = UDim2.new(0, CONFIG.BarPaddingX, 0, 28)
statusLabel.BackgroundTransparency = 1
statusLabel.Text = "Initializing..."
statusLabel.TextColor3 = Color3.fromRGB(176, 176, 176)
statusLabel.TextSize = 14
statusLabel.Font = Enum.Font.GothamMedium
statusLabel.TextXAlignment = Enum.TextXAlignment.Center
statusLabel.TextTransparency = 1
statusLabel.Parent = container
local barBackground = Instance.new("Frame")
barBackground.Name = "BarBackground"
barBackground.Size = UDim2.new(1, -CONFIG.BarPaddingX * 2, 0, CONFIG.BarHeight)
barBackground.Position = UDim2.new(0, CONFIG.BarPaddingX, 0, 60)
barBackground.BackgroundColor3 = Color3.fromRGB(24, 24, 28)
barBackground.BorderSizePixel = 0
barBackground.BackgroundTransparency = 1
barBackground.Parent = container
local barBgCorner = Instance.new("UICorner")
barBgCorner.CornerRadius = UDim.new(0, 3)
barBgCorner.Parent = barBackground
local barFill = Instance.new("Frame")
barFill.Name = "BarFill"
barFill.Size = UDim2.new(0, 0, 1, 0)
barFill.BackgroundColor3 = Color3.fromRGB(106, 106, 106)
barFill.BorderSizePixel = 0
barFill.BackgroundTransparency = 1
barFill.Parent = barBackground
local barFillCorner = Instance.new("UICorner")
barFillCorner.CornerRadius = UDim.new(0, 3)
barFillCorner.Parent = barFill
local barGradient = Instance.new("UIGradient")
barGradient.Color = ColorSequence.new{
ColorSequenceKeypoint.new(0, Color3.fromRGB(80, 80, 80)),
ColorSequenceKeypoint.new(1, Color3.fromRGB(106, 106, 106))
}
barGradient.Rotation = 90
barGradient.Parent = barFill
local TweenService = game:GetService("TweenService")
local fadeInTween = TweenService:Create(
container,
TweenInfo.new(CONFIG.FadeInSpeed, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundTransparency = 0}
)
local strokeFadeIn = TweenService:Create(
containerStroke,
TweenInfo.new(CONFIG.FadeInSpeed, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{Transparency = 0}
)
local textFadeIn = TweenService:Create(
statusLabel,
TweenInfo.new(CONFIG.FadeInSpeed, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{TextTransparency = 0}
)
local barBgFadeIn = TweenService:Create(
barBackground,
TweenInfo.new(CONFIG.FadeInSpeed, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundTransparency = 0}
)
local barFillFadeIn = TweenService:Create(
barFill,
TweenInfo.new(CONFIG.FadeInSpeed, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{BackgroundTransparency = 0}
)
fadeInTween:Play()
strokeFadeIn:Play()
textFadeIn:Play()
barBgFadeIn:Play()
barFillFadeIn:Play()
function updateLoader(status, progress)
progress = math.clamp(progress, 0, 100)
statusLabel.Text = status
local targetSize = UDim2.new(progress / 100, 0, 1, 0)
barFill:TweenSize(
targetSize,
Enum.EasingDirection.Out,
Enum.EasingStyle.Quad,
CONFIG.BarLerpSpeed,
true
)
end
function loader:Remove()
local initialTransparencies = {
container = container.BackgroundTransparency,
stroke = containerStroke.Transparency,
text = statusLabel.TextTransparency,
barBg = barBackground.BackgroundTransparency,
barFill = barFill.BackgroundTransparency
}
local fadeOutTween = TweenService:Create(
container,
TweenInfo.new(CONFIG.FadeOutSpeed, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
{BackgroundTransparency = 1}
)
local strokeFadeOut = TweenService:Create(
containerStroke,
TweenInfo.new(CONFIG.FadeOutSpeed, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
{Transparency = 1}
)
local textFadeOut = TweenService:Create(
statusLabel,
TweenInfo.new(CONFIG.FadeOutSpeed, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
{TextTransparency = 1}
)
local barBgFadeOut = TweenService:Create(
barBackground,
TweenInfo.new(CONFIG.FadeOutSpeed, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
{BackgroundTransparency = 1}
)
local barFillFadeOut = TweenService:Create(
barFill,
TweenInfo.new(CONFIG.FadeOutSpeed, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
{BackgroundTransparency = 1}
)
fadeOutTween:Play()
strokeFadeOut:Play()
textFadeOut:Play()
barBgFadeOut:Play()
barFillFadeOut:Play()
fadeOutTween.Completed:Connect(function()
screenGui:Destroy()
end)
end
_G.updateLoader = updateLoader
_G.removeLoader = function() loader:Remove() end
-- Usage Example:
task.spawn(function()
wait(0.5)
updateLoader("Bypassing Anti-Cheat", 10)
wait(1)
updateLoader("Loading Assets", 35)
wait(1)
updateLoader("Initializing Scripts", 60)
wait(1)
updateLoader("Finalizing", 85)
wait(1)
updateLoader("Complete", 100)
wait(1)
loader:Remove()
end)



and what would this be used for
@Astric idk
Chatgpt
@Noobinr yeah
wait how do i connect it to my script