Aimbot by le4ek
Key RequiredUniversal

Aimbot by le4ek

Universal Scriptle4ekle4ek 1.5K views 158 executesUpdated Feb 14, 2026
Unrated
00
Lua Script•519 lines (16007 chars)
--[[
    Aimbot by le4ek
    Features:
    • RMB Hold to Aim
    • Team Check (Toggle)
    • FOV Circle
    • Smooth Aim
]]

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

-- Settings
local Settings = {
    Enabled = false,
    TeamCheck = false,
    FOV = 75,
    Range = 500,
    Smoothness = 0.6,
    CircleColor = Color3.fromRGB(0, 255, 0),
    CircleThickness = 1.5
}

-- Variables
local FOVCircle = nil
local IsAiming = false
local CurrentTarget = nil

-- Create FOV Circle
local function CreateFOVCircle()
    if FOVCircle then
        FOVCircle:Remove()
        FOVCircle = nil
    end
    
    FOVCircle = Drawing.new("Circle")
    FOVCircle.Transparency = 1
    FOVCircle.Color = Settings.CircleColor
    FOVCircle.Thickness = Settings.CircleThickness
    FOVCircle.Radius = Settings.FOV
    FOVCircle.Filled = false
    FOVCircle.Visible = Settings.Enabled
    FOVCircle.NumSides = 64
    FOVCircle.Position = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y / 2)
end

CreateFOVCircle()

-- Update circle
RunService.RenderStepped:Connect(function()
    if FOVCircle and Settings.Enabled then
        FOVCircle.Position = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y / 2)
        FOVCircle.Visible = true
        FOVCircle.Radius = Settings.FOV
        FOVCircle.Color = Settings.CircleColor
        FOVCircle.Thickness = Settings.CircleThickness
    elseif FOVCircle then
        FOVCircle.Visible = false
    end
end)

-- Get closest player to crosshair
local function GetClosestPlayer()
    local ClosestPlayer = nil
    local ClosestDistance = Settings.FOV + 1
    local CenterPos = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y / 2)
    
    for _, Player in pairs(Players:GetPlayers()) do
        if Player ~= LocalPlayer and Player.Character and Player.Character:FindFirstChild("HumanoidRootPart") then
            local Humanoid = Player.Character:FindFirstChild("Humanoid")
            if Humanoid and Humanoid.Health > 0 then
                
                if Settings.TeamCheck and Player.Team == LocalPlayer.Team then
                    continue
                end
                
                local RootPart = Player.Character.HumanoidRootPart
                local Distance = (RootPart.Position - Camera.CFrame.Position).Magnitude
                
                if Distance > Settings.Range then
                    continue
                end
                
                local ScreenPos, OnScreen = Camera:WorldToViewportPoint(RootPart.Position)
                if OnScreen then
                    local TargetPos = Vector2.new(ScreenPos.X, ScreenPos.Y)
                    local ScreenDistance = (CenterPos - TargetPos).Magnitude
                    
                    if ScreenDistance <= Settings.FOV then
                        if ScreenDistance < ClosestDistance then
                            ClosestDistance = ScreenDistance
                            ClosestPlayer = Player
                        end
                    end
                end
            end
        end
    end
    
    return ClosestPlayer
end

-- RMB Controls
UserInputService.InputBegan:Connect(function(Input, GameProcessed)
    if GameProcessed then return end
    
    if Input.UserInputType == Enum.UserInputType.MouseButton2 and Settings.Enabled then
        IsAiming = true
        CurrentTarget = GetClosestPlayer()
    end
end)

UserInputService.InputEnded:Connect(function(Input)
    if Input.UserInputType == Enum.UserInputType.MouseButton2 then
        IsAiming = false
        CurrentTarget = nil
    end
end)

