Fly script and more!
Key RequiredUniversal

Fly script and more!

Universal Scriptdyfufyfutyrdyfufyfutyr 29 views 2 executesUpdated Oct 7, 2026
5.0/ 5(1 votes)
10100% Positive
Lua Script•806 lines (26824 chars)
--// FLY + JOYSTICK + RAINBOW GUI + NOCLIP + INF JUMP + ANCHOR + SPEED HACK + RAINBOW ESP //--
--// Optimized Edition //--

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local CoreGui = game:GetService("CoreGui")

local player = Players.LocalPlayer
local camera = workspace.CurrentCamera

--// Налаштування //--
local SPEED = 60
local SMOOTHNESS = 0.15
local JOYSTICK_RADIUS = 60
local FLY_MAX = 1000
local WALK_MAX = 1000

--// Стан //--
local flying = false
local noclip = false
local infJump = false
local anchored = false
local walkSpeed = 16
local guiVisible = true
local espEnabled = false
local espConnections = {}
local velocity = Vector3.zero
local bodyVelocity, bodyGyro

--// Джойстик-стан //--
local joyActive = false
local joyInput = Vector2.zero
local joyTouch = nil

--// ---------- GUI ---------- //
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "FlyGui_" .. tostring(math.random(1, 999999))
screenGui.ResetOnSpawn = false
screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
screenGui.IgnoreGuiInset = true
screenGui.Parent = (RunService:IsStudio() and player:WaitForChild("PlayerGui")) or CoreGui

--// ===== ГОЛОВНА ПАНЕЛЬ ===== //
local mainFrame = Instance.new("Frame")
mainFrame.Name = "MainFrame"
mainFrame.Size = UDim2.new(0, 230, 0, 490)
mainFrame.Position = UDim2.new(0.02, 0, 0.15, 0)
mainFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 30)
mainFrame.BackgroundTransparency = 0.1
mainFrame.BorderSizePixel = 0
mainFrame.Active = true
mainFrame.Draggable = true
mainFrame.Parent = screenGui

Instance.new("UICorner", mainFrame).CornerRadius = UDim.new(0, 14)

--// Кругла кнопка закриття //--
local closeBtn = Instance.new("TextButton")
closeBtn.Name = "CloseBtn"
closeBtn.Size = UDim2.new(0, 28, 0, 28)
closeBtn.Position = UDim2.new(1, -34, 0, 6)
closeBtn.BackgroundColor3 = Color3.fromRGB(255, 60, 60)
closeBtn.Text = "✕"
closeBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
closeBtn.Font = Enum.Font.GothamBold
closeBtn.TextSize = 14
closeBtn.BorderSizePixel = 0
closeBtn.ZIndex = 10
closeBtn.Parent = mainFrame
Instance.new("UICorner", closeBtn).CornerRadius = UDim.new(1, 0)

local closeStroke = Instance.new("UIStroke")
closeStroke.Thickness = 2
closeStroke.Color = Color3.fromRGB(255, 150, 150)
closeStroke.Parent = closeBtn

--// Райдужна обводка панелі //--
local stroke = Instance.new("UIStroke")
stroke.Thickness = 2.5
stroke.Color = Color3.fromRGB(255, 0, 0)
stroke.Parent = mainFrame

local strokeGradient = Instance.new("UIGradient")
strokeGradient.Color = ColorSequence.new({
    ColorSequenceKeypoint.new(0.00, Color3.fromRGB(255, 0, 0)),
    ColorSequenceKeypoint.new(0.17, Color3.fromRGB(255, 165, 0)),
    ColorSequenceKeypoint.new(0.33, Color3.fromRGB(255, 255, 0)),
    ColorSequenceKeypoint.new(0.50, Color3.fromRGB(0, 255, 0)),
    ColorSequenceKeypoint.new(0.67, Color3.fromRGB(0, 200, 255)),
    ColorSequenceKeypoint.new(0.83, Color3.fromRGB(130, 0, 255)),
    ColorSequenceKeypoint.new(1.00, Color3.fromRGB(255, 0, 0)),
})
strokeGradient.Parent = stroke

