Back to Scripts
aimbot and esp

aimbot and esp

ScriptBlox
Universal Free

Game: Universal Script 📌

111 Views
0 Likes
0 Dislikes
legit_test

legit_test

offline

Features

really accurate aimbot and have esp (updated)

Script Code

- Roblox Aimbot and ESP Script (Keyless)

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

-- Settings
local AimbotEnabled = true
local AimFOV = 100 -- Field of View for aimbot targeting
local AimSmoothness = 0.2 -- How smooth the aim moves (0 = instant)
local ESPEnabled = true

-- Create a ScreenGui for ESP
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "ESP"
ScreenGui.Parent = game.CoreGui

-- Table to hold ESP boxes
local ESPBoxes = {}

-- Function to create ESP box
local function createESPBox(player)
    local box = Instance.new("Frame")
    box.Name = player.Name .. "_ESPBox"
    box.BackgroundColor3 = Color3.new(1, 0, 0)
    box.BorderColor3 = Color3.new(1, 1, 1)
    box.BorderSizePixel = 1
    box.ZIndex = 10
    box.Visible = false
    box.Parent = ScreenGui
    return box
end

-- Get closest target to mouse within FOV
local function getClosestTarget()
    local closestPlayer = nil
    local shortestDistance = AimFOV

    local mousePos = UserInputService:GetMouseLocation()

    for _, player in pairs(Players:GetPlayers()) do
        if player ~= LocalPlayer and player.Character and player.Character:FindFirstChild("Humanoid") and player.Character.Humanoid.Health > 0 then
            local head = player.Character:FindFirstChild("Head")
            if head then
                local screenPos, onScreen = Camera:WorldToViewportPoint(head.Position)
                if onScreen then
                    local dist = (Vector2.new(screenPos.X, screenPos.Y) - Vector2.new(mousePos.X, mousePos.Y)).Magnitude
                    if dist < shortestDistance then
                        shortestDistance = dist
                        closestPlayer = player
                    end
                end
            end
        end
    end

    return closestPlayer
end

-- Smoothly move mouse to target position
local function aimAtPosition(pos)
    local mouse = LocalPlayer:GetMouse()
    local screenPos, onScreen = Camera:WorldToViewportPoint(pos)
    if onScreen then
        local mousePos = UserInputService:GetMouseLocation()
        local delta = Vector2.new(screenPos.X, screenPos.Y) - Vector2.new(mousePos.X, mousePos.Y)
        local move = delta * AimSmoothness
        local newPos = Vector2.new(mousePos.X, mousePos.Y) + move
        -- Move mouse using VirtualInputManager (works in Roblox Studio)
        local VirtualInputManager = game:GetService("VirtualInputManager")
        VirtualInputManager:SendMouseMoveEvent(newPos.X, newPos.Y)
    end
end

-- Update ESP boxes
local function updateESP()
    for _, player in pairs(Players:GetPlayers()) do
        if player ~= LocalPlayer and player.Character and player.Character:FindFirstChild("Humanoid") and player.Character.Humanoid.Health > 0 then
            local head = player.Character:FindFirstChild("Head")
            local root = player.Character:FindFirstChild("HumanoidRootPart")
            if head and root then
                local screenPos, onScreen = Camera:WorldToViewportPoint(root.Position)
                if onScreen then
                    local box = ESPBoxes[player]
                    if not box then
                        box = createESPBox(player)
                        ESPBoxes[player] = box
                    end
                    local size = 1000 / screenPos.Z
                    box.Size = UDim2.new(0, size, 0, size * 2)
                    box.Position = UDim2.new(0, screenPos.X - size / 2, 0, screenPos.Y - size)
                    box.Visible = ESPEnabled
                elseif ESPBoxes[player] then
                    ESPBoxes[player].Visible = false
                end
            elseif ESPBoxes[player] then
                ESPBoxes[player].Visible = false
            end
        elseif ESPBoxes[player] then
            ESPBoxes[player].Visible = false
        end
    end
end

-- Main loop
RunService.RenderStepped:Connect(function()
    if AimbotEnabled then
        local target = getClosestTarget()
        if target and target.Character then
            local head = target.Character:FindFirstChild("Head")
            if head then
                aimAtPosition(head.Position)
            end
        end
    end

    if ESPEnabled then
        updateESP()
    end
end)

Ratings & Reviews

No reviews yet. Be the first to review this script!

Comments (0)

Please login to comment

Login with Discord

Loading comments...