local Players = game:GetService("Players") local RunService = game:GetService("RunService") local CoreGui = game:GetService("CoreGui") local speaker = Players.LocalPlayer local iyflyspeed = 2 local FLYING = false local mfly1, mfly2 local function getRoot(char) return char and char:FindFirstChild("HumanoidRootPart") end local function createFly(root) if not root then return end local att = Instance.new("Attachment") att.Name = "FlyAttachment" att.Parent = root local lv = Instance.new("LinearVelocity") lv.Name = "FlyVelocity" lv.Attachment0 = att lv.MaxForce = math.huge lv.VectorVelocity = Vector3.new(0, 0, 0) lv.RelativeTo = Enum.ActuatorRelativeTo.World lv.Parent = root local ao = Instance.new("AlignOrientation") ao.Name = "FlyAlign" ao.Attachment0 = att ao.Mode = Enum.OrientationAlignmentMode.OneAttachment ao.MaxTorque = math.huge ao.Responsiveness = 20 ao.Parent = root end local function startFly() FLYING = true local camera = workspace.CurrentCamera local controlModule = require(speaker.PlayerScripts:WaitForChild("PlayerModule"):WaitForChild("ControlModule")) createFly(getRoot(speaker.Character)) mfly1 = speaker.CharacterAdded:Connect(function(char) task.wait(0.1) createFly(getRoot(char)) end) mfly2 = RunService.RenderStepped:Connect(function() local root = getRoot(speaker.Character) if not root then return end local lv = root:FindFirstChild("FlyVelocity") local ao = root:FindFirstChild("FlyAlign") local humanoid = speaker.Character:FindFirstChildWhichIsA("Humanoid") if lv and ao and humanoid then humanoid.PlatformStand = true ao.CFrame = camera.CFrame local dir = controlModule:GetMoveVector() local move = (camera.CFrame.RightVector * dir.X) + (camera.CFrame.LookVector * -dir.Z) if move.Magnitude > 0 then move = move.Unit end lv.VectorVelocity = move * (iyflyspeed * 50) end end) end local function stopFly() FLYING = false if mfly1 then mfly1:Disconnect() end if mfly2 then mfly2:Disconnect() end local root = getRoot(speaker.Character) if root then for _, v in ipairs(root:GetChildren()) do if v.Name == "FlyVelocity" or v.Name == "FlyAlign" or v.Name == "FlyAttachment" then v:Destroy() end end end local humanoid = speaker.Character and speaker.Character:FindFirstChildWhichIsA("Humanoid") if humanoid then humanoid.PlatformStand = false end end local gui = Instance.new("ScreenGui") gui.Name = "ModernFlyGui" gui.ResetOnSpawn = false gui.Parent = CoreGui local main = Instance.new("Frame") main.Name = "Main" main.Size = UDim2.new(0, 200, 0, 160) main.Position = UDim2.new(0.5, -100, 0.5, -80) main.BackgroundColor3 = Color3.fromRGB(25, 25, 25) main.BorderSizePixel = 0 main.Active = true main.Draggable = true main.Parent = gui local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 8) corner.Parent = main local stroke = Instance.new("UIStroke") stroke.Color = Color3.fromRGB(45, 45, 45) stroke.Thickness = 2 stroke.Parent = main local title = Instance.new("TextLabel") title.Size = UDim2.new(1, 0, 0, 35) title.BackgroundTransparency = 1 title.Text = "Slicer X Fly V1.5" title.TextColor3 = Color3.fromRGB(255, 255, 255) title.Font = Enum.Font.GothamBold title.TextSize = 14 title.Parent = main local speedInput = Instance.new("TextBox") speedInput.Size = UDim2.new(0, 160, 0, 30) speedInput.Position = UDim2.new(0.5, -80, 0, 45) speedInput.BackgroundColor3 = Color3.fromRGB(35, 35, 35) speedInput.Text = tostring(iyflyspeed) speedInput.PlaceholderText = "Speed..." speedInput.TextColor3 = Color3.fromRGB(255, 255, 255) speedInput.Font = Enum.Font.Gotham speedInput.TextSize = 12 speedInput.Parent = main local speedCorner = Instance.new("UICorner") speedCorner.CornerRadius = UDim.new(0, 6) speedCorner.Parent = speedInput local toggleBtn = Instance.new("TextButton") toggleBtn.Size = UDim2.new(0, 160, 0, 35) toggleBtn.Position = UDim2.new(0.5, -80, 0, 85) toggleBtn.BackgroundColor3 = Color3.fromRGB(0, 120, 215) toggleBtn.Text = "Enable Fly" toggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255) toggleBtn.Font = Enum.Font.GothamBold toggleBtn.TextSize = 12 toggleBtn.AutoButtonColor = true toggleBtn.Parent = main local btnCorner = Instance.new("UICorner") btnCorner.CornerRadius = UDim.new(0, 6) btnCorner.Parent = toggleBtn local statusLabel = Instance.new("TextLabel") statusLabel.Size = UDim2.new(1, 0, 0, 20) statusLabel.Position = UDim2.new(0, 0, 1, -25) statusLabel.BackgroundTransparency = 1 statusLabel.Text = "Status: Idle" statusLabel.TextColor3 = Color3.fromRGB(150, 150, 150) statusLabel.Font = Enum.Font.Gotham statusLabel.TextSize = 10 statusLabel.Parent = main speedInput.FocusLost:Connect(function() local val = tonumber(speedInput.Text) if val then iyflyspeed = val else speedInput.Text = tostring(iyflyspeed) end end) toggleBtn.MouseButton1Click:Connect(function() if FLYING then stopFly() toggleBtn.Text = "Enable Fly" toggleBtn.BackgroundColor3 = Color3.fromRGB(0, 120, 215) statusLabel.Text = "Status: Idle" else startFly() toggleBtn.Text = "Disable Fly" toggleBtn.BackgroundColor3 = Color3.fromRGB(215, 50, 50) statusLabel.Text = "Status: Flying" end end)