-- Delta Executor Mobile - Fly + Walkspeed 800 -- Activa vuelo y velocidad al ejecutar local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local LocalPlayer = Players.LocalPlayer local Character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait() local Humanoid = Character:WaitForChild("Humanoid") local RootPart = Character:WaitForChild("HumanoidRootPart") -- Configuración local WALKSPEED = 800 local FLY_SPEED = 80 local FLY_SPEED_UP = 80 -- Variables de vuelo local flying = false local flyVelocity = Vector3.new(0, 0, 0) local bodyVelocity = nil local bodyGyro = nil -- Función para activar vuelo local function EnableFly() if flying then return end flying = true -- Crear BodyVelocity para movimiento bodyVelocity = Instance.new("BodyVelocity") bodyVelocity.Velocity = Vector3.new(0, 0, 0) bodyVelocity.MaxForce = Vector3.new(1e9, 1e9, 1e9) bodyVelocity.Parent = RootPart -- Crear BodyGyro para estabilizar bodyGyro = Instance.new("BodyGyro") bodyGyro.MaxTorque = Vector3.new(1e9, 1e9, 1e9) bodyGyro.CFrame = RootPart.CFrame bodyGyro.Parent = RootPart print("[FLY] Vuelo activado") end -- Función para desactivar vuelo local function DisableFly() if not flying then return end flying = false if bodyVelocity then bodyVelocity:Destroy() bodyVelocity = nil end if bodyGyro then bodyGyro:Destroy() bodyGyro = nil end print("[FLY] Vuelo desactivado") end -- Función para actualizar vuelo local function UpdateFly() if not flying or not RootPart or not bodyVelocity then return end -- Obtener dirección de la cámara local camera = workspace.CurrentCamera local cameraCFrame = camera.CFrame -- Obtener input del teclado/móvil local moveDirection = Vector3.new(0, 0, 0) -- WASD (PC) y toques (móvil) - usando UserInputService if UserInputService:IsKeyDown(Enum.KeyCode.W) then moveDirection = moveDirection + cameraCFrame.LookVector * Vector3.new(1, 0, 1) end if UserInputService:IsKeyDown(Enum.KeyCode.S) then moveDirection = moveDirection - cameraCFrame.LookVector * Vector3.new(1, 0, 1) end if UserInputService:IsKeyDown(Enum.KeyCode.A) then moveDirection = moveDirection - cameraCFrame.RightVector * Vector3.new(1, 0, 1) end if UserInputService:IsKeyDown(Enum.KeyCode.D) then moveDirection = moveDirection + cameraCFrame.RightVector * Vector3.new(1, 0, 1) end -- Espacio para subir / Shift para bajar (PC) if UserInputService:IsKeyDown(Enum.KeyCode.Space) then moveDirection = moveDirection + Vector3.new(0, 1, 0) end if UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) then moveDirection = moveDirection + Vector3.new(0, -1, 0) end -- Si no hay dirección, mantener velocidad cero if moveDirection.Magnitude > 0 then moveDirection = moveDirection.Unit end -- Velocidad final local velocity = moveDirection * FLY_SPEED bodyVelocity.Velocity = velocity -- Orientación hacia la dirección de movimiento if moveDirection.Magnitude > 0.1 then bodyGyro.CFrame = CFrame.new(RootPart.Position, RootPart.Position + moveDirection) end end -- Conectar actualización local flyConnection = RunService.Heartbeat:Connect(UpdateFly) -- === TOGGLE FLY CON TECLA "F" (PC) O DOBLE TAP EN MÓVIL === local lastTapTime = 0 local function ToggleFly() if flying then DisableFly() else EnableFly() end end -- Tecla F para toggle UserInputService.InputBegan:Connect(function(input, gameProcessed) if gameProcessed then return end if input.KeyCode == Enum.KeyCode.F then ToggleFly() end end) -- Doble tap en pantalla para toggle (móvil) local touchCount = 0 local touchTimer = 0 UserInputService.TouchStarted:Connect(function(touch) if tick() - touchTimer < 0.5 then touchCount = touchCount + 1 if touchCount >= 2 then ToggleFly() touchCount = 0 end else touchCount = 1 end touchTimer = tick() end) -- === MODIFICAR WALKSPEED === local function SetWalkSpeed(speed) if Humanoid then Humanoid.WalkSpeed = speed print("[WALKSPEED] WalkSpeed cambiado a " .. speed) end end -- Aplicar walkspeed SetWalkSpeed(WALKSPEED) -- Reaplicar si el personaje respawn LocalPlayer.CharacterAdded:Connect(function(newChar) Character = newChar RootPart = Character:WaitForChild("HumanoidRootPart") Humanoid = Character:WaitForChild("Humanoid") -- Reaplicar walkspeed task.wait(0.5) SetWalkSpeed(WALKSPEED) -- Si estaba volando, reiniciar if flying then DisableFly() task.wait(0.1) EnableFly() end end) -- === GUI SIMPLE === local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "FlySpeedGUI" ScreenGui.Parent = game.CoreGui ScreenGui.ResetOnSpawn = false local MainFrame = Instance.new("Frame") MainFrame.Size = UDim2.new(0, 280, 0, 150) MainFrame.Position = UDim2.new(0.5, -140, 0.5, -75) MainFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 30) MainFrame.BackgroundTransparency = 0.15 MainFrame.BorderSizePixel = 0 MainFrame.Visible = true MainFrame.Active = true MainFrame.Parent = ScreenGui local MainCorner = Instance.new("UICorner") MainCorner.CornerRadius = UDim.new(0, 10) MainCorner.Parent = MainFrame local TitleText = Instance.new("TextLabel") TitleText.Size = UDim2.new(1, 0, 0, 35) TitleText.Position = UDim2.new(0, 0, 0, 0) TitleText.BackgroundColor3 = Color3.fromRGB(35, 35, 50) TitleText.Text = "FLY + WALKSPEED 800" TitleText.TextColor3 = Color3.fromRGB(255, 255, 255) TitleText.Font = Enum.Font.GothamBold TitleText.TextSize = 16 TitleText.Parent = MainFrame local TitleCorner = Instance.new("UICorner") TitleCorner.CornerRadius = UDim.new(0, 10) TitleCorner.Parent = TitleText -- Botón toggle local ToggleFlyBtn = Instance.new("TextButton") ToggleFlyBtn.Size = UDim2.new(0, 200, 0, 45) ToggleFlyBtn.Position = UDim2.new(0.5, -100, 0.45, 0) ToggleFlyBtn.BackgroundColor3 = Color3.fromRGB(0, 120, 200) ToggleFlyBtn.Text = "ACTIVAR VUELO (F)" ToggleFlyBtn.TextColor3 = Color3.fromRGB(255, 255, 255) ToggleFlyBtn.Font = Enum.Font.GothamBold ToggleFlyBtn.TextSize = 14 ToggleFlyBtn.Parent = MainFrame local BtnCorner = Instance.new("UICorner") BtnCorner.CornerRadius = UDim.new(0, 8) BtnCorner.Parent = ToggleFlyBtn -- Estado actual local StatusLabel = Instance.new("TextLabel") StatusLabel.Size = UDim2.new(1, 0, 0, 20) StatusLabel.Position = UDim2.new(0, 0, 0.8, 0) StatusLabel.BackgroundTransparency = 1 StatusLabel.Text = "WalkSpeed: 800 | Vuelo: OFF" StatusLabel.TextColor3 = Color3.fromRGB(200, 200, 200) StatusLabel.Font = Enum.Font.Gotham StatusLabel.TextSize = 12 StatusLabel.Parent = MainFrame -- Botón cerrar local CloseBtn = Instance.new("TextButton") CloseBtn.Size = UDim2.new(0, 30, 0, 30) CloseBtn.Position = UDim2.new(1, -35, 0, 3) CloseBtn.BackgroundColor3 = Color3.fromRGB(180, 0, 0) CloseBtn.Text = "X" CloseBtn.TextColor3 = Color3.fromRGB(255, 255, 255) CloseBtn.Font = Enum.Font.GothamBold CloseBtn.TextSize = 16 CloseBtn.Parent = TitleText -- Actualizar estado cada segundo local function UpdateStatus() local flyStatus = flying and "ON" or "OFF" local flyColor = flying and "Verde" or "Rojo" StatusLabel.Text = "WalkSpeed: 800 | Vuelo: " .. flyStatus StatusLabel.TextColor3 = flying and Color3.fromRGB(0, 255, 0) or Color3.fromRGB(255, 100, 100) end task.spawn(function() while scriptActive do UpdateStatus() task.wait(0.5) end end) -- Eventos ToggleFlyBtn.MouseButton1Click:Connect(function() ToggleFly() UpdateStatus() if flying then ToggleFlyBtn.BackgroundColor3 = Color3.fromRGB(0, 180, 0) ToggleFlyBtn.Text = "DESACTIVAR VUELO" else ToggleFlyBtn.BackgroundColor3 = Color3.fromRGB(0, 120, 200) ToggleFlyBtn.Text = "ACTIVAR VUELO (F)" end end) CloseBtn.MouseButton1Click:Connect(function() ScreenGui:Destroy() end) -- Variable para control de limpieza local scriptActive = true -- Limpiar al cerrar ScreenGui.AncestryChanged:Connect(function() if not ScreenGui.Parent then scriptActive = false DisableFly() if flyConnection then flyConnection:Disconnect() end print("[FLY] Script cerrado") end end) -- Aplicar velocidad inicial SetWalkSpeed(WALKSPEED) print("=== FLY + WALKSPEED 800 CARGADO ===") print("Presiona F o doble toque en pantalla para activar/desactivar vuelo") print("WalkSpeed establecido a 800")