Aimbot ESP
Key Required

Aimbot ESP

[FPS] FlickGOX84m_RealMe1GOX84m_RealMe1 1.1K views 160 executesUpdated Mar 27, 2026
3.3/ 5(3 votes)
2167% Positive
Lua Script•300 lines (9732 chars)
local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()

-- ====================== CONFIG ======================
local Config = ({
    Aimbot = {
        Enabled = false,
        Key = Enum.KeyCode.E,
        FOV = 65,
        ShowFOV = true,
        Smooth = 0.1,
        TargetPart = "Head",
        Mode = "Smooth"  -- "Smooth" alebo "Fast"
    },
    ESP = {
        Box = false,
        Tracers = false,
        Names = false,
        Color = Color3.fromRGB(0, 255, 50)
    }
})

-- ====================== WINDOW ======================
local Window = Rayfield:CreateWindow({
    Name = "[FPS]flick - By GOXm",
    Icon = 9835676498,
    LoadingTitle = "GOXm's script",
    LoadingSubtitle = "by GOXm",
    Theme = "AmberGlow",
    ToggleUIKeybind = "K",
    ConfigurationSaving = {
        Enabled = true,
        FolderName = "GOXm_FPS",
        FileName = "Config"
    }
})

-- ====================== SERVICES ======================
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local Camera = workspace.CurrentCamera
local LocalPlayer = Players.LocalPlayer

local aiming = false

-- ====================== DRAWING ======================
local fovCircle = Drawing.new("Circle")
fovCircle.Thickness = 1.6
fovCircle.Transparency = 0.6
fovCircle.Color = Color3.fromRGB(255, 0, 0)
fovCircle.Filled = false
fovCircle.Visible = false

local function NewLine()
    local l = Drawing.new("Line")
    l.Thickness = 1.5
    l.Transparency = 1
    l.Color = Config.ESP.Color
    l.Visible = false
    return l
end

local function NewText()
    local t = Drawing.new("Text")
    t.Size = 16
    t.Center = true
    t.Outline = true
    t.Font = 2
    t.Transparency = 1
    t.Color = Config.ESP.Color
    t.Visible = false
    return t
end

-- ====================== AIMBOT LOGIC ======================
local function getClosest()
    local closest, shortest = nil, math.huge
    
    for _, v in pairs(Players:GetPlayers()) do
        if v ~= LocalPlayer and v.Character and v.Character:FindFirstChild("Humanoid") and v.Character.Humanoid.Health > 0 then
            local target = v.Character:FindFirstChild(Config.Aimbot.TargetPart)
            if target then
                local screenPos, onScreen = Camera:WorldToViewportPoint(target.Position)
                if onScreen then
                    local distFromCenter = (Vector2.new(screenPos.X, screenPos.Y) - Vector2.new(Camera.ViewportSize.X/2, Camera.ViewportSize.Y/2)).Magnitude
                    
                    if distFromCenter <= Config.Aimbot.FOV and distFromCenter < shortest then
                        shortest = distFromCenter
                        closest = target
                    end
                end
            end
        end
    end
    return closest
end

RunService.RenderStepped:Connect(function()
    -- FOV Circle
    fovCircle.Position = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y / 2)
    fovCircle.Radius = Config.Aimbot.FOV
    fovCircle.Visible = Config.Aimbot.Enabled and Config.Aimbot.ShowFOV
    
    -- Aimbot
    if Config.Aimbot.Enabled and aiming then
        local target = getClosest()
        if target then
            local lookAt = CFrame.new(Camera.CFrame.Position, target.Position)
            
            if Config.Aimbot.Mode == "Fast" then
                Camera.CFrame = lookAt
            else
                local smoothAmount = math.clamp(1 - Config.Aimbot.Smooth, 0.01, 1)
                Camera.CFrame = Camera.CFrame:Lerp(lookAt, smoothAmount)
            end
        end
    end
end)

UserInputService.InputBegan:Connect(function(input, gpe)
    if not gpe and input.KeyCode == Config.Aimbot.Key then
        aiming = true
    end
end)

UserInputService.InputEnded:Connect(function(input)
    if input.KeyCode == Config.Aimbot.Key then
        aiming = false
    end
end)

-- ====================== 3D ESP ======================
local function CreateESP(player)
    local lines = {}
    for i = 1, 12 do lines[i] = NewLine() end
    local tracer = NewLine()
    local nameTag = NewText()

    local connection = RunService.RenderStepped:Connect(function()
        if not player or not player.Parent then
            for _, v in pairs(lines) do v:Remove() end
            tracer:Remove()
            nameTag:Remove()
            connection:Disconnect()
            return
        end

        local char = player.Character
        local hrp = char and char:FindFirstChild("HumanoidRootPart")
        local hum = char and char:FindFirstChild("Humanoid")

        if hrp and hum and hum.Health > 0 then
            local pos, onScreen = Camera:WorldToViewportPoint(hrp.Position)

            -- 3D Box
            if Config.ESP.Box and onScreen then
                local size = Vector3.new(2, 3, 1.5)
                local cf = hrp.CFrame
                local p = {
                    Camera:WorldToViewportPoint((cf * CFrame.new(-size.X, size.Y, -size.Z)).Position),
                    Camera:WorldToViewportPoint((cf * CFrame.new( size.X, size.Y, -size.Z)).Position),
                    Camera:WorldToViewportPoint((cf * CFrame.new( size.X, size.Y,  size.Z)).Position),
                    Camera:WorldToViewportPoint((cf * CFrame.new(-size.X, size.Y,  size.Z)).Position),
                    Camera:WorldToViewportPoint((cf * CFrame.new(-size.X, -size.Y, -size.Z)).Position),
                    Camera:WorldToViewportPoint((cf * CFrame.new( size.X, -size.Y, -size.Z)).Position),
                    Camera:WorldToViewportPoint((cf * CFrame.new( size.X, -size.Y,  size.Z)).Position),
                    Camera:WorldToViewportPoint((cf * CFrame.new(-size.X, -size.Y,  size.Z)).Position)
                }
                local connections = {{1,2},{2,3},{3,4},{4,1},{5,6},{6,7},{7,8},{8,5},{1,5},{2,6},{3,7},{4,8}}
                for i, conn in pairs(connections) do
                    lines[i].From = Vector2.new(p[conn[1]].X, p[conn[1]].Y)
                    lines[i].To = Vector2.new(p[conn[2]].X, p[conn[2]].Y)
                    lines[i].Visible = true
                end
            else
                for _, v in pairs(lines) do v.Visible = false end
            end

            -- Tracers
            if Config.ESP.Tracers and onScreen then
                tracer.From = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y)
                tracer.To = Vector2.new(pos.X, pos.Y)
                tracer.Visible = true
            else
                tracer.Visible = false
            end

            -- Name Tags
            if Config.ESP.Names and onScreen then
                nameTag.Text = player.Name
                nameTag.Position = Vector2.new(pos.X, pos.Y - 40)
                nameTag.Visible = true
            else
                nameTag.Visible = false
            end
        else
            for _, v in pairs(lines) do v.Visible = false end
            tracer.Visible = false
            nameTag.Visible = false
        end
    end)
end

for _, plr in pairs(Players:GetPlayers()) do
    if plr ~= LocalPlayer then CreateESP(plr) end
end
Players.PlayerAdded:Connect(function(plr)
    if plr ~= LocalPlayer then CreateESP(plr) end
end)

-- ====================== UI TABS ======================

-- AIMBOT TAB
local AimbotTab = Window:CreateTab("🔫 Aimbot", nil)

AimbotTab:CreateToggle({
    Name = "Enable Aimbot (Hold E)",
    CurrentValue = false,
    Callback = function(v) Config.Aimbot.Enabled = v end
})

AimbotTab:CreateToggle({
    Name = "Show FOV Circle",
    CurrentValue = true,
    Callback = function(v) Config.Aimbot.ShowFOV = v end
})

AimbotTab:CreateDropdown({
    Name = "Target Part",
    Options = {"Head", "Torso"},
    CurrentOption = {"Head"},
    Callback = function(Option)
        Config.Aimbot.TargetPart = (Option[1] == "Torso" and "HumanoidRootPart" or "Head")
    end
})

AimbotTab:CreateDropdown({
    Name = "Aimbot Mode",
    Options = {"Smooth", "Fast"},
    CurrentOption = {"Smooth"},
    Callback = function(Option) Config.Aimbot.Mode = Option[1] end
})

AimbotTab:CreateSlider({
    Name = "Smoothness",
    Range = {0, 0.95},
    Increment = 0.01,
    CurrentValue = 0.1,
    Callback = function(v) Config.Aimbot.Smooth = v end
})

AimbotTab:CreateSlider({
    Name = "FOV Radius",
    Range = {30, 250},
    Increment = 1,
    CurrentValue = 65,
    Callback = function(v) Config.Aimbot.FOV = v end
})
-- ESP TAB
local EspTab = Window:CreateTab("👁️ ESP", nil)

local BoxToggle = EspTab:CreateToggle({
    Name = "3D Box ESP",
    CurrentValue = false,
    Callback = function(v) Config.ESP.Box = v end
})
EspTab:CreateKeybind({
    Name = "Toggle Box ESP",
    CurrentKeybind = "None",
    Callback = function() Config.ESP.Box = not Config.ESP.Box; BoxToggle:Set(Config.ESP.Box) end
})

local TracerToggle = EspTab:CreateToggle({
    Name = "Tracers",
    CurrentValue = false,
    Callback = function(v) Config.ESP.Tracers = v end
})
EspTab:CreateKeybind({
    Name = "Toggle Tracers",
    CurrentKeybind = "None",
    Callback = function() Config.ESP.Tracers = not Config.ESP.Tracers; TracerToggle:Set(Config.ESP.Tracers) end
})

local NameToggle = EspTab:CreateToggle({
    Name = "Name Tags",
    CurrentValue = false,
    Callback = function(v) Config.ESP.Names = v end
})
EspTab:CreateKeybind({
    Name = "Toggle Name Tags",
    CurrentKeybind = "None",
    Callback = function() Config.ESP.Names = not Config.ESP.Names; NameToggle:Set(Config.ESP.Names) end
})

-- Destroy button (ak chceš nechať)
local SettingsTab = Window:CreateTab("⚙️ Settings", nil)
SettingsTab:CreateButton({
    Name = "Destroy Script",
    Callback = function() Rayfield:Destroy() end
})

Features & Information

I RECOMMAND USING XENO EXECUTOR FOR PC Aimbot 🔫: Auto-lock (Hold E), Smooth/Fast modes, and FOV circle. ESP 👁️: See players through walls with 3D Boxes, Tracers, and Names. System ⚙️: UI menu (Toggle K), Auto-Save config, and Kill-switch. ‼️‼️ it is possible that you will get banned‼️‼️

Community Comments (0)

No comments yet for this script.

More Scripts for [FPS] Flick