
Key Required VerifiedUniversal

--============================================================
-- FLY (плавный, Homelander-style) + ESP + МЕНЮ
-- F — вкл/выкл полёт
-- WASD — движение, Space/Ctrl — вверх/вниз, Shift — буст x2
--============================================================
local Players = game:GetService("Players")
local UIS = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
--============================================================
-- НАСТРОЙКИ
--============================================================
local FLY_SPEED = 100
local FLY_ACCEL = 10
local BOOST_MULT = 2
local ESP_ON = true
local ESP_FILL_COLOR = Color3.fromRGB(255, 60, 60)
local ESP_OUTLINE_COLOR = Color3.fromRGB(255, 255, 255)
-- ВСТАВЬ СВОИ ID АНИМАЦИЙ (см. инструкцию после скрипта)
local FLY_ANIM_ID = "rbxassetid://0" -- полёт (движение)
local HOVER_ANIM_ID = "rbxassetid://0" -- парение (стоит на месте)
local WIND_SOUND_ID = "rbxassetid://3308152153" -- звук ветра (этот рабочий)
-- forward declarations
local menuFlyBtn, menuEspBtn
--============================================================
-- ESP
--============================================================
local function addHighlight(char)
if not ESP_ON then return end
if not char or not char:IsA("Model") then return end
if char:FindFirstChild("ESPHighlight") then return end
local h = Instance.new("Highlight")
h.Name = "ESPHighlight"
h.FillColor = ESP_FILL_COLOR
h.OutlineColor = ESP_OUTLINE_COLOR
h.FillTransparency = 0.5
h.OutlineTransparency = 0
h.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
h.Parent = char
end
local function removeAllHighlights()
for _, p in ipairs(Players:GetPlayers()) do
if p ~= player and p.Character then
local h = p.Character:FindFirstChild("ESPHighlight")
if h then h:Destroy() end
end
end
end
local function hookPlayer(p)
if p == player then return end
if p.Character then addHighlight(p.Character) end
p.CharacterAdded:Connect(addHighlight)
end
for _, p in ipairs(Players:GetPlayers()) do hookPlayer(p) end
Players.PlayerAdded:Connect(hookPlayer)
local function setESP(state)
ESP_ON = state
if ESP_ON then
for _, p in ipairs(Players:GetPlayers()) do
if p ~= player and p.Character then addHighlight(p.Character) end
end
else
removeAllHighlights()
end
end
--============================================================
-- FLY
--============================================================
local flying, hrp, humanoid, att, lv, vf, spin, connFly
local currentVel = Vector3.zero
local flyAnimTrack, hoverAnimTrack, windSound
local isMoving = false
local loadedAnimator = nil
local function loadAnimations()
local char = player.Character
if not char then return end
local animator = char:FindFirstChildOfClass("Animator")
if not animator then
local hum = char:FindFirstChildOfClass("Humanoid")
if hum then
animator = hum:FindFirstChildOfClass("Animator")
if not animator then
animator = Instance.new("Animator")
animator.Parent = hum
end
end
end
if not animator then return end
loadedAnimator = animator
local flyAnim = Instance.new("Animation")
flyAnim.AnimationId = FLY_ANIM_ID
flyAnimTrack = animator:LoadAnimation(flyAnim)
flyAnimTrack.Priority = Enum.AnimationPriority.Action
local hoverAnim = Instance.new("Animation")
hoverAnim.AnimationId = HOVER_ANIM_ID
hoverAnimTrack = animator:LoadAnimation(hoverAnim)
hoverAnimTrack.Priority = Enum.AnimationPriority.Action
if windSound then windSound:Destroy() end
windSound = Instance.new("Sound")
windSound.SoundId = WIND_SOUND_ID
windSound.Looped = true
windSound.Volume = 0.5
windSound.Parent = hrp
end
local function stopFly()
flying = false
if connFly then connFly:Disconnect() connFly = nil end
if lv then lv:Destroy() lv = nil end
if vf then vf:Destroy() vf = nil end
if spin then spin:Destroy() spin = nil end
if att then att:Destroy() att = nil end
if flyAnimTrack then flyAnimTrack:Stop() flyAnimTrack = nil end
if hoverAnimTrack then hoverAnimTrack:Stop() hoverAnimTrack = nil end
if windSound then windSound:Stop() windSound:Destroy() windSound = nil end
if humanoid and humanoid.Parent then
humanoid.PlatformStand = false
humanoid:ChangeState(Enum.HumanoidStateType.GettingUp)
end
hrp, humanoid = nil, nil
currentVel = Vector3.zero
isMoving = false
end
local function startFly()
local char = player.Character
if not char then return end
hrp = char:FindFirstChild("HumanoidRootPart")
humanoid = char:FindFirstChildOfClass("Humanoid")
if not hrp or not humanoid then return end
humanoid.PlatformStand = true
humanoid:ChangeState(Enum.HumanoidStateType.Physics)
att = Instance.new("Attachment")
att.Parent = hrp
vf = Instance.new("VectorForce")
vf.Attachment0 = att
vf.RelativeTo = Enum.ActuatorRelativeTo.World
vf.Force = Vector3.new(0, workspace.Gravity * hrp.AssemblyMass, 0)
vf.Parent = hrp
lv = Instance.new("LinearVelocity")
lv.Attachment0 = att
lv.MaxForce = math.huge
lv.RelativeTo = Enum.ActuatorRelativeTo.World
lv.VectorVelocity = Vector3.zero
lv.Parent = hrp
spin = Instance.new("AlignOrientation")
spin.Attachment0 = att
spin.Mode = Enum.OrientationAlignmentMode.OneAttachment
spin.MaxTorque = math.huge
spin.Responsiveness = 20
spin.Parent = hrp
currentVel = Vector3.zero
isMoving = false
loadAnimations()
if hoverAnimTrack then
pcall(function() hoverAnimTrack:Play(0.2) end)
end
connFly = RunService.RenderStepped:Connect(function(dt)
if not flying or not hrp or not hrp.Parent or not lv then return end
local cam = workspace.CurrentCamera
if not cam then return end
local look = cam.CFrame.LookVector
local right = cam.CFrame.RightVector
local move = Vector3.zero
if UIS:IsKeyDown(Enum.KeyCode.W) then move += look end
if UIS:IsKeyDown(Enum.KeyCode.S) then move -= look end
if UIS:IsKeyDown(Enum.KeyCode.D) then move += right end
if UIS:IsKeyDown(Enum.KeyCode.A) then move -= right end
if UIS:IsKeyDown(Enum.KeyCode.Space) then move += Vector3.new(0, 1, 0) end
if UIS:IsKeyDown(Enum.KeyCode.LeftControl) then move -= Vector3.new(0, 1, 0) end
if move.Magnitude > 0 then move = move.Unit end
local movingNow = move.Magnitude > 0
if movingNow ~= isMoving then
isMoving = movingNow
if isMoving then
if hoverAnimTrack then pcall(function() hoverAnimTrack:Stop(0.2) end) end
if flyAnimTrack and not flyAnimTrack.IsPlaying then
pcall(function() flyAnimTrack:Play(0.2) end)
end
else
if flyAnimTrack then pcall(function() flyAnimTrack:Stop(0.2) end) end
if hoverAnimTrack and not hoverAnimTrack.IsPlaying then
pcall(function() hoverAnimTrack:Play(0.2) end)
end
end
end
if windSound then
if movingNow and not windSound.IsPlaying then
windSound:Play()
elseif not movingNow and windSound.IsPlaying then
windSound:Stop()
end
end
local speed = FLY_SPEED
if UIS:IsKeyDown(Enum.KeyCode.LeftShift)
or UIS:IsKeyDown(Enum.KeyCode.RightShift) then
speed *= BOOST_MULT
end
local targetVel = move * speed
currentVel = currentVel:Lerp(targetVel, math.clamp(FLY_ACCEL * dt, 0, 1))
lv.VectorVelocity = currentVel
spin.CFrame = CFrame.new(hrp.Position, hrp.Position + look)
end)
end
local COLOR_ON = Color3.fromRGB(60, 180, 90)
local COLOR_OFF = Color3.fromRGB(55, 55, 60)
local function updateFlyUI()
if not menuFlyBtn then return end
menuFlyBtn.Text = flying and "Fly: ON" or "Fly: OFF"
menuFlyBtn.BackgroundColor3 = flying and COLOR_ON or COLOR_OFF
end
local function updateEspUI()
if not menuEspBtn then return end
menuEspBtn.Text = ESP_ON and "ESP: ON" or "ESP: OFF"
menuEspBtn.BackgroundColor3 = ESP_ON and COLOR_ON or COLOR_OFF
end
local function setFly(state)
if state == flying then return end
if state then
flying = true
startFly()
else
stopFly()
end
updateFlyUI()
end
UIS.InputBegan:Connect(function(input, gp)
if gp then return end
if input.KeyCode == Enum.KeyCode.F then
setFly(not flying)
end
end)
player.CharacterAdded:Connect(function()
if flying then setFly(false) end
end)
--============================================================
-- МЕНЮ
--============================================================
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "FlyEspMenu"
screenGui.ResetOnSpawn = false
screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
screenGui.Parent = playerGui
local toggleBtn = Instance.new("TextButton")
toggleBtn.Size = UDim2.new(0, 96, 0, 32)
toggleBtn.Position = UDim2.new(1, -116, 0, 20)
toggleBtn.BackgroundColor3 = Color3.fromRGB(28, 28, 32)
toggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
toggleBtn.Font = Enum.Font.GothamBold
toggleBtn.TextSize = 14
toggleBtn.Text = "⚙ Меню"
toggleBtn.Parent = screenGui
Instance.new("UICorner", toggleBtn).CornerRadius = UDim.new(0, 8)
local toggleStroke = Instance.new("UIStroke")
toggleStroke.Color = Color3.fromRGB(70, 70, 80)
toggleStroke.Thickness = 1
toggleStroke.Parent = toggleBtn
local panel = Instance.new("Frame")
panel.Size = UDim2.new(0, 240, 0, 260)
panel.Position = UDim2.new(1, -260, 0, 64)
panel.BackgroundColor3 = Color3.fromRGB(22, 22, 26)
panel.BorderSizePixel = 0
panel.Visible = false
panel.Active = true
panel.Parent = screenGui
Instance.new("UICorner", panel).CornerRadius = UDim.new(0, 10)
local panelStroke = Instance.new("UIStroke")
panelStroke.Color = Color3.fromRGB(70, 70, 80)
panelStroke.Thickness = 1
panelStroke.Parent = panel
local header = Instance.new("Frame")
header.Size = UDim2.new(1, 0, 0, 34)
header.BackgroundColor3 = Color3.fromRGB(32, 32, 38)
header.BorderSizePixel = 0
header.Parent = panel
Instance.new("UICorner", header).CornerRadius = UDim.new(0, 10)
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, -40, 1, 0)
title.Position = UDim2.new(0, 12, 0, 0)
title.BackgroundTransparency = 1
title.TextColor3 = Color3.fromRGB(255, 255, 255)
title.Font = Enum.Font.GothamBold
title.TextSize = 15
title.TextXAlignment = Enum.TextXAlignment.Left
title.Text = "Zeni HUB"
title.Parent = header
local closeBtn = Instance.new("TextButton")
closeBtn.Size = UDim2.new(0, 24, 0, 24)
closeBtn.Position = UDim2.new(1, -30, 0, 5)
closeBtn.BackgroundColor3 = Color3.fromRGB(60, 40, 40)
closeBtn.TextColor3 = Color3.fromRGB(255, 200, 200)
closeBtn.Font = Enum.Font.GothamBold
closeBtn.TextSize = 14
closeBtn.Text = "✕"
closeBtn.Parent = header
Instance.new("UICorner", closeBtn).CornerRadius = UDim.new(0, 6)
menuFlyBtn = Instance.new("TextButton")
menuFlyBtn.Size = UDim2.new(1, -20, 0, 36)
menuFlyBtn.Position = UDim2.new(0, 10, 0, 46)
menuFlyBtn.BackgroundColor3 = COLOR_OFF
menuFlyBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
menuFlyBtn.Font = Enum.Font.GothamMedium
menuFlyBtn.TextSize = 14
menuFlyBtn.Text = "Fly: OFF"
menuFlyBtn.Parent = panel
Instance.new("UICorner", menuFlyBtn).CornerRadius = UDim.new(0, 8)
menuEspBtn = Instance.new("TextButton")
menuEspBtn.Size = UDim2.new(1, -20, 0, 36)
menuEspBtn.Position = UDim2.new(0, 10, 0, 88)
menuEspBtn.BackgroundColor3 = COLOR_OFF
menuEspBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
menuEspBtn.Font = Enum.Font.GothamMedium
menuEspBtn.TextSize = 14
menuEspBtn.Text = "ESP: ON"
menuEspBtn.Parent = panel
Instance.new("UICorner", menuEspBtn).CornerRadius = UDim.new(0, 8)
local speedLbl = Instance.new("TextLabel")
speedLbl.Size = UDim2.new(1, -20, 0, 20)
speedLbl.Position = UDim2.new(0, 10, 0, 136)
speedLbl.BackgroundTransparency = 1
speedLbl.TextColor3 = Color3.fromRGB(200, 200, 210)
speedLbl.Font = Enum.Font.Gotham
speedLbl.TextSize = 13
speedLbl.TextXAlignment = Enum.TextXAlignment.Left
speedLbl.Text = "Скорость: " .. FLY_SPEED
speedLbl.Parent = panel
local sliderBar = Instance.new("TextButton")
sliderBar.Size = UDim2.new(1, -20, 0, 20)
sliderBar.Position = UDim2.new(0, 10, 0, 160)
sliderBar.BackgroundColor3 = Color3.fromRGB(50, 50, 58)
sliderBar.Text = ""
sliderBar.AutoButtonColor = false
sliderBar.Parent = panel
Instance.new("UICorner", sliderBar).CornerRadius = UDim.new(0, 10)
local sliderFill = Instance.new("Frame")
sliderFill.Size = UDim2.new((FLY_SPEED - 10) / 490, 0, 1, 0)
sliderFill.BackgroundColor3 = Color3.fromRGB(80, 170, 255)
sliderFill.BorderSizePixel = 0
sliderFill.Parent = sliderBar
Instance.new("UICorner", sliderFill).CornerRadius = UDim.new(0, 10)
local hint = Instance.new("TextLabel")
hint.Size = UDim2.new(1, -20, 0, 40)
hint.Position = UDim2.new(0, 10, 0, 190)
hint.BackgroundTransparency = 1
hint.TextColor3 = Color3.fromRGB(150, 150, 160)
hint.Font = Enum.Font.Gotham
hint.TextSize = 11
hint.TextXAlignment = Enum.TextXAlignment.Left
hint.TextYAlignment = Enum.TextYAlignment.Top
hint.TextWrapped = true
hint.Text = "WASD — движение | Space/Ctrl — вверх/вниз\nShift — ускорение | F — вкл/выкл Fly"
hint.Parent = panel
local MIN_SPEED, MAX_SPEED = 10, 500
local function setSliderFromX(x)
local rel = math.clamp((x - sliderBar.AbsolutePosition.X) / sliderBar.AbsoluteSize.X, 0, 1)
FLY_SPEED = math.floor(MIN_SPEED + rel * (MAX_SPEED - MIN_SPEED))
sliderFill.Size = UDim2.new(rel, 0, 1, 0)
speedLbl.Text = "Скорость: " .. FLY_SPEED
end
local draggingSlider = false
sliderBar.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1
or input.UserInputType == Enum.UserInputType.Touch then
draggingSlider = true
setSliderFromX(input.Position.X)
end
end)
UIS.InputChanged:Connect(function(input)
if draggingSlider and (input.UserInputType == Enum.UserInputType.MouseMovement
or input.UserInputType == Enum.UserInputType.Touch) then
setSliderFromX(input.Position.X)
end
end)
UIS.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1
or input.UserInputType == Enum.UserInputType.Touch then
draggingSlider = false
end
end)
local draggingPanel, dragStart, startPos
header.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1
or input.UserInputType == Enum.UserInputType.Touch then
draggingPanel = true
dragStart = input.Position
startPos = panel.Position
end
end)
UIS.InputChanged:Connect(function(input)
if draggingPanel and (input.UserInputType == Enum.UserInputType.MouseMovement
or input.UserInputType == Enum.UserInputType.Touch) then
local delta = input.Position - dragStart
panel.Position = UDim2.new(
startPos.X.Scale, startPos.X.Offset + delta.X,
startPos.Y.Scale, startPos.Y.Offset + delta.Y
)
end
end)
UIS.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1
or input.UserInputType == Enum.UserInputType.Touch then
draggingPanel = false
end
end)
toggleBtn.MouseButton1Click:Connect(function()
panel.Visible = not panel.Visible
end)
closeBtn.MouseButton1Click:Connect(function()
panel.Visible = false
end)
menuFlyBtn.MouseButton1Click:Connect(function()
setFly(not flying)
end)
menuEspBtn.MouseButton1Click:Connect(function()
setESP(not ESP_ON)
updateEspUI()
end)
setESP(true)
updateEspUI()
updateFlyUI()No comments yet for this script.



