local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") local player = Players.LocalPlayer local fallVelocity = 30 local screenGui = Instance.new("ScreenGui") screenGui.Name = "FallButtonGui" screenGui.ResetOnSpawn = false screenGui.Parent = player:WaitForChild("PlayerGui") local frame = Instance.new("Frame") frame.Size = UDim2.new(0, 220, 0, 140) frame.Position = UDim2.new(0.75, 0, 0.4, 0) frame.BackgroundColor3 = Color3.fromRGB(40, 40, 40) frame.Parent = screenGui local title = Instance.new("TextLabel") title.Size = UDim2.new(1, -30, 0, 30) title.BackgroundTransparency = 1 title.Text = "Fall Settings" title.TextColor3 = Color3.new(1, 1, 1) title.Parent = frame local minimize = Instance.new("TextButton") minimize.Size = UDim2.new(0, 30, 0, 30) minimize.Position = UDim2.new(1, -30, 0, 0) minimize.Text = "-" minimize.Parent = frame local velocityBox = Instance.new("TextBox") velocityBox.Size = UDim2.new(0, 180, 0, 35) velocityBox.Position = UDim2.new(0, 20, 0, 40) velocityBox.Text = tostring(fallVelocity) velocityBox.PlaceholderText = "Velocity" velocityBox.Parent = frame local fallButton = Instance.new("TextButton") fallButton.Size = UDim2.new(0, 180, 0, 35) fallButton.Position = UDim2.new(0, 20, 0, 90) fallButton.BackgroundColor3 = Color3.fromRGB(128, 128, 128) fallButton.Text = "Fall Forward" fallButton.TextColor3 = Color3.new(1, 1, 1) fallButton.Parent = frame local minimized = false minimize.MouseButton1Click:Connect(function() minimized = not minimized if minimized then frame.Size = UDim2.new(0, 220, 0, 30) velocityBox.Visible = false fallButton.Visible = false minimize.Text = "+" else frame.Size = UDim2.new(0, 220, 0, 140) velocityBox.Visible = true fallButton.Visible = true minimize.Text = "-" end end) velocityBox.FocusLost:Connect(function() local num = tonumber(velocityBox.Text) if num then fallVelocity = num else velocityBox.Text = tostring(fallVelocity) end end) local function getRoot(character) return character:FindFirstChild("HumanoidRootPart") or character:FindFirstChild("Torso") or character:FindFirstChild("UpperTorso") end fallButton.MouseButton1Click:Connect(function() local character = player.Character if not character then return end local humanoid = character:FindFirstChildWhichIsA("Humanoid") local root = getRoot(character) if humanoid and root then humanoid:ChangeState(Enum.HumanoidStateType.FallingDown) root.Velocity = root.CFrame.LookVector * fallVelocity end end) local dragging = false local dragStart local startPos local function updateDrag(input) local delta = input.Position - dragStart frame.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y ) end title.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = frame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) UserInputService.InputChanged:Connect(function(input) if dragging then updateDrag(input) end end)