Fly gui
Key RequiredUniversal

Fly gui

Universal ScriptTyler1231Tyler1231 17K views 537 executesUpdated Nov 7, 2025
Unrated
00
Lua Script•239 lines (8651 chars)
-- Universal Fly Script (Professional GUI with Animations & Indicators)
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")

local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local root = character:WaitForChild("HumanoidRootPart")

-- Fly Variables
local flying = false
local speed = 2
local dir = Vector3.zero

-- GUI Setup
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "FlyGUI"
screenGui.Parent = player:WaitForChild("PlayerGui")

-- Key Gate
local keyFrame = Instance.new("Frame")
keyFrame.Size = UDim2.new(0, 300, 0, 100)
keyFrame.Position = UDim2.new(0.5, -150, 0.5, -50)
keyFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
keyFrame.BorderSizePixel = 0
keyFrame.Active = true
keyFrame.Draggable = true
keyFrame.Parent = screenGui

local keyBox = Instance.new("TextBox")
keyBox.Size = UDim2.new(0, 280, 0, 40)
keyBox.Position = UDim2.new(0, 10, 0, 30)
keyBox.PlaceholderText = "Enter Key..."
keyBox.TextColor3 = Color3.fromRGB(255, 255, 255)
keyBox.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
keyBox.BorderSizePixel = 0
keyBox.Font = Enum.Font.SourceSans
keyBox.TextSize = 20
keyBox.Parent = keyFrame

-- Main GUI
local mainFrame = Instance.new("Frame")
mainFrame.Size = UDim2.new(0, 280, 0, 160)
mainFrame.Position = UDim2.new(0.5, -140, 0.5, -80)
mainFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
mainFrame.BorderSizePixel = 0
mainFrame.Active = true
mainFrame.Draggable = true
mainFrame.Visible = false
mainFrame.Parent = screenGui

-- Title
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, 0, 0, 30)
title.BackgroundTransparency = 1
title.Text = "Universal Fly Script"
title.TextColor3 = Color3.fromRGB(255, 255, 255)
title.Font = Enum.Font.SourceSansBold
title.TextSize = 20
title.Parent = mainFrame

-- Fly Button with Glow
local flyButton = Instance.new("TextButton")
flyButton.Size = UDim2.new(0, 120, 0, 40)
flyButton.Position = UDim2.new(0, 10, 0, 40)
flyButton.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
flyButton.BorderSizePixel = 0
flyButton.Text = "Fly: OFF"
flyButton.TextColor3 = Color3.fromRGB(255, 255, 255)
flyButton.Font = Enum.Font.SourceSans
flyButton.TextSize = 18
flyButton.Parent = mainFrame

local glow = Instance.new("Frame")
glow.Size = flyButton.Size
glow.Position = flyButton.Position
glow.BackgroundColor3 = Color3.fromRGB(0, 170, 255)
glow.BorderSizePixel = 0
glow.BackgroundTransparency = 0.8
glow.ZIndex = 0
glow.Parent = mainFrame
glow.Visible = false

-- Active Fly Indicator
local indicator = Instance.new("Frame")
indicator.Size = UDim2.new(0, 15, 0, 15)
indicator.Position = UDim2.new(0, 135, 0, 50)
indicator.BackgroundColor3 = Color3.fromRGB(0, 170, 255)
indicator.BorderSizePixel = 0
indicator.Visible = false
indicator.AnchorPoint = Vector2.new(0.5, 0.5)
indicator.Parent = mainFrame

-- Hover & Press Effects
flyButton.MouseEnter:Connect(function()
	TweenService:Create(flyButton, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(70,70,70)}):Play()
end)
flyButton.MouseLeave:Connect(function()
	local color = flying and Color3.fromRGB(0,170,255) or Color3.fromRGB(50,50,50)
	TweenService:Create(flyButton, TweenInfo.new(0.2), {BackgroundColor3 = color}):Play()
end)
flyButton.MouseButton1Click:Connect(function()
	flying = not flying
	if flying then startFly() else stopFly() end
	flyButton.Text = flying and "Fly: ON" or "Fly: OFF"
	local color = flying and Color3.fromRGB(0,170,255) or Color3.fromRGB(50,50,50)
	TweenService:Create(flyButton, TweenInfo.new(0.3), {BackgroundColor3 = color}):Play()
	
	-- Glow & indicator
	glow.Visible = flying
	indicator.Visible = flying
	if flying then
		TweenService:Create(indicator, TweenInfo.new(0.5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut, -1, true), {BackgroundTransparency = 0.5}):Play()
	end
	-- Pop animation
	TweenService:Create(flyButton, TweenInfo.new(0.1), {Size = UDim2.new(0,130,0,44), Position = UDim2.new(0,5,0,38)}):Play()
	wait(0.1)
	TweenService:Create(flyButton, TweenInfo.new(0.1), {Size = UDim2.new(0,120,0,40), Position = UDim2.new(0,10,0,40)}):Play()
end)

-- Speed Slider
local speedLabel = Instance.new("TextLabel")
speedLabel.Size = UDim2.new(0,80,0,20)
speedLabel.Position = UDim2.new(0,10,0,95)
speedLabel.BackgroundTransparency = 1
speedLabel.Text = "Speed: "..speed
speedLabel.TextColor3 = Color3.fromRGB(255,255,255)
speedLabel.Font = Enum.Font.SourceSans
speedLabel.TextSize = 16
speedLabel.TextXAlignment = Enum.TextXAlignment.Left
speedLabel.Parent = mainFrame

local speedSlider = Instance.new("Frame")
speedSlider.Size = UDim2.new(0,150,0,10)
speedSlider.Position = UDim2.new(0,80,0,100)
speedSlider.BackgroundColor3 = Color3.fromRGB(70,70,70)
speedSlider.Parent = mainFrame

local sliderHandle = Instance.new("Frame")
sliderHandle.Size = UDim2.new(0,10,0,20)
sliderHandle.Position = UDim2.new(speed/20,0,-0.5,0)
sliderHandle.BackgroundColor3 = Color3.fromRGB(200,200,200)
sliderHandle.Parent = speedSlider

-- Slider Drag with Tween
local dragging = false
local function updateSpeed(x)
	local relative = math.clamp(x-speedSlider.AbsolutePosition.X,0,speedSlider.AbsoluteSize.X)
	speed = math.floor((relative/speedSlider.AbsoluteSize.X)*20)
	speed = math.max(speed,1)
	speedLabel.Text = "Speed: "..speed
	TweenService:Create(sliderHandle, TweenInfo.new(0.1), {Position=UDim2.new(relative/speedSlider.AbsoluteSize.X,0,-0.5,0)}):Play()
end

sliderHandle.InputBegan:Connect(function(input)
	if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true end
end)
UserInputService.InputEnded:Connect(function(input)
	if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end
end)
UserInputService.InputChanged:Connect(function(input)
	if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then updateSpeed(input.Position.X) end
end)

-- Fly Functions
function startFly()
	local bv = Instance.new("BodyVelocity")
	bv.Name = "FlyVelocity"
	bv.MaxForce = Vector3.new(1e6,1e6,1e6)
	bv.Parent = root
end
function stopFly()
	local bv = root:FindFirstChild("FlyVelocity")
	if bv then bv:Destroy() end
	root.Velocity = Vector3.zero
end

-- Noclip
RunService.Stepped:Connect(function()
	for _,p in pairs(character:GetDescendants()) do
		if p:IsA("BasePart") then p.CanCollide = not flying end
	end
end)
RunService.RenderStepped:Connect(function()
	if flying then
		local cam = workspace.CurrentCamera.CFrame
		local move = cam:VectorToWorldSpace(dir)
		local bv = root:FindFirstChild("FlyVelocity")
		if bv then bv.Velocity = move*(speed*50) end
	end
end)

-- Key Gate Logic
local function checkKey()
	if keyBox.Text=="officialFly123" then
		keyBox.Text = "Loading Script..."
		wait(0.5)
		TweenService:Create(keyFrame, TweenInfo.new(0.5), {BackgroundTransparency=1}):Play()
		wait(0.5)
		keyFrame:Destroy()
		mainFrame.Visible = true
		TweenService:Create(mainFrame, TweenInfo.new(0.5), {BackgroundTransparency=0}):Play()
	else
		keyBox.Text="Wrong Key!"
		wait(1)
		screenGui:Destroy()
	end
end

keyBox.FocusLost:Connect(function(enter)
	if enter then checkKey() end
end)

-- Keyboard movement & GUI toggle
UserInputService.InputBegan:Connect(function(input,gpe)
	if gpe then return end
	if input.KeyCode==Enum.KeyCode.W then dir=Vector3.new(dir.X,dir.Y,-1) end
	if input.KeyCode==Enum.KeyCode.S then dir=Vector3.new(dir.X,dir.Y,1) end
	if input.KeyCode==Enum.KeyCode.A then dir=Vector3.new(-1,dir.Y,dir.Z) end
	if input.KeyCode==Enum.KeyCode.D then dir=Vector3.new(1,dir.Y,dir.Z) end
	if input.KeyCode==Enum.KeyCode.Space then dir=Vector3.new(dir.X,1,dir.Z) end
	if input.KeyCode==Enum.KeyCode.LeftControl then dir=Vector3.new(dir.X,-1,dir.Z) end
	if input.KeyCode==Enum.KeyCode.F then
		flying = not flying
		if flying then startFly() else stopFly() end
		flyButton.Text = flying and "Fly: ON" or "Fly: OFF"
		local color = flying and Color3.fromRGB(0,170,255) or Color3.fromRGB(50,50,50)
		TweenService:Create(flyButton, TweenInfo.new(0.3), {BackgroundColor3=color}):Play()
		glow.Visible=flying
		indicator.Visible=flying
	end
	if input.KeyCode==Enum.KeyCode.K then mainFrame.Visible=not mainFrame.Visible end
end)
UserInputService.InputEnded:Connect(function(input)
	if input.KeyCode==Enum.KeyCode.W or input.KeyCode==Enum.KeyCode.S then dir=Vector3.new(dir.X,dir.Y,0) end
	if input.KeyCode==Enum.KeyCode.A or input.KeyCode==Enum.KeyCode.D then dir=Vector3.new(0,dir.Y,dir.Z) end
	if input.KeyCode==Enum.KeyCode.Space or input.KeyCode==Enum.KeyCode.LeftControl then dir=Vector3.new(dir.X,0,dir.Z) end
end)

Features & Information

Fly and noclip key is officialFly123

Community Comments (1)

notxeppynotxeppyNov 7, 2025

Key is officialFly123

More Scripts for Universal Scripts