LOAD GUI
Key RequiredUniversal

LOAD GUI

Universal ScriptZSIIZSII 606 views 12 executesUpdated Oct 17, 2025
Unrated
00
Lua Script•358 lines (12741 chars)
local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local RunService = game:GetService("RunService")
local Lighting = game:GetService("Lighting")

local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")

local function CreateBlurEffect(parent)
    local blur = Instance.new("BlurEffect")
    blur.Name = "LoadingUIBlur"
    blur.Size = 12
    blur.Parent = Lighting
    
    local frame = Instance.new("Frame")
    frame.Size = UDim2.new(1, 0, 1, 0)
    frame.BackgroundTransparency = 1
    frame.Parent = parent
    
    local function updateBlur()
        if not blur or not blur.Parent then return end
        local viewportSize = workspace.CurrentCamera.ViewportSize
        local center = frame.AbsolutePosition + frame.AbsoluteSize / 2
        local distance = (center - Vector2.new(viewportSize.X/2, viewportSize.Y/2)).Magnitude
        blur.Size = math.clamp(12 - distance / 50, 3, 12)
    end
    
    local connection
    connection = RunService.RenderStepped:Connect(function()
        if not blur or not blur.Parent then
            connection:Disconnect()
            return
        end
        updateBlur()
    end)
    
    return blur
end

local function CreateLoadingScreen(config)
    config = config or {}
    local title = config.Title or "Premium Loader"
    local subtitle = config.Subtitle or "Glass Effect v3.0"
    local theme = config.Theme or {
        Glass = Color3.fromRGB(255, 255, 255),
        Accent = Color3.fromRGB(100, 210, 255),
        Text = Color3.fromRGB(30, 30, 30),
        Secondary = Color3.fromRGB(200, 200, 200)
    }

    local screenGui = Instance.new("ScreenGui")
    screenGui.Name = "PremiumLoadingUI"
    screenGui.ResetOnSpawn = false
    screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
    screenGui.Parent = playerGui

    local blurEffect = CreateBlurEffect(screenGui)

    local mainFrame = Instance.new("Frame")
    mainFrame.Size = UDim2.new(0, 400, 0, 250)
    mainFrame.Position = UDim2.new(0.5, -200, 0.5, -125)
    mainFrame.BackgroundColor3 = theme.Glass
    mainFrame.BackgroundTransparency = 0.2
    mainFrame.BorderSizePixel = 0
    mainFrame.ClipsDescendants = true
    mainFrame.Parent = screenGui

    local glassEffect = Instance.new("ImageLabel")
    glassEffect.Name = "GlassEffect"
    glassEffect.Image = "rbxassetid://1113948036"
    glassEffect.ImageTransparency = 0.5
    glassEffect.ScaleType = Enum.ScaleType.Tile
    glassEffect.TileSize = UDim2.new(0, 200, 0, 200)
    glassEffect.Size = UDim2.new(1, 0, 1, 0)
    glassEffect.BackgroundTransparency = 1
    glassEffect.Parent = mainFrame

    local corner = Instance.new("UICorner")
    corner.CornerRadius = UDim.new(0, 16)
    corner.Parent = mainFrame

    local stroke = Instance.new("UIStroke")
    stroke.Name = "Border"
    stroke.Color = Color3.fromRGB(255, 255, 255)
    stroke.Transparency = 0.7
    stroke.Thickness = 1
    stroke.Parent = mainFrame

    local titleLabel = Instance.new("TextLabel")
    titleLabel.Size = UDim2.new(1, -40, 0, 40)
    titleLabel.Position = UDim2.new(0, 20, 0, 20)
    titleLabel.BackgroundTransparency = 1
    titleLabel.Text = title
    titleLabel.TextColor3 = theme.Text
    titleLabel.TextSize = 26
    titleLabel.TextXAlignment = Enum.TextXAlignment.Left
    titleLabel.Font = Enum.Font.GothamSemibold
    titleLabel.Parent = mainFrame

    local subtitleLabel = Instance.new("TextLabel")
    subtitleLabel.Size = UDim2.new(1, -40, 0, 20)
    subtitleLabel.Position = UDim2.new(0, 20, 0, 60)
    subtitleLabel.BackgroundTransparency = 1
    subtitleLabel.Text = subtitle
    subtitleLabel.TextColor3 = theme.Text
    subtitleLabel.TextTransparency = 0.4
    subtitleLabel.TextSize = 14
    subtitleLabel.TextXAlignment = Enum.TextXAlignment.Left
    subtitleLabel.Font = Enum.Font.Gotham
    subtitleLabel.Parent = mainFrame

    local progressFrame = Instance.new("Frame")
    progressFrame.Size = UDim2.new(1, -40, 0, 8)
    progressFrame.Position = UDim2.new(0, 20, 0, 160)
    progressFrame.BackgroundColor3 = Color3.fromRGB(240, 240, 240)
    progressFrame.BackgroundTransparency = 0.7
    progressFrame.Parent = mainFrame

    local progressFill = Instance.new("Frame")
    progressFill.Size = UDim2.new(0, 0, 1, 0)
    progressFill.BackgroundColor3 = theme.Accent
    progressFill.BorderSizePixel = 0
    progressFill.Parent = progressFrame

    local progressCorner = Instance.new("UICorner")
    progressCorner.CornerRadius = UDim.new(1, 0)
    progressCorner.Parent = progressFrame
    progressCorner.Parent = progressFill

    local statusLabel = Instance.new("TextLabel")
    statusLabel.Size = UDim2.new(1, -40, 0, 20)
    statusLabel.Position = UDim2.new(0, 20, 0, 180)
    statusLabel.BackgroundTransparency = 1
    statusLabel.Text = "GETTING DATA..."
    statusLabel.TextColor3 = theme.Text
    statusLabel.TextSize = 14
    statusLabel.TextXAlignment = Enum.TextXAlignment.Left
    statusLabel.Font = Enum.Font.Gotham
    statusLabel.Parent = mainFrame

    local percentLabel = Instance.new("TextLabel")
    percentLabel.Size = UDim2.new(0, 60, 0, 20)
    percentLabel.Position = UDim2.new(1, -80, 0, 180)
    percentLabel.BackgroundTransparency = 1
    percentLabel.Text = "0%"
    percentLabel.TextColor3 = theme.Text
    percentLabel.TextTransparency = 0.4
    percentLabel.TextSize = 14
    percentLabel.TextXAlignment = Enum.TextXAlignment.Right
    percentLabel.Font = Enum.Font.Gotham
    percentLabel.Parent = mainFrame

    local particles = Instance.new("Frame")
    particles.Size = UDim2.new(1, 0, 0, 100)
    particles.Position = UDim2.new(0, 0, 0, 100)
    particles.BackgroundTransparency = 1
    particles.Parent = mainFrame

    local function createParticle()
        local particle = Instance.new("Frame")
        particle.Size = UDim2.new(0, 4, 0, 4)
        particle.Position = UDim2.new(0, math.random(-50, 400), 0, math.random(0, 100))
        particle.BackgroundColor3 = theme.Accent
        particle.BackgroundTransparency = 0.8
        particle.BorderSizePixel = 0
        particle.Parent = particles
        
        local corner = Instance.new("UICorner")
        corner.CornerRadius = UDim.new(1, 0)
        corner.Parent = particle
        
        spawn(function()
            local duration = 2 + math.random() * 3
            local startTime = tick()
            
            while particle and particle.Parent do
                local elapsed = tick() - startTime
                if elapsed > duration then
                    particle:Destroy()
                    break
                end
                
                local progress = elapsed / duration
                particle.Position = UDim2.new(
                    0, particle.Position.X.Offset + math.sin(progress * 10) * 2,
                    0, particle.Position.Y.Offset + 2
                )
                particle.BackgroundTransparency = 0.8 + progress * 0.2
                
                RunService.RenderStepped:Wait()
            end
        end)
    end

    spawn(function()
        while particles and particles.Parent do
            createParticle()
            wait(0.1)
        end
    end)

    local glow = Instance.new("ImageLabel")
    glow.Name = "Glow"
    glow.Image = "rbxassetid://5028857084"
    glow.ImageColor3 = theme.Accent
    glow.ImageTransparency = 0.8
    glow.ScaleType = Enum.ScaleType.Slice
    glow.SliceCenter = Rect.new(24, 24, 276, 276)
    glow.Size = UDim2.new(1, 40, 1, 40)
    glow.Position = UDim2.new(0, -20, 0, -20)
    glow.BackgroundTransparency = 1
    glow.Parent = mainFrame
    glow.ZIndex = -1

    spawn(function()
        while glow and glow.Parent do
            TweenService:Create(glow, TweenInfo.new(1.5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
                ImageTransparency = 0.7
            }):Play()
            wait(1.5)
            TweenService:Create(glow, TweenInfo.new(1.5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
                ImageTransparency = 0.9
            }):Play()
            wait(1.5)
        end
    end)

    mainFrame.BackgroundTransparency = 1
    glassEffect.ImageTransparency = 1
    stroke.Transparency = 1
    titleLabel.TextTransparency = 1
    subtitleLabel.TextTransparency = 1
    statusLabel.TextTransparency = 1
    percentLabel.TextTransparency = 1
    progressFrame.BackgroundTransparency = 1
    progressFill.BackgroundTransparency = 1
    glow.ImageTransparency = 1

    local fadeIn = TweenInfo.new(0.8, Enum.EasingStyle.Quad, Enum.EasingDirection.Out)
    TweenService:Create(mainFrame, fadeIn, {BackgroundTransparency = 0.2}):Play()
    TweenService:Create(glassEffect, fadeIn, {ImageTransparency = 0.5}):Play()
    TweenService:Create(stroke, fadeIn, {Transparency = 0.7}):Play()
    wait(0.1)
    TweenService:Create(titleLabel, fadeIn, {TextTransparency = 0}):Play()
    wait(0.1)
    TweenService:Create(subtitleLabel, fadeIn, {TextTransparency = 0.4}):Play()
    wait(0.1)
    TweenService:Create(statusLabel, fadeIn, {TextTransparency = 0}):Play()
    TweenService:Create(percentLabel, fadeIn, {TextTransparency = 0.4}):Play()
    wait(0.1)
    TweenService:Create(progressFrame, fadeIn, {BackgroundTransparency = 0.7}):Play()
    TweenService:Create(progressFill, fadeIn, {BackgroundTransparency = 0}):Play()
    TweenService:Create(glow, fadeIn, {ImageTransparency = 0.8}):Play()

    local loadingUI = {}
    
    function loadingUI:UpdateProgress(progress)
        progress = math.clamp(progress, 0, 1)
        TweenService:Create(progressFill, TweenInfo.new(0.5, Enum.EasingStyle.Quint), {
            Size = UDim2.new(progress, 0, 1, 0)
        }):Play()
        percentLabel.Text = string.format("%d%%", math.floor(progress * 100))
        
        if progress > 0 and progress < 1 then
            for i = 1, 5 do
                createParticle()
            end
        end
    end
    
    function loadingUI:UpdateStatus(text)
        statusLabel.Text = text
        local pulse = TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out)
        TweenService:Create(statusLabel, pulse, {TextTransparency = 0.3}):Play()
        wait(0.2)
        TweenService:Create(statusLabel, pulse, {TextTransparency = 0}):Play()
        
        TweenService:Create(glow, TweenInfo.new(0.3, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
            ImageTransparency = 0.6
        }):Play()
        wait(0.3)
        TweenService:Create(glow, TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
            ImageTransparency = 0.8
        }):Play()
    end
    
    function loadingUI:Destroy()
        local fadeOut = TweenInfo.new(0.8, Enum.EasingStyle.Quad, Enum.EasingDirection.In)
        
        TweenService:Create(titleLabel, fadeOut, {TextTransparency = 1}):Play()
        TweenService:Create(subtitleLabel, fadeOut, {TextTransparency = 1}):Play()
        TweenService:Create(statusLabel, fadeOut, {TextTransparency = 1}):Play()
        TweenService:Create(percentLabel, fadeOut, {TextTransparency = 1}):Play()
        TweenService:Create(progressFrame, fadeOut, {BackgroundTransparency = 1}):Play()
        TweenService:Create(progressFill, fadeOut, {BackgroundTransparency = 1}):Play()
        TweenService:Create(glow, fadeOut, {ImageTransparency = 1}):Play()
        
        wait(0.3)
        TweenService:Create(mainFrame, fadeOut, {BackgroundTransparency = 1}):Play()
        TweenService:Create(glassEffect, fadeOut, {ImageTransparency = 1}):Play()
        TweenService:Create(stroke, fadeOut, {Transparency = 1}):Play()
        
        wait(0.8)
        if blurEffect and blurEffect.Parent then
            blurEffect:Destroy()
        end
        screenGui:Destroy()
    end

    return loadingUI
end

local loadingScreen = CreateLoadingScreen({
    Title = "SCRIPT LOADING...",
    Subtitle = "by: mjay,Q3E4",
    Theme = {
        Glass = Color3.fromRGB(255, 255, 255),
        Accent = Color3.fromRGB(100, 210, 255),
        Text = Color3.fromRGB(30, 30, 30),
        Secondary = Color3.fromRGB(220, 220, 220)
    }
})

local steps = {
    {
      text = "FUNCTION LOADING...", 
      duration = 1.161917813
    },
    {
      text = "LOADING ASSETS...", 
      duration = 2.789113
    },
    {
      text = "COMPLILING SCRIPT...", 
      duration = 1.54188
    },
    {
      text = "LUAU ANAIYSIS...", 
      duration = 3.139178
    },
    {
      text = "FINALIZING SETUP...", 
      duration = 0.7
    },
    {
      text = "READY!", 
      duration = 0.49789113666
    }
}

for i, step in ipairs(steps) do
    loadingScreen:UpdateStatus(step.text)
    loadingScreen:UpdateProgress(i/#steps)
    wait(step.duration)
end

wait(1)
loadingScreen:Destroy()

Features & Information

This is not something I did Anyway, this GUI is cool XD
#Script#Roblox

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts