Run it
Copy the script and paste it into your executor.
Players = :()
RunService = :()
Debris = :()
player = Players.LocalPlayer
playerGui = player:()
playerGui:()
playerGui.FlyUI:()
speeds = {, , }
stage =
flying =
flyConn
bv, bg
ikList = {}
poseParts = {}
windBits = {}
lookPart, lookAtt, lookIK
windSound
windLevel =
windShowing =
()
char = player.Character player.CharacterAdded:()
char, char:(), char:()
(char)
upper = char char:()
neck = upper upper:()
waist = upper upper:()
neck neck.Transform = .identity
waist waist.Transform = .identity
()
lookIK lookIK:() lookIK =
lookPart lookPart:() lookPart =
lookAtt =
()
_, obj (windBits)
obj obj:()
windBits = {}
windSound
windSound:()
windSound:()
windSound =
windShowing =
()
_, ik (ikList)
ik ik:()
ikList = {}
_, part (poseParts)
part part:()
poseParts = {}
()
(player.Character)
(parent, offset)
part = .()
part.Name =
part.Size = .(, , )
part.Transparency =
part.CanCollide =
part.CanTouch =
part.CanQuery =
part.Anchored =
part.Massless =
part.Parent = parent
weld = .()
weld.Part0 = parent
weld.Part1 = part
weld.C0 = .(offset)
weld.Parent = part
attachment = .()
attachment.Parent = part
.(poseParts, part)
attachment
(hum, endPart, rootPart, target, pole)
endPart rootPart target
ik = .()
ik.Type = .IKControlType.Position
ik.EndEffector = endPart
ik.ChainRoot = rootPart
ik.Target = target
pole ik.Pole = pole
ik.Weight =
ik.SmoothTime =
ik.Parent = hum
.(ikList, ik)
(char, hum)
()
head = char:()
head
lookPart = .()
lookPart.Name =
lookPart.Size = .(, , )
lookPart.Transparency =
lookPart.Anchored =
lookPart.CanCollide =
lookPart.CanQuery =
lookPart.Parent =
lookAtt = .()
lookAtt.Parent = lookPart
lookIK = .()
lookIK.Type = .IKControlType.LookAt
lookIK.EndEffector = head
lookIK.ChainRoot = head
lookIK.Target = lookAtt
lookIK.Weight =
lookIK.SmoothTime =
lookIK.Parent = hum
(char)
upper = char:()
lower = char:()
waist = upper upper:()
root = lower lower:()
waist waist.Transform = .identity
root root.Transform = .identity
(char, hum)
()
hrp = char:()
hrp
(hum, char:(), char:(), (hrp, .(, , -)))
(hum, char:(), char:(), (hrp, .(-, , -)))
(hum, char:(), char:(), (hrp, .(-, -, )))
(hum, char:(), char:(), (hrp, .(, -, )))
(char, hum)
()
hrp = char:()
hrp
leftHand = (hrp, .(-, , ))
rightHand = (hrp, .(, , ))
leftFoot = (hrp, .(-, -, ))
rightFoot = (hrp, .(, -, ))
leftPole = (hrp, .(-, -, ))
rightPole = (hrp, .(, -, ))
(hum, char:(), char:(), leftHand)
(hum, char:(), char:(), rightHand)
(hum, char:(), char:(), leftFoot, leftPole)
(hum, char:(), char:(), rightFoot, rightPole)
(char, hum)
(hrp, startOffset, length, thickness)
a0 = .()
a0.Position = startOffset
a0.Parent = hrp
a1 = .()
a1.Position = startOffset + .(, -length, )
a1.Parent = hrp
beam = .()
beam.Attachment0 = a0
beam.Attachment1 = a1
beam.Width0 = thickness
beam.Width1 =
beam.Color = ColorSequence.(.(, , ))
beam.Transparency = NumberSequence.({
NumberSequenceKeypoint.(, ),
NumberSequenceKeypoint.(, )
})
beam.FaceCamera =
beam.LightEmission =
beam.Parent = hrp
.(windBits, a0)
.(windBits, a1)
.(windBits, beam)
(hrp, level)
()
windLevel = level
level <= hrp
lines = {
{.(-, , ), , },
{.(, , ), , },
{.(-, -, ), , },
{.(, -, ), , },
{.(, -, ), , },
{.(-, , ), , },
{.(, , ), , },
}
level ==
.(lines, {.(-, , ), , })
.(lines, {.(, , ), , })
.(lines, {.(-, -, ), , })
.(lines, {.(, -, ), , })
.(lines, {.(, , ), , })
.(lines, {.(-, -, ), , })
.(lines, {.(, -, ), , })
.(lines, {.(-, , ), , })
.(lines, {.(, , ), , })
.(lines, {.(, -, ), , })
_, info (lines)
(hrp, info[], info[], info[])
windSound = .()
level ==
windSound.SoundId =
windSound.Volume =
windSound.PlaybackSpeed =
windSound.SoundId =
windSound.Volume =
windSound.PlaybackSpeed =
windSound.Looped =
windSound.Parent = hrp
windSound:()
.(windBits, windSound)
windShowing =
(hrp)
ring = .()
ring.Name =
ring.Shape = .PartType.Cylinder
ring.Size = .(, , )
ring.Anchored =
ring.CanCollide =
ring.CanQuery =
ring.Material = .Material.Neon
ring.Color = .(, , )
ring.Transparency =
ring.CFrame = .(hrp.Position - .(, , )) * .(, , .())
ring.Parent =
start = ()
conn
conn = RunService.Heartbeat:(()
t = (() - start) /
t >= ring.Parent
conn:()
ring ring:()
s = + t *
ring.Size = .(, s, s)
ring.Transparency = + t *
)
Debris:(ring, )
gui = .()
gui.Name =
gui.ResetOnSpawn =
gui.IgnoreGuiInset =
gui.Parent = playerGui
btn = .()
btn.Size = .(, , , )
btn.Position = .(, , , )
btn.BackgroundColor3 = .(, , )
btn.Text =
btn.TextColor3 = .(, , )
btn.TextScaled =
btn.Font = .Font.GothamBold
btn.Parent = gui
.(, btn).CornerRadius = .(, )
()
flying =
stage =
windLevel =
btn.Text =
btn.BackgroundColor3 = .(, , )
flyConn flyConn:() flyConn =
bv bv:() bv =
bg bg:() bg =
()
()
char = player.Character
char
hum = char:()
hum
hum.PlatformStand =
hum.AutoRotate =
()
flying =
stage =
btn.Text =
btn.BackgroundColor3 = .(, , )
char, hrp, hum = ()
hum.PlatformStand =
hum.AutoRotate =
bv = .()
bv.MaxForce = .(, , )
bv.Velocity = .zero
bv.Parent = hrp
bg = .()
bg.MaxTorque = .(, , )
bg.P =
bg.D =
bg.Parent = hrp
hovering =
flightPose =
flyConn = RunService.RenderStepped:(()
hrp.Parent
()
camCF = .CurrentCamera.CFrame
move = hum.MoveDirection
moving = move.Magnitude >
speed = speeds[stage]
moving
windLevel > windShowing
(hrp, windLevel)
(char)
flatLook = .(camCF.LookVector.X, , camCF.LookVector.Z)
flatRight = .(camCF.RightVector.X, , camCF.RightVector.Z)
flatLook.Magnitude > flatLook = flatLook.Unit
flatRight.Magnitude > flatRight = flatRight.Unit
flyDir = (camCF.LookVector * move:(flatLook)) + (camCF.RightVector * move:(flatRight))
flyDir.Magnitude >
flyDir = flyDir.Unit
bv.Velocity = flyDir * speed
bg.CFrame = .(hrp.Position, hrp.Position + flyDir) * .(.(-), , )
lookPart
lookPart.Position = hrp.Position + flyDir * + .(, , )
hovering
()
hovering =
flightPose
(char, hum)
flightPose =
bv.Velocity = .zero
bg.CFrame = camCF
windShowing
saved = windLevel
()
windLevel = saved
flightPose
()
flightPose =
hovering
(char, hum)
hovering =
)
btn.MouseButton1Click:(()
stage ==
()
stage ==
stage =
btn.Text =
btn.BackgroundColor3 = .(, , )
_, hrp = ()
(hrp, )
stage ==
stage =
btn.Text =
btn.BackgroundColor3 = .(, , )
_, hrp = ()
(hrp, )
(hrp)
()
)
player.CharacterAdded:(()
flying
()
)Just Fly With 3 Stages. Leave Suggestions In The Comments.

Universal