made by ai skid if you want
Key RequiredUniversal

made by ai skid if you want

Universal Scriptm00lkiddm00lkidd 474 views 6 executesUpdated Apr 8, 2026
Unrated
00
Lua Script•214 lines (6053 chars)
--[[
	WARNING: Heads up! This script has not been verified by ScriptBlox. Use at your own risk!
]]
local player = game.Players.LocalPlayer
local UIS = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")

local char = player.Character or player.CharacterAdded:Wait()
local humanoid = char:WaitForChild("Humanoid")
local root = char:WaitForChild("HumanoidRootPart")

-- GUI
local screenGui = Instance.new("ScreenGui", game.CoreGui)
screenGui.Name = "m00lkiddfly"

-- Main Frame (Image Background)
local frame = Instance.new("ImageLabel", screenGui)
frame.Size = UDim2.new(0, 220, 0, 150)
frame.Position = UDim2.new(0, 20, 0, 200)
frame.BackgroundTransparency = 1
frame.Image = "rbxassetid://138439146066067"
frame.ScaleType = Enum.ScaleType.Stretch
frame.Active = true
frame.Draggable = true

-- Overlay
local overlay = Instance.new("Frame", frame)
overlay.Size = UDim2.new(1,0,1,0)
overlay.BackgroundColor3 = Color3.new(0,0,0)
overlay.BackgroundTransparency = 0.4

-- Rounded corners
local corner = Instance.new("UICorner", frame)
corner.CornerRadius = UDim.new(0, 12)

-- UI Scale (for animation)
local uiScale = Instance.new("UIScale", frame)
uiScale.Scale = 1

-- Title
local title = Instance.new("TextLabel", frame)
title.Size = UDim2.new(1, 0, 0, 30)
title.Text = "m00lkidd fly"
title.BackgroundTransparency = 1
title.TextColor3 = Color3.new(1,1,1)

-- Fly Button
local flyBtn = Instance.new("TextButton", frame)
flyBtn.Size = UDim2.new(1, -10, 0, 40)
flyBtn.Position = UDim2.new(0, 5, 0, 40)
flyBtn.Text = "FLY: OFF"
flyBtn.BackgroundColor3 = Color3.fromRGB(40,40,40)
flyBtn.TextColor3 = Color3.new(1,1,1)

-- Speed Box
local speedBox = Instance.new("TextBox", frame)
speedBox.Size = UDim2.new(1, -10, 0, 30)
speedBox.Position = UDim2.new(0, 5, 0, 90)
speedBox.PlaceholderText = "Speed (default 50)"
speedBox.BackgroundColor3 = Color3.fromRGB(40,40,40)
speedBox.TextColor3 = Color3.new(1,1,1)

-- Close Button
local closeBtn = Instance.new("TextButton", frame)
closeBtn.Size = UDim2.new(0, 25, 0, 25)
closeBtn.Position = UDim2.new(1, -30, 0, 5)
closeBtn.Text = "X"
closeBtn.BackgroundColor3 = Color3.fromRGB(80,0,0)
closeBtn.TextColor3 = Color3.new(1,1,1)

-- Open Button
local openBtn = Instance.new("TextButton", screenGui)
openBtn.Size = UDim2.new(0, 100, 0, 40)
openBtn.Position = UDim2.new(0, 20, 0, 200)
openBtn.Text = "OPEN GUI"
openBtn.Visible = false
openBtn.BackgroundColor3 = Color3.fromRGB(40,40,40)
openBtn.TextColor3 = Color3.new(1,1,1)

-- Variables
local flying = false
local speed = 50
local shiftSpeed = 120
local bodyVel, bodyGyro

local keys = {
	W=false,A=false,S=false,D=false,
	Space=false,Ctrl=false,Shift=false
}

-- Typing check
local function isTyping()
	return UIS:GetFocusedTextBox() ~= nil
end

-- Animation
local function openAnim()
	frame.Visible = true
	uiScale.Scale = 0.6
	frame.ImageTransparency = 1
	
	TweenService:Create(uiScale, TweenInfo.new(0.25), {Scale = 1}):Play()
	TweenService:Create(frame, TweenInfo.new(0.25), {ImageTransparency = 0}):Play()
end

local function closeAnim()
	local t1 = TweenService:Create(uiScale, TweenInfo.new(0.25), {Scale = 0.6})
	local t2 = TweenService:Create(frame, TweenInfo.new(0.25), {ImageTransparency = 1})
	
	t1:Play()
	t2:Play()
	t1.Completed:Wait()
	frame.Visible = false
end

-- Input
UIS.InputBegan:Connect(function(input, gp)
	if gp or isTyping() then return end
	
	if input.KeyCode == Enum.KeyCode.W then keys.W = true end
	if input.KeyCode == Enum.KeyCode.A then keys.A = true end
	if input.KeyCode == Enum.KeyCode.S then keys.S = true end
	if input.KeyCode == Enum.KeyCode.D then keys.D = true end
	if input.KeyCode == Enum.KeyCode.Space then keys.Space = true end
	if input.KeyCode == Enum.KeyCode.LeftControl then keys.Ctrl = true end
	if input.KeyCode == Enum.KeyCode.LeftShift then keys.Shift = true end
	
	if input.KeyCode == Enum.KeyCode.R then
		if frame.Visible then
			closeAnim()
			openBtn.Visible = true
		else
			openAnim()
			openBtn.Visible = false
		end
	end
end)

UIS.InputEnded:Connect(function(input)
	if input.KeyCode == Enum.KeyCode.W then keys.W = false end
	if input.KeyCode == Enum.KeyCode.A then keys.A = false end
	if input.KeyCode == Enum.KeyCode.S then keys.S = false end
	if input.KeyCode == Enum.KeyCode.D then keys.D = false end
	if input.KeyCode == Enum.KeyCode.Space then keys.Space = false end
	if input.KeyCode == Enum.KeyCode.LeftControl then keys.Ctrl = false end
	if input.KeyCode == Enum.KeyCode.LeftShift then keys.Shift = false end
end)

-- Speed
speedBox.FocusLost:Connect(function()
	local num = tonumber(speedBox.Text)
	if num then speed = num end
end)

-- Fly
local function startFly()
	bodyVel = Instance.new("BodyVelocity")
	bodyVel.MaxForce = Vector3.new(1,1,1)*1e5
	bodyVel.Parent = root

	bodyGyro = Instance.new("BodyGyro")
	bodyGyro.MaxTorque = Vector3.new(1,1,1)*1e5
	bodyGyro.Parent = root

	humanoid.PlatformStand = true

	while flying do
		local cam = workspace.CurrentCamera
		local dir = Vector3.new()

		if keys.W then dir += cam.CFrame.LookVector end
		if keys.S then dir -= cam.CFrame.LookVector end
		if keys.A then dir -= cam.CFrame.RightVector end
		if keys.D then dir += cam.CFrame.RightVector end
		if keys.Space then dir += Vector3.new(0,1,0) end
		if keys.Ctrl then dir -= Vector3.new(0,1,0) end

		local currentSpeed = keys.Shift and shiftSpeed or speed

		if dir.Magnitude > 0 then
			bodyVel.Velocity = dir.Unit * currentSpeed
		else
			bodyVel.Velocity = Vector3.new()
		end

		bodyGyro.CFrame = cam.CFrame
		task.wait()
	end
end

local function stopFly()
	if bodyVel then bodyVel:Destroy() end
	if bodyGyro then bodyGyro:Destroy() end
	humanoid.PlatformStand = false
end

local function toggleFly()
	flying = not flying
	flyBtn.Text = flying and "FLY: ON" or "FLY: OFF"
	if flying then startFly() else stopFly() end
end

-- Buttons
flyBtn.MouseButton1Click:Connect(toggleFly)

closeBtn.MouseButton1Click:Connect(function()
	closeAnim()
	openBtn.Visible = true
end)

openBtn.MouseButton1Click:Connect(function()
	openAnim()
	openBtn.Visible = false
end)

Features & Information

idk

Community Comments (1)

m00lkiddm00lkiddApr 8, 2026

its fly ui

More Scripts for Universal Scripts