
KeylessUniversal

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local LocalPlayer = Players.LocalPlayer
local character, humanoid, root
local animTrackConnection, diedConnection
local function stopAllAnimations()
if humanoid then
for _, track in pairs(humanoid:GetPlayingAnimationTracks()) do
track:Stop(0)
end
end
end
local function resetJoints()
if character then
for _, v in pairs(character:GetDescendants()) do
-- تجنب تعديل مفاصل الأدوات لضمان عملها بشكل طبيعي أثناء الطيران
if v:IsA("Motor6D") and v.Name ~= "RightGrip" then
v.Transform = CFrame.new()
end
end
end
end
local flying = false
local flySpeed = 1
local bv, bg
local function stopFly()
flying = false
if bv then bv:Destroy(); bv = nil end
if bg then bg:Destroy(); bg = nil end
if animTrackConnection then animTrackConnection:Disconnect(); animTrackConnection = nil end
if humanoid then
humanoid.PlatformStand = false
local anim = character and character:FindFirstChild("Animate")
if anim then anim.Disabled = false end
end
local mainGui = LocalPlayer.PlayerGui:FindFirstChild("TarekScripter_Fly")
if mainGui then
local frame = mainGui:FindFirstChild("Frame")
if frame then
local onofBtn = frame:FindFirstChild("onof")
if onofBtn then onofBtn.TextColor3 = Color3.new(1, 0, 0) end
end
end
end
local function updateVars(newChar)
stopFly()
character = newChar
humanoid = character:WaitForChild("Humanoid")
root = character:WaitForChild("HumanoidRootPart")
if diedConnection then diedConnection:Disconnect() end
diedConnection = humanoid.Died:Connect(function()
stopFly()
end)
end
if LocalPlayer.Character then updateVars(LocalPlayer.Character) end
LocalPlayer.CharacterAdded:Connect(updateVars)
local main = Instance.new("ScreenGui")
main.Name = "TarekScripter_Fly"
main.ResetOnSpawn = false
main.Parent = LocalPlayer:WaitForChild("PlayerGui")
local Frame = Instance.new("Frame", main)
Frame.BackgroundColor3 = Color3.fromRGB(163, 255, 137)
Frame.Position = UDim2.new(0.1, 0, 0.38, 0)
Frame.Size = UDim2.new(0, 190, 0, 57)
Frame.Active = true
Frame.Draggable = true
local function createBtn(name, text, pos, size, color)
local b = Instance.new("TextButton", Frame)
b.Name = name
b.Text = text
b.Position = pos
b.Size = size
b.BackgroundColor3 = color
b.Font = Enum.Font.SourceSans
b.TextColor3 = Color3.new(0,0,0)
b.TextSize = 14
b.TextScaled = true
return b
end
local adminSim = createBtn("adminSim", "محاكاه ادمن", UDim2.new(0, 0, 0, 0), UDim2.new(0, 44, 0, 57), Color3.fromRGB(79, 255, 152))
local adminEnabled = false
local onof = createBtn("onof", "fly", UDim2.new(0.7, 0, 0.49, 0), UDim2.new(0, 56, 0, 28), Color3.fromRGB(255, 249, 74))
local plus = createBtn("plus", "+", UDim2.new(0.23, 0, 0, 0), UDim2.new(0, 45, 0, 28), Color3.fromRGB(133, 145, 255))
local mine = createBtn("mine", "-", UDim2.new(0.23, 0, 0.49, 0), UDim2.new(0, 45, 0, 29), Color3.fromRGB(123, 255, 247))
local TextLabel = Instance.new("TextLabel", Frame)
TextLabel.BackgroundColor3 = Color3.fromRGB(242, 60, 255)
TextLabel.Position = UDim2.new(0.47, 0, 0, 0)
TextLabel.Size = UDim2.new(0, 100, 0, 28)
TextLabel.Text = "TarekScripter"
TextLabel.TextScaled = true
local speedLabel = Instance.new("TextLabel", Frame)
speedLabel.BackgroundColor3 = Color3.fromRGB(255, 85, 0)
speedLabel.Position = UDim2.new(0.47, 0, 0.49, 0)
speedLabel.Size = UDim2.new(0, 44, 0, 28)
speedLabel.Text = "1"
speedLabel.TextScaled = true
local closebutton = createBtn("Close", "X", UDim2.new(0, 0, -1, 27), UDim2.new(0, 45, 0, 28), Color3.fromRGB(225, 25, 0))
local mini = createBtn("mini", "-", UDim2.new(0, 44, -1, 27), UDim2.new(0, 45, 0, 28), Color3.fromRGB(192, 150, 230))
local keybindBtn = createBtn("keybindBtn", "key Z", UDim2.new(0.89, 0, -1, 27), UDim2.new(0, 55, 0, 28), Color3.fromRGB(255, 170, 0))
local infoLabel = Instance.new("TextLabel", Frame)
infoLabel.Name = "infoLabel"
infoLabel.BackgroundColor3 = Color3.fromRGB(255, 200, 100)
infoLabel.Position = UDim2.new(1.18, 0, -1, 27)
infoLabel.Size = UDim2.new(0, 85, 0, 28)
infoLabel.Text = "F1 to change"
infoLabel.Font = Enum.Font.SourceSansBold
infoLabel.TextColor3 = Color3.new(0, 0, 0)
infoLabel.TextScaled = true
local flyKey = Enum.KeyCode.Z
local listeningForKey = false
local blockedKeys = {
[Enum.KeyCode.W] = true, [Enum.KeyCode.A] = true, [Enum.KeyCode.S] = true, [Enum.KeyCode.D] = true,
[Enum.KeyCode.One] = true, [Enum.KeyCode.Two] = true, [Enum.KeyCode.Three] = true, [Enum.KeyCode.Four] = true,
[Enum.KeyCode.Five] = true, [Enum.KeyCode.Six] = true, [Enum.KeyCode.Seven] = true, [Enum.KeyCode.Eight] = true,
[Enum.KeyCode.Nine] = true, [Enum.KeyCode.F1] = true,
}
local currentVelocity = Vector3.new(0, 0, 0)
local lastMoveDir = Vector3.new(0, 0, 0)
local stopTime = 0
adminSim.MouseButton1Click:Connect(function()
adminEnabled = not adminEnabled
adminSim.BackgroundColor3 = adminEnabled and Color3.fromRGB(255, 100, 100) or Color3.fromRGB(79, 255, 152)
end)
local function startFly()
if not root or not humanoid or humanoid.Health <= 0 then return end
flying = true
currentVelocity = Vector3.new(0, 0, 0)
onof.TextColor3 = Color3.new(0, 0.6, 0)
local anim = character:FindFirstChild("Animate")
if anim then anim.Disabled = true end
stopAllAnimations()
resetJoints()
humanoid.PlatformStand = true
bv = Instance.new("BodyVelocity", root)
bv.MaxForce = Vector3.new(1e6, 1e6, 1e6)
bv.Velocity = Vector3.new(0, 0, 0)
bg = Instance.new("BodyGyro", root)
bg.MaxTorque = Vector3.new(1e6, 1e6, 1e6)
bg.CFrame = root.CFrame
if adminEnabled then
local bp = Instance.new("BodyPosition", root)
bp.MaxForce = Vector3.new(0, math.huge, 0)
bp.D = 750; bp.P = 5000
bp.Position = root.Position + Vector3.new(0, 7, 0)
task.delay(0.5, function() if bp then bp:Destroy() end end)
end
end
local function toggleFly()
if flying then stopFly() else startFly() end
end
onof.MouseButton1Click:Connect(toggleFly)
local function startKeyListening()
listeningForKey = true
keybindBtn.Text = "chng key:"
keybindBtn.BackgroundColor3 = Color3.fromRGB(255, 255, 100)
end
keybindBtn.MouseButton1Click:Connect(startKeyListening)
local inputConnection = UserInputService.InputBegan:Connect(function(input, gameProcessed)
if input.UserInputType ~= Enum.UserInputType.Keyboard then return end
if listeningForKey then
if not blockedKeys[input.KeyCode] then
flyKey = input.KeyCode
keybindBtn.Text = "key " .. input.KeyCode.Name
listeningForKey = false
keybindBtn.BackgroundColor3 = Color3.fromRGB(255, 170, 0)
end
return
end
if input.KeyCode == Enum.KeyCode.F1 then
startKeyListening()
return
end
if gameProcessed then return end
if flyKey and input.KeyCode == flyKey then
toggleFly()
end
end)
plus.MouseButton1Click:Connect(function()
flySpeed = flySpeed + 1
speedLabel.Text = tostring(flySpeed)
end)
mine.MouseButton1Click:Connect(function()
if flySpeed > 1 then
flySpeed = flySpeed - 1
speedLabel.Text = tostring(flySpeed)
end
end)
local PlayerModule = require(LocalPlayer.PlayerScripts:WaitForChild("PlayerModule"))
local Controls = PlayerModule:GetControls()
local renderConnection = RunService.RenderStepped:Connect(function(deltaTime)
if flying and root and bv and humanoid and humanoid.Health > 0 then
local cam = workspace.CurrentCamera
local moveVector = Controls:GetMoveVector()
if moveVector.Magnitude > 0 then
local forward = cam.CFrame.LookVector * -moveVector.Z
local side = cam.CFrame.RightVector * moveVector.X
local targetVelocity = (forward + side).Unit * (flySpeed * 60)
if adminEnabled then
currentVelocity = currentVelocity:Lerp(targetVelocity, math.clamp(deltaTime * 10, 0, 1))
else
currentVelocity = targetVelocity
end
lastMoveDir = currentVelocity
stopTime = os.clock()
else
if adminEnabled then
local elapsed = os.clock() - stopTime
local glideDuration = 0.4
if elapsed < glideDuration then
local alpha = 1 - (elapsed / glideDuration)
currentVelocity = lastMoveDir * (alpha * alpha)
else
currentVelocity = Vector3.new(0, 0, 0)
end
else
currentVelocity = Vector3.new(0, 0, 0)
end
end
bv.Velocity = currentVelocity
if bg then bg.CFrame = cam.CFrame end
if humanoid then humanoid.PlatformStand = true end
end
end)
closebutton.MouseButton1Click:Connect(function()
stopFly()
if inputConnection then inputConnection:Disconnect() end
if renderConnection then renderConnection:Disconnect() end
if diedConnection then diedConnection:Disconnect() end
main:Destroy()
end)
local isMini = false
mini.MouseButton1Click:Connect(function()
isMini = not isMini
for _, v in pairs(Frame:GetChildren()) do
if v ~= mini and v ~= closebutton then
v.Visible = not isMini
end
end
Frame.BackgroundTransparency = isMini and 1 or 0
mini.Text = isMini and "+" or "-"
end)



LinearVelocity is good, but it generates attachments, which might trigger the game's anti-cheat system. I use CFrame's tp.