-- FIXED (Toggleable + Fixed Text + Smooth) local TweenService = game:GetService("TweenService") local Players = game:GetService("Players") local RunService = game:GetService("RunService") local LocalPlayer = Players.LocalPlayer local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "CleanPanelGUI" ScreenGui.ResetOnSpawn = false ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui") -- Toggle Button (always visible) local ToggleBtn = Instance.new("TextButton") ToggleBtn.Size = UDim2.new(0, 50, 0, 50) ToggleBtn.Position = UDim2.new(0, 10, 0, 20) ToggleBtn.BackgroundColor3 = Color3.fromRGB(255, 100, 100) ToggleBtn.Text = "▶" ToggleBtn.TextColor3 = Color3.new(1,1,1) ToggleBtn.Font = Enum.Font.GothamBold ToggleBtn.TextSize = 24 ToggleBtn.Parent = ScreenGui local ToggleCorner = Instance.new("UICorner") ToggleCorner.CornerRadius = UDim.new(1, 0) ToggleCorner.Parent = ToggleBtn -- Main Panel (starts hidden on the left) local Panel = Instance.new("Frame") Panel.Size = UDim2.new(0, 220, 0, 200) Panel.Position = UDim2.new(0, -250, 0, 5) -- hidden Panel.BackgroundColor3 = Color3.fromRGB(25, 25, 35) Panel.BorderSizePixel = 0 Panel.Parent = ScreenGui local PanelCorner = Instance.new("UICorner") PanelCorner.CornerRadius = UDim.new(0, 14) PanelCorner.Parent = Panel local PanelStroke = Instance.new("UIStroke") PanelStroke.Color = Color3.fromRGB(80, 180, 255) PanelStroke.Thickness = 3 PanelStroke.Parent = Panel -- Title local Title = Instance.new("TextLabel") Title.Size = UDim2.new(1, 0, 0, 40) Title.BackgroundTransparency = 1 Title.Text = "Slapper Vs Runners" Title.TextColor3 = Color3.fromRGB(100, 200, 255) Title.Font = Enum.Font.GothamBold Title.TextSize = 20 Title.Parent = Panel -- TP Button local TPButton = Instance.new("TextButton") TPButton.Size = UDim2.new(0.9, 0, 0, 45) TPButton.Position = UDim2.new(0.05, 0, 0, 50) TPButton.BackgroundColor3 = Color3.fromRGB(30, 100, 30) TPButton.Text = "TP to End" TPButton.TextColor3 = Color3.new(1,1,1) TPButton.Font = Enum.Font.GothamBold TPButton.TextSize = 18 TPButton.Parent = Panel -- Delete Button (NOW READABLE!) local DeleteButton = Instance.new("TextButton") DeleteButton.Size = UDim2.new(0.9, 0, 0, 55) DeleteButton.Position = UDim2.new(0.05, 0, 0, 100) DeleteButton.BackgroundColor3 = Color3.fromRGB(100, 20, 20) DeleteButton.Text = "Delete All\n\"Blocker\" Parts" DeleteButton.TextColor3 = Color3.new(1,1,1) DeleteButton.Font = Enum.Font.GothamBold DeleteButton.TextSize = 16 DeleteButton.TextWrapped = true DeleteButton.Parent = Panel -- Noclip Button local NoclipButton = Instance.new("TextButton") NoclipButton.Size = UDim2.new(0.9, 0, 0, 45) NoclipButton.Position = UDim2.new(0.05, 0, 0, 165) NoclipButton.BackgroundColor3 = Color3.fromRGB(20, 40, 80) NoclipButton.Text = "Noclip: OFF" NoclipButton.TextColor3 = Color3.new(1,1,1) NoclipButton.Font = Enum.Font.GothamBold NoclipButton.TextSize = 18 NoclipButton.Parent = Panel -- Add corners to all buttons for _, btn in pairs({TPButton, DeleteButton, NoclipButton}) do local c = Instance.new("UICorner") c.CornerRadius = UDim.new(0, 10) c.Parent = btn end -- Animation & Toggle Logic local panelOpen = false local function togglePanel() panelOpen = not panelOpen local goal = panelOpen and UDim2.new(0, 80, 0, 20) or UDim2.new(0, -250, 0, 20) TweenService:Create(Panel, TweenInfo.new(0.5, Enum.EasingStyle.Quint), {Position = goal}):Play() ToggleBtn.Text = panelOpen and "◀" or "▶" TweenService:Create(ToggleBtn, TweenInfo.new(0.3), {BackgroundColor3 = panelOpen and Color3.fromRGB(100, 255, 100) or Color3.fromRGB(255, 100, 100)}):Play() end ToggleBtn.MouseButton1Click:Connect(togglePanel) -- Hover effects for _, btn in pairs({TPButton, DeleteButton, NoclipButton, ToggleBtn}) do btn.MouseEnter:Connect(function() TweenService:Create(btn, TweenInfo.new(0.2), {BackgroundTransparency = 0.1}):Play() end) btn.MouseLeave:Connect(function() TweenService:Create(btn, TweenInfo.new(0.2), {BackgroundTransparency = 0}):Play() end) end -- All the working functions (same as before) TPButton.MouseButton1Click:Connect(function() if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(-147, 205, 1334) sendNotif("Teleported to End!") end end) DeleteButton.MouseButton1Click:Connect(function() local count = 0 for _, obj in workspace:GetDescendants() do if obj:IsA("BasePart") and obj.Name:lower():find("blocker") then obj:Destroy() count += 1 end end sendNotif("Deleted " .. count .. " Blocker parts!") end) local noclipOn = false local clipConn NoclipButton.MouseButton1Click:Connect(function() noclipOn = not noclipOn NoclipButton.Text = "Noclip: " .. (noclipOn and "ON" or "OFF") NoclipButton.BackgroundColor3 = noclipOn and Color3.fromRGB(30, 100, 30) or Color3.fromRGB(20, 40, 80) if noclipOn then clipConn = RunService.Stepped:Connect(function() if LocalPlayer.Character then for _, p in pairs(LocalPlayer.Character:GetDescendants()) do if p:IsA("BasePart") then p.CanCollide = false end end end end) sendNotif("Noclip ON") else if clipConn then clipConn:Disconnect() end sendNotif("Noclip OFF") end end) function sendNotif(msg) if _G.Notify then _G.Notify.new(msg, 3) else game.StarterGui:SetCore("SendNotification",{Title="Obby Tools", Text=msg, Duration=3}) end end -- Start closed togglePanel() task.wait(0.1) togglePanel() -- opens it on inject sendNotif("Clean Panel Loaded! Click red/green circle to hide")