AIMBOT SCRIPT
Key RequiredUniversal

AIMBOT SCRIPT

Universal Scriptangry_dudeangry_dude 698 views 7 executesUpdated Dec 10, 2025
5.0/ 5(1 votes)
10100% Positive
Lua Script•277 lines (8880 chars)
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local ContextActionService = game:GetService("ContextActionService")

local player = Players.LocalPlayer
local mouse = player:GetMouse()

-- Hack states
local hacks = {
    aimbot = false,
    esp = false,
    speed = false,
    noclip = false
}

-- ESP Storage
local espBoxes = {}

-- Aimbot variables
local currentTarget = nil
local aimbotKey = Enum.KeyCode.E
local aimbotToggleKey = Enum.KeyCode.Q

-- GUI (Create programmatically)
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "HackMenu"
screenGui.Parent = player:WaitForChild("PlayerGui")

-- Main frame
local mainFrame = Instance.new("Frame")
mainFrame.Size = UDim2.new(0, 250, 0, 300)
mainFrame.Position = UDim2.new(0.5, -125, 0.5, -150)
mainFrame.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
mainFrame.BorderSizePixel = 2
mainFrame.BorderColor3 = Color3.fromRGB(0, 255, 0)
mainFrame.Parent = screenGui

-- Title
local title = Instance.new("TextLabel")
title.Text = "HACK SYSTEM v1.0"
title.Size = UDim2.new(1, 0, 0, 30)
title.BackgroundColor3 = Color3.fromRGB(0, 100, 0)
title.TextColor3 = Color3.fromRGB(255, 255, 255)
title.Font = Enum.Font.Code
title.Parent = mainFrame

-- Buttons
local buttons = {
    {name = "Aimbot", key = "Q", yPos = 40},
    {name = "ESP", key = "E", yPos = 80},
    {name = "Speed Hack", key = "R", yPos = 120},
    {name = "NoClip", key = "T", yPos = 160},
    {name = "Teleport", key = "Y", yPos = 200},
    {name = "God Mode", key = "U", yPos = 240}
}

for i, btnInfo in ipairs(buttons) do
    local button = Instance.new("TextButton")
    button.Name = btnInfo.name .. "Button"
    button.Text = btnInfo.name .. " [ " .. btnInfo.key .. " ]: OFF"
    button.Size = UDim2.new(0.9, 0, 0, 30)
    button.Position = UDim2.new(0.05, 0, 0, btnInfo.yPos)
    button.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
    button.TextColor3 = Color3.fromRGB(255, 255, 255)
    button.Font = Enum.Font.Code
    button.Parent = mainFrame
    
    button.MouseButton1Click:Connect(function()
        toggleHack(btnInfo.name:lower():gsub(" ", ""))
    end)
end

-- ESP Functions
local function createESP(target)
    if not target or espBoxes[target] then return end
    
    local highlight = Instance.new("Highlight")
    highlight.Name = "ESP_Highlight"
    highlight.Adornee = target
    highlight.FillColor = Color3.fromRGB(255, 50, 50)
    highlight.OutlineColor = Color3.fromRGB(255, 255, 255)
    highlight.FillTransparency = 0.7
    highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
    highlight.Parent = target
    
    local billboard = Instance.new("BillboardGui")
    billboard.Name = "ESP_Info"
    billboard.Size = UDim2.new(0, 200, 0, 50)
    billboard.StudsOffset = Vector3.new(0, 3, 0)
    
    local humanoidRootPart = target:FindFirstChild("HumanoidRootPart")
    if humanoidRootPart then
        billboard.Adornee = humanoidRootPart
    end
    
    local label = Instance.new("TextLabel")
    label.Text = target.Name
    label.TextColor3 = Color3.fromRGB(255, 255, 255)
    label.BackgroundTransparency = 1
    label.Size = UDim2.new(1, 0, 1, 0)
    label.Font = Enum.Font.Code
    label.Parent = billboard
    billboard.Parent = target
    
    espBoxes[target] = {highlight, billboard}
end

local function removeESP(target)
    if espBoxes[target] then
        for _, obj in ipairs(espBoxes[target]) do
            if obj then
                obj:Destroy()
            end
        end
        espBoxes[target] = nil
    end
end

local function updateESP()
    if not hacks.esp then
        for target in pairs(espBoxes) do
            removeESP(target)
        end
        return
    end
    
    -- Find all NPCs
    for _, npc in pairs(workspace:GetChildren()) do
        if npc:FindFirstChild("Humanoid") and npc.Humanoid.Health > 0 then
            if npc.Name:find("NPC") or npc.Name:find("Enemy") or npc:FindFirstChild("IsNPC") then
                createESP(npc)
            end
        end
    end
end

