--[[ DELTA FLY Hecho para Delta Executor (Android y PC). Ejecuta una vez. El panel aparece abajo a la derecha y se puede arrastrar. VOLAR ........... boton VOLAR o tecla F Mover ........... joystick o WASD (sigue la camara, incluyendo arriba/abajo) Subir ........... SUBIR / Espacio / E Bajar ........... BAJAR / Shift / Q Velocidad ....... + / − en el panel ]] local Players = game:GetService("Players") local UIS = game:GetService("UserInputService") local RunService = game:GetService("RunService") local LP = Players.LocalPlayer local SPEED = 350 local MIN_SPEED, MAX_SPEED = 10, 400 local GUI_NAME = "DeltaFlyPanel" local flying = false local upHeld, downHeld = false, false local bv, bg, loop, controlModule local flyBtn, speedLabel local function host() local ok, h = pcall(function() return gethui() end) if ok and h then return h end local cg = game:GetService("CoreGui") local allowed = pcall(function() local f = Instance.new("Folder") f.Name = "DF_Probe" f.Parent = cg f:Destroy() end) if allowed then return cg end return LP:WaitForChild("PlayerGui") end pcall(function() local old = host():FindFirstChild(GUI_NAME) if old then old:Destroy() end end) task.spawn(function() pcall(function() local ps = LP:WaitForChild("PlayerScripts", 8) if not ps then return end local pm = ps:FindFirstChild("PlayerModule") or ps:WaitForChild("PlayerModule", 8) if not pm then return end local cm = pm:FindFirstChild("ControlModule") or pm:WaitForChild("ControlModule", 5) if cm then controlModule = require(cm) end end) end) local function parts() local c = LP.Character if not c then return nil, nil end return c:FindFirstChild("HumanoidRootPart"), c:FindFirstChildOfClass("Humanoid") end local function cleanupMovers() if loop then loop:Disconnect() loop = nil end if bv then bv:Destroy() bv = nil end if bg then bg:Destroy() bg = nil end local _, hum = parts() if hum then hum.PlatformStand = false end end local function moveVector() local cam = workspace.CurrentCamera if not cam then return Vector3.zero end local cf = cam.CFrame local v = Vector3.zero if controlModule then local ok, mv = pcall(function() return controlModule:GetMoveVector() end) if ok and typeof(mv) == "Vector3" then v = v + (cf.LookVector * -mv.Z) + (cf.RightVector * mv.X) end end if v.Magnitude < 0.05 then if UIS:IsKeyDown(Enum.KeyCode.W) then v = v + cf.LookVector end if UIS:IsKeyDown(Enum.KeyCode.S) then v = v - cf.LookVector end if UIS:IsKeyDown(Enum.KeyCode.A) then v = v - cf.RightVector end if UIS:IsKeyDown(Enum.KeyCode.D) then v = v + cf.RightVector end local _, hum = parts() if hum and hum.MoveDirection.Magnitude > 0.05 and v.Magnitude < 0.05 then v = v + cf.LookVector * hum.MoveDirection.Magnitude end end if upHeld or UIS:IsKeyDown(Enum.KeyCode.Space) or UIS:IsKeyDown(Enum.KeyCode.E) then v = v + Vector3.new(0, 1, 0) end if downHeld or UIS:IsKeyDown(Enum.KeyCode.LeftShift) or UIS:IsKeyDown(Enum.KeyCode.Q) then v = v + Vector3.new(0, -1, 0) end return v end local function startFly() local hrp, hum = parts() if not hrp or not hum then return end cleanupMovers() flying = true hum.Sit = false hum.PlatformStand = true bg = Instance.new("BodyGyro") bg.Name = "DF_Gyro" bg.P = 9e4 bg.MaxTorque = Vector3.new(9e9, 9e9, 9e9) bg.CFrame = hrp.CFrame bg.Parent = hrp bv = Instance.new("BodyVelocity") bv.Name = "DF_Vel" bv.MaxForce = Vector3.new(9e9, 9e9, 9e9) bv.Velocity = Vector3.zero bv.Parent = hrp loop = RunService.Heartbeat:Connect(function() if not flying then return end local hrp2, hum2 = parts() if not hrp2 or not hum2 or not bv or not bg then return end if bv.Parent ~= hrp2 then bv.Parent = hrp2 bg.Parent = hrp2 end hum2.PlatformStand = true local cam = workspace.CurrentCamera if cam then bg.CFrame = cam.CFrame end local dir = moveVector() if dir.Magnitude > 0.05 then bv.Velocity = dir.Unit * SPEED else bv.Velocity = Vector3.zero end end) end local function stopFly() flying = false cleanupMovers() end local function paintFly() if not flyBtn then return end if flying then flyBtn.BackgroundColor3 = Color3.fromRGB(200, 204, 212) flyBtn.TextColor3 = Color3.fromRGB(9, 9, 11) flyBtn.Text = "VOLAR ON" else flyBtn.BackgroundColor3 = Color3.fromRGB(28, 28, 33) flyBtn.TextColor3 = Color3.fromRGB(244, 244, 245) flyBtn.Text = "VOLAR OFF" end end local function paintSpeed() if speedLabel then speedLabel.Text = "VEL " .. tostring(SPEED) end end local function toggleFly() if flying then stopFly() else startFly() end paintFly() end LP.CharacterAdded:Connect(function() task.wait(0.45) if flying then startFly() paintFly() end end) local function mk(className, props, parent) local obj = Instance.new(className) for k, val in pairs(props) do obj[k] = val end if parent then obj.Parent = parent end return obj end local function corner(parent, px) mk("UICorner", { CornerRadius = UDim.new(0, px) }, parent) end local function stroke(parent) mk("UIStroke", { Color = Color3.fromRGB(255, 255, 255), Transparency = 0.88, Thickness = 1, }, parent) end local gui = mk("ScreenGui", { Name = GUI_NAME, ResetOnSpawn = false, IgnoreGuiInset = true, ZIndexBehavior = Enum.ZIndexBehavior.Sibling, DisplayOrder = 140, }, host()) local panel = mk("Frame", { Name = "Panel", AnchorPoint = Vector2.new(1, 1), Position = UDim2.new(1, -14, 1, -14), Size = UDim2.fromOffset(196, 248), BackgroundColor3 = Color3.fromRGB(18, 18, 22), BorderSizePixel = 0, Active = true, }, gui) corner(panel, 18) stroke(panel) local header = mk("TextButton", { Name = "Header", Size = UDim2.new(1, 0, 0, 36), BackgroundTransparency = 1, Text = "DELTA FLY", Font = Enum.Font.GothamMedium, TextSize = 13, TextColor3 = Color3.fromRGB(200, 204, 212), AutoButtonColor = false, }, panel) local closeBtn = mk("TextButton", { Name = "Close", AnchorPoint = Vector2.new(1, 0.5), Position = UDim2.new(1, -10, 0.5, 0), Size = UDim2.fromOffset(22, 22), BackgroundColor3 = Color3.fromRGB(36, 36, 42), Text = "x", Font = Enum.Font.Gotham, TextSize = 12, TextColor3 = Color3.fromRGB(161, 161, 170), AutoButtonColor = false, }, header) corner(closeBtn, 6) flyBtn = mk("TextButton", { Name = "Fly", Position = UDim2.fromOffset(12, 44), Size = UDim2.new(1, -24, 0, 40), BackgroundColor3 = Color3.fromRGB(28, 28, 33), Text = "VOLAR OFF", Font = Enum.Font.GothamBold, TextSize = 14, TextColor3 = Color3.fromRGB(244, 244, 245), AutoButtonColor = false, }, panel) corner(flyBtn, 10) local row = mk("Frame", { BackgroundTransparency = 1, Position = UDim2.fromOffset(12, 92), Size = UDim2.new(1, -24, 0, 40), }, panel) local upBtn = mk("TextButton", { Size = UDim2.new(0.5, -4, 1, 0), BackgroundColor3 = Color3.fromRGB(28, 28, 33), Text = "SUBIR", Font = Enum.Font.GothamMedium, TextSize = 13, TextColor3 = Color3.fromRGB(244, 244, 245), AutoButtonColor = false, }, row) corner(upBtn, 10) local downBtn = mk("TextButton", { Position = UDim2.new(0.5, 4, 0, 0), Size = UDim2.new(0.5, -4, 1, 0), BackgroundColor3 = Color3.fromRGB(28, 28, 33), Text = "BAJAR", Font = Enum.Font.GothamMedium, TextSize = 13, TextColor3 = Color3.fromRGB(244, 244, 245), AutoButtonColor = false, }, row) corner(downBtn, 10) local speedRow = mk("Frame", { BackgroundTransparency = 1, Position = UDim2.fromOffset(12, 140), Size = UDim2.new(1, -24, 0, 40), }, panel) local minusBtn = mk("TextButton", { Size = UDim2.fromOffset(40, 40), BackgroundColor3 = Color3.fromRGB(28, 28, 33), Text = "−", Font = Enum.Font.GothamBold, TextSize = 20, TextColor3 = Color3.fromRGB(244, 244, 245), AutoButtonColor = false, }, speedRow) corner(minusBtn, 10) speedLabel = mk("TextLabel", { Position = UDim2.fromOffset(44, 0), Size = UDim2.new(1, -88, 1, 0), BackgroundTransparency = 1, Text = "VEL " .. tostring(SPEED), Font = Enum.Font.GothamMedium, TextSize = 13, TextColor3 = Color3.fromRGB(200, 204, 212), }, speedRow) local plusBtn = mk("TextButton", { AnchorPoint = Vector2.new(1, 0), Position = UDim2.new(1, 0, 0, 0), Size = UDim2.fromOffset(40, 40), BackgroundColor3 = Color3.fromRGB(28, 28, 33), Text = "+", Font = Enum.Font.GothamBold, TextSize = 20, TextColor3 = Color3.fromRGB(244, 244, 245), AutoButtonColor = false, }, speedRow) corner(plusBtn, 10) mk("TextLabel", { Position = UDim2.fromOffset(12, 188), Size = UDim2.new(1, -24, 0, 48), BackgroundTransparency = 1, Text = "F activa el vuelo. En movil usa el joystick y mira hacia donde quieres ir.", Font = Enum.Font.Gotham, TextSize = 11, TextColor3 = Color3.fromRGB(113, 113, 122), TextWrapped = true, TextXAlignment = Enum.TextXAlignment.Left, TextYAlignment = Enum.TextYAlignment.Top, }, panel) local function bindHold(btn, setHeld) btn.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then setHeld(true) end end) btn.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then setHeld(false) end end) end bindHold(upBtn, function(v) upHeld = v end) bindHold(downBtn, function(v) downHeld = v end) flyBtn.MouseButton1Click:Connect(toggleFly) minusBtn.MouseButton1Click:Connect(function() SPEED = math.max(MIN_SPEED, SPEED - 10) paintSpeed() end) plusBtn.MouseButton1Click:Connect(function() SPEED = math.min(MAX_SPEED, SPEED + 10) paintSpeed() end) closeBtn.MouseButton1Click:Connect(function() stopFly() gui:Destroy() end) UIS.InputBegan:Connect(function(input, gpe) if gpe then return end if input.KeyCode == Enum.KeyCode.F then toggleFly() end end) local dragging, dragStart, startPos header.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = panel.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) UIS.InputChanged:Connect(function(input) if not dragging then return end if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then local d = input.Position - dragStart panel.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + d.X, startPos.Y.Scale, startPos.Y.Offset + d.Y ) end end) paintFly() paintSpeed()