-- Multi-Tab Harmless Utility Hub (10 Tabs) local Players = game:GetService("Players") local TweenService = game:GetService("TweenService") local CoreGui = game:GetService("CoreGui") local RunService = game:GetService("RunService") local player = Players.LocalPlayer -- --- MAIN GUI CONTAINER --- local screenGui = Instance.new("ScreenGui") screenGui.Name = "HarmlessHubGui" local parentTarget = (pcall(function() local _ = CoreGui.Name end) and CoreGui) or player:WaitForChild("PlayerGui") screenGui.Parent = parentTarget local mainFrame = Instance.new("Frame") mainFrame.Size = UDim2.new(0, 500, 0, 320) mainFrame.Position = UDim2.new(0.5, -250, 0.5, -160) mainFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 25) mainFrame.BorderSizePixel = 0 mainFrame.Active = true mainFrame.Draggable = true mainFrame.Parent = screenGui local mainCorner = Instance.new("UICorner") mainCorner.CornerRadius = UDim.new(0, 10) mainCorner.Parent = mainFrame -- Top Title Bar local title = Instance.new("TextLabel") title.Size = UDim2.new(1, -40, 0, 35) title.Position = UDim2.new(0, 10, 0, 0) title.Text = "✨ Harmless Multi-Tab Hub (10 Script Tabs)" title.TextColor3 = Color3.fromRGB(255, 255, 255) title.TextXAlignment = Enum.TextXAlignment.Left title.Font = Enum.Font.FredokaOne title.TextSize = 16 title.BackgroundTransparency = 1 title.Parent = mainFrame -- Close / Minimize Button local closeBtn = Instance.new("TextButton") closeBtn.Size = UDim2.new(0, 25, 0, 25) closeBtn.Position = UDim2.new(1, -30, 0, 5) closeBtn.Text = "X" closeBtn.TextColor3 = Color3.fromRGB(255, 255, 255) closeBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 50) closeBtn.Font = Enum.Font.FredokaOne closeBtn.Parent = mainFrame local closeCorner = Instance.new("UICorner") closeCorner.CornerRadius = UDim.new(0, 6) closeCorner.Parent = closeBtn closeBtn.MouseButton1Click:Connect(function() screenGui:Destroy() end) -- Sidebar (Tabs container) local tabScroll = Instance.new("ScrollingFrame") tabScroll.Size = UDim2.new(0, 130, 1, -40) tabScroll.Position = UDim2.new(0, 5, 0, 35) tabScroll.BackgroundTransparency = 1 tabScroll.CanvasSize = UDim2.new(0, 0, 0, 360) tabScroll.ScrollBarThickness = 4 tabScroll.Parent = mainFrame local tabListLayout = Instance.new("UIListLayout") tabListLayout.Padding = UDim.new(0, 4) tabListLayout.Parent = tabScroll -- Content Container local contentArea = Instance.new("Frame") contentArea.Size = UDim2.new(1, -145, 1, -45) contentArea.Position = UDim2.new(0, 140, 0, 38) contentArea.BackgroundColor3 = Color3.fromRGB(30, 30, 38) contentArea.BorderSizePixel = 0 contentArea.Parent = mainFrame local contentCorner = Instance.new("UICorner") contentCorner.CornerRadius = UDim.new(0, 8) contentCorner.Parent = contentArea -- --- TAB SYSTEM CREATION --- local tabs = {} local activeTab = nil local function createTab(tabName) local tabBtn = Instance.new("TextButton") tabBtn.Size = UDim2.new(0.95, 0, 0, 30) tabBtn.Text = tabName tabBtn.BackgroundColor3 = Color3.fromRGB(40, 40, 50) tabBtn.TextColor3 = Color3.fromRGB(200, 200, 200) tabBtn.Font = Enum.Font.SourceSansBold tabBtn.TextSize = 14 tabBtn.Parent = tabScroll local btnCorner = Instance.new("UICorner") btnCorner.CornerRadius = UDim.new(0, 5) btnCorner.Parent = tabBtn local tabFrame = Instance.new("Frame") tabFrame.Size = UDim2.new(1, 0, 1, 0) tabFrame.BackgroundTransparency = 1 tabFrame.Visible = false tabFrame.Parent = contentArea tabBtn.MouseButton1Click:Connect(function() for _, t in pairs(tabs) do t.Frame.Visible = false t.Button.BackgroundColor3 = Color3.fromRGB(40, 40, 50) t.Button.TextColor3 = Color3.fromRGB(200, 200, 200) end tabFrame.Visible = true tabBtn.BackgroundColor3 = Color3.fromRGB(100, 60, 220) tabBtn.TextColor3 = Color3.fromRGB(255, 255, 255) end) table.insert(tabs, {Button = tabBtn, Frame = tabFrame}) return tabFrame end local function addActionButton(tabFrame, btnText, callback) local count = #tabFrame:GetChildren() local btn = Instance.new("TextButton") btn.Size = UDim2.new(0.9, 0, 0, 35) btn.Position = UDim2.new(0.05, 0, 0, 10 + (count * 42)) btn.Text = btnText btn.BackgroundColor3 = Color3.fromRGB(60, 60, 80) btn.TextColor3 = Color3.fromRGB(255, 255, 255) btn.Font = Enum.Font.FredokaOne btn.TextSize = 14 btn.Parent = tabFrame local bCorner = Instance.new("UICorner") bCorner.CornerRadius = UDim.new(0, 6) bCorner.Parent = btn btn.MouseButton1Click:Connect(function() callback(btn) end) return btn end -- =================================================== -- BUILD THE 10 TABS & HARMLESS SCRIPTS -- =================================================== -- TAB 1: Movement Tweak local tab1 = createTab("1. Speed & Jump") addActionButton(tab1, "⚡ Speed Boost (On/Off)", function(btn) local char = player.Character if char and char:FindFirstChildOfClass("Humanoid") then local hum = char:FindFirstChildOfClass("Humanoid") if hum.WalkSpeed == 16 then hum.WalkSpeed = 60 btn.Text = "⚡ Speed: HIGH" else hum.WalkSpeed = 16 btn.Text = "⚡ Speed Boost (On/Off)" end end end) addActionButton(tab1, "🦘 High Jump (On/Off)", function(btn) local char = player.Character if char and char:FindFirstChildOfClass("Humanoid") then local hum = char:FindFirstChildOfClass("Humanoid") if hum.JumpPower == 50 then hum.JumpPower = 120 btn.Text = "🦘 Jump: HIGH" else hum.JumpPower = 50 btn.Text = "🦘 High Jump (On/Off)" end end end) -- TAB 2: Disco Environment local tab2 = createTab("2. Disco World") local discoLoop = nil addActionButton(tab2, "🌈 Toggle Disco Sky", function(btn) local Lighting = game:GetService("Lighting") if discoLoop then task.cancel(discoLoop) discoLoop = nil Lighting.Ambient = Color3.fromRGB(128, 128, 128) btn.Text = "🌈 Toggle Disco Sky" else btn.Text = "🌈 Disco Active!" discoLoop = task.spawn(function() while true do Lighting.Ambient = Color3.fromHSV(tick() % 2 / 2, 1, 1) task.wait(0.1) end end) end end) -- TAB 3: Character Trail local tab3 = createTab("3. Rainbow Trail") addActionButton(tab3, "✨ Attach Trail", function(btn) local char = player.Character if not char or not char:FindFirstChild("HumanoidRootPart") then return end local hrp = char.HumanoidRootPart if hrp:FindFirstChild("HarmlessTrail") then hrp.HarmlessTrail:Destroy() if hrp:FindFirstChild("A0") then hrp.A0:Destroy() end if hrp:FindFirstChild("A1") then hrp.A1:Destroy() end btn.Text = "✨ Attach Trail" else local a0 = Instance.new("Attachment", hrp) a0.Name = "A0" a0.Position = Vector3.new(0, 1, 0) local a1 = Instance.new("Attachment", hrp) a1.Name = "A1" a1.Position = Vector3.new(0, -1, 0) local trail = Instance.new("Trail") trail.Name = "HarmlessTrail" trail.Attachment0 = a0 trail.Attachment1 = a1 trail.Color = ColorSequence.new(Color3.fromRGB(0, 255, 200), Color3.fromRGB(255, 0, 150)) trail.Lifetime = 1 trail.Parent = hrp btn.Text = "✨ Trail Enabled!" end end) -- TAB 4: Sparkles Effect local tab4 = createTab("4. Sparkle Aura") addActionButton(tab4, "⭐ Spawn Sparkles", function(btn) local char = player.Character if char and char:FindFirstChild("HumanoidRootPart") then local hrp = char.HumanoidRootPart local existing = hrp:FindFirstChild("HarmlessSparkles") if existing then existing:Destroy() btn.Text = "⭐ Spawn Sparkles" else local sparkles = Instance.new("Sparkles") sparkles.Name = "HarmlessSparkles" sparkles.SparkleColor = Color3.fromRGB(255, 220, 50) sparkles.Parent = hrp btn.Text = "⭐ Sparkles Active!" end end end) -- TAB 5: Giant Head local tab5 = createTab("5. Funny Head") addActionButton(tab5, "🤡 Enlarge Head", function(btn) local char = player.Character if char and char:FindFirstChild("Head") then local head = char.Head if head.Size.X == 2 then head.Size = Vector3.new(5, 5, 5) btn.Text = "🤡 Reset Head Size" else head.Size = Vector3.new(2, 1, 1) btn.Text = "🤡 Enlarge Head" end end end) -- TAB 6: Client FOV local tab6 = createTab("6. Camera FOV") addActionButton(tab6, "🔍 Zoom Out (Wide FOV)", function(btn) local cam = workspace.CurrentCamera if cam.FieldOfView == 70 then cam.FieldOfView = 110 btn.Text = "🔍 Reset FOV" else cam.FieldOfView = 70 btn.Text = "🔍 Zoom Out (Wide FOV)" end end) -- TAB 7: Float Spin local tab7 = createTab("7. Float Spin") addActionButton(tab7, "🌀 Spin Character", function(btn) local char = player.Character if char and char:FindFirstChild("HumanoidRootPart") then local hrp = char.HumanoidRootPart local existingSpin = hrp:FindFirstChild("SpinPart") if existingSpin then existingSpin:Destroy() btn.Text = "🌀 Spin Character" else local spin = Instance.new("BodyAngularVelocity") spin.Name = "SpinPart" spin.AngularVelocity = Vector3.new(0, 25, 0) spin.MaxTorque = Vector3.new(0, 4e5, 0) spin.Parent = hrp btn.Text = "🌀 Spinning Active!" end end end) -- TAB 8: Confetti Boom local tab8 = createTab("8. Confetti") addActionButton(tab8, "🎉 Confetti Blast", function(btn) local char = player.Character if char and char:FindFirstChild("HumanoidRootPart") then local emitter = Instance.new("ParticleEmitter") emitter.Color = ColorSequence.new(Color3.fromRGB(255, 50, 50), Color3.fromRGB(50, 255, 50)) emitter.Size = NumberSequence.new(0.5) emitter.Texture = "rbxassetid://241594419" emitter.Rate = 100 emitter.Parent = char.HumanoidRootPart task.delay(1.5, function() emitter:Destroy() end) end end) -- TAB 9: Player Info local tab9 = createTab("9. Player Info") addActionButton(tab9, "📜 Print Account Info", function(btn) btn.Text = "User: " .. player.Name .. " (ID: " .. player.UserId .. ")" end) -- TAB 10: Reset Character local tab10 = createTab("10. Reset Character") addActionButton(tab10, "💀 Quick Respawn", function(btn) local char = player.Character if char and char:FindFirstChildOfClass("Humanoid") then char:FindFirstChildOfClass("Humanoid").Health = 0 end end) -- Set Default Active Tab tabs[1].Frame.Visible = true tabs[1].Button.BackgroundColor3 = Color3.fromRGB(100, 60, 220) tabs[1].Button.TextColor3 = Color3.fromRGB(255, 255, 255)