--// Cache
local loadstring, game, getgenv, setclipboard =
    loadstring, game, getgenv, setclipboard

--// Prevent double load
if getgenv().Aimbot then return end

--// Load xaintybot v1
loadstring(game:HttpGet(
    "https://[Log in to view URL]"
))()

--// Aimbot variables
local Aimbot = getgenv().Aimbot
local Settings = Aimbot.Settings
local FOVSettings = Aimbot.FOVSettings
local Functions = Aimbot.Functions

--// UI Library
local Library =
    loadstring(game:GetObjects("rbxassetid://7657867786")[1].Source)()

--// Body parts
local Parts = {
    "Head","HumanoidRootPart","Torso",
    "Left Arm","Right Arm","Left Leg","Right Leg",
    "LeftHand","RightHand",
    "LeftLowerArm","RightLowerArm",
    "LeftUpperArm","RightUpperArm",
    "LeftFoot","RightFoot",
    "LeftLowerLeg","RightLowerLeg",
    "LeftUpperLeg","RightUpperLeg",
    "UpperTorso","LowerTorso"
}

--// Window
Library.UnloadCallback = Functions.Exit

local MainFrame = Library:CreateWindow({
    Name = "Aimbot V2",
    Themeable = {
        Image = "7059346386",
        Info = "Exunys Aimbot V2\nESP Added",
        Credit = false
    },
    Background = ""
})

--// Tabs
local SettingsTab  = MainFrame:CreateTab({ Name = "Settings" })
local FOVTab       = MainFrame:CreateTab({ Name = "FOV Settings" })
local FunctionsTab = MainFrame:CreateTab({ Name = "Functions" })
local ESPTab       = MainFrame:CreateTab({ Name = "ESP" })

--------------------------------------------------
-- SETTINGS TAB (FULL)
--------------------------------------------------
local Values = SettingsTab:CreateSection({ Name = "Values" })
local Checks = SettingsTab:CreateSection({ Name = "Checks" })
local ThirdP = SettingsTab:CreateSection({ Name = "Third Person" })

Values:AddToggle({
    Name = "Enabled",
    Value = Settings.Enabled,
    Callback = function(v) Settings.Enabled = v end
}).Default = Settings.Enabled

Values:AddToggle({
    Name = "Toggle Mode",
    Value = Settings.Toggle,
    Callback = function(v) Settings.Toggle = v end
}).Default = Settings.Toggle

Settings.LockPart = Parts[1]
Values:AddDropdown({
    Name = "Lock Part",
    List = Parts,
    Value = Parts[1],
    Callback = function(v) Settings.LockPart = v end
}).Default = Parts[1]

Values:AddTextbox({
    Name = "Hotkey",
    Value = Settings.TriggerKey,
    Callback = function(v) Settings.TriggerKey = v end
}).Default = Settings.TriggerKey

Values:AddSlider({
    Name = "Sensitivity",
    Min = 0,
    Max = 1,
    Decimals = 2,
    Value = Settings.Sensitivity,
    Callback = function(v) Settings.Sensitivity = v end
}).Default = Settings.Sensitivity

Checks:AddToggle({
    Name = "Team Check",
    Value = Settings.TeamCheck,
    Callback = function(v) Settings.TeamCheck = v end
}).Default = Settings.TeamCheck

Checks:AddToggle({
    Name = "Wall Check",
    Value = Settings.WallCheck,
    Callback = function(v) Settings.WallCheck = v end
}).Default = Settings.WallCheck

Checks:AddToggle({
    Name = "Alive Check",
    Value = Settings.AliveCheck,
    Callback = function(v) Settings.AliveCheck = v end
}).Default = Settings.AliveCheck

ThirdP:AddToggle({
    Name = "Enable Third Person",
    Value = Settings.ThirdPerson,
    Callback = function(v) Settings.ThirdPerson = v end
}).Default = Settings.ThirdPerson

ThirdP:AddSlider({
    Name = "Third Person Sensitivity",
    Min = 0.1,
    Max = 5,
    Decimals = 1,
    Value = Settings.ThirdPersonSensitivity,
    Callback = function(v) Settings.ThirdPersonSensitivity = v end
}).Default = Settings.ThirdPersonSensitivity

