SpaceyGUI
Key RequiredUniversal

SpaceyGUI

Universal ScriptGlitchyBeHaxxinGlitchyBeHaxxin 10.5K views 1.2K executesUpdated Sep 26, 2025
Unrated
00
Lua Script•359 lines (12266 chars)
-- LocalScript inside StarterGui

local player = game.Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local lighting = game:GetService("Lighting")
local runService = game:GetService("RunService")
local teleportService = game:GetService("TeleportService")

-- Asset IDs
local backgroundID = "rbxassetid://75992764474048"
local imageID = "rbxassetid://107440416752401"
local musicID = "rbxassetid://132510784853607"
local jumpscareImageID = "rbxassetid://83687541468496"
local jumpscareSoundID = "rbxassetid://126389631246629"
local targetPlaceId = 74327381449042 -- Spacey's realm place

-- GUI Setup
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "SpaceyGUI"
screenGui.Parent = playerGui

local mainFrame = Instance.new("Frame")
mainFrame.Size = UDim2.new(0, 800, 0, 300) -- wider for 5 buttons per row
mainFrame.Position = UDim2.new(0.5, -400, 0.5, -150)
mainFrame.BackgroundColor3 = Color3.new(0,0,0)
mainFrame.Active = true
mainFrame.Draggable = true
mainFrame.Parent = screenGui

local bg = Instance.new("ImageLabel")
bg.Size = UDim2.new(1, 0, 1, 0)
bg.Position = UDim2.new(0, 0, 0, 0)
bg.Image = backgroundID
bg.BackgroundTransparency = 1
bg.Parent = mainFrame

local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, 0, 0, 40)
title.BackgroundTransparency = 1
title.Text = "SpaceyGUI"
title.TextColor3 = Color3.new(1,1,1)
title.Font = Enum.Font.SourceSansBold
title.TextSize = 24
title.Parent = mainFrame

-- Bottom credit text for the GUI
local creditLabel = Instance.new("TextLabel")
creditLabel.Size = UDim2.new(1, -20, 0, 40)
creditLabel.Position = UDim2.new(0, 10, 1, -40) -- bottom of the GUI frame
creditLabel.BackgroundTransparency = 1
creditLabel.Text = "idea by: spaceyboii9\ngui made by: ChatGPT\nso yes, im a skid"
creditLabel.TextColor3 = Color3.new(1,1,1)
creditLabel.TextScaled = true
creditLabel.TextWrapped = true
creditLabel.Font = Enum.Font.SourceSans
creditLabel.ZIndex = 11
creditLabel.Parent = mainFrame

-- Container for buttons
local buttonHolder = Instance.new("Frame")
buttonHolder.Size = UDim2.new(1, -20, 1, -50)
buttonHolder.Position = UDim2.new(0, 10, 0, 50)
buttonHolder.BackgroundTransparency = 1
buttonHolder.Parent = mainFrame

-- UIGridLayout for 3 rows × 5 buttons
local grid = Instance.new("UIGridLayout")
grid.CellSize = UDim2.new(0, 140, 0, 40)
grid.CellPadding = UDim2.new(0, 10, 0, 10)
grid.FillDirection = Enum.FillDirection.Horizontal
grid.HorizontalAlignment = Enum.HorizontalAlignment.Center
grid.VerticalAlignment = Enum.VerticalAlignment.Top
grid.Parent = buttonHolder

-- Helper to create buttons
local function createButton(text)
    local button = Instance.new("TextButton")
    button.Size = UDim2.new(0, 140, 0, 40)
    button.Text = text
    button.BackgroundColor3 = Color3.fromRGB(30,30,30)
    button.TextColor3 = Color3.new(1,1,1)
    button.Font = Enum.Font.SourceSansBold
    button.TextScaled = true
    button.Parent = buttonHolder
    return button
end

-- Hint helper
local hint = nil
local function makeHint(text)
    if not hint then
        hint = Instance.new("Hint")
        hint.Parent = workspace
    end
    hint.Text = text
end

-- Button Functions

local function applySky()
    for _, v in pairs(lighting:GetChildren()) do
        if v:IsA("Sky") then v:Destroy() end
    end
    local sky = Instance.new("Sky")
    sky.SkyboxBk = imageID
    sky.SkyboxDn = imageID
    sky.SkyboxFt = imageID
    sky.SkyboxLf = imageID
    sky.SkyboxRt = imageID
    sky.SkyboxUp = imageID
    sky.Parent = lighting
end