--// Заголовок //--
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, 0, 0, 34)
title.BackgroundTransparency = 1
title.Text = "🌈 FLY CONTROL 🌈"
title.TextColor3 = Color3.fromRGB(255, 255, 255)
title.Font = Enum.Font.GothamBold
title.TextSize = 18
title.Parent = mainFrame

--// Кнопка Fly //--
local toggleBtn = Instance.new("TextButton")
toggleBtn.Size = UDim2.new(0.9, 0, 0, 38)
toggleBtn.Position = UDim2.new(0.05, 0, 0.10, 0)
toggleBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 65)
toggleBtn.Text = "✈ FLY: OFF"
toggleBtn.TextColor3 = Color3.fromRGB(255, 100, 100)
toggleBtn.Font = Enum.Font.GothamBold
toggleBtn.TextSize = 15
toggleBtn.BorderSizePixel = 0
toggleBtn.Parent = mainFrame
Instance.new("UICorner", toggleBtn).CornerRadius = UDim.new(0, 10)

local toggleStroke = Instance.new("UIStroke")
toggleStroke.Thickness = 2
toggleStroke.Color = Color3.fromRGB(255, 80, 80)
toggleStroke.Parent = toggleBtn

--// Кнопка Noclip //--
local noclipBtn = Instance.new("TextButton")
noclipBtn.Size = UDim2.new(0.9, 0, 0, 38)
noclipBtn.Position = UDim2.new(0.05, 0, 0.20, 0)
noclipBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 65)
noclipBtn.Text = "🚪 NOCLIP: OFF"
noclipBtn.TextColor3 = Color3.fromRGB(255, 100, 100)
noclipBtn.Font = Enum.Font.GothamBold
noclipBtn.TextSize = 15
noclipBtn.BorderSizePixel = 0
noclipBtn.Parent = mainFrame
Instance.new("UICorner", noclipBtn).CornerRadius = UDim.new(0, 10)

local noclipStroke = Instance.new("UIStroke")
noclipStroke.Thickness = 2
noclipStroke.Color = Color3.fromRGB(255, 80, 80)
noclipStroke.Parent = noclipBtn

--// Кнопка Infinity Jump //--
local infJumpBtn = Instance.new("TextButton")
infJumpBtn.Size = UDim2.new(0.9, 0, 0, 38)
infJumpBtn.Position = UDim2.new(0.05, 0, 0.30, 0)
infJumpBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 65)
infJumpBtn.Text = "🦘 INF JUMP: OFF"
infJumpBtn.TextColor3 = Color3.fromRGB(255, 100, 100)
infJumpBtn.Font = Enum.Font.GothamBold
infJumpBtn.TextSize = 15
infJumpBtn.BorderSizePixel = 0
infJumpBtn.Parent = mainFrame
Instance.new("UICorner", infJumpBtn).CornerRadius = UDim.new(0, 10)

local infJumpStroke = Instance.new("UIStroke")
infJumpStroke.Thickness = 2
infJumpStroke.Color = Color3.fromRGB(255, 80, 80)
infJumpStroke.Parent = infJumpBtn

--// Кнопка Anchor //--
local anchorBtn = Instance.new("TextButton")
anchorBtn.Size = UDim2.new(0.9, 0, 0, 38)
anchorBtn.Position = UDim2.new(0.05, 0, 0.40, 0)
anchorBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 65)
anchorBtn.Text = "🧊 ANCHOR: OFF"
anchorBtn.TextColor3 = Color3.fromRGB(255, 100, 100)
anchorBtn.Font = Enum.Font.GothamBold
anchorBtn.TextSize = 15
anchorBtn.BorderSizePixel = 0
anchorBtn.Parent = mainFrame
Instance.new("UICorner", anchorBtn).CornerRadius = UDim.new(0, 10)

local anchorStroke = Instance.new("UIStroke")
anchorStroke.Thickness = 2
anchorStroke.Color = Color3.fromRGB(255, 80, 80)
anchorStroke.Parent = anchorBtn

