tarekscripter flying script(v2 really big update!)
Key RequiredUniversal

tarekscripter flying script(v2 really big update!)

Universal ScriptTarekscripterTarekscripter 2.1K views 108.3K executesUpdated Sep 3, 2026
Unrated
00
Lua Script•293 lines (9846 chars)
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)

Features & Information

best flying script like admin! dont use flyv2 or infinite yield fly because the players and server will know you are hacker! but use this script make you fly like admin with flying shorcut button(on pc) v2: bugs fixes and best movement and shortcut for pc "محاكاه ادمن" means you will fly like admin(this is button) made by tarekscripter youtube: tarekscripter

Community Comments (1)

okayudaisukiokayudaisukiSep 12, 2026

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

More Scripts for Universal Scripts