Aimbot
Key RequiredUniversal

Aimbot

Universal Scriptneonlitsea8neonlitsea8 2.8K views 47 executesUpdated Feb 10, 2025
1.7/ 5(3 votes)
1233% Positive
Lua Script•199 lines (6944 chars)
-- Camera Snap to Nearest Player Script with UI for Lock Mode Selection, Background, Minimize, and Close Buttons
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UIS = game:GetService("UserInputService")
local localPlayer = Players.LocalPlayer
local camera = game.Workspace.CurrentCamera
local enabled = false -- Toggle state
local lockedTarget = nil -- Stores the locked-on player
local lockMode = "Nearest" -- Default lock mode ("Nearest" or "Camera")

-- Create UI
local screenGui = Instance.new("ScreenGui")
screenGui.Parent = localPlayer:FindFirstChildOfClass("PlayerGui")

-- Background frame for the UI
local backgroundFrame = Instance.new("Frame")
backgroundFrame.Size = UDim2.new(0, 200, 0, 100)
backgroundFrame.Position = UDim2.new(0, 10, 0, 10)
backgroundFrame.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
backgroundFrame.BackgroundTransparency = 0.5
backgroundFrame.Parent = screenGui

-- Header bar for dragging the UI
local dragBar = Instance.new("Frame")
dragBar.Size = UDim2.new(1, 0, 0, 30)  -- Full width, 30px height
dragBar.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
dragBar.Parent = backgroundFrame

-- Close Button (X)
local closeButton = Instance.new("TextButton")
closeButton.Size = UDim2.new(0, 30, 0, 30)
closeButton.Position = UDim2.new(1, -35, 0, 5)
closeButton.Text = "X"
closeButton.TextColor3 = Color3.fromRGB(255, 255, 255)
closeButton.BackgroundTransparency = 1
closeButton.Parent = dragBar

-- Minimize Button (-)
local minimizeButton = Instance.new("TextButton")
minimizeButton.Size = UDim2.new(0, 30, 0, 30)
minimizeButton.Position = UDim2.new(1, -70, 0, 5)
minimizeButton.Text = "-"
minimizeButton.TextColor3 = Color3.fromRGB(255, 255, 255)
minimizeButton.BackgroundTransparency = 1
minimizeButton.Parent = dragBar

-- Minimize Button functionality
local minimized = false
local minimizeButtonClicked = false

local minimizeIcon = Instance.new("TextButton")
minimizeIcon.Size = UDim2.new(0, 30, 0, 30)
minimizeIcon.Position = UDim2.new(0, 10, 0, 10)
minimizeIcon.Text = "+"
minimizeIcon.TextColor3 = Color3.fromRGB(255, 255, 255)
minimizeIcon.BackgroundTransparency = 1
minimizeIcon.Visible = false
minimizeIcon.Parent = screenGui

minimizeButton.MouseButton1Click:Connect(function()
    if minimized then
        backgroundFrame.Visible = true
        minimizeIcon.Visible = false
    else
        backgroundFrame.Visible = false
        minimizeIcon.Visible = true
    end
    minimized = not minimized
end)

minimizeIcon.MouseButton1Click:Connect(function()
    backgroundFrame.Visible = true
    minimizeIcon.Visible = false
    minimized = false
end)

-- Lock Mode Dropdown button
local lockModeDropdown = Instance.new("TextButton")
lockModeDropdown.Size = UDim2.new(0, 180, 0, 50)
lockModeDropdown.Position = UDim2.new(0, 10, 0, 40)
lockModeDropdown.Text = "Lock Mode: Nearest"
lockModeDropdown.TextColor3 = Color3.fromRGB(255, 255, 255)
lockModeDropdown.Parent = backgroundFrame

local function getNearestPlayerToCenter()
    local nearestPlayer = nil
    local nearestDistance = math.huge
    local screenCenter = Vector2.new(camera.ViewportSize.X / 2, camera.ViewportSize.Y / 2)
    
    for _, player in ipairs(Players:GetPlayers()) do
        if player ~= localPlayer and player.Character and player.Character:FindFirstChild("Head") then
            local part = player.Character["Head"]
            local screenPoint, onScreen = camera:WorldToViewportPoint(part.Position)
            
            if onScreen then
                local distance = (Vector2.new(screenPoint.X, screenPoint.Y) - screenCenter).Magnitude
                if distance < nearestDistance then
                    nearestDistance = distance
                    nearestPlayer = part
                end
            end
        end
    end
    
    return nearestPlayer
end

local function getNearestPlayerToMe()
    local nearestPlayer = nil
    local nearestDistance = math.huge
    
    for _, player in ipairs(Players:GetPlayers()) do
        if player ~= localPlayer and player.Character and player.Character:FindFirstChild("Head") then
            local part = player.Character["Head"]
            local distance = (localPlayer.Character.HumanoidRootPart.Position - part.Position).Magnitude
            if distance < nearestDistance then
                nearestDistance = distance
                nearestPlayer = part
            end
        end
    end
    
    return nearestPlayer
end

local function snapCameraToTarget()
    if enabled then
        if lockMode == "Nearest" then
            -- Lock to nearest player to the local player
            lockedTarget = getNearestPlayerToMe()
            if lockedTarget then
                camera.CFrame = CFrame.new(camera.CFrame.Position, lockedTarget.Position)
            end
        elseif lockMode == "Camera" then
            -- Lock to nearest player to the center of the screen
            if lockedTarget == nil then
                lockedTarget = getNearestPlayerToCenter() -- Lock on first time when camera mode is selected
            end
            if lockedTarget then
                camera.CFrame = CFrame.new(camera.CFrame.Position, lockedTarget.Position)
            end
        end
    end
end

-- Lock Mode selection functionality
lockModeDropdown.MouseButton1Click:Connect(function()
    -- Toggle between "Nearest" and "Camera"
    if lockMode == "Nearest" then
        lockMode = "Camera"
        lockModeDropdown.Text = "Lock Mode: Camera"
    else
        lockMode = "Nearest"
        lockModeDropdown.Text = "Lock Mode: Nearest"
        lockedTarget = nil -- Reset locked target when switching to Nearest
    end
end)

-- Draggable UI logic
local dragging = false
local dragStart = nil
local startPos = nil

dragBar.InputBegan:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 then
        dragging = true
        dragStart = input.Position
        startPos = backgroundFrame.Position
    end
end)

dragBar.InputChanged:Connect(function(input)
    if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
        local delta = input.Position - dragStart
        backgroundFrame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
    end
end)

dragBar.InputEnded:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 then
        dragging = false
    end
end)

-- Close button behavior (X)
closeButton.MouseButton1Click:Connect(function()
    screenGui:Destroy() -- Close the entire script/UI
end)

UIS.InputBegan:Connect(function(input, gameProcessed)
    if not gameProcessed and input.KeyCode == Enum.KeyCode.T then -- Toggle with 'T'
        enabled = not enabled
        if not enabled then
            lockedTarget = nil -- Release lock when toggling off
        end
    end
end)

RunService.RenderStepped:Connect(snapCameraToTarget)

Features & Information

t to lock (AI)

Community Comments (1)

neonlitsea8neonlitsea8Feb 10, 2025(edited)

Patch (1.1)

More Scripts for Universal Scripts