--// Кнопка ESP //--
local espBtn = Instance.new("TextButton")
espBtn.Size = UDim2.new(0.9, 0, 0, 38)
espBtn.Position = UDim2.new(0.05, 0, 0.50, 0)
espBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 65)
espBtn.Text = "👁 ESP: OFF"
espBtn.TextColor3 = Color3.fromRGB(255, 100, 100)
espBtn.Font = Enum.Font.GothamBold
espBtn.TextSize = 15
espBtn.BorderSizePixel = 0
espBtn.Parent = mainFrame
Instance.new("UICorner", espBtn).CornerRadius = UDim.new(0, 10)

local espStroke = Instance.new("UIStroke")
espStroke.Thickness = 2
espStroke.Color = Color3.fromRGB(255, 80, 80)
espStroke.Parent = espBtn

--// Fly Speed label //--
local speedLabel = Instance.new("TextLabel")
speedLabel.Size = UDim2.new(0.9, 0, 0, 20)
speedLabel.Position = UDim2.new(0.05, 0, 0.61, 0)
speedLabel.BackgroundTransparency = 1
speedLabel.Text = "⚡ Fly Speed: 60"
speedLabel.TextColor3 = Color3.fromRGB(220, 220, 255)
speedLabel.Font = Enum.Font.Gotham
speedLabel.TextSize = 14
speedLabel.Parent = mainFrame

--// Fly Speed buttons //--
local function makeSpeedBtn(text, xPos, callback)
    local btn = Instance.new("TextButton")
    btn.Size = UDim2.new(0.42, 0, 0, 30)
    btn.Position = UDim2.new(xPos, 0, 0.70, 0)
    btn.BackgroundColor3 = Color3.fromRGB(55, 55, 85)
    btn.Text = text
    btn.TextColor3 = Color3.fromRGB(255, 255, 255)
    btn.Font = Enum.Font.GothamBold
    btn.TextSize = 18
    btn.BorderSizePixel = 0
    btn.Parent = mainFrame
    Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 8)

    local s = Instance.new("UIStroke")
    s.Thickness = 1.5
    s.Color = Color3.fromRGB(120, 120, 200)
    s.Parent = btn

    btn.MouseButton1Click:Connect(callback)
    return btn
end

makeSpeedBtn("−", 0.05, function()
    SPEED = math.max(SPEED - 10, 10)
    speedLabel.Text = "⚡ Fly Speed: " .. SPEED
end)

makeSpeedBtn("+", 0.53, function()
    SPEED = math.min(SPEED + 10, FLY_MAX)
    speedLabel.Text = "⚡ Fly Speed: " .. SPEED
end)

--// Walk Speed label //--
local speedHackLabel = Instance.new("TextLabel")
speedHackLabel.Size = UDim2.new(0.9, 0, 0, 20)
speedHackLabel.Position = UDim2.new(0.05, 0, 0.79, 0)
speedHackLabel.BackgroundTransparency = 1
speedHackLabel.Text = "🏃 WalkSpeed: 16"
speedHackLabel.TextColor3 = Color3.fromRGB(255, 220, 180)
speedHackLabel.Font = Enum.Font.Gotham
speedHackLabel.TextSize = 14
speedHackLabel.Parent = mainFrame

--// Walk Speed buttons //--
local function makeWalkBtn(text, xPos, callback)
    local btn = Instance.new("TextButton")
    btn.Size = UDim2.new(0.42, 0, 0, 30)
    btn.Position = UDim2.new(xPos, 0, 0.88, 0)
    btn.BackgroundColor3 = Color3.fromRGB(80, 60, 40)
    btn.Text = text
    btn.TextColor3 = Color3.fromRGB(255, 255, 255)
    btn.Font = Enum.Font.GothamBold
    btn.TextSize = 18
    btn.BorderSizePixel = 0
    btn.Parent = mainFrame
    Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 8)

    local s = Instance.new("UIStroke")
    s.Thickness = 1.5
    s.Color = Color3.fromRGB(255, 180, 80)
    s.Parent = btn

    btn.MouseButton1Click:Connect(callback)
    return btn
end

makeWalkBtn("−", 0.05, function()
    walkSpeed = math.max(walkSpeed - 10, 16)
    local char = player.Character
    local humanoid = char and char:FindFirstChildOfClass("Humanoid")
    if humanoid then humanoid.WalkSpeed = walkSpeed end
    speedHackLabel.Text = "🏃 WalkSpeed: " .. walkSpeed
end)

