What's new
Heapleak - Scripthub

Get the most out of HeapLeak by creating a free account! Once signed in, you’ll gain full access to restricted content, be able to share your own scripts, and participate in our member-only discussions.

C00lgui lol

Version / Update: v1.0.0
Download / Script Link
-- LocalScript inside StarterPlayerScripts
local player = game.Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")

-- Console message
print("CoolGUI loading...")

-- Create ScreenGui
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "CoolGUI_Ultimate"
screenGui.Parent = playerGui

-- Toggle GUI button
local toggleButton = Instance.new("TextButton")
toggleButton.Size = UDim2.new(0,120,0,40)
toggleButton.Position = UDim2.new(0.5,-60,0.05,0)
toggleButton.Text = "Open GUI"
toggleButton.BackgroundColor3 = Color3.fromRGB(0,170,255)
toggleButton.TextColor3 = Color3.fromRGB(255,255,255)
toggleButton.Parent = screenGui

-- Main Frame
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0,400,0,300)
frame.Position = UDim2.new(0.5,-200,0.5,-150)
frame.BackgroundColor3 = Color3.fromRGB(30,30,30)
frame.BorderSizePixel = 0
frame.Visible = false
frame.Parent = screenGui

-- Title
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1,0,0,50)
title.Position = UDim2.new(0,0,0,0)
title.Text = "CoolGUI Ultimate"
title.TextColor3 = Color3.fromRGB(255,255,0)
title.BackgroundTransparency = 1
title.Font = Enum.Font.GothamBold
title.TextScaled = true
title.Parent = frame

-- Close button
local closeButton = Instance.new("TextButton")
closeButton.Size = UDim2.new(0,50,0,50)
closeButton.Position = UDim2.new(1,-55,0,5)
closeButton.Text = "X"
closeButton.BackgroundColor3 = Color3.fromRGB(200,0,0)
closeButton.TextColor3 = Color3.fromRGB(255,255,255)
closeButton.Parent = frame
closeButton.MouseButton1Click:Connect(function()
frame.Visible = false
toggleButton.Text = "Open GUI"
end)

-- ===== Pages =====
local pages = {}
for i=1,3 do
local page = Instance.new("Frame")
page.Size = UDim2.new(1,0,1,-50)
page.Position = UDim2.new(0,0,0,50)
page.BackgroundColor3 = Color3.fromRGB(50,50,50)
page.Visible = (i==1)
page.Parent = frame
pages[i] = page
end

-- ===== Page 1: Infinite Slap =====
do
local page = pages[1]
local slapButton = Instance.new("TextButton")
slapButton.Size = UDim2.new(0.6,0,0,40)
slapButton.Position = UDim2.new(0.2,0,0,60)
slapButton.Text = "Activate Slap!"
slapButton.BackgroundColor3 = Color3.fromRGB(255,0,0)
slapButton.TextColor3 = Color3.fromRGB(255,255,255)
slapButton.Parent = page

local slapEmoji = Instance.new("TextLabel")
slapEmoji.Size = UDim2.new(0,80,0,80)
slapEmoji.Position = UDim2.new(0.5,-40,0.5,-40)
slapEmoji.Text = "👊"
slapEmoji.TextScaled = true
slapEmoji.BackgroundTransparency = 1
slapEmoji.Visible = false
slapEmoji.Parent = page

slapButton.MouseButton1Click:Connect(function()
slapEmoji.Visible = true
spawn(function()
for i=1,50 do
slapEmoji.Rotation = slapEmoji.Rotation + math.random(20,50)
slapEmoji.Position = UDim2.new(
0.5, math.random(-50,50),
0.5, math.random(-50,50)
)
wait(0.1)
end
slapEmoji.Visible = false
end)
end)
end

-- ===== Page 2: Banned Emoji =====
do
local page = pages[2]
local emoji = Instance.new("TextLabel")
emoji.Size = UDim2.new(0,100,0,100)
emoji.Position = UDim2.new(0.5,-50,0.5,-50)
emoji.Text = "🚫"
emoji.TextScaled = true
emoji.BackgroundColor3 = Color3.fromRGB(255,255,255)
emoji.BackgroundTransparency = 0.5
emoji.Parent = page

-- Dragging logic
local dragging = false
local dragInput, mousePos, framePos
emoji.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true
mousePos = input.Position
framePos = emoji.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging = false
end
end)
end
end)

emoji.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement then
dragInput = input
end
end)

game:GetService("UserInputService").InputChanged:Connect(function(input)
if input == dragInput and dragging then
local delta = input.Position - mousePos
emoji.Position = UDim2.new(
framePos.X.Scale,
framePos.X.Offset + delta.X,
framePos.Y.Scale,
framePos.Y.Offset + delta.Y
)
end
end)