-- Main loop
RunService.Heartbeat:Connect(function()
    if Settings.Enabled and IsAiming then
        CurrentTarget = GetClosestPlayer()
        
        if CurrentTarget then
            local Character = CurrentTarget.Character
            if Character and Character:FindFirstChild("HumanoidRootPart") then
                local Humanoid = Character:FindFirstChild("Humanoid")
                if Humanoid and Humanoid.Health > 0 then
                    local TargetPos = Character.HumanoidRootPart.Position
                    local CurrentCFrame = Camera.CFrame
                    
                    local Direction = (TargetPos - CurrentCFrame.Position).Unit
                    local NewLookVector = (CurrentCFrame.LookVector * (1 - Settings.Smoothness) + Direction * Settings.Smoothness).Unit
                    Camera.CFrame = CFrame.new(CurrentCFrame.Position, CurrentCFrame.Position + NewLookVector)
                end
            end
        end
    end
end)

-- UI
local UI = Instance.new("ScreenGui")
UI.Name = "Aimbot_by_le4ek"
UI.Parent = game.CoreGui
UI.ResetOnSpawn = false

local Main = Instance.new("Frame")
Main.Size = UDim2.new(0, 280, 0, 300)
Main.Position = UDim2.new(0.5, -140, 0.5, -150)
Main.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
Main.BorderSizePixel = 0
Main.Active = true
Main.Draggable = true
Main.Parent = UI

local MainCorner = Instance.new("UICorner")
MainCorner.CornerRadius = UDim.new(0, 8)
MainCorner.Parent = Main

-- Header
local Header = Instance.new("Frame")
Header.Size = UDim2.new(1, 0, 0, 35)
Header.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
Header.BorderSizePixel = 0
Header.Parent = Main

local HeaderCorner = Instance.new("UICorner")
HeaderCorner.CornerRadius = UDim.new(0, 8)
HeaderCorner.Parent = Header

local Title = Instance.new("TextLabel")
Title.Size = UDim2.new(1, -40, 1, 0)
Title.Position = UDim2.new(0, 10, 0, 0)
Title.BackgroundTransparency = 1
Title.Text = "Aimbot by le4ek"
Title.TextColor3 = Color3.fromRGB(0, 255, 0)
Title.Font = Enum.Font.GothamBold
Title.TextSize = 15
Title.TextXAlignment = Enum.TextXAlignment.Left
Title.Parent = Header

local Close = Instance.new("TextButton")
Close.Size = UDim2.new(0, 25, 0, 25)
Close.Position = UDim2.new(1, -30, 0.5, -12.5)
Close.BackgroundColor3 = Color3.fromRGB(60, 20, 20)
Close.Text = "X"
Close.TextColor3 = Color3.fromRGB(255, 255, 255)
Close.Font = Enum.Font.GothamBold
Close.TextSize = 14
Close.Parent = Header

local CloseCorner = Instance.new("UICorner")
CloseCorner.CornerRadius = UDim.new(0, 4)
CloseCorner.Parent = Close

Close.MouseButton1Click:Connect(function()
    if FOVCircle then
        FOVCircle:Remove()
    end
    UI:Destroy()
end)

-- Content
local Content = Instance.new("Frame")
Content.Size = UDim2.new(1, -20, 1, -45)
Content.Position = UDim2.new(0, 10, 0, 40)
Content.BackgroundTransparency = 1
Content.Parent = Main

local Y = 0

-- Toggle
local function CreateToggle(Text, Default, Callback)
    local Frame = Instance.new("Frame")
    Frame.Size = UDim2.new(1, 0, 0, 35)
    Frame.Position = UDim2.new(0, 0, 0, Y)
    Frame.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
    Frame.Parent = Content
    
    local FrameCorner = Instance.new("UICorner")
    FrameCorner.CornerRadius = UDim.new(0, 6)
    FrameCorner.Parent = Frame
    
    local Label = Instance.new("TextLabel")
    Label.Size = UDim2.new(1, -60, 1, 0)
    Label.Position = UDim2.new(0, 10, 0, 0)
    Label.BackgroundTransparency = 1
    Label.Text = Text
    Label.TextColor3 = Color3.fromRGB(255, 255, 255)
    Label.Font = Enum.Font.Gotham
    Label.TextSize = 14
    Label.TextXAlignment = Enum.TextXAlignment.Left
    Label.Parent = Frame
    
    local Button = Instance.new("TextButton")
    Button.Size = UDim2.new(0, 45, 0, 25)
    Button.Position = UDim2.new(1, -55, 0.5, -12.5)
    Button.BackgroundColor3 = Default and Color3.fromRGB(0, 150, 0) or Color3.fromRGB(60, 60, 60)
    Button.Text = Default and "ON" or "OFF"
    Button.TextColor3 = Color3.fromRGB(255, 255, 255)
    Button.Font = Enum.Font.GothamBold
    Button.TextSize = 12
    Button.Parent = Frame
    
    local ButtonCorner = Instance.new("UICorner")
    ButtonCorner.CornerRadius = UDim.new(0, 4)
    ButtonCorner.Parent = Button
    
    local State = Default
    
    Button.MouseButton1Click:Connect(function()
        State = not State
        Button.Text = State and "ON" or "OFF"
        Button.BackgroundColor3 = State and Color3.fromRGB(0, 150, 0) or Color3.fromRGB(60, 60, 60)
        Callback(State)
    end)
    
    Y = Y + 40
end

-- Slider
local function CreateSlider(Text, Min, Max, Default, Callback)
    local Frame = Instance.new("Frame")
    Frame.Size = UDim2.new(1, 0, 0, 45)
    Frame.Position = UDim2.new(0, 0, 0, Y)
    Frame.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
    Frame.Parent = Content
    
    local FrameCorner = Instance.new("UICorner")
    FrameCorner.CornerRadius = UDim.new(0, 6)
    FrameCorner.Parent = Frame
    
    local Label = Instance.new("TextLabel")
    Label.Size = UDim2.new(1, -20, 0, 20)
    Label.Position = UDim2.new(0, 10, 0, 5)
    Label.BackgroundTransparency = 1
    Label.Text = Text .. ": " .. Default
    Label.TextColor3 = Color3.fromRGB(0, 255, 0)
    Label.Font = Enum.Font.Gotham
    Label.TextSize = 13
    Label.TextXAlignment = Enum.TextXAlignment.Left
    Label.Parent = Frame
    
    local Track = Instance.new("Frame")
    Track.Size = UDim2.new(1, -40, 0, 4)
    Track.Position = UDim2.new(0, 20, 0, 30)
    Track.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
    Track.BorderSizePixel = 0
    Track.Parent = Frame
    
    local TrackCorner = Instance.new("UICorner")
    TrackCorner.CornerRadius = UDim.new(0, 2)
    TrackCorner.Parent = Track
    
    local Knob = Instance.new("TextButton")
    Knob.Size = UDim2.new(0, 14, 0, 14)
    local Rel = (Default - Min) / (Max - Min)
    Knob.Position = UDim2.new(Rel, -7, 0, -5)
    Knob.BackgroundColor3 = Color3.fromRGB(0, 255, 0)
    Knob.Text = ""
    Knob.BorderSizePixel = 0
    Knob.Parent = Track
    
    local KnobCorner = Instance.new("UICorner")
    KnobCorner.CornerRadius = UDim.new(0, 7)
    KnobCorner.Parent = Knob
    
    local Dragging = false
    local Value = Default
    
    Knob.MouseButton1Down:Connect(function()
        Dragging = true
    end)
    
    UserInputService.InputEnded:Connect(function(Input)
        if Input.UserInputType == Enum.UserInputType.MouseButton1 then
            Dragging = false
        end
    end)
    
    RunService.Heartbeat:Connect(function()
        if Dragging then
            local MousePos = UserInputService:GetMouseLocation()
            local TrackX = Track.AbsolutePosition.X
            local TrackW = Track.AbsoluteSize.X
            local RelX = (MousePos.X - TrackX) / TrackW
            RelX = math.clamp(RelX, 0, 1)
            
            Value = math.floor(Min + (RelX * (Max - Min)))
            Label.Text = Text .. ": " .. Value
            Knob.Position = UDim2.new(RelX, -7, 0, -5)
            Callback(Value)
        end
    end)
    
    Y = Y + 50
