-- +---------------+ -- | 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)