-- Animation loop
spawn(function()
local toggle = true
while true do
wait(0.5)
emoji.Rotation = emoji.Rotation + 30
if toggle then
emoji.BackgroundColor3 = Color3.fromRGB(255,0,0)
else
emoji.BackgroundColor3 = Color3.fromRGB(0,0,255)
end
toggle = not toggle
end
end)
end

-- ===== Page 3: Destroyer =====
do
local page = pages[3]
local destroyerButton = Instance.new("TextButton")
destroyerButton.Size = UDim2.new(0.6,0,0,40)
destroyerButton.Position = UDim2.new(0.2,0,0,60)
destroyerButton.Text = "Activate Destroyer!"
destroyerButton.BackgroundColor3 = Color3.fromRGB(255,0,0)
destroyerButton.TextColor3 = Color3.fromRGB(255,255,255)
destroyerButton.Parent = page

local destroyer = Instance.new("TextLabel")
destroyer.Size = UDim2.new(0,50,0,50)
destroyer.Position = UDim2.new(0.5,-25,0.5,-25)
destroyer.Text = "💥"
destroyer.TextScaled = true
destroyer.BackgroundTransparency = 1
destroyer.Visible = false
destroyer.Parent = page

destroyerButton.MouseButton1Click:Connect(function()
destroyer.Visible = true
local size = 50
while size < math.max(workspace.CurrentCamera.ViewportSize.X, workspace.CurrentCamera.ViewportSize.Y) do
size = size + 10
destroyer.Size = UDim2.new(0,size,0,size)
destroyer.Position = UDim2.new(0.5,-size/2,0.5,-size/2)
destroyer.Rotation = destroyer.Rotation + 20
wait(0.1)
end
screenGui:Destroy() -- simulate kick
end)
end

-- ===== Navigation buttons =====
for i=1,3 do
local navButton = Instance.new("TextButton")
navButton.Size = UDim2.new(0.3,0,0,30)
navButton.Position = UDim2.new((i-1)*0.33,5,1,-35)
navButton.Text = "Page "..i
navButton.BackgroundColor3 = Color3.fromRGB(100,100,100)
navButton.TextColor3 = Color3.fromRGB(255,255,255)
navButton.Parent = frame
navButton.MouseButton1Click:Connect(function()
for j=1,3 do
pages[j].Visible = (j==i)
end
end)
end

-- Toggle GUI functionality
toggleButton.MouseButton1Click:Connect(function()
frame.Visible = not frame.Visible
if frame.Visible then
toggleButton.Text = "Close GUI"
else
toggleButton.Text = "Open GUI"
end
end)

print("CoolGUI loaded successfully!")
[ View More ]
739eed15-603e-43f4-a025-c60f5d818510.webp



⚡ SPONSORED BY Heapleak.com – #1 Roblox Script Community

Universal – Coolgui | March 2026

Experience the most advanced and customizable coolgui available, packed with features to take your Roblox gameplay to the next level.

KEY FEATURES

Super Functional Coolgui – Provides a wide range of customizable options to personalize your experience
Enhanced Customizations – Offers advanced settings for a tailored look and feel
Improved Performance – Optimized for seamless integration with your Roblox games
User-Friendly Interface – Easy to navigate and use, even for beginners
Regular Updates – Ensures you have access to the latest features and improvements

COMPATIBILITY

💻 PC
Windows 10 / 11
✔ Supported
📱 Android
Delta / Arceus X
✔ Supported
🎮 iOS
Delta / Pallene
✔ Supported

HOW TO USE

1. Download and open your executor (Solara, Wave, Celery, etc.)
2. Attach to Roblox and open any Roblox game
3. Paste the script below and press Execute

SAFE USAGE NOTE

This script is currently UNDETECTED as of March 2026.
Always test on an alt account first. Do not use on your main account.


Want more free undetected scripts?

► Browse the Full Script Library on Heapleak
Daily drops, undetected releases and the latest free scripts – all in one place.

Looking for more free scripts? Heapleak – the biggest Roblox & gaming script hub in the community.

roblox script, roblox hack 2026, universal roblox script, roblox script any game, roblox multi game script 2026, solara roblox script, wave executor roblox


Q: Is this Universal script undetected?
A: Yes, it is currently undetected as of March 2026.
Q: Does this script require a key?
A: No key is required for this script.
Q: Does this script work on mobile?
A: Yes, it is compatible with Android and iOS devices.

Browse other scripts, Check out the Heapleak community
 
Back
Top