end

-- Create UI
CreateToggle("Aimbot", false, function(State)
    Settings.Enabled = State
    if FOVCircle then
        FOVCircle.Visible = State
    end
    if not State then
        IsAiming = false
        CurrentTarget = nil
    end
end)

CreateToggle("Team Check", false, function(State)
    Settings.TeamCheck = State
end)

CreateSlider("FOV", 10, 200, 75, function(Value)
    Settings.FOV = Value
    if FOVCircle then
        FOVCircle.Radius = Value
    end
end)

-- Thickness Slider
local ThickFrame = Instance.new("Frame")
ThickFrame.Size = UDim2.new(1, 0, 0, 45)
ThickFrame.Position = UDim2.new(0, 0, 0, Y)
ThickFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
ThickFrame.Parent = Content

local ThickCorner = Instance.new("UICorner")
ThickCorner.CornerRadius = UDim.new(0, 6)
ThickCorner.Parent = ThickFrame

local ThickLabel = Instance.new("TextLabel")
ThickLabel.Size = UDim2.new(1, -20, 0, 20)
ThickLabel.Position = UDim2.new(0, 10, 0, 5)
ThickLabel.BackgroundTransparency = 1
ThickLabel.Text = "Thickness: 1.5"
ThickLabel.TextColor3 = Color3.fromRGB(0, 255, 0)
ThickLabel.Font = Enum.Font.Gotham
ThickLabel.TextSize = 13
ThickLabel.TextXAlignment = Enum.TextXAlignment.Left
ThickLabel.Parent = ThickFrame

local ThickTrack = Instance.new("Frame")
ThickTrack.Size = UDim2.new(1, -40, 0, 4)
ThickTrack.Position = UDim2.new(0, 20, 0, 30)
ThickTrack.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
ThickTrack.BorderSizePixel = 0
ThickTrack.Parent = ThickFrame

local ThickTrackCorner = Instance.new("UICorner")
ThickTrackCorner.CornerRadius = UDim.new(0, 2)
ThickTrackCorner.Parent = ThickTrack

local ThickKnob = Instance.new("TextButton")
ThickKnob.Size = UDim2.new(0, 14, 0, 14)
ThickKnob.Position = UDim2.new(0.25, -7, 0, -5)
ThickKnob.BackgroundColor3 = Color3.fromRGB(0, 255, 0)
ThickKnob.Text = ""
ThickKnob.BorderSizePixel = 0
ThickKnob.Parent = ThickTrack

local ThickKnobCorner = Instance.new("UICorner")
ThickKnobCorner.CornerRadius = UDim.new(0, 7)
ThickKnobCorner.Parent = ThickKnob

local ThickDragging = false

ThickKnob.MouseButton1Down:Connect(function()
    ThickDragging = true
end)

UserInputService.InputEnded:Connect(function(Input)
    if Input.UserInputType == Enum.UserInputType.MouseButton1 then
        ThickDragging = false
    end
end)

RunService.Heartbeat:Connect(function()
    if ThickDragging then
        local MousePos = UserInputService:GetMouseLocation()
        local TrackX = ThickTrack.AbsolutePosition.X
        local TrackW = ThickTrack.AbsoluteSize.X
        local RelX = (MousePos.X - TrackX) / TrackW
        RelX = math.clamp(RelX, 0, 1)
        
        local Thick = 0.5 + (RelX * 4.5)
        Thick = math.floor(Thick * 10) / 10
        ThickLabel.Text = "Thickness: " .. string.format("%.1f", Thick)
        Settings.CircleThickness = Thick
        ThickKnob.Position = UDim2.new(RelX, -7, 0, -5)
        
        if FOVCircle then
            FOVCircle.Thickness = Thick
        end
    end
end)