--------------------------------------------------
-- FOV TAB (FULL)
--------------------------------------------------
local FOVValues = FOVTab:CreateSection({ Name = "Values" })
local FOVLook   = FOVTab:CreateSection({ Name = "Appearance" })

FOVValues:AddToggle({
    Name = "Enabled",
    Value = FOVSettings.Enabled,
    Callback = function(v) FOVSettings.Enabled = v end
}).Default = FOVSettings.Enabled

FOVValues:AddToggle({
    Name = "Visible",
    Value = FOVSettings.Visible,
    Callback = function(v) FOVSettings.Visible = v end
}).Default = FOVSettings.Visible

FOVValues:AddSlider({
    Name = "Radius",
    Min = 10,
    Max = 300,
    Value = FOVSettings.Amount,
    Callback = function(v) FOVSettings.Amount = v end
}).Default = FOVSettings.Amount

FOVLook:AddToggle({
    Name = "Filled",
    Value = FOVSettings.Filled,
    Callback = function(v) FOVSettings.Filled = v end
}).Default = FOVSettings.Filled

FOVLook:AddSlider({
    Name = "Transparency",
    Min = 0,
    Max = 1,
    Decimals = 1,
    Value = FOVSettings.Transparency,
    Callback = function(v) FOVSettings.Transparency = v end
}).Default = FOVSettings.Transparency

FOVLook:AddSlider({
    Name = "Sides",
    Min = 3,
    Max = 60,
    Value = FOVSettings.Sides,
    Callback = function(v) FOVSettings.Sides = v end
}).Default = FOVSettings.Sides

FOVLook:AddSlider({
    Name = "Thickness",
    Min = 1,
    Max = 50,
    Value = FOVSettings.Thickness,
    Callback = function(v) FOVSettings.Thickness = v end
}).Default = FOVSettings.Thickness

FOVLook:AddColorpicker({
    Name = "Color",
    Value = FOVSettings.Color,
    Callback = function(v) FOVSettings.Color = v end
}).Default = FOVSettings.Color

FOVLook:AddColorpicker({
    Name = "Locked Color",
    Value = FOVSettings.LockedColor,
    Callback = function(v) FOVSettings.LockedColor = v end
}).Default = FOVSettings.LockedColor

--------------------------------------------------
-- FUNCTIONS TAB
--------------------------------------------------
local FuncSec = FunctionsTab:CreateSection({ Name = "Functions" })

FuncSec:AddButton({
    Name = "Reset Settings",
    Callback = function()
        Functions.ResetSettings()
        Library.ResetAll()
    end
})

FuncSec:AddButton({
    Name = "Restart",
    Callback = Functions.Restart
})

FuncSec:AddButton({
    Name = "Exit",
    Callback = function()
        Functions:Exit()
        Library.Unload()
    end
})

--------------------------------------------------
-- ESP TAB (TEAM CHECK + INSTANT DEATH FIX)
--------------------------------------------------
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local CoreGui = game:GetService("CoreGui")
local Camera = workspace.CurrentCamera
local LocalPlayer = Players.LocalPlayer

local ESPSettings = {
    Enabled = true,
    Boxes = true,
    Names = true,
    Healthbar = true,
    TeamCheck = true
}

local ESPSection = ESPTab:CreateSection({ Name = "Visuals" })

ESPSection:AddToggle({
    Name = "Enable ESP",
    Value = ESPSettings.Enabled,
    Callback = function(v) ESPSettings.Enabled = v end
}).Default = ESPSettings.Enabled

ESPSection:AddToggle({
    Name = "Boxes",
    Value = ESPSettings.Boxes,
    Callback = function(v) ESPSettings.Boxes = v end
}).Default = ESPSettings.Boxes

ESPSection:AddToggle({
    Name = "Names",
    Value = ESPSettings.Names,
    Callback = function(v) ESPSettings.Names = v end
}).Default = ESPSettings.Names

ESPSection:AddToggle({
    Name = "Healthbar",
    Value = ESPSettings.Healthbar,
    Callback = function(v) ESPSettings.Healthbar = v end
}).Default = ESPSettings.Healthbar

