XPLOIT HUb
Key RequiredUniversal

XPLOIT HUb

Universal ScriptThescripter1234Thescripter1234 477 views 1.6K executesUpdated Oct 2, 2026
Unrated
00
Lua Script•612 lines (24869 chars)
-- XploitHub.lua -- merged ESP + Aimbot with XPLOIT-style clean UI
-- ESP: Boxes / Tracers / Names / Distance / Health / Chams (Highlight)
-- Aim: hold-RMB camera lock with FOV + silent-aim helper for YOUR OWN tools
-- Use only in your own games / Studio testing. Live exploiting = ban.
-- Execute: copy entire file into executor -> Execute

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local Workspace = game:GetService("Workspace")
local UserInputService = game:GetService("UserInputService")
local LocalPlayer = Players.LocalPlayer
assert(LocalPlayer, "[XPLOIT] No LocalPlayer - run as client")
local Camera = Workspace.CurrentCamera

local Settings = {
    -- ESP
    ESPEnabled = true,
    Boxes = true,
    Tracers = false,
    Names = true,
    Distance = true,
    HealthBar = true,
    HealthText = false,
    Chams = true,
    -- Aim
    AimbotEnabled = false, -- hold RMB to lock
    SilentAimEnabled = false,
    ShowFOV = true,
    WallCheck = true,
    -- Shared
    TeamCheck = true,
    ShowTeamColors = true,
    FOV = 120,
    Smoothing = 8,
    TargetPart = "Head", -- Head | HumanoidRootPart | Closest
    Prediction = 0,      -- 0 .. 0.30
    SilentHitChance = 100,
    MaxDistance = 2000,  -- 0 = infinite
    AimKey = Enum.UserInputType.MouseButton2,
    BoxColor = Color3.fromRGB(255, 50, 50),
    FriendlyColor = Color3.fromRGB(50, 255, 100),
}

local hasDrawing = typeof(Drawing) == "table" and typeof(Drawing.new) == "function"
local RED = Color3.fromRGB(220, 45, 55)
local BG = Color3.fromRGB(15, 15, 20)
local PANEL = Color3.fromRGB(24, 24, 32)
local DIM = Color3.fromRGB(175, 175, 190)
local BRIGHT = Color3.fromRGB(235, 235, 245)

--// parent
local function getParent()
    local ok, h = pcall(function()
        if typeof(gethui) == "function" then return gethui() end
        if typeof(get_hidden_gui) == "function" then return get_hidden_gui() end
        return nil
    end)
    if ok and h then return h end
    return LocalPlayer:WaitForChild("PlayerGui", 10)
end
local Parent = getParent()
assert(Parent, "[XPLOIT] no parent GUI found")
pcall(function() Parent:FindFirstChild("XploitHub"):Destroy() end)

local function new(class, props, parent)
    local o = Instance.new(class)
    for k, v in pairs(props or {}) do pcall(function() o[k] = v end) end
    o.Parent = parent
    return o
end

local gui = new("ScreenGui", {
    Name = "XploitHub", ResetOnSpawn = false,
    IgnoreGuiInset = true, DisplayOrder = 999,
    ZIndexBehavior = Enum.ZIndexBehavior.Sibling,
}, Parent)
if typeof(protect_gui) == "function" then pcall(protect_gui, gui) end

--// main window (XPLOIT look: dark, red title, 2 columns)
local main = new("Frame", {
    Name = "Main", Size = UDim2.fromOffset(440, 430),
    Position = UDim2.new(0.5, -220, 0.5, -215),
    BackgroundColor3 = BG, Active = true,
}, gui)
new("UICorner", { CornerRadius = UDim.new(0, 8) }, main)
new("UIStroke", { Thickness = 1, Color = Color3.fromRGB(60, 20, 25), Transparency = 0.1 }, main)