makeWalkBtn("+", 0.53, function()
    walkSpeed = math.min(walkSpeed + 10, WALK_MAX)
    local char = player.Character
    local humanoid = char and char:FindFirstChildOfClass("Humanoid")
    if humanoid then humanoid.WalkSpeed = walkSpeed end
    speedHackLabel.Text = "🏃 WalkSpeed: " .. walkSpeed
end)

--// ---------- ДЖОЙСТИК (схований за замовчуванням) ---------- //
local joystickGui = Instance.new("Frame")
joystickGui.Name = "Joystick"
joystickGui.Size = UDim2.new(0, JOYSTICK_RADIUS * 2.2, 0, JOYSTICK_RADIUS * 2.2)
joystickGui.Position = UDim2.new(0, 30, 1, -JOYSTICK_RADIUS * 2.2 - 30)
joystickGui.BackgroundColor3 = Color3.fromRGB(20, 20, 30)
joystickGui.BackgroundTransparency = 0.4
joystickGui.BorderSizePixel = 0
joystickGui.Active = true
joystickGui.Parent = screenGui
joystickGui.Visible = false
Instance.new("UICorner", joystickGui).CornerRadius = UDim.new(1, 0)

local joyStroke = Instance.new("UIStroke")
joyStroke.Thickness = 2.5
joyStroke.Color = Color3.fromRGB(255, 0, 255)
joyStroke.Parent = joystickGui

local joyGradient = Instance.new("UIGradient")
joyGradient.Color = ColorSequence.new({
    ColorSequenceKeypoint.new(0.00, Color3.fromRGB(255, 0, 0)),
    ColorSequenceKeypoint.new(0.25, Color3.fromRGB(255, 255, 0)),
    ColorSequenceKeypoint.new(0.50, Color3.fromRGB(0, 255, 0)),
    ColorSequenceKeypoint.new(0.75, Color3.fromRGB(0, 200, 255)),
    ColorSequenceKeypoint.new(1.00, Color3.fromRGB(255, 0, 0)),
})
joyGradient.Parent = joyStroke

local joyKnob = Instance.new("Frame")
joyKnob.Size = UDim2.new(0, JOYSTICK_RADIUS, 0, JOYSTICK_RADIUS)
joyKnob.Position = UDim2.new(0.5, -JOYSTICK_RADIUS/2, 0.5, -JOYSTICK_RADIUS/2)
joyKnob.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
joyKnob.BackgroundTransparency = 0.15
joyKnob.BorderSizePixel = 0
joyKnob.Parent = joystickGui
Instance.new("UICorner", joyKnob).CornerRadius = UDim.new(1, 0)

local knobStroke = Instance.new("UIStroke")
knobStroke.Thickness = 2
knobStroke.Color = Color3.fromRGB(255, 255, 255)
knobStroke.Parent = joyKnob

local knobGradient = Instance.new("UIGradient")
knobGradient.Color = ColorSequence.new({
    ColorSequenceKeypoint.new(0.00, Color3.fromRGB(255, 100, 100)),
    ColorSequenceKeypoint.new(0.50, Color3.fromRGB(100, 255, 100)),
    ColorSequenceKeypoint.new(1.00, Color3.fromRGB(100, 100, 255)),
})
knobGradient.Rotation = 45
knobGradient.Parent = joyKnob

local joyCenter = Instance.new("TextLabel")
joyCenter.Size = UDim2.new(1, 0, 1, 0)
joyCenter.BackgroundTransparency = 1
joyCenter.Text = "🕹"
joyCenter.TextSize = 22
joyCenter.Font = Enum.Font.GothamBold
joyCenter.TextColor3 = Color3.fromRGB(255, 255, 255)
joyCenter.ZIndex = 0
joyCenter.Parent = joystickGui

