local UserInputService = game:GetService("UserInputService") local Players = game:GetService("Players") local player = Players.LocalPlayer local character = player.Character or player.CharacterAdded:Wait() local humanoid = character:WaitForChild("Humanoid") local humanoidRootPart = character:WaitForChild("HumanoidRootPart") -- Create GUI for keybind and speed setting local screenGui = Instance.new("ScreenGui") screenGui.Parent = player:WaitForChild("PlayerGui") screenGui.IgnoreGuiInset = true local frame = Instance.new("Frame") frame.Parent = screenGui frame.Size = UDim2.new(0, 300, 0, 220) frame.Position = UDim2.new(0.5, -150, 0.5, -110) frame.BackgroundColor3 = Color3.fromRGB(30, 30, 30) frame.BorderSizePixel = 0 frame.Active = true -- Add rounded corners local uiCorner = Instance.new("UICorner") uiCorner.CornerRadius = UDim.new(0, 8) uiCorner.Parent = frame -- Title label local titleLabel = Instance.new("TextLabel") titleLabel.Parent = frame titleLabel.Size = UDim2.new(1, 0, 0.15, 0) titleLabel.BackgroundTransparency = 1 titleLabel.Text = "FloatFly Settings" titleLabel.TextColor3 = Color3.fromRGB(255, 255, 255) titleLabel.TextSize = 18 titleLabel.Font = Enum.Font.GothamBold -- Keybind label and textbox local keyLabel = Instance.new("TextLabel") keyLabel.Parent = frame keyLabel.Size = UDim2.new(1, 0, 0.1, 0) keyLabel.Position = UDim2.new(0, 0, 0.15, 0) keyLabel.Text = "Keybind (e.g., F)" keyLabel.BackgroundTransparency = 1 keyLabel.TextColor3 = Color3.fromRGB(200, 200, 200) keyLabel.TextSize = 14 keyLabel.Font = Enum.Font.Gotham local keyBox = Instance.new("TextBox") keyBox.Parent = frame keyBox.Size = UDim2.new(0.8, 0, 0.1, 0) keyBox.Position = UDim2.new(0.1, 0, 0.25, 0) keyBox.Text = "F" keyBox.TextColor3 = Color3.fromRGB(255, 255, 255) keyBox.BackgroundColor3 = Color3.fromRGB(50, 50, 50) keyBox.TextSize = 14 keyBox.Font = Enum.Font.Gotham local keyCorner = Instance.new("UICorner") keyCorner.CornerRadius = UDim.new(0, 4) keyCorner.Parent = keyBox -- Speed slider local speedLabel = Instance.new("TextLabel") speedLabel.Parent = frame speedLabel.Size = UDim2.new(1, 0, 0.1, 0) speedLabel.Position = UDim2.new(0, 0, 0.4, 0) speedLabel.Text = "Speed: 20" speedLabel.BackgroundTransparency = 1 speedLabel.TextColor3 = Color3.fromRGB(200, 200, 200) speedLabel.TextSize = 14 speedLabel.Font = Enum.Font.Gotham local sliderFrame = Instance.new("Frame") sliderFrame.Parent = frame sliderFrame.Size = UDim2.new(0.8, 0, 0.05, 0) sliderFrame.Position = UDim2.new(0.1, 0, 0.5, 0) sliderFrame.BackgroundColor3 = Color3.fromRGB(50, 50, 50) sliderFrame.BorderSizePixel = 0 local sliderCorner = Instance.new("UICorner") sliderCorner.CornerRadius = UDim.new(0, 4) sliderCorner.Parent = sliderFrame local sliderKnob = Instance.new("Frame") sliderKnob.Parent = sliderFrame sliderKnob.Size = UDim2.new(0, 20, 1, 0) sliderKnob.Position = UDim2.new(0.1, 0, 0, 0) sliderKnob.BackgroundColor3 = Color3.fromRGB(100, 100, 255) sliderKnob.BorderSizePixel = 0 local knobCorner = Instance.new("UICorner") knobCorner.CornerRadius = UDim.new(0, 4) knobCorner.Parent = sliderKnob -- Set button local setButton = Instance.new("TextButton") setButton.Parent = frame setButton.Size = UDim2.new(0.35, 0, 0.15, 0) setButton.Position = UDim2.new(0.1, 0, 0.7, 0) setButton.Text = "Set Keybind" setButton.TextColor3 = Color3.fromRGB(255, 255, 255) setButton.BackgroundColor3 = Color3.fromRGB(100, 100, 255) setButton.TextSize = 14 setButton.Font = Enum.Font.GothamBold local buttonCorner = Instance.new("UICorner") buttonCorner.CornerRadius = UDim.new(0, 4) buttonCorner.Parent = setButton -- Reset violations button local resetButton = Instance.new("TextButton") resetButton.Parent = frame resetButton.Size = UDim2.new(0.35, 0, 0.15, 0) resetButton.Position = UDim2.new(0.55, 0, 0.7, 0) resetButton.Text = "reset violations" resetButton.TextColor3 = Color3.fromRGB(255, 255, 255) resetButton.BackgroundColor3 = Color3.fromRGB(100, 100, 255) resetButton.TextSize = 14 resetButton.Font = Enum.Font.GothamBold local resetCorner = Instance.new("UICorner") resetCorner.CornerRadius = UDim.new(0, 4) resetCorner.Parent = resetButton -- Variables local toggleKey = Enum.KeyCode.F local speed = 20 local minSpeed = 10 local maxSpeed = 100 local isEnabled = false local bodyVelocity = nil local originalWalkSpeed = humanoid.WalkSpeed local originalJumpPower = humanoid.JumpPower local isResetting = false -- Slider functionality local draggingSlider = false sliderKnob.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then draggingSlider = true end end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then draggingSlider = false end end) UserInputService.InputChanged:Connect(function(input) if draggingSlider and input.UserInputType == Enum.UserInputType.MouseMovement then local sliderPos = sliderFrame.AbsolutePosition local sliderSize = sliderFrame.AbsoluteSize local mouseX = input.Position.X local relativeX = math.clamp((mouseX - sliderPos.X) / sliderSize.X, 0, 1) sliderKnob.Position = UDim2.new(relativeX, -10, 0, 0) speed = math.round(minSpeed + (maxSpeed - minSpeed) * relativeX) speedLabel.Text = "Speed: " .. speed end end) -- Function to start upward movement local function startUpward() if bodyVelocity then return end bodyVelocity = Instance.new("BodyVelocity") bodyVelocity.Parent = humanoidRootPart bodyVelocity.MaxForce = Vector3.new(0, math.huge, 0) bodyVelocity.Velocity = Vector3.new(0, speed, 0) end -- Function to stop upward movement local function stopUpward() if bodyVelocity then bodyVelocity:Destroy() bodyVelocity = nil end end -- Set button click (only for keybind, speed is from slider) setButton.MouseButton1Click:Connect(function() -- Set keybind local keyName = keyBox.Text:upper() if Enum.KeyCode[keyName] then toggleKey = Enum.KeyCode[keyName] end end) -- Reset button click resetButton.MouseButton1Click:Connect(function() if isResetting then return end isResetting = true resetButton.Text = "Resetting..." resetButton.BackgroundColor3 = Color3.fromRGB(150, 150, 150) local countdownLabel = Instance.new("TextLabel") countdownLabel.Parent = frame countdownLabel.Size = UDim2.new(0.35, 0, 0.1, 0) countdownLabel.Position = UDim2.new(0.55, 0, 0.85, 0) countdownLabel.BackgroundTransparency = 1 countdownLabel.TextColor3 = Color3.fromRGB(255, 255, 255) countdownLabel.TextSize = 14 countdownLabel.Font = Enum.Font.Gotham countdownLabel.Text = "wait for reset (5)" humanoid.WalkSpeed = 0 humanoid.JumpPower = 0 for i = 4, 0, -1 do task.wait(1) countdownLabel.Text = "wait for reset (" .. i .. ")" end humanoid.WalkSpeed = originalWalkSpeed humanoid.JumpPower = originalJumpPower countdownLabel:Destroy() resetButton.Text = "reset violations" resetButton.BackgroundColor3 = Color3.fromRGB(100, 100, 255) isResetting = false end) -- Toggle enable/disable on key press UserInputService.InputBegan:Connect(function(input, gameProcessed) if gameProcessed then return end if input.KeyCode == toggleKey then isEnabled = not isEnabled end end) -- Handle space hold/release only when enabled UserInputService.InputBegan:Connect(function(input, gameProcessed) if not isEnabled or gameProcessed then return end if input.KeyCode == Enum.KeyCode.Space then startUpward() end end) UserInputService.InputEnded:Connect(function(input, gameProcessed) if not isEnabled or gameProcessed then return end if input.KeyCode == Enum.KeyCode.Space then stopUpward() end end) -- Handle character respawn player.CharacterAdded:Connect(function(newChar) character = newChar humanoid = character:WaitForChild("Humanoid") humanoidRootPart = character:WaitForChild("HumanoidRootPart") stopUpward() -- Reset on respawn originalWalkSpeed = humanoid.WalkSpeed originalJumpPower = humanoid.JumpPower if isResetting then humanoid.WalkSpeed = 0 humanoid.JumpPower = 0 end end) -- Draggable functionality for the title label local dragging = false local dragInput local dragStart local startPos local function update(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 titleLabel.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 local connection connection = input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false connection:Disconnect() end end) end end) titleLabel.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then dragInput = input end end) UserInputService.InputChanged:Connect(function(input) if input == dragInput and dragging then update(input) end end) -- Initial slider position for speed 20 local initialRelative = (20 - minSpeed) / (maxSpeed - minSpeed) sliderKnob.Position = UDim2.new(initialRelative, -10, 0, 0)