local function spaceySpam()
    for _, part in pairs(workspace:GetDescendants()) do
        if part:IsA("BasePart") then
            -- Remove any previous decals first
            for _, child in pairs(part:GetChildren()) do
                if child:IsA("Decal") then child:Destroy() end
            end
            -- Apply decal to all 6 faces
            local faces = {"Front","Back","Left","Right","Top","Bottom"}
            for _, faceName in pairs(faces) do
                local decal = Instance.new("Decal")
                decal.Texture = imageID
                decal.Face = Enum.NormalId[faceName]
                decal.Parent = part
            end
        end
    end
end

local function playMusic()
    local sound = lighting:FindFirstChild("SpaceyMusic")
    if not sound then
        sound = Instance.new("Sound")
        sound.Name = "SpaceyMusic"
        sound.SoundId = musicID
        sound.Volume = 5
        sound.PlaybackSpeed = 0.1 -- slows audio
        sound.Pitch = 0.1         -- match pitch for proper slowdown
        sound.Looped = true
        sound.Parent = lighting
    end
    sound:Play()
end

local function spawnParticles()
    for _, part in pairs(workspace:GetDescendants()) do
        if part:IsA("BasePart") then
            for i = 1,5 do
                local p = Instance.new("ParticleEmitter")
                p.Texture = imageID
                p.Rate = 20
                p.Lifetime = NumberRange.new(5)
                p.Speed = NumberRange.new(1,3)
                p.Parent = part
            end
        end
    end
    for _, plr in pairs(game.Players:GetPlayers()) do
        if plr.Character then
            for _, limb in pairs(plr.Character:GetChildren()) do
                if limb:IsA("BasePart") then
                    local p = Instance.new("ParticleEmitter")
                    p.Texture = imageID
                    p.Rate = 20
                    p.Lifetime = NumberRange.new(5)
                    p.Speed = NumberRange.new(1,3)
                    p.Parent = limb
                end
            end
        end
    end
end

local function spinParts()
    runService.Heartbeat:Connect(function()
        for _, part in pairs(workspace:GetDescendants()) do
            if part:IsA("BasePart") and part.Anchored then
                part.CFrame = part.CFrame * CFrame.Angles(0, 0.05, 0)
            end
        end
    end)
end

local function makeDance()
    local humanoid = player.Character and player.Character:FindFirstChildOfClass("Humanoid")
    if humanoid then
        local anim = Instance.new("Animation")
        anim.AnimationId = "rbxassetid://33796059"
        local track = humanoid:LoadAnimation(anim)
        track:Play()
    end
end

local function epicHead()
    local head = player.Character and player.Character:FindFirstChild("Head")
    if head then
        local tweenService = game:GetService("TweenService")
        task.spawn(function()
            while head.Parent do
                tweenService:Create(head, TweenInfo.new(1), {CFrame = head.CFrame * CFrame.Angles(0.2, 0, 0)}):Play()
                task.wait(1)
                tweenService:Create(head, TweenInfo.new(1), {CFrame = head.CFrame * CFrame.Angles(-0.2, 0, 0)}):Play()
                task.wait(1)
            end
        end)
    end
end

