-- HHM HUB | Legit Game-Safe Version -- Fly and Speed systems are built for your own game, not exploits. local Players = game:GetService("Players") local TweenService = game:GetService("TweenService") local UIS = game:GetService("UserInputService") local RunService = game:GetService("RunService") local player = Players.LocalPlayer ----------------------------------------------------------- -- GUI SETUP ----------------------------------------------------------- local gui = Instance.new("ScreenGui") gui.Name = "HHM_HUB" gui.ResetOnSpawn = false gui.Parent = player:WaitForChild("PlayerGui") local openBtn = Instance.new("TextButton") openBtn.Size = UDim2.new(0,180,0,40) openBtn.Position = UDim2.new(0.5,-90,0,10) openBtn.BackgroundColor3 = Color3.fromRGB(75,0,130) openBtn.TextColor3 = Color3.new(1,1,1) openBtn.Text = "Open HHM HUB" openBtn.Font = Enum.Font.GothamBold openBtn.TextScaled = true openBtn.BorderSizePixel = 0 openBtn.Visible = false openBtn.Parent = gui local main = Instance.new("Frame") main.Size = UDim2.new(0,360,0,320) main.Position = UDim2.new(0.5,-180,0.5,-160) main.BackgroundColor3 = Color3.fromRGB(25,20,35) main.BorderSizePixel = 0 main.Active = true main.Draggable = true main.Parent = gui local title = Instance.new("TextLabel") title.Size = UDim2.new(1,0,0,40) title.BackgroundTransparency = 1 title.Text = "HHM HUB" title.Font = Enum.Font.GothamBold title.TextScaled = true title.TextColor3 = Color3.fromRGB(200,200,255) title.Parent = main local closeBtn = Instance.new("TextButton") closeBtn.Size = UDim2.new(0,30,0,30) closeBtn.Position = UDim2.new(1,-35,0,5) closeBtn.BackgroundColor3 = Color3.fromRGB(130,0,0) closeBtn.Text = "X" closeBtn.Font = Enum.Font.GothamBold closeBtn.TextScaled = true closeBtn.TextColor3 = Color3.new(1,1,1) closeBtn.BorderSizePixel = 0 closeBtn.Parent = main ----------------------------------------------------------- -- MAIN MENU (scroll list) ----------------------------------------------------------- local menu = Instance.new("ScrollingFrame") menu.Size = UDim2.new(1,0,1,-40) menu.Position = UDim2.new(0,0,0,40) menu.BackgroundTransparency = 1 menu.ScrollBarThickness = 8 menu.Parent = main local layout = Instance.new("UIListLayout") layout.Padding = UDim.new(0,8) layout.Parent = menu layout.HorizontalAlignment = Enum.HorizontalAlignment.Center local options = {"Fly Mode","Speed"} local pages = {} local function makeButton(name) local b = Instance.new("TextButton") b.Size = UDim2.new(0.8,0,0,40) b.BackgroundColor3 = Color3.fromRGB(75,0,130) b.TextColor3 = Color3.new(1,1,1) b.Font = Enum.Font.GothamBold b.TextScaled = true b.Text = name b.BorderSizePixel = 0 b.Parent = menu return b end for _,name in ipairs(options) do local b = makeButton(name) local page = Instance.new("Frame") page.Size = UDim2.new(1,0,1,-40) page.Position = UDim2.new(0,0,0,40) page.BackgroundTransparency = 1 page.Visible = false page.Parent = main pages[name] = page local head = Instance.new("TextLabel") head.Size = UDim2.new(1,0,0,40) head.BackgroundTransparency = 1 head.Text = name head.Font = Enum.Font.GothamBold head.TextScaled = true head.TextColor3 = Color3.fromRGB(200,200,255) head.Parent = page local back = Instance.new("TextButton") back.Size = UDim2.new(0,160,0,40) back.Position = UDim2.new(0.5,-80,1,-60) back.BackgroundColor3 = Color3.fromRGB(75,0,130) back.TextColor3 = Color3.new(1,1,1) back.Font = Enum.Font.GothamBold back.TextScaled = true back.Text = "Back" back.BorderSizePixel = 0 back.Parent = page back.MouseButton1Click:Connect(function() page.Visible = false menu.Visible = true end) b.MouseButton1Click:Connect(function() menu.Visible = false page.Visible = true end) end ----------------------------------------------------------- -- HELPERS ----------------------------------------------------------- local function addLabel(parent, text, y) local l = Instance.new("TextLabel") l.Size = UDim2.new(1,0,0,30) l.Position = UDim2.new(0,0,0,y) l.BackgroundTransparency = 1 l.Text = text l.Font = Enum.Font.GothamBold l.TextScaled = true l.TextColor3 = Color3.new(1,1,1) l.Parent = parent return l end local function addSlider(parent, y) local back = Instance.new("Frame") back.Size = UDim2.new(0,260,0,14) back.Position = UDim2.new(0.5,-130,y) back.BackgroundColor3 = Color3.fromRGB(40,0,80) back.BorderSizePixel = 0 back.Parent = parent local grad = Instance.new("UIGradient", back) grad.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0, Color3.fromRGB(0,100,255)), ColorSequenceKeypoint.new(0.5, Color3.fromRGB(128,0,255)), ColorSequenceKeypoint.new(1, Color3.fromRGB(75,0,130)) } local knob = Instance.new("Frame") knob.Size = UDim2.new(0,20,0,20) knob.Position = UDim2.new(0,0,-0.35,0) knob.BackgroundColor3 = Color3.new(1,1,1) knob.BorderSizePixel = 0 knob.Active = true knob.Draggable = true knob.Parent = back return back, knob end local function addButton(parent, text, y) local b = Instance.new("TextButton") b.Size = UDim2.new(0,220,0,40) b.Position = UDim2.new(0.5,-110,y) b.BackgroundColor3 = Color3.fromRGB(75,0,130) b.TextColor3 = Color3.new(1,1,1) b.Font = Enum.Font.GothamBold b.TextScaled = true b.Text = text b.BorderSizePixel = 0 b.Parent = parent return b end ----------------------------------------------------------- -- SPEED PAGE ----------------------------------------------------------- local pageSpeed = pages["Speed"] local speedVal = 16 local speedLabel = addLabel(pageSpeed, "WalkSpeed: "..speedVal, 0.15) local sb, sk = addSlider(pageSpeed, 0.32) local applySpeed = addButton(pageSpeed, "Apply Speed", 0.65) local draggingSpeed = false sk.InputBegan:Connect(function(inp) if inp.UserInputType == Enum.UserInputType.MouseButton1 then draggingSpeed = true end end) UIS.InputEnded:Connect(function(inp) if inp.UserInputType == Enum.UserInputType.MouseButton1 then draggingSpeed = false end end) UIS.InputChanged:Connect(function(inp) if draggingSpeed and inp.UserInputType == Enum.UserInputType.MouseMovement then local relX = math.clamp(inp.Position.X - sb.AbsolutePosition.X, 0, sb.AbsoluteSize.X) sk.Position = UDim2.new(0, relX - sk.AbsoluteSize.X/2, -0.35, 0) local pct = relX / sb.AbsoluteSize.X speedVal = math.floor(16 + (100-16) * pct) speedLabel.Text = "WalkSpeed: "..speedVal end end) applySpeed.MouseButton1Click:Connect(function() local hum = player.Character and player.Character:FindFirstChildOfClass("Humanoid") if hum then hum.WalkSpeed = speedVal end end) ----------------------------------------------------------- -- FLY PAGE ----------------------------------------------------------- local pageFly = pages["Fly Mode"] local flyBtn = addButton(pageFly, "Fly: OFF", 0.25) local flySpeedLabel = addLabel(pageFly, "Fly Speed: 50", 0.45) local flyBar, flyKnob = addSlider(pageFly, 0.6) local flySpeed = 50 local flying = false local dragFly = false flyKnob.InputBegan:Connect(function(inp) if inp.UserInputType == Enum.UserInputType.MouseButton1 then dragFly = true end end) UIS.InputEnded:Connect(function(inp) if inp.UserInputType == Enum.UserInputType.MouseButton1 then dragFly = false end end) UIS.InputChanged:Connect(function(inp) if dragFly and inp.UserInputType == Enum.UserInputType.MouseMovement then local relX = math.clamp(inp.Position.X - flyBar.AbsolutePosition.X, 0, flyBar.AbsoluteSize.X) flyKnob.Position = UDim2.new(0, relX - flyKnob.AbsoluteSize.X/2, -0.35, 0) local pct = relX / flyBar.AbsoluteSize.X flySpeed = math.floor(10 + (100-10) * pct) flySpeedLabel.Text = "Fly Speed: "..flySpeed end end) -- simple legit fly system local function toggleFly() flying = not flying flyBtn.Text = "Fly: "..(flying and "ON" or "OFF") local char = player.Character if not char or not char:FindFirstChild("HumanoidRootPart") then return end local root = char:WaitForChild("HumanoidRootPart") local hum = char:WaitForChild("Humanoid") local gyro = Instance.new("BodyGyro") local vel = Instance.new("BodyVelocity") gyro.MaxTorque = Vector3.new(1e5,1e5,1e5) gyro.P = 1e4 gyro.CFrame = root.CFrame vel.MaxForce = Vector3.new(1e5,1e5,1e5) vel.Velocity = Vector3.zero if flying then gyro.Parent = root vel.Parent = root while flying and task.wait() do local moveDir = hum.MoveDirection gyro.CFrame = workspace.CurrentCamera.CFrame vel.Velocity = moveDir * flySpeed end gyro:Destroy() vel:Destroy() else if root:FindFirstChildOfClass("BodyGyro") then root:FindFirstChildOfClass("BodyGyro"):Destroy() end if root:FindFirstChildOfClass("BodyVelocity") then root:FindFirstChildOfClass("BodyVelocity"):Destroy() end end end flyBtn.MouseButton1Click:Connect(toggleFly) player.CharacterAdded:Connect(function() flying = false end) ----------------------------------------------------------- -- OPEN / CLOSE ----------------------------------------------------------- closeBtn.MouseButton1Click:Connect(function() main.Visible = false openBtn.Visible = true end) openBtn.MouseButton1Click:Connect(function() openBtn.Visible = false main.Visible = true end)