loadstring([[
local player = game.Players.LocalPlayer
local mouse = player:GetMouse()
local flying = false
local speed = 50
local bv, bg
local gui = Instance.new("ScreenGui")
gui.Name = "PatoScript"
gui.ResetOnSpawn = false
gui.Parent = player:WaitForChild("PlayerGui")
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 220, 0, 150)
frame.Position = UDim2.new(0.5, -110, 0.3, 0)
frame.BackgroundColor3 = Color3.fromRGB(20, 20, 30)
frame.BorderSizePixel = 0
frame.Parent = gui
-- Bordes neon multicolor (rainbow constante)
local stroke = Instance.new("UIStroke")
stroke.Thickness = 4
stroke.Color = Color3.fromRGB(255, 0, 255)
stroke.Parent = frame
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 12)
corner.Parent = frame
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, 0, 0, 40)
title.BackgroundTransparency = 1
title.Text = "???? Pato Script"
title.TextColor3 = Color3.fromRGB(255, 255, 255)
title.TextScaled = true
title.Font = Enum.Font.GothamBold
title.Parent = frame
local toggleBtn = Instance.new("TextButton")
toggleBtn.Size = UDim2.new(0.8, 0, 0, 50)
toggleBtn.Position = UDim2.new(0.1, 0, 0.35, 0)
toggleBtn.BackgroundColor3 = Color3.fromRGB(0, 170, 0)
toggleBtn.Text = "Vuelo: OFF"
toggleBtn.TextColor3 = Color3.new(1,1,1)
toggleBtn.TextScaled = true
toggleBtn.Font = Enum.Font.Gotham
toggleBtn.Parent = frame
local speedLabel = Instance.new("TextLabel")
speedLabel.Size = UDim2.new(0.8, 0, 0, 30)
speedLabel.Position = UDim2.new(0.1, 0, 0.72, 0)
speedLabel.BackgroundTransparency = 1
speedLabel.Text = "Velocidad: 50"
speedLabel.TextColor3 = Color3.new(1,1,1)
speedLabel.TextScaled = true
speedLabel.Parent = frame
-- Rainbow neon para el borde
spawn(function()
while frame.Parent do
for i = 0, 1, 0.02 do
if not frame.Parent then break end
stroke.Color = Color3.fromHSV(i, 1, 1)
task.wait(0.05)
end
end
end)
-- Función de vuelo simple y efectiva
local function startFly()
if flying then return end
flying = true
toggleBtn.Text = "Vuelo: ON"
toggleBtn.BackgroundColor3 = Color3.fromRGB(170, 0, 0)
local char = player.Character or player.CharacterAdded:Wait()
local hrp = char:WaitForChild("HumanoidRootPart")
local hum = char:WaitForChild("Humanoid")
hum.PlatformStand = true
bv = Instance.new("BodyVelocity")
bv.MaxForce = Vector3.new(1e5, 1e5, 1e5)
bv.Velocity = Vector3.new(0,0,0)
bv.Parent = hrp
bg = Instance.new("BodyGyro")
bg.MaxTorque = Vector3.new(1e5, 1e5, 1e5)
bg.P = 12500
bg.Parent = hrp
spawn(function()
while flying and hrp.Parent do
local cam = workspace.CurrentCamera
local moveDir = Vector3.new(0,0,0)
if game:GetService("UserInputService"):IsKeyDown(Enum.KeyCode.W) then moveDir = moveDir + cam.CFrame.LookVector end
if game:GetService("UserInputService"):IsKeyDown(Enum.KeyCode.S) then moveDir = moveDir - cam.CFrame.LookVector end
if game:GetService("UserInputService"):IsKeyDown(Enum.KeyCode.A) then moveDir = moveDir - cam.CFrame.RightVector end
if game:GetService("UserInputService"):IsKeyDown(Enum.KeyCode.D) then moveDir = moveDir + cam.CFrame.RightVector end
if game:GetService("UserInputService"):IsKeyDown(Enum.KeyCode.Space) then moveDir = moveDir + Vector3.new(0,1,0) end
if game:GetService("UserInputService"):IsKeyDown(Enum.KeyCode.LeftControl) then moveDir = moveDir - Vector3.new(0,1,0) end
bv.Velocity = moveDir.Unit * speed
bg.CFrame = cam.CFrame
task.wait()
end
end)
end
local function stopFly()
if not flying then return end
flying = false
toggleBtn.Text = "Vuelo: OFF"
toggleBtn.BackgroundColor3 = Color3.fromRGB(0, 170, 0)
if bv then bv:Destroy() end
if bg then bg:Destroy() end
local char = player.Character
if char and char:FindFirstChild("Humanoid") then
char.Humanoid.PlatformStand = false
end
end
toggleBtn.MouseButton1Click:Connect(function()
if flying then
stopFly()
else
startFly()
end
end)
-- Cerrar con doble clic en el título (opcional)
title.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton2 then
gui:Destroy()
end
end)
print(" Pato Script cargado! Usa W/A/S/D + Espacio/Ctrl para volar.")
]])()