-- Ultimate Aimbot Script with Wallhack and UI

-- Settings
local SETTINGS = {
    TARGET_RANGE = 200, -- Range within which to search for targets
    AIM_SMOOTHNESS = 0.3, -- How smoothly the aim adjusts
    LEAD_TIME = 0.15, -- Time in seconds to lead the target for prediction
    PRIORITIZE_LOW_HEALTH = true, -- Prioritize targets with low health
    TARGET_PART = "Head", -- Part of the target to aim at
    UPDATE_INTERVAL = 0.01, -- Time between each aim adjustment
    WALLHACK_ENABLED = true, -- Enable wallhack functionality
    WALLHACK_TRANSPARENCY = 0.7, -- Transparency level for wallhack
    FOV = 120 -- Field of view for aimbot targeting
}

-- Services
local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")

-- Variables
local localPlayer = Players.LocalPlayer
local camera = Workspace.CurrentCamera
local aimbotEnabled = false

-- Utility Functions

local function calculateDistance(vec1, vec2)
    return (vec2 - vec1).Magnitude
end

local function predictTargetPosition(target, leadTime)
    local part = target:FindFirstChild(SETTINGS.TARGET_PART) or target.PrimaryPart
    if part then
        local velocity = part.AssemblyLinearVelocity
        return part.Position + velocity * leadTime
    end
    return target.Position
end

local function smoothAim(currentCFrame, targetCFrame, smoothness)
    return currentCFrame:Lerp(targetCFrame, smoothness)
end

local function aimAtTarget(target)
    local playerPos = localPlayer.Character.Head.Position
    local targetPos = predictTargetPosition(target, SETTINGS.LEAD_TIME)
    local aimDirection = (targetPos - playerPos).unit
    local targetCFrame = CFrame.new(camera.CFrame.Position, camera.CFrame.Position + aimDirection)

    -- Smoothly adjust the camera's CFrame
    camera.CFrame = smoothAim(camera.CFrame, targetCFrame, SETTINGS.AIM_SMOOTHNESS)
end

local function applyWallhack(target)
    if SETTINGS.WALLHACK_ENABLED then
        for _, part in pairs(target:GetChildren()) do
            if part:IsA("BasePart") then
                part.Transparency = SETTINGS.WALLHACK_TRANSPARENCY
                part.CanCollide = false
            end
        end
    end
end

local function findTargetsInRange()
    local targets = {}
    for _, obj in ipairs(Workspace:GetChildren()) do
        if obj:IsA("Model") and obj:FindFirstChild("Humanoid") and obj ~= localPlayer.Character then
            table.insert(targets, obj)
        end
    end
    return targets
end

local function prioritizeTargets(targets)
    local prioritizedTarget = nil
    local shortestDistance = SETTINGS.TARGET_RANGE

    for _, target in pairs(targets) do
        local humanoid = target:FindFirstChild("Humanoid")
        if humanoid then
            local targetDistance = calculateDistance(localPlayer.Character.Head.Position, target.PrimaryPart.Position)
            if SETTINGS.PRIORITIZE_LOW_HEALTH and humanoid.Health < humanoid.MaxHealth then
                return target
            elseif targetDistance < shortestDistance then
                prioritizedTarget = target
                shortestDistance = targetDistance
            end
        end
    end

    return prioritizedTarget
end

local function main()
    RunService.RenderStepped:Connect(function()
        if aimbotEnabled then
            local targets = findTargetsInRange()
            local target = prioritizeTargets(targets)

            if target then
                aimAtTarget(target)
                applyWallhack(target)
            end
        end
    end)
end

main()

-- UI Setup
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Parent = game.Players.LocalPlayer:WaitForChild("PlayerGui")

local Frame = Instance.new("Frame")
Frame.Size = UDim2.new(0, 300, 0, 150)
Frame.Position = UDim2.new(0, 50, 0, 50)
Frame.BackgroundTransparency = 0.5
Frame.Parent = ScreenGui

local Title = Instance.new("TextLabel")
Title.Text = "Aimbot Settings"
Title.Size = UDim2.new(1, 0, 0, 50)
Title.BackgroundTransparency = 1
Title.TextScaled = true
Title.Parent = Frame

local ToggleButton = Instance.new("TextButton")
ToggleButton.Text = "Toggle Aimbot"
ToggleButton.Size = UDim2.new(0, 200, 0, 50)
ToggleButton.Position = UDim2.new(0, 50, 0, 60)
ToggleButton.TextScaled = true
ToggleButton.Parent = Frame

ToggleButton.MouseButton1Click:Connect(function()
    aimbotEnabled = not aimbotEnabled
    ToggleButton.Text = aimbotEnabled and "Aimbot ON" or "Aimbot OFF"
end)

-- Keybind to toggle aimbot
UserInputService.InputBegan:Connect(function(input)
    if input.KeyCode == Enum.KeyCode.E then
        aimbotEnabled = not aimbotEnabled
        ToggleButton.Text = aimbotEnabled and "Aimbot ON" or "Aimbot OFF"
    end
end)
print 'hello world!'

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: