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