ESPSection:AddToggle({
    Name = "Team Check",
    Value = ESPSettings.TeamCheck,
    Callback = function(v) ESPSettings.TeamCheck = v end
}).Default = ESPSettings.TeamCheck

-- ESP GUI
local gui = Instance.new("ScreenGui", CoreGui)
gui.Name = "ESP_GUI"
gui.IgnoreGuiInset = true
gui.ResetOnSpawn = false

local function getBox(model)
    local cf, size = model:GetBoundingBox()
    local minX,minY,maxX,maxY = math.huge,math.huge,-math.huge,-math.huge
    local visible = false

    for x=-1,1,2 do for y=-1,1,2 do for z=-1,1,2 do
        local p = cf * CFrame.new(size.X*x/2,size.Y*y/2,size.Z*z/2)
        local v,on = Camera:WorldToViewportPoint(p.Position)
        if on then
            visible = true
            minX = math.min(minX,v.X)
            minY = math.min(minY,v.Y)
            maxX = math.max(maxX,v.X)
            maxY = math.max(maxY,v.Y)
        end
    end end end

    if not visible then return end
    return Vector2.new(minX,minY), Vector2.new(maxX-minX,maxY-minY)
end

local function createESP(plr)
    if plr == LocalPlayer then return end

    local f = Instance.new("Folder", gui)
    f.Name = plr.Name

    local box = Instance.new("Frame", f)
    box.BackgroundColor3 = Color3.new(1,1,1)
    box.BackgroundTransparency = 0.7
    box.BorderSizePixel = 0

    local name = Instance.new("TextLabel", f)
    name.BackgroundTransparency = 1
    name.TextColor3 = Color3.new(1,1,1)
    name.Font = Enum.Font.SourceSansBold
    name.TextSize = 12

    local hbBack = Instance.new("Frame", f)
    hbBack.BackgroundColor3 = Color3.new(0,0,0)

    local hb = Instance.new("Frame", hbBack)
    hb.BackgroundColor3 = Color3.fromRGB(0,255,0)
    hb.AnchorPoint = Vector2.new(0,1)
    hb.Position = UDim2.new(0,0,1,0)

    RunService.RenderStepped:Connect(function()
        if not ESPSettings.Enabled then
            box.Visible = false
            name.Visible = false
            hbBack.Visible = false
            return
        end

        local char = plr.Character
        local hum = char and char:FindFirstChildOfClass("Humanoid")
        local root = char and char:FindFirstChild("HumanoidRootPart")

        if not char or not hum or hum.Health <= 0 or not root then
            box.Visible = false
            name.Visible = false
            hbBack.Visible = false
            return
        end

        if ESPSettings.TeamCheck
            and plr.Team
            and LocalPlayer.Team
            and plr.Team == LocalPlayer.Team then
            box.Visible = false
            name.Visible = false
            hbBack.Visible = false
            return
        end

        local pos,size = getBox(char)
        if not pos then
            box.Visible = false
            name.Visible = false
            hbBack.Visible = false
            return
        end

        box.Visible = ESPSettings.Boxes
        box.Position = UDim2.new(0,pos.X,0,pos.Y)
        box.Size = UDim2.new(0,size.X,0,size.Y)

        local dist = math.floor((Camera.CFrame.Position-root.Position).Magnitude)
        name.Visible = ESPSettings.Names
        name.Text = plr.DisplayName.." ["..dist.."]"
        name.Position = UDim2.new(0,pos.X,0,pos.Y-14)
        name.Size = UDim2.new(0,size.X,0,14)

        hbBack.Visible = ESPSettings.Healthbar
        hbBack.Position = UDim2.new(0,pos.X-6,0,pos.Y)
        hbBack.Size = UDim2.new(0,2,0,size.Y)

        hb.Size = UDim2.new(1,0,math.clamp(hum.Health/hum.MaxHealth,0,1),0)
    end)
end

for _,p in ipairs(Players:GetPlayers()) do createESP(p) end
Players.PlayerAdded:Connect(createESP)
Players.PlayerRemoving:Connect(function(p)
    local f = gui:FindFirstChild(p.Name)
    if f then f:Destroy() end
end)

Embed on website

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