local function shipYourself()
    local char = player.Character
    if not char then return end
    local torso = char:FindFirstChild("HumanoidRootPart")
    if torso then
        for _, limb in pairs(char:GetChildren()) do
            if limb:IsA("BasePart") and limb ~= torso then
                limb.CFrame = torso.CFrame
            end
        end
        local players = game.Players:GetPlayers()
        if #players > 1 then
            local target = players[math.random(1, #players)]
            if target ~= player and target.Character and target.Character:FindFirstChild("HumanoidRootPart") then
                local targetPos = target.Character.HumanoidRootPart.Position
                for i=1,50 do
                    torso.CFrame = torso.CFrame:Lerp(CFrame.new(targetPos), 0.05)
                    task.wait(0.05)
                end
            end
        end
    end
end

local function bombPlace()
    local countdown = 25
    makeHint("Bomb in: "..countdown)
    while countdown > 0 do
        task.wait(1)
        countdown -= 1
        makeHint("Bomb in: "..countdown)
    end
    makeHint("BOOM!!!")
    for _, part in pairs(workspace:GetDescendants()) do
        if part:IsA("BasePart") then
            part.Color = Color3.new(0,0,0)
            part.Anchored = false -- local only
        end
    end
end

local function insanity()
    local hum = player.Character and player.Character:FindFirstChildOfClass("Humanoid")
    if hum then
        local ws = 50
        task.spawn(function()
            while hum.Parent do
                hum.WalkSpeed = ws
                ws += 15
                player.Character:TranslateBy(Vector3.new(math.random(-5,5),0,math.random(-5,5)))
                task.wait(1)
            end
        end)
    end
end

local function teleportRealm()
    makeHint("You are about to enter Spacey's realm!")
    task.wait(3)
    teleportService:Teleport(targetPlaceId, player)
end

local function jumpscare()
    local scare = Instance.new("ImageLabel")
    scare.Size = UDim2.new(1,0,1,0)
    scare.Position = UDim2.new(0,0,0,0)
    scare.Image = jumpscareImageID
    scare.BackgroundTransparency = 1
    scare.ZIndex = 10
    scare.Parent = screenGui

    local sound = Instance.new("Sound")
    sound.SoundId = jumpscareSoundID
    sound.Volume = 5
    sound.Parent = player:WaitForChild("PlayerGui")
    sound:Play()

    task.wait(2)
    scare:Destroy()
    sound:Destroy()
end

local function messagePopup()
    local msgFrame = Instance.new("Frame")
    msgFrame.Size = UDim2.new(0, 300, 0, 150)
    msgFrame.Position = UDim2.new(0.5, -150, 0.5, -75)
    msgFrame.BackgroundColor3 = Color3.fromRGB(100, 100, 100)
    msgFrame.BorderColor3 = Color3.fromRGB(0, 120, 255)
    msgFrame.BorderSizePixel = 3
    msgFrame.ZIndex = 10
    msgFrame.Parent = screenGui

    -- Text Label
    local label = Instance.new("TextLabel")
    label.Size = UDim2.new(1, -20, 0, 80)
    label.Position = UDim2.new(0, 10, 0, 10)
    label.BackgroundTransparency = 1
    label.Text = "spaceyboii9 got haxxes to bring"
    label.TextColor3 = Color3.new(1,1,1)
    label.TextScaled = true
    label.Font = Enum.Font.SourceSansBold
    label.ZIndex = 11 -- higher than parent
    label.Parent = msgFrame

    -- OK Button
    local okButton = Instance.new("TextButton")
    okButton.Size = UDim2.new(0, 100, 0, 40)
    okButton.Position = UDim2.new(0.5, -50, 1, -50)
    okButton.BackgroundColor3 = Color3.fromRGB(100, 100, 100)
    okButton.BorderColor3 = Color3.fromRGB(0, 120, 255)
    okButton.Text = "OK"
    okButton.TextColor3 = Color3.new(1,1,1)
    okButton.Font = Enum.Font.SourceSansBold
    okButton.TextScaled = true
    okButton.ZIndex = 12 -- highest so it's always visible
    okButton.Parent = msgFrame

    okButton.MouseButton1Click:Connect(function()
        local steps = 20
        for i = steps, 0, -1 do
            local scale = i / steps
            msgFrame.Size = UDim2.new(0, 300 * scale, 0, 150 * scale)
            msgFrame.Position = UDim2.new(0.5, -150 * scale, 0.5, -75 * scale)
            okButton.Size = UDim2.new(0, 100 * scale, 0, 40 * scale)
            okButton.Position = UDim2.new(0.5, -50 * scale, 1, -50 * scale)
            label.Size = UDim2.new(1, -20, 0, 80 * scale)
            task.wait(0.02)
        end
        msgFrame:Destroy()
    end)
end

-- Create all 15 buttons
createButton("Sky").MouseButton1Click:Connect(applySky) 
createButton("Spacey Spam").MouseButton1Click:Connect(spaceySpam)
createButton("Music").MouseButton1Click:Connect(playMusic)
createButton("Particles").MouseButton1Click:Connect(spawnParticles)
createButton("Hint").MouseButton1Click:Connect(function() makeHint("spaceyboii9 had a VERY good time while he was here") end)
createButton("Spinner").MouseButton1Click:Connect(spinParts)
createButton("Dance").MouseButton1Click:Connect(makeDance)
createButton("Epic").MouseButton1Click:Connect(epicHead)
createButton("Hint 2").MouseButton1Click:Connect(function() makeHint("spaceyboii9 got y'all covered with his image army!") end)
createButton("Ship yourself!").MouseButton1Click:Connect(shipYourself)
createButton("Bomb le place").MouseButton1Click:Connect(bombPlace)
createButton("Insanity").MouseButton1Click:Connect(insanity)
createButton("???").MouseButton1Click:Connect(teleportRealm)
createButton("Jumpscare").MouseButton1Click:Connect(jumpscare)
createButton("Message").MouseButton1Click:Connect(messagePopup)

Features & Information

basically c00lgui but if it was emoji cat themed the gui has 15 buttons total: Sky Spacey Spam Music Particles Hint Spinner Dance Epic Hint 2 Ship yourself! Bomb le place Insanity ??? Jumpscare Message

Community Comments (2)

DjjdjdjsDjjdjdjsSep 26, 2025

visual?

Replying to @Djjdjdjs
GlitchyBeHaxxinGlitchyBeHaxxinSep 26, 2025

@Djjdjdjs yes

More Scripts for Universal Scripts