--// ---------- ЛОГІКА ДЖОЙСТИКА ---------- //
local function updateJoystick(inputPos)
    local center = joystickGui.AbsolutePosition + joystickGui.AbsoluteSize / 2
    local delta = inputPos - center
    local maxDist = joystickGui.AbsoluteSize.X / 2

    if delta.Magnitude > maxDist then
        delta = delta.Unit * maxDist
    end

    joyKnob.Position = UDim2.new(0.5, delta.X - JOYSTICK_RADIUS/2, 0.5, delta.Y - JOYSTICK_RADIUS/2)
    joyInput = Vector2.new(delta.X / maxDist, delta.Y / maxDist)
end

local function resetJoystick()
    joyInput = Vector2.zero
    joyActive = false
    joyTouch = nil
    joyKnob.Position = UDim2.new(0.5, -JOYSTICK_RADIUS/2, 0.5, -JOYSTICK_RADIUS/2)
end

joystickGui.InputBegan:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1
    or input.UserInputType == Enum.UserInputType.Touch then
        joyActive = true
        joyTouch = input
        updateJoystick(Vector2.new(input.Position.X, input.Position.Y))
    end
end)

UserInputService.InputChanged:Connect(function(input)
    if not joyActive then return end
    if input == joyTouch or input.UserInputType == Enum.UserInputType.Touch then
        if joyTouch and input.UserInputType == Enum.UserInputType.Touch and input ~= joyTouch then return end
        updateJoystick(Vector2.new(input.Position.X, input.Position.Y))
    end
end)

UserInputService.InputEnded:Connect(function(input)
    if input == joyTouch then
        resetJoystick()
    end
end)

--// ---------- ПОЛІТ ---------- //
local function createBodyMovers()
    local char = player.Character
    if not char then return end
    local hrp = char:FindFirstChild("HumanoidRootPart")
    if not hrp then return end

    if bodyVelocity then bodyVelocity:Destroy() end
    if bodyGyro then bodyGyro:Destroy() end

    bodyVelocity = Instance.new("BodyVelocity")
    bodyVelocity.MaxForce = Vector3.new(1e5, 1e5, 1e5)
    bodyVelocity.Velocity = Vector3.zero
    bodyVelocity.Parent = hrp

    bodyGyro = Instance.new("BodyGyro")
    bodyGyro.MaxTorque = Vector3.new(1e5, 1e5, 1e5)
    bodyGyro.P = 1000
    bodyGyro.D = 50
    bodyGyro.CFrame = hrp.CFrame
    bodyGyro.Parent = hrp
end

local function destroyBodyMovers()
    if bodyVelocity then bodyVelocity:Destroy() bodyVelocity = nil end
    if bodyGyro then bodyGyro:Destroy() bodyGyro = nil end
end

local function startFly()
    flying = true
    toggleBtn.Text = "✈ FLY: ON"
    toggleBtn.TextColor3 = Color3.fromRGB(100, 255, 150)
    toggleStroke.Color = Color3.fromRGB(80, 255, 120)
    createBodyMovers()
    if guiVisible then
        joystickGui.Visible = true
    end
end

local function stopFly()
    flying = false
    toggleBtn.Text = "✈ FLY: OFF"
    toggleBtn.TextColor3 = Color3.fromRGB(255, 100, 100)
    toggleStroke.Color = Color3.fromRGB(255, 80, 80)
    velocity = Vector3.zero
    destroyBodyMovers()
    joystickGui.Visible = false
    resetJoystick()
end

toggleBtn.MouseButton1Click:Connect(function()
    if flying then stopFly() else startFly() end
end)

--// ---------- NOCLIP ---------- //
local function setNoclip(state)
    noclip = state
    if state then
        noclipBtn.Text = "🚪 NOCLIP: ON"
        noclipBtn.TextColor3 = Color3.fromRGB(100, 255, 150)
        noclipStroke.Color = Color3.fromRGB(80, 255, 120)
    else
        noclipBtn.Text = "🚪 NOCLIP: OFF"
        noclipBtn.TextColor3 = Color3.fromRGB(255, 100, 100)
        noclipStroke.Color = Color3.fromRGB(255, 80, 80)
        local char = player.Character
        if char then
            for _, part in ipairs(char:GetDescendants()) do
                if part:IsA("BasePart") then
                    part.CanCollide = true
                end
            end
        end
    end
end

noclipBtn.MouseButton1Click:Connect(function()
    setNoclip(not noclip)
end)

task.spawn(function()
    while task.wait(0.2) do
        if noclip then
            local char = player.Character
            if char then
                for _, part in ipairs(char:GetDescendants()) do
                    if part:IsA("BasePart") and part.CanCollide then
                        part.CanCollide = false
                    end
                end
            end
        end
    end
end)

--// ---------- INFINITY JUMP ---------- //
local function setInfJump(state)
    infJump = state
    if state then
        infJumpBtn.Text = "🦘 INF JUMP: ON"
        infJumpBtn.TextColor3 = Color3.fromRGB(100, 255, 150)
        infJumpStroke.Color = Color3.fromRGB(80, 255, 120)
    else
        infJumpBtn.Text = "🦘 INF JUMP: OFF"
        infJumpBtn.TextColor3 = Color3.fromRGB(255, 100, 100)
        infJumpStroke.Color = Color3.fromRGB(255, 80, 80)
    end
end

infJumpBtn.MouseButton1Click:Connect(function()
    setInfJump(not infJump)
end)

UserInputService.JumpRequest:Connect(function()
    if not infJump then return end
    local char = player.Character
    if not char then return end
    local humanoid = char:FindFirstChildOfClass("Humanoid")
    if not humanoid then return end
    humanoid:SetStateEnabled(Enum.HumanoidStateType.Jumping, true)
    humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
end)

task.spawn(function()
    while task.wait(0.05) do
        if infJump then
            local char = player.Character
            if char then
                local humanoid = char:FindFirstChildOfClass("Humanoid")
                if humanoid then
                    humanoid:SetStateEnabled(Enum.HumanoidStateType.Jumping, true)
                    if humanoid.Jump == true then
                        humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
                    end
                end
            end
        end
    end
end)

--// ---------- ANCHOR ---------- //
local function setAnchor(state)
    anchored = state
    local char = player.Character
    local hrp = char and char:FindFirstChild("HumanoidRootPart")
    if not hrp then return end

    if state then
        anchorBtn.Text = "🧊 ANCHOR: ON"
        anchorBtn.TextColor3 = Color3.fromRGB(100, 255, 150)
        anchorStroke.Color = Color3.fromRGB(80, 255, 120)
        hrp.Anchored = true
    else
        anchorBtn.Text = "🧊 ANCHOR: OFF"
        anchorBtn.TextColor3 = Color3.fromRGB(255, 100, 100)
        anchorStroke.Color = Color3.fromRGB(255, 80, 80)
        hrp.Anchored = false
    end
end

anchorBtn.MouseButton1Click:Connect(function()
    setAnchor(not anchored)
end)

--// ---------- RAINBOW ESP ---------- //
local function createESP(target)
    if target == player then return end
    if espConnections[target] then return end

    local char = target.Character
    if not char then return end
    local hrp = char:FindFirstChild("HumanoidRootPart")
    if not hrp then return end

    local highlight = Instance.new("Highlight")
    highlight.Name = "RainbowESP"
    highlight.Adornee = char
    highlight.FillTransparency = 0.6
    highlight.OutlineTransparency = 0
    highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
    highlight.FillColor = Color3.fromRGB(255, 0, 0)
    highlight.OutlineColor = Color3.fromRGB(255, 0, 0)
    highlight.Parent = char

    local billboard = Instance.new("BillboardGui")
    billboard.Name = "ESPTag"
    billboard.Size = UDim2.new(0, 200, 0, 50)
    billboard.StudsOffset = Vector3.new(0, 3, 0)
    billboard.AlwaysOnTop = true
    billboard.Parent = hrp

    local nameLabel = Instance.new("TextLabel")
    nameLabel.Size = UDim2.new(1, 0, 0.5, 0)
    nameLabel.BackgroundTransparency = 1
    nameLabel.Text = target.Name
    nameLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
    nameLabel.TextStrokeTransparency = 0
    nameLabel.TextStrokeColor3 = Color3.fromRGB(0, 0, 0)
    nameLabel.Font = Enum.Font.GothamBold
    nameLabel.TextSize = 14
    nameLabel.Parent = billboard

    local distLabel = Instance.new("TextLabel")
    distLabel.Size = UDim2.new(1, 0, 0.5, 0)
    distLabel.Position = UDim2.new(0, 0, 0.5, 0)
    distLabel.BackgroundTransparency = 1
    distLabel.Text = ""
    distLabel.TextColor3 = Color3.fromRGB(200, 200, 255)
    distLabel.TextStrokeTransparency = 0
    distLabel.TextStrokeColor3 = Color3.fromRGB(0, 0, 0)
    distLabel.Font = Enum.Font.Gotham
    distLabel.TextSize = 12
    distLabel.Parent = billboard

    local conn = RunService.RenderStepped:Connect(function()
        if not espEnabled then return end
        if not char.Parent then return end
        local myHrp = player.Character and player.Character:FindFirstChild("HumanoidRootPart")
        if myHrp then
            local dist = math.floor((myHrp.Position - hrp.Position).Magnitude)
            distLabel.Text = dist .. " studs"
        end
    end)

    espConnections[target] = {
        highlight = highlight,
        billboard = billboard,
        conn = conn,
    }
end

local function removeESP(target)
    local data = espConnections[target]
    if not data then return end
    if data.highlight then data.highlight:Destroy() end
    if data.billboard then data.billboard:Destroy() end
    if data.conn then data.conn:Disconnect() end
    espConnections[target] = nil
end

local function clearAllESP()
    for target, _ in pairs(espConnections) do
        removeESP(target)
    end
end

local function setESP(state)
    espEnabled = state
    if state then
        espBtn.Text = "👁 ESP: ON"
        espBtn.TextColor3 = Color3.fromRGB(100, 255, 150)
        espStroke.Color = Color3.fromRGB(80, 255, 120)
        for _, plr in ipairs(Players:GetPlayers()) do
            if plr ~= player then
                if plr.Character then createESP(plr) end
            end
        end
    else
        espBtn.Text = "👁 ESP: OFF"
        espBtn.TextColor3 = Color3.fromRGB(255, 100, 100)
        espStroke.Color = Color3.fromRGB(255, 80, 80)
        clearAllESP()
    end
end

espBtn.MouseButton1Click:Connect(function()
    setESP(not espEnabled)
end)

Players.PlayerAdded:Connect(function(plr)
    plr.CharacterAdded:Connect(function()
        if espEnabled then
            task.wait(0.5)
            if espEnabled then createESP(plr) end
        end
    end)
end)

Players.PlayerRemoving:Connect(function(plr)
    removeESP(plr)
end)

--// Райдужна анімація ESP //--
task.spawn(function()
    local espHue = 0
    while screenGui.Parent do
        task.wait(0.05)
        if espEnabled then
            espHue = (espHue + 0.01) % 1
            local color = Color3.fromHSV(espHue, 1, 1)
            for _, data in pairs(espConnections) do
                if data.highlight then
                    data.highlight.FillColor = color
                    data.highlight.OutlineColor = color
                end
            end
        end
    end
end)

--// ---------- КРУГЛА КНОПКА ЗАКРИТТЯ + REOPEN ---------- //
local reopenBtn = Instance.new("TextButton")
reopenBtn.Name = "ReopenBtn"
reopenBtn.Size = UDim2.new(0, 45, 0, 45)
reopenBtn.Position = UDim2.new(0, 20, 0, 100)
reopenBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 45)
reopenBtn.Text = "🌈"
reopenBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
reopenBtn.Font = Enum.Font.GothamBold
reopenBtn.TextSize = 22
reopenBtn.BorderSizePixel = 0
reopenBtn.Visible = false
reopenBtn.ZIndex = 10
reopenBtn.Parent = screenGui
Instance.new("UICorner", reopenBtn).CornerRadius = UDim.new(1, 0)

local reopenStroke = Instance.new("UIStroke")
reopenStroke.Thickness = 2.5
reopenStroke.Color = Color3.fromRGB(255, 0, 255)
reopenStroke.Parent = reopenBtn

local reopenGradient = Instance.new("UIGradient")
reopenGradient.Color = ColorSequence.new({
    ColorSequenceKeypoint.new(0.00, Color3.fromRGB(255, 0, 0)),
    ColorSequenceKeypoint.new(0.25, Color3.fromRGB(255, 255, 0)),
    ColorSequenceKeypoint.new(0.50, Color3.fromRGB(0, 255, 0)),
    ColorSequenceKeypoint.new(0.75, Color3.fromRGB(0, 200, 255)),
    ColorSequenceKeypoint.new(1.00, Color3.fromRGB(255, 0, 0)),
})
reopenGradient.Parent = reopenStroke

closeBtn.MouseButton1Click:Connect(function()
    guiVisible = false
    mainFrame.Visible = false
    joystickGui.Visible = false
    reopenBtn.Visible = true
end)

reopenBtn.MouseButton1Click:Connect(function()
    guiVisible = true
    mainFrame.Visible = true
    reopenBtn.Visible = false
    if flying then
        joystickGui.Visible = true
    end
end)

--// ---------- RESPAWN ---------- //
player.CharacterAdded:Connect(function(char)
    task.wait(0.5)
    local humanoid = char:WaitForChild("Humanoid", 5)
    if humanoid then
        humanoid:SetStateEnabled(Enum.HumanoidStateType.Jumping, true)
        humanoid.WalkSpeed = walkSpeed
    end
    if anchored then
        anchored = false
        anchorBtn.Text = "🧊 ANCHOR: OFF"
        anchorBtn.TextColor3 = Color3.fromRGB(255, 100, 100)
        anchorStroke.Color = Color3.fromRGB(255, 80, 80)
    end
    task.wait(0.5)
    if flying then createBodyMovers() end
    if espEnabled then createESP(player) end
end)

--// ---------- РАЙДУЖНА АНІМАЦІЯ GUI ---------- //
local hue = 0
task.spawn(function()
    while screenGui.Parent do
        task.wait(0.03)
        hue = (hue + 0.01) % 1
        strokeGradient.Rotation = (strokeGradient.Rotation + 3) % 360
        joyGradient.Rotation = (joyGradient.Rotation + 4) % 360
        knobGradient.Rotation = (knobGradient.Rotation + 6) % 360
        reopenGradient.Rotation = (reopenGradient.Rotation + 5) % 360
        title.TextColor3 = Color3.fromHSV(hue, 0.8, 1)
    end
end)

--// ---------- ОСНОВНИЙ ЦИКЛ ---------- //
RunService.RenderStepped:Connect(function(dt)
    if not flying then return end

    local char = player.Character
    if not char then return end
    local hrp = char:FindFirstChild("HumanoidRootPart")
    if not hrp or not bodyVelocity or not bodyGyro then return end

    local moveDir = Vector3.zero

    if UserInputService:IsKeyDown(Enum.KeyCode.W) then moveDir += camera.CFrame.LookVector end
    if UserInputService:IsKeyDown(Enum.KeyCode.S) then moveDir -= camera.CFrame.LookVector end
    if UserInputService:IsKeyDown(Enum.KeyCode.A) then moveDir -= camera.CFrame.RightVector end
    if UserInputService:IsKeyDown(Enum.KeyCode.D) then moveDir += camera.CFrame.RightVector end
    if UserInputService:IsKeyDown(Enum.KeyCode.Space) then moveDir += Vector3.new(0, 1, 0) end
    if UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) then moveDir -= Vector3.new(0, 1, 0) end

    if joyActive and joyInput.Magnitude > 0.05 then
        moveDir += camera.CFrame.LookVector * (-joyInput.Y)
        moveDir += camera.CFrame.RightVector * joyInput.X
    end

    if moveDir.Magnitude > 0 then
        moveDir = moveDir.Unit
    end

    local targetVelocity = moveDir * SPEED
    velocity = velocity:Lerp(targetVelocity, SMOOTHNESS)
    bodyVelocity.Velocity = velocity
    bodyGyro.CFrame = CFrame.new(hrp.Position, hrp.Position + camera.CFrame.LookVector)
end)

Features & Information

Fly no clip infinity jump Script on beta version script have some bugs
#Universal script

Community Comments (1)

TheGreatSarTheGreatSarOct 12, 2026

wwwww!!!

More Scripts for Universal Scripts