Lua fly chatgpt
Key RequiredUniversal

Lua fly chatgpt

Universal ScriptEnzo_682Enzo_682 612 views 17 executesUpdated Apr 24, 2026
5.0/ 5(1 votes)
10100% Positive
Lua Script•90 lines (2310 chars)
-- LocalScript (StarterPlayerScripts)

local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local hrp = character:WaitForChild("HumanoidRootPart")
local humanoid = character:WaitForChild("Humanoid")

local flying = false
local speed = 60

local bodyVelocity
local bodyGyro

-- UI setup (mobile buttons)
local screenGui = Instance.new("ScreenGui")
screenGui.Parent = player:WaitForChild("PlayerGui")

local upBtn = Instance.new("TextButton")
upBtn.Size = UDim2.new(0,100,0,100)
upBtn.Position = UDim2.new(1,-120,1,-220)
upBtn.Text = "UP"
upBtn.Parent = screenGui

local downBtn = Instance.new("TextButton")
downBtn.Size = UDim2.new(0,100,0,100)
downBtn.Position = UDim2.new(1,-120,1,-100)
downBtn.Text = "DOWN"
downBtn.Parent = screenGui

local toggleBtn = Instance.new("TextButton")
toggleBtn.Size = UDim2.new(0,120,0,50)
toggleBtn.Position = UDim2.new(0,20,1,-80)
toggleBtn.Text = "FLY"
toggleBtn.Parent = screenGui

local goingUp = false
local goingDown = false

upBtn.MouseButton1Down:Connect(function()
	goingUp = true
end)
upBtn.MouseButton1Up:Connect(function()
	goingUp = false
end)

downBtn.MouseButton1Down:Connect(function()
	goingDown = true
end)
downBtn.MouseButton1Up:Connect(function()
	goingDown = false
end)

-- Toggle flying
toggleBtn.MouseButton1Click:Connect(function()
	flying = not flying
	
	if flying then
		bodyVelocity = Instance.new("BodyVelocity")
		bodyVelocity.MaxForce = Vector3.new(1,1,1) * 100000
		bodyVelocity.Parent = hrp
		
		bodyGyro = Instance.new("BodyGyro")
		bodyGyro.MaxTorque = Vector3.new(1,1,1) * 100000
		bodyGyro.Parent = hrp
	else
		if bodyVelocity then bodyVelocity:Destroy() end
		if bodyGyro then bodyGyro:Destroy() end
	end
end)

-- Movement loop
game:GetService("RunService").RenderStepped:Connect(function()
	if flying and bodyVelocity and bodyGyro then
		local camera = workspace.CurrentCamera
		local moveDir = humanoid.MoveDirection -- works with mobile joystick
		
		local direction = (camera.CFrame:VectorToWorldSpace(moveDir)) * speed
		
		-- Vertical movement
		if goingUp then
			direction = direction + Vector3.new(0, speed, 0)
		end
		if goingDown then
			direction = direction - Vector3.new(0, speed, 0)
		end
		
		bodyVelocity.Velocity = direction
		bodyGyro.CFrame = camera.CFrame
	end
end)

Features & Information

Idk just copy the script

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts