local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")
local Workspace = game:GetService("Workspace")
-- Helper to get or create the Exploit GUI
local screenGui = PlayerGui:FindFirstChild("Exploit GUI")
if not screenGui then
screenGui = Instance.new("ScreenGui")
screenGui.Name = "Goob (Creator is not responsible for damage)"
screenGui.ResetOnSpawn = false
-- Create a Frame to mimic exploit GUI style
local frame = Instance.new("Frame")
frame.Name = "MainFrame"
frame.Size = UDim2.new(0, 300, 0, 200)
frame.Position = UDim2.new(0.5, -150, 0.5, -100)
frame.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
frame.BorderSizePixel = 2
frame.BorderColor3 = Color3.fromRGB(0, 255, 0)
frame.Parent = screenGui
-- Create a TextLabel for the title
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, 0, 0, 40)
title.Position = UDim2.new(0, 0, 0, 0)
title.BackgroundTransparency = 1
title.Text = "Goob"
title.TextColor3 = Color3.fromRGB(0, 255, 0)
title.Font = Enum.Font.SourceSansBold
title.TextSize = 28
title.Parent = frame
-- Add Decal Spam Button
local decalSpamBtn = Instance.new("TextButton")
decalSpamBtn.Size = UDim2.new(0, 200, 0, 40)
decalSpamBtn.Position = UDim2.new(0.5, -100, 0, 60)
decalSpamBtn.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
decalSpamBtn.Text = "Decal Spam"
decalSpamBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
decalSpamBtn.Font = Enum.Font.SourceSansBold
decalSpamBtn.TextSize = 22
decalSpamBtn.Parent = frame
-- Decal spam function copied from provided context
local function exPro(root)
for _, v in root:GetChildren() do
if v:IsA("Decal") and v.Texture ~= "http://www.roblox.com/asset/?id=76690153" then
v.Parent = nil
elseif v:IsA("BasePart") then
v.Material = Enum.Material.Plastic
v.Transparency = 0
local One = Instance.new("Decal")
local Two = Instance.new("Decal")
local Three = Instance.new("Decal")
local Four = Instance.new("Decal")
local Five = Instance.new("Decal")
local Six = Instance.new("Decal")
One.Texture = "http://www.roblox.com/asset/?id=76690153"
Two.Texture = "http://www.roblox.com/asset/?id=76690153"
Three.Texture = "http://www.roblox.com/asset/?id=76690153"
Four.Texture = "http://www.roblox.com/asset/?id=76690153"
Five.Texture = "http://www.roblox.com/asset/?id=76690153"
Six.Texture = "http://www.roblox.com/asset/?id=76690153"
One.Face = Enum.NormalId.Front
Two.Face = Enum.NormalId.Back
Three.Face = Enum.NormalId.Right
Four.Face = Enum.NormalId.Left
Five.Face = Enum.NormalId.Top
Six.Face = Enum.NormalId.Bottom
One.Parent = v
Two.Parent = v
Three.Parent = v
Four.Parent = v
Five.Parent = v
Six.Parent = v
end
exPro(v)
end
end
local function asdf(root)
for _, v in root:GetChildren() do
asdf(v)
end
end
local function decalSpam()
exPro(Workspace)
asdf(Workspace)
end
-- Connect button click to decal spam
decalSpamBtn.MouseButton1Click:Connect(decalSpam)
-- Add Close Button
local closeBtn = Instance.new("TextButton")
closeBtn.Name = "Close"
closeBtn.Size = UDim2.new(0, 80, 0, 30)
closeBtn.Position = UDim2.new(1, -90, 0, 10)
closeBtn.BackgroundColor3 = Color3.fromRGB(255, 50, 50)
closeBtn.Text = "Close"
closeBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
closeBtn.Font = Enum.Font.SourceSansBold
closeBtn.TextSize = 20
closeBtn.Parent = frame
-- Add Open Button (outside GUI, always visible when GUI is hidden)
local openBtn = Instance.new("TextButton")
openBtn.Name = "OpenExploitGuiBtn"
openBtn.Size = UDim2.new(0, 120, 0, 40)
openBtn.Position = UDim2.new(0, 10, 0, 10)
openBtn.BackgroundColor3 = Color3.fromRGB(0, 255, 0)
openBtn.Text = "Open Exploit GUI"
openBtn.TextColor3 = Color3.fromRGB(0, 0, 0)
openBtn.Font = Enum.Font.SourceSansBold
openBtn.TextSize = 18
openBtn.Visible = false
openBtn.Parent = PlayerGui
-- Close button logic
closeBtn.MouseButton1Click:Connect(function()
screenGui.Enabled = false
openBtn.Visible = true
end)
-- Open button logic
openBtn.MouseButton1Click:Connect(function()
screenGui.Enabled = true
openBtn.Visible = false
end)
-- Parent the ScreenGui to PlayerGui
screenGui.Parent = PlayerGui
else
-- If GUI already exists, make sure Open button exists and is set up
local openBtn = PlayerGui:FindFirstChild("OpenExploitGuiBtn")
if not openBtn then
openBtn = Instance.new("TextButton")
openBtn.Name = "OpenExploitGuiBtn"
openBtn.Size = UDim2.new(0, 120, 0, 40)
openBtn.Position = UDim2.new(0, 10, 0, 10)
openBtn.BackgroundColor3 = Color3.fromRGB(0, 255, 0)
openBtn.Text = "Open Exploit GUI"
openBtn.TextColor3 = Color3.fromRGB(0, 0, 0)
openBtn.Font = Enum.Font.SourceSansBold
openBtn.TextSize = 18
openBtn.Visible = false
openBtn.Parent = PlayerGui
openBtn.MouseButton1Click:Connect(function()
screenGui.Enabled = true
openBtn.Visible = false
end)
end
-- Make sure Close button exists and is set up
local frame = screenGui:FindFirstChild("MainFrame")
if frame then
local closeBtn = frame:FindFirstChild("Close")
if not closeBtn then
closeBtn = Instance.new("TextButton")
closeBtn.Name = "Close"
closeBtn.Size = UDim2.new(0, 80, 0, 30)
closeBtn.Position = UDim2.new(1, -90, 0, 10)
closeBtn.BackgroundColor3 = Color3.fromRGB(255, 50, 50)
closeBtn.Text = "Close"
closeBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
closeBtn.Font = Enum.Font.SourceSansBold
closeBtn.TextSize = 20
closeBtn.Parent = frame
closeBtn.MouseButton1Click:Connect(function()
screenGui.Enabled = false
openBtn.Visible = true
end)
end
end
-- Ensure open/close button visibility matches GUI state on script run
if screenGui.Enabled then
if openBtn then openBtn.Visible = false end
else
if openBtn then openBtn.Visible = true end
end
end