local RunService = game:GetService("RunService") local function hsvRainbow() local t = tick() % 5 local hue = t / 5 return Color3.fromHSV(hue, 1, 1) end local function createGUI() local gui = Instance.new("ScreenGui", game.Players.LocalPlayer:WaitForChild("PlayerGui")) gui.Name = "MelonHub" local frame = Instance.new("Frame", gui) frame.Size = UDim2.new(0, 250, 0, 480) frame.Position = UDim2.new(0, 100, 0, 100) frame.BackgroundColor3 = Color3.fromRGB(30, 30, 30) frame.BorderSizePixel = 0 frame.Active = true frame.Draggable = true local title = Instance.new("TextLabel", frame) title.Size = UDim2.new(1, 0, 0, 40) title.BackgroundTransparency = 1 title.Text = "MelonHub" title.TextColor3 = Color3.new(1, 1, 1) title.Font = Enum.Font.SourceSansBold title.TextSize = 22 -- Minimize Button local minimizeBtn = Instance.new("TextButton", frame) minimizeBtn.Size = UDim2.new(0, 30, 0, 30) minimizeBtn.Position = UDim2.new(1, -35, 0, 5) minimizeBtn.Text = "-" minimizeBtn.BackgroundColor3 = Color3.fromRGB(255, 0, 0) minimizeBtn.TextColor3 = Color3.new(1, 1, 1) local isMinimized = false local children = {} for _, child in pairs(frame:GetChildren()) do if child:IsA("TextButton") or child:IsA("TextBox") or (child:IsA("TextLabel") and child ~= title) then table.insert(children, child) end end minimizeBtn.MouseButton1Click:Connect(function() isMinimized = not isMinimized for _, child in pairs(children) do child.Visible = not isMinimized end minimizeBtn.Text = isMinimized and "+" or "-" end) local settingsBtn = Instance.new("TextButton", frame) settingsBtn.Size = UDim2.new(0, 30, 0, 30) settingsBtn.Position = UDim2.new(1, -70, 0, 5) settingsBtn.Text = "⚙️" settingsBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60) settingsBtn.TextColor3 = Color3.new(1, 1, 1) local settingsPanel = Instance.new("Frame", frame) settingsPanel.Size = UDim2.new(1, 0, 0, 120) settingsPanel.Position = UDim2.new(0, 0, 0, 40) settingsPanel.BackgroundColor3 = Color3.fromRGB(45, 45, 45) settingsPanel.Visible = false settingsPanel.BorderSizePixel = 0 -- Close Button inside settings panel local closeBtn = Instance.new("TextButton", settingsPanel) closeBtn.Size = UDim2.new(1, -20, 0, 40) closeBtn.Position = UDim2.new(0, 10, 0, 10) closeBtn.Text = "Close Settings" closeBtn.BackgroundColor3 = Color3.fromRGB(200, 0, 0) closeBtn.TextColor3 = Color3.new(1, 1, 1) closeBtn.MouseButton1Click:Connect(function() settingsPanel.Visible = false end) local colorBtn = Instance.new("TextButton", settingsPanel) colorBtn.Size = UDim2.new(1, -20, 0, 40) colorBtn.Position = UDim2.new(0, 10, 0, 60) colorBtn.Text = "Change GUI Color" colorBtn.BackgroundColor3 = Color3.fromRGB(0, 150, 255) colorBtn.TextColor3 = Color3.new(1, 1, 1) colorBtn.MouseButton1Click:Connect(function() frame.BackgroundColor3 = Color3.fromRGB(math.random(0,255), math.random(0,255), math.random(0,255)) end) settingsBtn.MouseButton1Click:Connect(function() settingsPanel.Visible = not settingsPanel.Visible end) local btn1 = Instance.new("TextButton", frame) btn1.Size = UDim2.new(1, -20, 0, 40) btn1.Position = UDim2.new(0, 10, 0, 50) btn1.Text = "Speed Boost" btn1.BackgroundColor3 = Color3.fromRGB(0, 100, 255) btn1.TextColor3 = Color3.new(1, 1, 1) btn1.MouseButton1Click:Connect(function() game.Players.LocalPlayer.Character.Humanoid.WalkSpeed = 100 end) local btn2 = Instance.new("TextButton", frame) btn2.Size = UDim2.new(1, -20, 0, 40) btn2.Position = UDim2.new(0, 10, 0, 100) btn2.Text = "Auto Jump" btn2.BackgroundColor3 = Color3.fromRGB(0, 200, 100) btn2.TextColor3 = Color3.new(1, 1, 1) btn2.MouseButton1Click:Connect(function() _G.Jumping = not _G.Jumping btn2.Text = _G.Jumping and "Stop Jump" or "Auto Jump" while _G.Jumping do local hum = game.Players.LocalPlayer.Character:FindFirstChildOfClass("Humanoid") if hum then hum:ChangeState(Enum.HumanoidStateType.Jumping) end wait(0.5) end end) local btn3 = Instance.new("TextButton", frame) btn3.Size = UDim2.new(1, -20, 0, 40) btn3.Position = UDim2.new(0, 10, 0, 150) btn3.Text = "Enable Noclip" btn3.BackgroundColor3 = Color3.fromRGB(200, 50, 50) btn3.TextColor3 = Color3.new(1, 1, 1) local noclip = false local noclipConn btn3.MouseButton1Click:Connect(function() noclip = not noclip btn3.Text = noclip and "Disable Noclip" or "Enable Noclip" if noclip then noclipConn = game:GetService("RunService").Stepped:Connect(function() for _, v in pairs(game.Players.LocalPlayer.Character:GetDescendants()) do if v:IsA("BasePart") and v.CanCollide == true then v.CanCollide = false end end end) else if noclipConn then noclipConn:Disconnect() noclipConn = nil end end end) -- Godmode Button local godmodeBtn = Instance.new("TextButton", frame) godmodeBtn.Size = UDim2.new(1, -20, 0, 40) godmodeBtn.Position = UDim2.new(0, 10, 0, 200) godmodeBtn.Text = "Godmode" godmodeBtn.BackgroundColor3 = Color3.fromRGB(0, 255, 0) godmodeBtn.TextColor3 = Color3.new(1, 1, 1) local godmode = false godmodeBtn.MouseButton1Click:Connect(function() godmode = not godmode godmodeBtn.Text = godmode and "Disable Godmode" or "Godmode" local character = game.Players.LocalPlayer.Character local humanoid = character:FindFirstChildOfClass("Humanoid") if godmode then humanoid.MaxHealth = math.huge humanoid.Health = math.huge humanoid.HealthChanged:Connect(function() humanoid.Health = math.huge end) else if humanoid then humanoid.MaxHealth = 100 humanoid.Health = 100 end end end) local inputBox = Instance.new("TextBox", frame) inputBox.Size = UDim2.new(1, -20, 0, 30) inputBox.Position = UDim2.new(0, 10, 0, 250) inputBox.PlaceholderText = "Enter player name" inputBox.Text = "" inputBox.TextColor3 = Color3.new(1, 1, 1) inputBox.BackgroundColor3 = Color3.fromRGB(50, 50, 50) inputBox.ClearTextOnFocus = false local tpBtn = Instance.new("TextButton", frame) tpBtn.Size = UDim2.new(1, -20, 0, 40) tpBtn.Position = UDim2.new(0, 10, 0, 290) tpBtn.Text = "Teleport" tpBtn.BackgroundColor3 = Color3.fromRGB(140, 80, 255) tpBtn.TextColor3 = Color3.new(1, 1, 1) tpBtn.MouseButton1Click:Connect(function() local targetName = inputBox.Text local target = game.Players:FindFirstChild(targetName) if target and target.Character and target.Character:FindFirstChild("HumanoidRootPart") then local hrp = game.Players.LocalPlayer.Character:FindFirstChild("HumanoidRootPart") if hrp then hrp.CFrame = target.Character.HumanoidRootPart.CFrame end else warn("Player not found or no HumanoidRootPart") end end) local followBtn = Instance.new("TextButton", frame) followBtn.Size = UDim2.new(1, -20, 0, 40) followBtn.Position = UDim2.new(0, 10, 0, 340) followBtn.Text = "Follow" followBtn.BackgroundColor3 = Color3.fromRGB(255, 165, 0) followBtn.TextColor3 = Color3.new(1, 1, 1) local followTarget = nil followBtn.MouseButton1Click:Connect(function() local targetName = inputBox.Text followTarget = game.Players:FindFirstChild(targetName) if followTarget and followTarget.Character and followTarget.Character:FindFirstChild("HumanoidRootPart") then followBtn.Text = "Unfollow" else followTarget = nil followBtn.Text = "Follow" end end) RunService.Heartbeat:Connect(function() if followTarget and followTarget.Character then local hrp = followTarget.Character:FindFirstChild("HumanoidRootPart") local playerHRP = game.Players.LocalPlayer.Character:FindFirstChild("HumanoidRootPart") if hrp and playerHRP then playerHRP.CFrame = hrp.CFrame * CFrame.new(0, 0, 2) end end -- Rainbow background frame.BackgroundColor3 = hsvRainbow() end) end game.Players.LocalPlayer.CharacterAdded:Connect(function(character) repeat wait() until character:FindFirstChild("HumanoidRootPart") local oldGui = game.Players.LocalPlayer:FindFirstChild("MelonHub") if oldGui then oldGui:Destroy() end createGUI() end) createGUI()