-- Aimbot Functions
local function findBestTarget()
    local camera = workspace.CurrentCamera
    local bestTarget = nil
    local bestDistance = math.huge
    
    for _, npc in pairs(workspace:GetChildren()) do
        local humanoid = npc:FindFirstChild("Humanoid")
        local rootPart = npc:FindFirstChild("HumanoidRootPart")
        
        if humanoid and humanoid.Health > 0 and rootPart then
            local screenPoint, onScreen = camera:WorldToViewportPoint(rootPart.Position)
            
            if onScreen then
                local mousePos = Vector2.new(mouse.X, mouse.Y)
                local targetPos = Vector2.new(screenPoint.X, screenPoint.Y)
                local distance = (mousePos - targetPos).Magnitude
                
                if distance < bestDistance and distance < 300 then
                    bestDistance = distance
                    bestTarget = npc
                end
            end
        end
    end
    
    return bestTarget
end

local function aimAtTarget(target)
    if not target or not hacks.aimbot then return end
    
    local camera = workspace.CurrentCamera
    local rootPart = target:FindFirstChild("HumanoidRootPart")
    
    if rootPart then
        local screenPoint = camera:WorldToViewportPoint(rootPart.Position)
        mouse.TargetFilter = target
        mousemoveconnection = game:GetService("RunService").RenderStepped:Connect(function()
            if hacks.aimbot and rootPart then
                mousemoveconnection:Disconnect()
                mousemoveconnection = nil
            end
        end)
    end
end

-- Toggle hack function
local function toggleHack(hackName)
    if hackName == "aimbot" then
        hacks.aimbot = not hacks.aimbot
        screenGui.HackMenu.AimbotButton.Text = "Aimbot [ Q ]: " .. (hacks.aimbot and "ON" or "OFF")
        
        if hacks.aimbot then
            currentTarget = findBestTarget()
        end
    elseif hackName == "esp" then
        hacks.esp = not hacks.esp
        screenGui.HackMenu.ESPButton.Text = "ESP [ E ]: " .. (hacks.esp and "ON" or "OFF")
        updateESP()
    elseif hackName == "speedhack" then
        hacks.speed = not hacks.speed
        screenGui.HackMenu.SpeedHackButton.Text = "Speed Hack [ R ]: " .. (hacks.speed and "ON" or "OFF")
        
        if player.Character and player.Character:FindFirstChild("Humanoid") then
            player.Character.Humanoid.WalkSpeed = hacks.speed and 50 or 16
        end
    elseif hackName == "noclip" then
        hacks.noclip = not hacks.noclip
        screenGui.HackMenu.NoClipButton.Text = "NoClip [ T ]: " .. (hacks.noclip and "ON" or "OFF")
    elseif hackName == "teleport" then
        local target = findBestTarget()
        if target and target:FindFirstChild("HumanoidRootPart") then
            if player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
                player.Character.HumanoidRootPart.CFrame = target.HumanoidRootPart.CFrame * CFrame.new(0, 0, -10)
            end
        end
    elseif hackName == "godmode" then
        if player.Character and player.Character:FindFirstChild("Humanoid") then
            player.Character.Humanoid.MaxHealth = math.huge
            player.Character.Humanoid.Health = math.huge
        end
    end
end

-- Key binds
UserInputService.InputBegan:Connect(function(input, gameProcessed)
    if gameProcessed then return end
    
    if input.KeyCode == Enum.KeyCode.Q then
        toggleHack("aimbot")
    elseif input.KeyCode == Enum.KeyCode.E then
        toggleHack("esp")
    elseif input.KeyCode == Enum.KeyCode.R then
        toggleHack("speedhack")
    elseif input.KeyCode == Enum.KeyCode.T then
        toggleHack("noclip")
    elseif input.KeyCode == Enum.KeyCode.Y then
        toggleHack("teleport")
    elseif input.KeyCode == Enum.KeyCode.U then
        toggleHack("godmode")
    end
end)

-- Main update loop
RunService.RenderStepped:Connect(function()
    -- Update ESP
    if hacks.esp then
        updateESP()
    end
    
    -- Update aimbot
    if hacks.aimbot then
        currentTarget = findBestTarget()
        if currentTarget then
            aimAtTarget(currentTarget)
        end
    end
    
    -- NoClip
    if hacks.noclip and player.Character then
        for _, part in pairs(player.Character:GetDescendants()) do
            if part:IsA("BasePart") then
                part.CanCollide = false
            end
        end
    end
end)

-- Clean up when character dies
player.CharacterAdded:Connect(function()
    if hacks.speed then
        wait(1)
        if player.Character and player.Character:FindFirstChild("Humanoid") then
            player.Character.Humanoid.WalkSpeed = 50
        end
    end
end)

print("Hack System Loaded! Use Q/E/R/T/Y/U keys or click buttons")

Features & Information

aimbot

Community Comments (1)

MaRiObmw745MaRiObmw745Dec 11, 2025

rip

More Scripts for Universal Scripts