local titleBar = new("Frame", {
    Size = UDim2.new(1, 0, 0, 34), BackgroundTransparency = 1,
}, main)
local title = new("TextLabel", {
    Size = UDim2.fromScale(1, 1), BackgroundTransparency = 1,
    Text = "XPLOIT", Font = Enum.Font.GothamBlack, TextSize = 15,
    TextColor3 = RED,
}, titleBar)
new("Frame", { -- red divider under title
    Size = UDim2.new(1, -24, 0, 1), Position = UDim2.fromOffset(12, 33),
    BackgroundColor3 = RED, BorderSizePixel = 0, BackgroundTransparency = 0.35,
}, titleBar)
local minBtn = new("TextButton", {
    Size = UDim2.fromOffset(26, 22), Position = UDim2.new(1, -32, 0, 6),
    BackgroundColor3 = PANEL, Text = "-", Font = Enum.Font.GothamBold, TextSize = 14,
    TextColor3 = BRIGHT, AutoButtonColor = true,
}, titleBar)
new("UICorner", { CornerRadius = UDim.new(0, 6) }, minBtn)

local cols = new("Frame", {
    Size = UDim2.new(1, -24, 1, -88), Position = UDim2.fromOffset(12, 40),
    BackgroundTransparency = 1,
}, main)
local left = new("ScrollingFrame", {
    Size = UDim2.fromScale(0.5, 1), BackgroundTransparency = 1,
    ScrollBarThickness = 3, AutomaticCanvasSize = Enum.AutomaticSize.Y,
    CanvasSize = UDim2.fromScale(0, 0),
}, cols)
new("UIListLayout", { Padding = UDim.new(0, 6), SortOrder = Enum.SortOrder.LayoutOrder }, left)
new("UIPadding", { PaddingRight = UDim.new(0, 6) }, left)
local right = new("ScrollingFrame", {
    Size = UDim2.fromScale(0.5, 1), Position = UDim2.fromScale(0.5, 0),
    BackgroundTransparency = 1,
    ScrollBarThickness = 3, AutomaticCanvasSize = Enum.AutomaticSize.Y,
    CanvasSize = UDim2.fromScale(0, 0),
}, cols)
new("UIListLayout", { Padding = UDim.new(0, 6), SortOrder = Enum.SortOrder.LayoutOrder }, right)
new("UIPadding", { PaddingLeft = UDim.new(0, 6) }, right)

local footer = new("Frame", {
    Size = UDim2.new(1, -24, 0, 40), Position = UDim2.new(0, 12, 1, -46),
    BackgroundTransparency = 1,
}, main)
local unloadBtn = new("TextButton", {
    Size = UDim2.fromScale(1, 0.62), BackgroundColor3 = Color3.fromRGB(90, 25, 30),
    Text = "Unload", Font = Enum.Font.GothamBold, TextSize = 12,
    TextColor3 = BRIGHT, AutoButtonColor = true,
}, footer)
new("UICorner", { CornerRadius = UDim.new(0, 6) }, unloadBtn)
local hint = new("TextLabel", {
    Size = UDim2.new(1, 0, 0, 14), Position = UDim2.fromScale(0, 0.66),
    BackgroundTransparency = 1, Text = "RightShift: UI  |  RMB hold: aim  |  Q: silent  |  Del: unload",
    Font = Enum.Font.Gotham, TextSize = 10, TextColor3 = DIM,
}, footer)

--// builders (match screenshot: red section header, dot toggles, - value + steppers)
local function section(parent, text)
    local s = new("TextLabel", {
        Size = UDim2.new(1, 0, 0, 18), BackgroundTransparency = 1,
        Text = text, Font = Enum.Font.GothamBold, TextSize = 11,
        TextXAlignment = Enum.TextXAlignment.Left,
        TextColor3 = RED,
    }, parent)
    new("Frame", {
        Size = UDim2.new(1, 0, 0, 1), Position = UDim2.fromScale(0, 1),
        BackgroundColor3 = RED, BorderSizePixel = 0, BackgroundTransparency = 0.6,
    }, s)
    return s
end

local function refreshToggle(btn, dot, label, on)
    btn.Text = "  •  " .. label
    dot.BackgroundColor3 = on and RED or Color3.fromRGB(70, 70, 85)
end

