
KeylessUniversal

local ScreenGui = Instance.new("ScreenGui", game:GetService("CoreGui"))
local FlyBtn = Instance.new("TextButton", ScreenGui)
local UICorner = Instance.new("UICorner", FlyBtn)
-- GUI Setup
FlyBtn.Name = "CodexFlyButton"
FlyBtn.Size = UDim2.new(0, 90, 0, 45)
FlyBtn.Position = UDim2.new(0.05, 0, 0.45, 0)
FlyBtn.Text = "FLY: OFF"
FlyBtn.Draggable = true
FlyBtn.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
FlyBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
FlyBtn.Font = Enum.Font.SourceSansBold
FlyBtn.TextSize = 16
UICorner.CornerRadius = UDim.new(0, 8)
local plr = game.Players.LocalPlayer
local camera = workspace.CurrentCamera
local flying = false
local speed = 70
local function startFly()
local char = plr.Character
if not char then return end
local root = char:WaitForChild("HumanoidRootPart")
local hum = char:WaitForChild("Humanoid")
local bv = Instance.new("BodyVelocity", root)
bv.MaxForce = Vector3.new(1e6, 1e6, 1e6)
bv.Velocity = Vector3.new(0, 0, 0)
local bg = Instance.new("BodyGyro", root)
bg.MaxTorque = Vector3.new(1e6, 1e6, 1e6)
bg.P = 10000
hum:ChangeState(Enum.HumanoidStateType.Swimming)
task.spawn(function()
while flying and char and root do
local moveDir = hum.MoveDirection -- This is your Joystick input
if moveDir.Magnitude > 0 then
-- This math allows for Forward, Backward, and Side-to-Side
-- It takes your joystick direction and applies it to your camera's angle
local lookV = camera.CFrame.LookVector
local rightV = camera.CFrame.RightVector
-- We calculate the 3D direction based on the Joystick's relative input
bv.Velocity = moveDir * speed
else
-- Stop instantly when joystick is let go
bv.Velocity = Vector3.new(0, 0, 0)
end
-- Keep the character upright and looking forward
bg.CFrame = camera.CFrame
hum:ChangeState(Enum.HumanoidStateType.Swimming)
task.wait()
end
bv:Destroy()
bg:Destroy()
hum:ChangeState(Enum.HumanoidStateType.GettingUp)
end)
end
FlyBtn.MouseButton1Click:Connect(function()
flying = not flying
if flying then
FlyBtn.Text = "FLY: ON"
FlyBtn.BackgroundColor3 = Color3.fromRGB(0, 200, 100)
startFly()
else
FlyBtn.Text = "FLY: OFF"
FlyBtn.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
end
end)No comments yet for this script.