Y = Y + 50

-- Color Button
local ColorBtn = Instance.new("TextButton")
ColorBtn.Size = UDim2.new(1, 0, 0, 35)
ColorBtn.Position = UDim2.new(0, 0, 0, Y)
ColorBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
ColorBtn.Text = "Select Color"
ColorBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
ColorBtn.Font = Enum.Font.Gotham
ColorBtn.TextSize = 14
ColorBtn.Parent = Content

local ColorBtnCorner = Instance.new("UICorner")
ColorBtnCorner.CornerRadius = UDim.new(0, 6)
ColorBtnCorner.Parent = ColorBtn

-- Color Picker
local Colors = {
    Color3.fromRGB(255, 0, 0),
    Color3.fromRGB(0, 255, 0),
    Color3.fromRGB(0, 0, 255),
    Color3.fromRGB(255, 255, 0),
    Color3.fromRGB(255, 0, 255),
    Color3.fromRGB(0, 255, 255)
}

local ColorPicker = Instance.new("Frame")
ColorPicker.Size = UDim2.new(1, 0, 0, 80)
ColorPicker.Position = UDim2.new(0, 0, 0, Y + 40)
ColorPicker.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
ColorPicker.Visible = false
ColorPicker.Parent = Content

local ColorPickerCorner = Instance.new("UICorner")
ColorPickerCorner.CornerRadius = UDim.new(0, 6)
ColorPickerCorner.Parent = ColorPicker

for i = 1, #Colors do
    local Row = math.floor((i - 1) / 3)
    local Col = (i - 1) % 3
    
    local Btn = Instance.new("TextButton")
    Btn.Size = UDim2.new(0, 45, 0, 25)
    Btn.Position = UDim2.new(0, 10 + Col * 50, 0, 10 + Row * 30)
    Btn.BackgroundColor3 = Colors[i]
    Btn.Text = ""
    Btn.Parent = ColorPicker
    
    local BtnCorner = Instance.new("UICorner")
    BtnCorner.CornerRadius = UDim.new(0, 4)
    BtnCorner.Parent = Btn
    
    Btn.MouseButton1Click:Connect(function()
        Settings.CircleColor = Colors[i]
        if FOVCircle then
            FOVCircle.Color = Colors[i]
        end
        ColorPicker.Visible = false
        ColorBtn.Text = "Color Selected"
    end)
end

ColorBtn.MouseButton1Click:Connect(function()
    ColorPicker.Visible = not ColorPicker.Visible
end)

-- Notification
game:GetService("StarterGui"):SetCore("SendNotification", {
    Title = "Aimbot by le4ek",
    Text = "Hold RMB to aim | Team Check works",
    Duration = 3
})

print("Aimbot by le4ek loaded")
print("Hold RMB to aim")

Features & Information

✨ FEATURES: ✅ RMB Hold to aim - Press and hold right mouse button, aimbot works ✅ Team Check - Doesn't aim at your teammates (toggle ON/OFF) ✅ FOV Circle - Green circle shows aiming zone (customizable size) ✅ Range 500 - Aims only within 500 studs ✅ Smooth aim - 60% smoothness for natural movement ✅ Customizable - Adjust FOV size (10-200) and circle thickness ✅ Color picker - Choose any color for FOV circle (Red, Green, Blue, Yellow, Pink, Cyan) ✅ Clean GUI - Simple dark menu, draggable, compact design
#Aimbot#Universal

Community Comments (2)

orbit167orbit167Feb 14, 2026(edited)

beep beep vibercoder detetcted

le4ekle4ekFeb 16, 2026

maybe bro

More Scripts for Universal Scripts