local function toggle(parent, label, key)
    local b = new("TextButton", {
        Size = UDim2.new(1, 0, 0, 20), BackgroundColor3 = PANEL,
        Font = Enum.Font.Gotham, TextSize = 11,
        TextXAlignment = Enum.TextXAlignment.Left,
        TextColor3 = BRIGHT, AutoButtonColor = true,
    }, parent)
    new("UICorner", { CornerRadius = UDim.new(0, 6) }, b)
    local dot = new("Frame", {
        Size = UDim2.fromOffset(7, 7), Position = UDim2.new(1, -16, 0.5, -3),
        BackgroundColor3 = Color3.fromRGB(70, 70, 85), BorderSizePixel = 0,
    }, b)
    new("UICorner", { CornerRadius = UDim.new(1, 0) }, dot)
    refreshToggle(b, dot, label, Settings[key])
    b.MouseButton1Click:Connect(function()
        Settings[key] = not Settings[key]
        refreshToggle(b, dot, label, Settings[key])
    end)
    return b
end

local function slider(parent, label, key, smin, smax, step, fmt)
    fmt = fmt or function(v) return tostring(v) end
    local row = new("Frame", {
        Size = UDim2.new(1, 0, 0, 20), BackgroundColor3 = PANEL,
    }, parent)
    new("UICorner", { CornerRadius = UDim.new(0, 6) }, row)
    new("TextLabel", {
        Size = UDim2.new(0.52, 0, 1, 0), Position = UDim2.fromOffset(8, 0),
        BackgroundTransparency = 1, Text = "  •  " .. label,
        Font = Enum.Font.Gotham, TextSize = 11,
        TextXAlignment = Enum.TextXAlignment.Left, TextColor3 = BRIGHT,
    }, row)
    local minus = new("TextButton", {
        Size = UDim2.new(0, 20, 0, 16), Position = UDim2.new(1, -64, 0.5, -8),
        BackgroundColor3 = Color3.fromRGB(40, 40, 52), Text = "-",
        Font = Enum.Font.GothamBold, TextSize = 12, TextColor3 = BRIGHT,
        AutoButtonColor = true,
    }, row)
    new("UICorner", { CornerRadius = UDim.new(0, 4) }, minus)
    local val = new("TextLabel", {
        Size = UDim2.new(0, 26, 0, 16), Position = UDim2.new(1, -42, 0.5, -8),
        BackgroundTransparency = 1, Text = fmt(Settings[key]),
        Font = Enum.Font.GothamBold, TextSize = 11, TextColor3 = RED,
    }, row)
    local plus = new("TextButton", {
        Size = UDim2.new(0, 20, 0, 16), Position = UDim2.new(1, -22, 0.5, -8),
        BackgroundColor3 = Color3.fromRGB(40, 40, 52), Text = "+",
        Font = Enum.Font.GothamBold, TextSize = 12, TextColor3 = BRIGHT,
        AutoButtonColor = true,
    }, row)
    new("UICorner", { CornerRadius = UDim.new(0, 4) }, plus)
    local function set(v)
        v = math.clamp(math.floor(v / step + 0.5) * step, smin, smax)
        -- Prediction uses decimals, don't snap harshly
        if step < 1 then v = math.clamp(v, smin, smax) end
        Settings[key] = v
        val.Text = fmt(v)
    end
    minus.MouseButton1Click:Connect(function() set(Settings[key] - step) end)
    plus.MouseButton1Click:Connect(function() set(Settings[key] + step) end)
    return row
end

