local player = game.Players.LocalPlayer local UIS = game:GetService("UserInputService") local RS = game:GetService("RunService") -- Create GUI local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "SubhaanHub" ScreenGui.ResetOnSpawn = false ScreenGui.Parent = player:WaitForChild("PlayerGui") local Frame = Instance.new("Frame") Frame.Size = UDim2.new(0, 300, 0, 320) Frame.Position = UDim2.new(0.5, -150, 0.5, -160) Frame.BackgroundColor3 = Color3.fromRGB(40, 40, 40) Frame.BorderSizePixel = 0 Frame.Active = true Frame.Draggable = true Frame.Parent = ScreenGui -- Title Bar local TitleBar = Instance.new("Frame") TitleBar.Size = UDim2.new(1, 0, 0, 40) TitleBar.BackgroundColor3 = Color3.fromRGB(30, 30, 30) TitleBar.BorderSizePixel = 0 TitleBar.Parent = Frame local Title = Instance.new("TextLabel") Title.Size = UDim2.new(0.7, 0, 1, 0) Title.Position = UDim2.new(0, 10, 0, 0) Title.BackgroundTransparency = 1 Title.Text = "Subhaan Hub" Title.TextColor3 = Color3.new(1,1,1) Title.TextScaled = true Title.Font = Enum.Font.SourceSansBold Title.TextXAlignment = Enum.TextXAlignment.Left Title.Parent = TitleBar -- Minimize Button local MinimizeBtn = Instance.new("TextButton") MinimizeBtn.Size = UDim2.new(0, 30, 0, 30) MinimizeBtn.Position = UDim2.new(1, -40, 0, 5) MinimizeBtn.BackgroundColor3 = Color3.fromRGB(200, 100, 0) MinimizeBtn.BorderSizePixel = 0 MinimizeBtn.Text = "-" MinimizeBtn.TextColor3 = Color3.new(1,1,1) MinimizeBtn.TextScaled = true MinimizeBtn.Font = Enum.Font.SourceSansBold MinimizeBtn.Parent = TitleBar -- Content Frame (gets hidden/minimized) local Content = Instance.new("Frame") Content.Size = UDim2.new(1, 0, 1, -40) Content.Position = UDim2.new(0, 0, 0, 40) Content.BackgroundTransparency = 1 Content.Parent = Frame -- Speed Section local SpeedLabel = Instance.new("TextLabel") SpeedLabel.Size = UDim2.new(1, -20, 0, 25) SpeedLabel.Position = UDim2.new(0, 10, 0, 10) SpeedLabel.BackgroundTransparency = 1 SpeedLabel.Text = "Walk Speed:" SpeedLabel.TextColor3 = Color3.new(1,1,1) SpeedLabel.TextScaled = true SpeedLabel.Font = Enum.Font.SourceSans SpeedLabel.TextXAlignment = Enum.TextXAlignment.Left SpeedLabel.Parent = Content local SpeedBox = Instance.new("TextBox") SpeedBox.Size = UDim2.new(0, 80, 0, 30) SpeedBox.Position = UDim2.new(0, 10, 0, 35) SpeedBox.BackgroundColor3 = Color3.fromRGB(60, 60, 60) SpeedBox.BorderSizePixel = 0 SpeedBox.Text = "100" SpeedBox.TextColor3 = Color3.new(1,1,1) SpeedBox.TextScaled = true SpeedBox.Parent = Content local SetSpeedBtn = Instance.new("TextButton") SetSpeedBtn.Size = UDim2.new(0, 100, 0, 30) SetSpeedBtn.Position = UDim2.new(0, 100, 0, 35) SetSpeedBtn.BackgroundColor3 = Color3.fromRGB(0, 170, 0) SetSpeedBtn.BorderSizePixel = 0 SetSpeedBtn.Text = "Set Speed" SetSpeedBtn.TextColor3 = Color3.new(1,1,1) SetSpeedBtn.TextScaled = true SetSpeedBtn.Font = Enum.Font.SourceSansBold SetSpeedBtn.Parent = Content -- Fly Section local FlyLabel = Instance.new("TextLabel") FlyLabel.Size = UDim2.new(1, -20, 0, 25) FlyLabel.Position = UDim2.new(0, 10, 0, 75) FlyLabel.BackgroundTransparency = 1 FlyLabel.Text = "Fly Speed:" FlyLabel.TextColor3 = Color3.new(1,1,1) FlyLabel.TextScaled = true FlyLabel.Font = Enum.Font.SourceSans FlyLabel.TextXAlignment = Enum.TextXAlignment.Left FlyLabel.Parent = Content local FlySpeedBox = Instance.new("TextBox") FlySpeedBox.Size = UDim2.new(0, 80, 0, 30) FlySpeedBox.Position = UDim2.new(0, 10, 0, 100) FlySpeedBox.BackgroundColor3 = Color3.fromRGB(60, 60, 60) FlySpeedBox.BorderSizePixel = 0 FlySpeedBox.Text = "50" FlySpeedBox.TextColor3 = Color3.new(1,1,1) FlySpeedBox.TextScaled = true FlySpeedBox.Parent = Content local ToggleFlyBtn = Instance.new("TextButton") ToggleFlyBtn.Size = UDim2.new(0, 100, 0, 30) ToggleFlyBtn.Position = UDim2.new(0, 100, 0, 100) ToggleFlyBtn.BackgroundColor3 = Color3.fromRGB(170, 0, 0) ToggleFlyBtn.BorderSizePixel = 0 ToggleFlyBtn.Text = "Fly: OFF" ToggleFlyBtn.TextColor3 = Color3.new(1,1,1) ToggleFlyBtn.TextScaled = true ToggleFlyBtn.Font = Enum.Font.SourceSansBold ToggleFlyBtn.Parent = Content -- Infinite Jump Section local InfJumpBtn = Instance.new("TextButton") InfJumpBtn.Size = UDim2.new(0, 180, 0, 30) InfJumpBtn.Position = UDim2.new(0, 10, 0, 140) InfJumpBtn.BackgroundColor3 = Color3.fromRGB(170, 0, 0) InfJumpBtn.BorderSizePixel = 0 InfJumpBtn.Text = "Infinite Jump: OFF" InfJumpBtn.TextColor3 = Color3.new(1,1,1) InfJumpBtn.TextScaled = true InfJumpBtn.Font = Enum.Font.SourceSansBold InfJumpBtn.Parent = Content -- Credit local CreditLabel = Instance.new("TextLabel") CreditLabel.Size = UDim2.new(1, 0, 0, 20) CreditLabel.Position = UDim2.new(0, 0, 1, -25) CreditLabel.BackgroundTransparency = 1 CreditLabel.Text = "made by Subhaan_9041" CreditLabel.TextColor3 = Color3.fromRGB(180, 180, 180) CreditLabel.TextScaled = true CreditLabel.Font = Enum.Font.SourceSansBold CreditLabel.Parent = Frame -- Variables local speedValue = 16 local speedConnection local flying = false local flySpeed = 50 local flyConnection local infJump = false local bv = nil local states = {"Climbing", "FallingDown", "Flying", "Freefall", "GettingUp", "Jumping", "Landed", "Physics", "PlatformStanding", "Ragdoll", "Running", "RunningNoPhysics", "Seated", "StrafingNoPhysics", "Swimming"} local function getRoot(char) return char:FindFirstChild("HumanoidRootPart") or char:FindFirstChild("Torso") end local function setupFly() local char = player.Character if not char then return end local hum = char:FindFirstChild("Humanoid") local root = getRoot(char) if not hum or not root then return end for _, v in pairs(states) do pcall(function() hum:SetStateEnabled(Enum.HumanoidStateType[v], false) end) end pcall(function() hum:ChangeState(Enum.HumanoidStateType.Physics) end) hum.PlatformStand = true if bv then pcall(function() bv:Destroy() end) end bv = Instance.new("BodyVelocity") bv.MaxForce = Vector3.new(1e9, 1e9, 1e9) bv.Velocity = Vector3.new() bv.Parent = root end local function cleanupFly() flying = false if flyConnection then flyConnection:Disconnect() flyConnection = nil end if bv then pcall(function() bv:Destroy() end) bv = nil end local char = player.Character if char then local hum = char:FindFirstChild("Humanoid") if hum then for _, v in pairs(states) do pcall(function() hum:SetStateEnabled(Enum.HumanoidStateType[v], true) end) end hum.PlatformStand = false end end ToggleFlyBtn.Text = "Fly: OFF" ToggleFlyBtn.BackgroundColor3 = Color3.fromRGB(170, 0, 0) end -- Minimize toggle local minimized = false MinimizeBtn.MouseButton1Click:Connect(function() minimized = not minimized if minimized then Content.Visible = false Frame.Size = UDim2.new(0, 300, 0, 40) MinimizeBtn.Text = "+" else Content.Visible = true Frame.Size = UDim2.new(0, 300, 0, 320) MinimizeBtn.Text = "-" end end) -- Speed SetSpeedBtn.MouseButton1Click:Connect(function() speedValue = tonumber(SpeedBox.Text) or 16 if speedConnection then speedConnection:Disconnect() end speedConnection = RS.Heartbeat:Connect(function() local char = player.Character if char and char:FindFirstChild("Humanoid") then char.Humanoid.WalkSpeed = speedValue end end) end) -- Fly ToggleFlyBtn.MouseButton1Click:Connect(function() flySpeed = tonumber(FlySpeedBox.Text) or 50 if not flying then flying = true setupFly() flyConnection = RS.Heartbeat:Connect(function() local char = player.Character if not char or not flying then return end local root = getRoot(char) local hum = char:FindFirstChild("Humanoid") if not root or not hum or not bv or not bv.Parent then setupFly() return end local cam = workspace.CurrentCamera local move = Vector3.new(0,0,0) if UIS:IsKeyDown(Enum.KeyCode.W) then move = move + cam.CFrame.LookVector end if UIS:IsKeyDown(Enum.KeyCode.S) then move = move - cam.CFrame.LookVector end if UIS:IsKeyDown(Enum.KeyCode.A) then move = move - cam.CFrame.RightVector end if UIS:IsKeyDown(Enum.KeyCode.D) then move = move + cam.CFrame.RightVector end if UIS:IsKeyDown(Enum.KeyCode.Space) then move = move + Vector3.new(0,1,0) end if UIS:IsKeyDown(Enum.KeyCode.LeftShift) then move = move - Vector3.new(0,1,0) end if move.Magnitude > 0 then bv.Velocity = move.Unit * flySpeed else bv.Velocity = Vector3.new() end end) ToggleFlyBtn.Text = "Fly: ON" ToggleFlyBtn.BackgroundColor3 = Color3.fromRGB(0, 170, 0) else cleanupFly() end end) -- Infinite Jump local jumpConnection InfJumpBtn.MouseButton1Click:Connect(function() infJump = not infJump if infJump then InfJumpBtn.Text = "Infinite Jump: ON" InfJumpBtn.BackgroundColor3 = Color3.fromRGB(0, 170, 0) jumpConnection = UIS.JumpRequest:Connect(function() local char = player.Character if char and char:FindFirstChild("Humanoid") then char.Humanoid:ChangeState("Jumping") end end) else InfJumpBtn.Text = "Infinite Jump: OFF" InfJumpBtn.BackgroundColor3 = Color3.fromRGB(170, 0, 0) if jumpConnection then jumpConnection:Disconnect() end end end) -- Respawn / Character reload handling player.CharacterAdded:Connect(function(newChar) wait(0.5) -- Re-apply speed if speedConnection then speedConnection:Disconnect() speedConnection = RS.Heartbeat:Connect(function() local hum = newChar:FindFirstChild("Humanoid") if hum then hum.WalkSpeed = speedValue end end) end -- Re-apply fly if flying then wait(1) setupFly() end -- Infinite jump stays connected globally end) -- Optional: Clean up old connections on death (optional safety) player.CharacterRemoving:Connect(function() if flyConnection then flyConnection:Disconnect() end if speedConnection then speedConnection:Disconnect() end if bv then pcall(function() bv:Destroy() end) end end)