BluuGui
Key RequiredUniversal

BluuGui

Universal ScriptScripteaterScripteater 1.1K views 266 executesUpdated Oct 20, 2025
0.0/ 5(1 votes)
010% Positive
Lua Script•249 lines (8081 chars)
-- BluuGui LocalScript (draggable + four buttons + yappity with typing animation)
-- WARNING: game:HttpGet and loadstring are typically blocked in Roblox normal environment.
-- Use in exploit environment or trusted testing only.

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

-- Create ScreenGui
local bluuGui = Instance.new("ScreenGui")
bluuGui.Name = "BluuGui"
bluuGui.ResetOnSpawn = true
bluuGui.Parent = playerGui

-- Main frame (height increased to fit buttons + yappity)
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 360, 0, 420)
frame.Position = UDim2.new(0.5, -180, 0.5, -210)
frame.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
frame.BorderSizePixel = 0
frame.Active = true -- required for dragging
frame.Parent = bluuGui

local frameOutline = Instance.new("UIStroke")
frameOutline.Color = Color3.fromRGB(0, 255, 255)
frameOutline.Thickness = 3
frameOutline.Parent = frame

-- Title label
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, -20, 0, 40)
title.Position = UDim2.new(0, 10, 0, 8)
title.BackgroundTransparency = 1
title.Text = "BluuGui"
title.TextColor3 = Color3.fromRGB(0, 255, 255)
title.Font = Enum.Font.Arcade
title.TextSize = 32
title.Parent = frame

-- Status label
local status = Instance.new("TextLabel")
status.Size = UDim2.new(1, -20, 0, 24)
status.Position = UDim2.new(0, 10, 0, 52)
status.BackgroundTransparency = 1
status.Text = "Status: Idle"
status.TextColor3 = Color3.fromRGB(180, 180, 180)
status.Font = Enum.Font.SourceSans
status.TextSize = 18
status.TextXAlignment = Enum.TextXAlignment.Left
status.Parent = frame

-- Helper to create buttons
local function createButton(yOffset, buttonText)
    local btn = Instance.new("TextButton")
    btn.Size = UDim2.new(0.9, 0, 0, 48)
    btn.Position = UDim2.new(0.05, 0, 0, yOffset)
    btn.BackgroundColor3 = Color3.fromRGB(0, 255, 255)
    btn.TextColor3 = Color3.fromRGB(0, 0, 0)
    btn.Font = Enum.Font.Arcade
    btn.TextSize = 20
    btn.Text = buttonText
    btn.Parent = frame

    local btnStroke = Instance.new("UIStroke")
    btnStroke.Color = Color3.fromRGB(0, 0, 0)
    btnStroke.Thickness = 2
    btnStroke.Parent = btn

    return btn
end

-- Create buttons (positions chosen to space the four nicely)
local loadExecutorBtn = createButton(88,  "load da best executor")
local loadIYBtn       = createButton(144, "load iy")
local loadSillyBtn    = createButton(200, "load da silly")
local loadBestBtn     = createButton(256, "load da best script")

-- Debounces
local loading = {
    executor = false,
    iy = false,
    silly = false,
    best = false
}

-- Generic fetch-and-run function
local function fetchAndRun(url, displayName, key)
    if loading[key] then return end
    loading[key] = true
    status.Text = "Status: Loading " .. displayName .. "..."
    local success, err = pcall(function()
        local content = game:HttpGet(url)
        if type(loadstring) ~= "function" then
            error("loadstring is not available in this environment.")
        end
        local f, loadErr = loadstring(content)
        if not f then
            error("loadstring failed: " .. tostring(loadErr))
        end
        f()
    end)
    if success then
        status.Text = "Status: Loaded " .. displayName .. " (Success)"
    else
        status.Text = "Status: Failed to load " .. displayName .. " - " .. tostring(err)
        warn("Failed to load", displayName, ":", err)
    end
    wait(1.0)
    loading[key] = false
end

-- Connect buttons
loadExecutorBtn.MouseButton1Click:Connect(function()
    fetchAndRun("https://pastebin.com/raw/AximmCmd", "Universal Script (executor)", "executor")
end)

loadIYBtn.MouseButton1Click:Connect(function()
    fetchAndRun("https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/source", "Infinite Yield (IY)", "iy")
end)

loadSillyBtn.MouseButton1Click:Connect(function()
    fetchAndRun("https://raw.githubusercontent.com/Rawbr10/Roblox-Scripts/refs/heads/main/0%20Graviy%20Trip%20Universal", "Rizz Trip / Graviy Trip (silly)", "silly")
end)

loadBestBtn.MouseButton1Click:Connect(function()
    fetchAndRun("https://pastebin.com/raw/Piw5bqGq", "XVC Hub (best script)", "best")
end)

-- ---------
-- Yappity Info Section with typing animation
-- ---------
local yappityMessages = {
    "Bluu.",
    "Dud.",
    "Did you know the owner of this script hates BRAINROT?",
    "Did you know the owner of this script is bisexual?",
    "Did you know the owner of this script has 3 best friends named hyru and zharXD and moonie?",
    "BLUUDUD'S COMING FOR YOU-",
    "UHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH",
    "Brick",
    "I eat brick",
    "I burped."
}

local yappityIndex = 1

local yappityFrame = Instance.new("Frame")
yappityFrame.Size = UDim2.new(0.9, 0, 0, 90)
yappityFrame.Position = UDim2.new(0.05, 0, 0, 312)
yappityFrame.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
yappityFrame.Parent = frame

local yappityOutline = Instance.new("UIStroke")
yappityOutline.Color = Color3.fromRGB(0, 255, 255)
yappityOutline.Thickness = 3
yappityOutline.Parent = yappityFrame

local yappityLabel = Instance.new("TextLabel")
yappityLabel.Size = UDim2.new(1, -20, 1, -20)
yappityLabel.Position = UDim2.new(0, 10, 0, 10)
yappityLabel.BackgroundTransparency = 1
yappityLabel.TextColor3 = Color3.fromRGB(0, 255, 255)
yappityLabel.Font = Enum.Font.Arcade
yappityLabel.TextSize = 22
yappityLabel.TextWrapped = true
yappityLabel.Text = ""
yappityLabel.TextXAlignment = Enum.TextXAlignment.Left
yappityLabel.TextYAlignment = Enum.TextYAlignment.Top
yappityLabel.Parent = yappityFrame

-- Typing animation function
local function typeMessage(text)
    yappityLabel.Text = ""
    for i = 1, #text do
        yappityLabel.Text = text:sub(1, i)
        wait(0.05) -- typing speed (adjust if needed)
    end
end

spawn(function()
    while true do
        local message = yappityMessages[yappityIndex]
        typeMessage(message)
        wait(2) -- hold full message for 2 seconds
        yappityIndex = yappityIndex + 1
        if yappityIndex > #yappityMessages then
            yappityIndex = 1
        end
    end
end)

-- ---------------------------
-- Draggable frame implementation
-- ---------------------------
local dragging = false
local dragInput = nil
local dragStart = nil
local startPos = nil

local function onInputBegan(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 or
       input.UserInputType == Enum.UserInputType.Touch then
        dragging = true
        dragStart = input.Position
        startPos = frame.Position

        input.Changed:Connect(function()
            if input.UserInputState == Enum.UserInputState.End then
                dragging = false
            end
        end)
    end
end

local function onInputChanged(input)
    if input.UserInputType == Enum.UserInputType.MouseMovement or
       input.UserInputType == Enum.UserInputType.Touch then
        dragInput = input
    end
end

frame.InputBegan:Connect(onInputBegan)
frame.InputChanged:Connect(onInputChanged)

UserInputService.InputChanged:Connect(function(input)
    if input == dragInput and dragging and dragStart and startPos then
        local delta = input.Position - dragStart
        local newX = startPos.X.Offset + delta.X
        local newY = startPos.Y.Offset + delta.Y

        local screenW = workspace.CurrentCamera.ViewportSize.X
        local screenH = workspace.CurrentCamera.ViewportSize.Y
        local frameW = frame.AbsoluteSize.X
        local frameH = frame.AbsoluteSize.Y

        local minX = -frameW + 30
        local maxX = screenW - 30
        local minY = -frameH + 30
        local maxY = screenH - 30

        if newX < minX then newX = minX end
        if newX > maxX then newX = maxX end
        if newY < minY then newY = minY end
        if newY > maxY then newY = maxY end

        frame.Position = UDim2.new(startPos.X.Scale, newX, startPos.Y.Scale, newY)
    end
end)

Features & Information

Idk just universal , and ai slop
#U

Community Comments (1)

Luauisbluu27Luauisbluu27Oct 20, 2025

emhh great?

More Scripts for Universal Scripts