local function cycle(parent, label, key, options)
    local b = new("TextButton", {
        Size = UDim2.new(1, 0, 0, 20), BackgroundColor3 = PANEL,
        Font = Enum.Font.Gotham, TextSize = 11,
        TextXAlignment = Enum.TextXAlignment.Left,
        TextColor3 = BRIGHT, AutoButtonColor = true,
    }, parent)
    new("UICorner", { CornerRadius = UDim.new(0, 6) }, b)
    local function paint()
        b.Text = "  •  " .. label .. ":  " .. tostring(Settings[key])
    end
    paint()
    b.MouseButton1Click:Connect(function()
        local idx = 1
        for i, o in ipairs(options) do if o == Settings[key] then idx = i break end end
        Settings[key] = options[(idx % #options) + 1]
        paint()
    end)
    return b
end

-- LEFT column (like screenshot left side)
section(left, "ESP")
toggle(left, "Enabled", "ESPEnabled")
toggle(left, "Boxes", "Boxes")
toggle(left, "Tracers", "Tracers")
toggle(left, "Names", "Names")
toggle(left, "Distance", "Distance")
toggle(left, "Health bar", "HealthBar")
toggle(left, "Health text", "HealthText")
toggle(left, "Chams", "Chams")

section(left, "AIM")
toggle(left, "Aimbot (hold RMB)", "AimbotEnabled")
toggle(left, "Silent aim", "SilentAimEnabled")
toggle(left, "Show FOV", "ShowFOV")
toggle(left, "Wall check", "WallCheck")

-- RIGHT column (like screenshot right side)
section(right, "AIM TUNE")
slider(right, "FOV", "FOV", 30, 400, 5, function(v) return tostring(math.floor(v)) end)
slider(right, "Smooth", "Smoothing", 1, 20, 1, function(v) return tostring(math.floor(v)) end)
cycle(right, "Bone", "TargetPart", { "Head", "HumanoidRootPart", "Closest" })
slider(right, "Predict", "Prediction", 0, 0.3, 0.01, function(v) return string.format("%.2f", v) end)
slider(right, "Hit %", "SilentHitChance", 1, 100, 1, function(v) return tostring(math.floor(v)) end)

section(right, "SETTINGS")
toggle(right, "Team check", "TeamCheck")
toggle(right, "Team colors", "ShowTeamColors")
slider(right, "Max dist", "MaxDistance", 0, 5000, 100, function(v)
    if v == 0 then return "inf" end
    return tostring(math.floor(v))
end)

--// shared targeting logic
local function isFriendly(p)
    if not Settings.TeamCheck then return false end
    local ok, r = pcall(function()
        return LocalPlayer.Team ~= nil and p.Team ~= nil and LocalPlayer.Team == p.Team
    end)
    return ok and r == true
end

local function espColor(p)
    if Settings.ShowTeamColors then
        local ok, c = pcall(function() return p.TeamColor.Color end)
        if ok and c then return c end
    end
    if isFriendly(p) then return Settings.FriendlyColor end
    return Settings.BoxColor
end

local function wallClear(targetPos, targetChar)
    if not Settings.WallCheck then return true end
    local origin = Camera.CFrame.Position
    local params = RaycastParams.new()
    params.FilterType = Enum.RaycastFilterType.Exclude
    params.FilterDescendantsInstances = { LocalPlayer.Character, targetChar }
    params.IgnoreWater = true
    return Workspace:Raycast(origin, targetPos - origin, params) == nil
end

local function getTargetPart(char)
    if Settings.TargetPart == "Head" then return char:FindFirstChild("Head") end
    if Settings.TargetPart == "HumanoidRootPart" then return char:FindFirstChild("HumanoidRootPart") end
    local head = char:FindFirstChild("Head")
    local hrp = char:FindFirstChild("HumanoidRootPart")
    if head and hrp then
        local m = UserInputService:GetMouseLocation()
        local hp = Camera:WorldToViewportPoint(head.Position)
        local rp = Camera:WorldToViewportPoint(hrp.Position)
        local hd = (Vector2.new(hp.X, hp.Y) - m).Magnitude
        local rd = (Vector2.new(rp.X, rp.Y) - m).Magnitude
        if hd < rd then return head else return hrp end
    end
    return head or hrp
end

local function distToLocal(hrp)
    local my = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
    if not my then return 0 end
    return (hrp.Position - my.Position).Magnitude
end

local function closestTarget()
    Camera = Workspace.CurrentCamera
    if not Camera then return nil, nil end
    local mouse = UserInputService:GetMouseLocation()
    local best, bestD, bestPos = nil, Settings.FOV, nil
    for _, p in ipairs(Players:GetPlayers()) do
        if p == LocalPlayer or isFriendly(p) then continue end
        local char = p.Character
        local hum = char and char:FindFirstChildOfClass("Humanoid")
        if not hum or hum.Health <= 0 then continue end
        local part = getTargetPart(char)
        if not part then continue end
        local aimPos = part.Position
        if Settings.Prediction > 0 then
            local ok, vel = pcall(function() return part.AssemblyLinearVelocity end)
            if ok and vel then aimPos = aimPos + vel * Settings.Prediction end
        end
        local hrp = char:FindFirstChild("HumanoidRootPart")
        if hrp and Settings.MaxDistance > 0 and distToLocal(hrp) > Settings.MaxDistance then continue end
        local sp, onScreen = Camera:WorldToViewportPoint(aimPos)
        if not onScreen then continue end
        local d = (Vector2.new(sp.X, sp.Y) - mouse).Magnitude
        if d < bestD and wallClear(aimPos, char) then
            best, bestD, bestPos = p, d, aimPos
        end
    end
    return best, bestPos
end

local function silentShouldHit()
    return math.random(1, 100) <= Settings.SilentHitChance
end

-- expose for YOUR OWN tool scripts (silent aim done right: redirect your own ray):
--   local g = getgenv()
--   local target, pos = g.XploitClosestTarget()
--   if target and pos and g.XploitSilentFire() then
--     dir = (pos - origin).Unit * 1000
--   else
--     dir = (mouse.Hit.Position - origin).Unit * 1000
--   end
pcall(function()
    local g = getgenv and getgenv() or nil
    if g then
        g.XploitClosestTarget = closestTarget
        g.XploitSilentFire = function()
            return Settings.SilentAimEnabled and silentShouldHit()
        end
        g.XploitSettings = Settings
    end
end)

--// ESP objects
local espObjects = {}
local function hideDrawings(e)
    if e.drawings then for _, d in pairs(e.drawings) do pcall(function() d.Visible = false end) end end
    if e.fov then pcall(function() e.fov.Visible = false end) end
end
local function clearPlayer(p)
    local e = espObjects[p]
    if not e then return end
    pcall(function() e.highlight:Destroy() end)
    pcall(function() e.billboard:Destroy() end)
    hideDrawings(e)
    if e.drawings then for _, d in pairs(e.drawings) do pcall(function() d:Remove() end) end end
    espObjects[p] = nil
end
local function setupPlayer(player)
    if player == LocalPlayer then return end
    if espObjects[player] then clearPlayer(player) end
    local e = { drawings = {} }
    local hl = Instance.new("Highlight")
    hl.Name = "X_ESP"
    hl.FillTransparency = 0.6
    hl.OutlineTransparency = 0
    hl.Parent = gui
    e.highlight = hl
    local bb = Instance.new("BillboardGui")
    bb.Name = "X_Name"
    bb.Size = UDim2.fromOffset(200, 40)
    bb.StudsOffset = Vector3.new(0, 2.8, 0)
    bb.AlwaysOnTop = true
    bb.MaxDistance = math.huge
    bb.Parent = gui
    local nl = Instance.new("TextLabel")
    nl.Size = UDim2.fromScale(1, 1)
    nl.BackgroundTransparency = 1
    nl.Font = Enum.Font.GothamBold
    nl.TextSize = 13
    nl.TextStrokeTransparency = 0
    nl.Parent = bb
    e.billboard = bb
    e.nameLabel = nl
    if hasDrawing then
        local box = Drawing.new("Square") box.Thickness = 1 box.Filled = false box.Visible = false box.ZIndex = 2
        local tr = Drawing.new("Line") tr.Thickness = 1 tr.Visible = false tr.ZIndex = 1
        local back = Drawing.new("Square") back.Filled = true back.Visible = false back.ZIndex = 1
        local bar = Drawing.new("Square") bar.Filled = true bar.Visible = false bar.ZIndex = 2
        e.drawings = { box = box, tracer = tr, hpBack = back, hpBar = bar }
    end
    espObjects[player] = e
    local function bind(char)
        local hum = char:WaitForChild("Humanoid", 5)
        local hrp = char:WaitForChild("HumanoidRootPart", 5)
        local head = char:WaitForChild("Head", 5)
        if hum and hrp then
            e.highlight.Adornee = char
            e.billboard.Adornee = head or hrp
        end
    end
    if player.Character then task.spawn(bind, player.Character) end
    player.CharacterAdded:Connect(function(c) task.spawn(bind, c) end)
end
for _, p in ipairs(Players:GetPlayers()) do pcall(setupPlayer, p) end
Players.PlayerAdded:Connect(setupPlayer)
Players.PlayerRemoving:Connect(clearPlayer)

-- FOV ring
local fovCircle
if hasDrawing then
    fovCircle = Drawing.new("Circle")
    fovCircle.Thickness = 1
    fovCircle.NumSides = 64
    fovCircle.Filled = false
    fovCircle.Color = RED
end

--// input: RightShift = UI, Q = silent, Del = unload, RMB hold = aim
local aiming = false
local conns = {}
local function unload()
    for _, c in ipairs(conns) do pcall(function() c:Disconnect() end) end
    table.clear(conns)
    for p, _ in pairs(espObjects) do pcall(clearPlayer, p) end
    if fovCircle then pcall(function() fovCircle:Remove() end) end
    pcall(function()
        local g = getgenv and getgenv() or nil
        if g then g.XploitClosestTarget, g.XploitSilentFire = nil, nil end
    end)
    pcall(function() gui:Destroy() end)
    print("[XPLOIT] unloaded")
end
unloadBtn.MouseButton1Click:Connect(unload)
conns[#conns + 1] = UserInputService.InputBegan:Connect(function(input, gpe)
    if gpe then return end
    if input.UserInputType == Settings.AimKey then aiming = true end
    if input.KeyCode == Enum.KeyCode.Q then Settings.SilentAimEnabled = not Settings.SilentAimEnabled end
    if input.KeyCode == Enum.KeyCode.RightShift then main.Visible = not main.Visible end
    if input.KeyCode == Enum.KeyCode.Delete then unload() end
end)
conns[#conns + 1] = UserInputService.InputEnded:Connect(function(input)
    if input.UserInputType == Settings.AimKey then aiming = false end
end)
minBtn.MouseButton1Click:Connect(function() main.Visible = false end)

-- drag
do
    local dragging, sp, si = false, nil, nil
    titleBar.InputBegan:Connect(function(i)
        if i.UserInputType == Enum.UserInputType.MouseButton1 or i.UserInputType == Enum.UserInputType.Touch then
            dragging, sp, si = true, main.Position, i.Position
        end
    end)
    titleBar.InputEnded:Connect(function(i)
        if i.UserInputType == Enum.UserInputType.MouseButton1 or i.UserInputType == Enum.UserInputType.Touch then
            dragging = false
        end
    end)
    UserInputService.InputChanged:Connect(function(i)
        if not dragging then return end
        if i.UserInputType == Enum.UserInputType.MouseMovement or i.UserInputType == Enum.UserInputType.Touch then
            local d = i.Position - si
            main.Position = UDim2.new(sp.X.Scale, sp.X.Offset + d.X, sp.Y.Scale, sp.Y.Offset + d.Y)
        end
    end)
end

local function tracerFrom()
    local vs = Camera.ViewportSize
    return Vector2.new(vs.X / 2, vs.Y)
end

--// single render loop: ESP + FOV + hard aimbot
conns[#conns + 1] = RunService.RenderStepped:Connect(function()
    if not gui.Parent then return end
    Camera = Workspace.CurrentCamera
    if not Camera then return end

    if fovCircle then
        fovCircle.Position = UserInputService:GetMouseLocation()
        fovCircle.Radius = Settings.FOV
        fovCircle.Visible = Settings.ShowFOV and Settings.AimbotEnabled
    end

    -- hard aimbot (camera lock while held)
    if Settings.AimbotEnabled and aiming then
        local _, pos = closestTarget()
        if pos then
            local cf = CFrame.new(Camera.CFrame.Position, pos)
            Camera.CFrame = Camera.CFrame:Lerp(cf, math.clamp(Settings.Smoothing / 20, 0.05, 1))
        end
    end

    -- ESP
    for player, e in pairs(espObjects) do
        local ok = pcall(function()
            local char = player.Character
            local hum = char and char:FindFirstChildOfClass("Humanoid")
            local hrp = char and char:FindFirstChild("HumanoidRootPart")
            local head = char and char:FindFirstChild("Head")
            local valid = Settings.ESPEnabled and char and hum and hrp and head
                and hum.Health > 0 and not isFriendly(player)
            local dist = 0
            if hrp then dist = distToLocal(hrp) end
            if Settings.MaxDistance > 0 and dist > Settings.MaxDistance then valid = false end
            if not valid then
                e.highlight.Enabled = false
                e.billboard.Enabled = false
                hideDrawings(e)
                return
            end
            local color = espColor(player)
            e.highlight.Enabled = Settings.Chams
            if Settings.Chams then
                e.highlight.Adornee = char
                e.highlight.FillColor = color
                e.highlight.OutlineColor = color
            end
            local showText = Settings.Names or Settings.Distance or Settings.HealthText
            e.billboard.Enabled = showText
            if showText then
                e.billboard.Adornee = head
                local parts = {}
                if Settings.Names then table.insert(parts, player.DisplayName .. " (@" .. player.Name .. ")") end
                if Settings.Distance then table.insert(parts, "[" .. math.floor(dist) .. "m]") end
                if Settings.HealthText then table.insert(parts, math.ceil(hum.Health) .. " HP") end
                e.nameLabel.Text = table.concat(parts, " ")
                e.nameLabel.TextColor3 = color
            end
            if hasDrawing then
                local hp, onScreen = Camera:WorldToViewportPoint(hrp.Position)
                local top = Camera:WorldToViewportPoint(head.Position + Vector3.new(0, 0.6, 0))
                local bot = Camera:WorldToViewportPoint(hrp.Position - Vector3.new(0, 3, 0))
                local h = math.abs(top.Y - bot.Y)
                local w = h * 0.6
                if onScreen and Settings.Boxes then
                    local b = e.drawings.box
                    b.Visible = true b.Color = color
                    b.Size = Vector2.new(w, h)
                    b.Position = Vector2.new(hp.X - w / 2, top.Y)
                else e.drawings.box.Visible = false end
                if onScreen and Settings.Tracers then
                    local t = e.drawings.tracer
                    t.Visible = true t.Color = color
                    t.From = tracerFrom()
                    t.To = Vector2.new(hp.X, bot.Y)
                else e.drawings.tracer.Visible = false end
                if onScreen and Settings.HealthBar then
                    local f = math.clamp(hum.Health / hum.MaxHealth, 0, 1)
                    local bx = hp.X - w / 2 - 5
                    e.drawings.hpBack.Visible = true
                    e.drawings.hpBack.Color = Color3.fromRGB(0, 0, 0)
                    e.drawings.hpBack.Position = Vector2.new(bx, top.Y)
                    e.drawings.hpBack.Size = Vector2.new(3, h)
                    e.drawings.hpBar.Visible = true
                    e.drawings.hpBar.Color = Color3.fromRGB(255 - math.floor(255 * f), math.floor(255 * f), 40)
                    e.drawings.hpBar.Position = Vector2.new(bx, top.Y + h * (1 - f))
                    e.drawings.hpBar.Size = Vector2.new(3, h * f)
                else
                    e.drawings.hpBack.Visible = false
                    e.drawings.hpBar.Visible = false
                end
            end
        end)
        if not ok then
            pcall(function() e.highlight.Enabled = false e.billboard.Enabled = false end)
            hideDrawings(e)
        end
    end
end)

print("[XPLOIT] loaded. Drawing: " .. tostring(hasDrawing))

Features & Information

Aimbot, visuals...

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts