mod menu
Key Required

mod menu

[FPS] Flickmrowindmrowind 1.8K views 12.3K executesUpdated Oct 5, 2026
Unrated
00
Lua Script•513 lines (13163 chars)
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")

local LocalPlayer = Players.LocalPlayer

-- ==========================================
-- НАСТРОЙКИ
-- ==========================================

local highlightColor = Color3.fromRGB(128, 0, 128)
local rotationSpeed = 5

local isHighlighting = false
local isAimbotEnabled = false
local highlights = {}

-- ==========================================
-- FLY
-- ==========================================

local isFlying = false
local flySpeed = 50

local bodyVelocity
local bodyGyro
local flyConnection

local function startFly()
    if isFlying then
        return
    end

    isFlying = true

    local character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
    local root = character:WaitForChild("HumanoidRootPart")

    bodyVelocity = Instance.new("BodyVelocity")
    bodyVelocity.Name = "ModMenuFlyVelocity"
    bodyVelocity.MaxForce = Vector3.new(1e6, 1e6, 1e6)
    bodyVelocity.Velocity = Vector3.zero
    bodyVelocity.Parent = root

    bodyGyro = Instance.new("BodyGyro")
    bodyGyro.Name = "ModMenuFlyGyro"
    bodyGyro.MaxTorque = Vector3.new(1e6, 1e6, 1e6)
    bodyGyro.P = 10000
    bodyGyro.Parent = root

    flyConnection = RunService.RenderStepped:Connect(function()
        if not isFlying then
            return
        end

        local camera = workspace.CurrentCamera

        if not camera or not root or not root.Parent then
            return
        end

        local direction = Vector3.zero

        if UserInputService:IsKeyDown(Enum.KeyCode.W) then
            direction += camera.CFrame.LookVector
        end

        if UserInputService:IsKeyDown(Enum.KeyCode.S) then
            direction -= camera.CFrame.LookVector
        end

        if UserInputService:IsKeyDown(Enum.KeyCode.A) then
            direction -= camera.CFrame.RightVector
        end

        if UserInputService:IsKeyDown(Enum.KeyCode.D) then
            direction += camera.CFrame.RightVector
        end

        if UserInputService:IsKeyDown(Enum.KeyCode.Space) then
            direction += Vector3.yAxis
        end

        if UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) then
            direction -= Vector3.yAxis
        end

        if direction.Magnitude > 0 then
            direction = direction.Unit * flySpeed
        end

        bodyVelocity.Velocity = direction
        bodyGyro.CFrame = camera.CFrame
    end)
end

local function stopFly()
    isFlying = false

    if flyConnection then
        flyConnection:Disconnect()
        flyConnection = nil
    end

    if bodyVelocity then
        bodyVelocity:Destroy()
        bodyVelocity = nil
    end

    if bodyGyro then
        bodyGyro:Destroy()
        bodyGyro = nil
    end
end

-- ==========================================
-- ESP
-- ==========================================

local function addHighlight(player)
    if player == LocalPlayer then
        return
    end

    local character = player.Character
    if not character then
        return
    end

    if highlights[player] then
        return
    end

    local highlight = Instance.new("Highlight")
    highlight.Name = "ModMenuHighlight"
    highlight.FillColor = highlightColor
    highlight.OutlineColor = highlightColor
    highlight.FillTransparency = 0.5
    highlight.OutlineTransparency = 0
    highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
    highlight.Parent = character

    highlights[player] = highlight
end

local function removeHighlight(player)
    if highlights[player] then
        highlights[player]:Destroy()
        highlights[player] = nil
    end
end

local function removeAllHighlights()
    for player, highlight in pairs(highlights) do
        if highlight then
            highlight:Destroy()
        end

        highlights[player] = nil
    end
end

local function toggleHighlights()
    isHighlighting = not isHighlighting

    if isHighlighting then
        for _, player in ipairs(Players:GetPlayers()) do
            addHighlight(player)
        end
    else
        removeAllHighlights()
    end
end

-- ==========================================
-- ИГРОКИ / РЕСПАВН
-- ==========================================

local function setupPlayer(player)
    if player == LocalPlayer then
        return
    end

    player.CharacterAdded:Connect(function()
        if isHighlighting then
            task.wait(0.2)
            addHighlight(player)
        end
    end)
end

for _, player in ipairs(Players:GetPlayers()) do
    setupPlayer(player)
end

Players.PlayerAdded:Connect(setupPlayer)

Players.PlayerRemoving:Connect(function(player)
    removeHighlight(player)
end)

-- ==========================================
-- AIMBOT
-- ==========================================

local function getNearestEnemy()
    local character = LocalPlayer.Character

    if not character then
        return nil
    end

    local rootPart = character:FindFirstChild("HumanoidRootPart")

    if not rootPart then
        return nil
    end

    local closestPlayer = nil
    local closestDistance = math.huge

    for _, otherPlayer in ipairs(Players:GetPlayers()) do
        if otherPlayer ~= LocalPlayer and otherPlayer.Character then

            local otherRoot =
                otherPlayer.Character:FindFirstChild("HumanoidRootPart")

            local humanoid =
                otherPlayer.Character:FindFirstChildOfClass("Humanoid")

            if otherRoot and humanoid and humanoid.Health > 0 then

                local distance =
                    (otherRoot.Position - rootPart.Position).Magnitude

                if distance < closestDistance then
                    closestDistance = distance
                    closestPlayer = otherPlayer
                end
            end
        end
    end

    return closestPlayer
end

local cameraConnection

local function startAimbot()
    if cameraConnection then
        cameraConnection:Disconnect()
    end

    cameraConnection = RunService.RenderStepped:Connect(function(dt)

        if not isAimbotEnabled then
            return
        end

        local camera = workspace.CurrentCamera

        if not camera then
            return
        end

        local targetPlayer = getNearestEnemy()

        if targetPlayer and targetPlayer.Character then

            local targetRoot =
                targetPlayer.Character:FindFirstChild("HumanoidRootPart")

            if targetRoot then

                local camPos = camera.CFrame.Position
                local targetPos = targetRoot.Position

                local offset = targetPos - camPos

                if offset.Magnitude > 0 then

                    local direction = offset.Unit
                    local currentLook = camera.CFrame.LookVector

                    local newLook = currentLook:Lerp(
                        direction,
                        math.clamp(rotationSpeed * dt, 0, 1)
                    )

                    camera.CFrame =
                        CFrame.new(camPos, camPos + newLook)
                end
            end
        end
    end)
end

startAimbot()

-- ==========================================
-- GUI
-- ==========================================

local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "ModMenu"
ScreenGui.ResetOnSpawn = false
ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui")

local MainFrame = Instance.new("Frame")
MainFrame.Name = "MainFrame"

-- МЕНЮ УВЕЛИЧЕНО ПОД 4 КНОПКИ
MainFrame.Size = UDim2.new(0, 320, 0, 285)
MainFrame.Position = UDim2.new(0.5, -160, 0.5, -142)

MainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
MainFrame.BorderSizePixel = 0
MainFrame.Parent = ScreenGui

local MainCorner = Instance.new("UICorner")
MainCorner.CornerRadius = UDim.new(0, 12)
MainCorner.Parent = MainFrame

-- ==========================================
-- ЗАГОЛОВОК
-- ==========================================

local Title = Instance.new("TextLabel")
Title.Name = "Title"
Title.Size = UDim2.new(1, 0, 0, 55)
Title.BackgroundTransparency = 1
Title.Text = "MOD MENU"
Title.TextColor3 = Color3.fromRGB(255, 255, 255)
Title.TextSize = 25
Title.Font = Enum.Font.GothamBold
Title.Active = true
Title.Parent = MainFrame

-- ==========================================
-- ESP
-- ==========================================

local ESPButton = Instance.new("TextButton")
ESPButton.Name = "ESPButton"
ESPButton.Size = UDim2.new(1, -30, 0, 45)
ESPButton.Position = UDim2.new(0, 15, 0, 65)

ESPButton.BackgroundColor3 = Color3.fromRGB(90, 0, 130)
ESPButton.Text = "ESP: OFF"
ESPButton.TextColor3 = Color3.fromRGB(255, 255, 255)
ESPButton.TextSize = 18
ESPButton.Font = Enum.Font.GothamBold
ESPButton.BorderSizePixel = 0
ESPButton.Parent = MainFrame

local ESPCorner = Instance.new("UICorner")
ESPCorner.CornerRadius = UDim.new(0, 8)
ESPCorner.Parent = ESPButton

ESPButton.MouseButton1Click:Connect(function()

    toggleHighlights()

    if isHighlighting then
        ESPButton.Text = "ESP: ON"
        ESPButton.BackgroundColor3 = Color3.fromRGB(140, 0, 190)
    else
        ESPButton.Text = "ESP: OFF"
        ESPButton.BackgroundColor3 = Color3.fromRGB(90, 0, 130)
    end
end)

-- ==========================================
-- AIMBOT
-- ==========================================

local AimbotButton = Instance.new("TextButton")
AimbotButton.Name = "AimbotButton"
AimbotButton.Size = UDim2.new(1, -30, 0, 45)
AimbotButton.Position = UDim2.new(0, 15, 0, 120)

AimbotButton.BackgroundColor3 = Color3.fromRGB(90, 0, 130)
AimbotButton.Text = "AIMBOT: OFF"
AimbotButton.TextColor3 = Color3.fromRGB(255, 255, 255)
AimbotButton.TextSize = 18
AimbotButton.Font = Enum.Font.GothamBold
AimbotButton.BorderSizePixel = 0
AimbotButton.Parent = MainFrame

local AimbotCorner = Instance.new("UICorner")
AimbotCorner.CornerRadius = UDim.new(0, 8)
AimbotCorner.Parent = AimbotButton

AimbotButton.MouseButton1Click:Connect(function()

    isAimbotEnabled = not isAimbotEnabled

    if isAimbotEnabled then
        AimbotButton.Text = "AIMBOT: ON"
        AimbotButton.BackgroundColor3 = Color3.fromRGB(140, 0, 190)
    else
        AimbotButton.Text = "AIMBOT: OFF"
        AimbotButton.BackgroundColor3 = Color3.fromRGB(90, 0, 130)
    end
end)

-- ==========================================
-- FLY
-- ==========================================

local FlyButton = Instance.new("TextButton")
FlyButton.Name = "FlyButton"
FlyButton.Size = UDim2.new(1, -30, 0, 45)
FlyButton.Position = UDim2.new(0, 15, 0, 175)

FlyButton.BackgroundColor3 = Color3.fromRGB(90, 0, 130)
FlyButton.Text = "FLY: OFF"
FlyButton.TextColor3 = Color3.fromRGB(255, 255, 255)
FlyButton.TextSize = 18
FlyButton.Font = Enum.Font.GothamBold
FlyButton.BorderSizePixel = 0
FlyButton.Parent = MainFrame

local FlyCorner = Instance.new("UICorner")
FlyCorner.CornerRadius = UDim.new(0, 8)
FlyCorner.Parent = FlyButton

FlyButton.MouseButton1Click:Connect(function()

    if isFlying then
        stopFly()

        FlyButton.Text = "FLY: OFF"
        FlyButton.BackgroundColor3 = Color3.fromRGB(90, 0, 130)

    else
        startFly()

        FlyButton.Text = "FLY: ON"
        FlyButton.BackgroundColor3 = Color3.fromRGB(140, 0, 190)
    end
end)

-- ==========================================
-- ЗАКРЫТЬ
-- ==========================================

local CloseButton = Instance.new("TextButton")
CloseButton.Name = "CloseButton"
CloseButton.Size = UDim2.new(1, -30, 0, 45)
CloseButton.Position = UDim2.new(0, 15, 0, 230)

CloseButton.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
CloseButton.Text = "ЗАКРЫТЬ"
CloseButton.TextColor3 = Color3.fromRGB(255, 255, 255)
CloseButton.TextSize = 18
CloseButton.Font = Enum.Font.GothamBold
CloseButton.BorderSizePixel = 0
CloseButton.Parent = MainFrame

local CloseCorner = Instance.new("UICorner")
CloseCorner.CornerRadius = UDim.new(0, 8)
CloseCorner.Parent = CloseButton

CloseButton.MouseButton1Click:Connect(function()
    ScreenGui.Enabled = false
end)

-- ==========================================
-- ПЕРЕМЕЩЕНИЕ МЕНЮ
-- ==========================================

local dragging = false
local dragStart
local startPosition

Title.InputBegan:Connect(function(input)

    if input.UserInputType == Enum.UserInputType.MouseButton1
        or input.UserInputType == Enum.UserInputType.Touch then

        dragging = true
        dragStart = input.Position
        startPosition = MainFrame.Position

        input.Changed:Connect(function()

            if input.UserInputState == Enum.UserInputState.End then
                dragging = false
            end
        end)
    end
end)

UserInputService.InputChanged:Connect(function(input)

    if not dragging then
        return
    end

    if input.UserInputType == Enum.UserInputType.MouseMovement
        or input.UserInputType == Enum.UserInputType.Touch then

        local delta = input.Position - dragStart

        MainFrame.Position = UDim2.new(
            startPosition.X.Scale,
            startPosition.X.Offset + delta.X,
            startPosition.Y.Scale,
            startPosition.Y.Offset + delta.Y
        )
    end
end)

Features & Information

-aim bot -esp -fly
#fps#flick#pvp#esp#aim bot

Community Comments (1)

voltexvoltexOct 11, 2026

not liking this code dawg

More Scripts for [FPS] Flick