Fly script keyless
Key RequiredUniversal

Fly script keyless

Universal ScriptLololilooLololiloo 2K views 37.9K executesUpdated Sep 30, 2026
Unrated
00
Lua Script•137 lines (3547 chars)
local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()

local Window = Rayfield:CreateWindow({
   Name = "Fly Hub | Rayfield",
   LoadingTitle = "Rayfield Fly Script",
   LoadingSubtitle = "by Fly Hub",
   ConfigurationSaving = {
      Enabled = false
   },
   Discord = {
      Enabled = false
   },
   KeySystem = false
})

-- Variables
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local player = Players.LocalPlayer
local camera = workspace.CurrentCamera

local flying = false
local speed = 50
local walkSpeedValue = 16
local bodyVelocity, bodyGyro

-- Fly Functions
local function startFlying()
	local character = player.Character
	if not character then return end
	local root = character:FindFirstChild("HumanoidRootPart")
	local humanoid = character:FindFirstChildOfClass("Humanoid")
	if not root or not humanoid then return end

	humanoid.PlatformStand = true

	bodyVelocity = Instance.new("BodyVelocity")
	bodyVelocity.MaxForce = Vector3.new(1, 1, 1) * 100000
	bodyVelocity.Velocity = Vector3.zero
	bodyVelocity.Parent = root

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

	flying = true
end

local function stopFlying()
	flying = false
	if bodyVelocity then bodyVelocity:Destroy() end
	if bodyGyro then bodyGyro:Destroy() end

	local character = player.Character
	if character then
		local humanoid = character:FindFirstChildOfClass("Humanoid")
		if humanoid then
			humanoid.PlatformStand = false
		end
	end
end

-- WalkSpeed Loop (Keeps WalkSpeed set continuously)
RunService.RenderStepped:Connect(function()
	local character = player.Character
	if character then
		local humanoid = character:FindFirstChildOfClass("Humanoid")
		if humanoid and not flying then
			humanoid.WalkSpeed = walkSpeedValue
		end
	end
end)

-- RenderStepped Fly Movement Loop (Works with WASD & Mobile Joystick)
RunService.RenderStepped:Connect(function()
	if flying and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
		local root = player.Character.HumanoidRootPart
		local humanoid = player.Character:FindFirstChildOfClass("Humanoid")

		bodyGyro.CFrame = camera.CFrame

		local moveDir = humanoid and humanoid.MoveDirection or Vector3.zero
		if moveDir.Magnitude > 0 then
			bodyVelocity.Velocity = camera.CFrame.LookVector * (moveDir.Magnitude * speed)
		else
			bodyVelocity.Velocity = Vector3.zero
		end
	end
end)

-- Rayfield Tab & Elements
local MainTab = Window:CreateTab("Main Controls", 4483362458)

local FlyToggle = MainTab:CreateToggle({
   Name = "Enable Fly",
   CurrentValue = false,
   Flag = "FlyToggle",
   Callback = function(Value)
      if Value then
         startFlying()
      else
         stopFlying()
      end
   end,
})

local SpeedSlider = MainTab:CreateSlider({
   Name = "Fly Speed",
   Range = {10, 300},
   Increment = 5,
   Suffix = "Speed",
   CurrentValue = 50,
   Flag = "SpeedSlider",
   Callback = function(Value)
      speed = Value
   end,
})

local WalkSpeedSlider = MainTab:CreateSlider({
   Name = "WalkSpeed",
   Range = {16, 250},
   Increment = 1,
   Suffix = "Speed",
   CurrentValue = 16,
   Flag = "WalkSpeedSlider",
   Callback = function(Value)
      walkSpeedValue = Value
      local character = player.Character
      if character then
         local humanoid = character:FindFirstChildOfClass("Humanoid")
         if humanoid then
            humanoid.WalkSpeed = Value
         end
      end
   end,
})

Features & Information

Flyspeed and walkspeed 🏎️

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts