Azure Lib with ESP and Aimbot Source
Key RequiredUniversal

Azure Lib with ESP and Aimbot Source

Universal ScriptSouljaWitchSrcSouljaWitchSrc 4.1K views 63 executesUpdated Sep 4, 2025
5.0/ 5(4 votes)
40100% Positive
Lua Script•278 lines (9180 chars)
local library = loadstring(
    game:HttpGet(
        'https://raw.githubusercontent.com/DozeIsOkLol/UILibarySource/refs/heads/main/AzureLibSource',
        true
    )
)()
local run = game:service('RunService')
local runcon
players = game:service('Players')
player = players.LocalPlayer
camera = workspace.CurrentCamera
local uis = game:service('UserInputService')
local curc
local mouse = player:GetMouse()
local toggles = { abk = Enum.UserInputType.MouseButton2, iag = false }
local traced = {}
local tsp =
    Vector2.new(camera.ViewportSize.X / 2, camera.ViewportSize.Y / 2 + 400)
local gs = game:GetService('GuiService'):GetGuiInset()
local sc = Vector2.new(camera.ViewportSize.X / 2, camera.ViewportSize.Y / 2)
local mousemoverel = mousemoverel or Input.MoveMouse
local hookfunction = hookfunction or detour_function or replaceclosure
local getnamecallmethod = getnamecallmethod or get_namecall_method
local combat = library:CreateWindow('Aimbot')
local visuals = library:CreateWindow('Visuals')
visuals:Section('ESP')
visuals:Toggle('Tracers', { location = toggles, flag = 'tracers' })
visuals:Toggle('Name ESP', { location = toggles, flag = 'nESP' })
visuals:Toggle('Box ESP', { location = toggles, flag = 'hESP' })
combat:Section('Aimbot')
combat:Toggle('Aimbot', { location = toggles, flag = 'aimbot' })
combat:Bind('Aimbot Hotkey', {
    location = toggles,
    flag = 'abk',
    kbonly = false,
    default = Enum.UserInputType.MouseButton2,
}, function(k, b)
    toggles.iag = b
end)
combat:Dropdown('Aimpart', {
    location = toggles,
    flag = 'abp',
    list = { 'Head', 'UpperTorso', 'LowerTorso', 'HumanoidRootPart' },
})
combat:Toggle('Draw FOV circle', { location = toggles, flag = 'showfov' })
combat:Toggle('Filled FOV circle', { location = toggles, flag = 'filled' })
combat:Slider(
    'FOV',
    {
        location = toggles,
        flag = 'fov',
        precise = false,
        default = 50,
        min = 50,
        max = 500,
    }
)
function createline()
    local a = Drawing.new('Line')
    a.Thickness = 1.5
    a.Transparency = 1
    a.Visible = true
    a.Color = Color3.fromRGB(0, 240, 90)
    a.From = tsp
    return a
end
function createname(text)
    local a = Drawing.new('Text')
    a.Transparency = 1
    a.Visible = true
    a.Color = Color3.fromRGB(0, 240, 90)
    a.Text = text
    a.Size = 15
    return a
end
function createcircle()
    local a = Drawing.new('Circle')
    a.Transparency = 0.3
    a.Thickness = 1.5
    a.Visible = true
    a.Color = Color3.fromRGB(0, 240, 90)
    a.Filled = false
    a.Radius = toggles.fov
    return a
end
function createsquare()
    local a = Drawing.new('Square')
    a.Transparency = 1
    a.Thickness = 1.5
    a.Visible = true
    a.Color = Color3.fromRGB(0, 240, 90)
    a.Filled = false
    return a
end
curc = createcircle()
function isInTeam(char)
    if
        player
        and players:GetPlayerFromCharacter(char)
        and players:GetPlayerFromCharacter(char).Team
        and player.Team
    then
        if player.FriendlyFire.Value then
            return false
        else
            return (player.Team == players:GetPlayerFromCharacter(char).Team)
        end
    end
end
local gc = function()
    local nearest = math.huge
    local nearplr
    for i, v in pairs(players:GetPlayers()) do
        if
            v ~= player
            and v.Character
            and not isInTeam(v.Character)
            and v.Character:FindFirstChild(toggles.abp)
        then
            local pos =
                camera:WorldToScreenPoint(v.Character[toggles.abp].Position)
            local diff =
                math.sqrt((pos.X - sc.X) ^ 2 + (pos.Y + gs.Y - sc.Y) ^ 2)
            if diff < nearest and diff < toggles.fov then
                nearest = diff
                nearplr = v
            end
        end
    end
    return nearplr
end
local getrel = function(x, y)
    local newy
    local newy
    if x > sc.X then
        newx = -(sc.X - x)
        newx = newx / 5
    else
        newx = x - sc.X
        newx = newx / 5
    end
    if y > sc.Y then
        newy = -(sc.Y - y)
        newy = newy / 5
    else
        newy = y - sc.Y
        newy = newy / 5
    end
    return newx, newy
end

run.Stepped:Connect(function()
    spawn(function()
        for i, v in pairs(players:GetChildren()) do
            if
                v.Character
                and v.Character:FindFirstChild(toggles.abp)
                and (not isInTeam(v.Character))
                and (toggles.tracers or toggles.nESP or toggles.hESP)
            then
                if not traced[v.Name] then
                    traced[v.Name] = { v.Character }
                end
                local vector, onScreen =
                    camera:WorldToScreenPoint(v.Character[toggles.abp].Position)
                if toggles.tracers then
                    if traced[v.Name][2] then
                        traced[v.Name][2].Visible = (
                            onScreen and toggles.tracers
                        )
                        traced[v.Name][2].To =
                            Vector2.new(vector.X, vector.Y + gs.Y)
                    else
                        traced[v.Name][2] = createline()
                        traced[v.Name][2].Visible = (
                            onScreen and toggles.tracers
                        )
                        traced[v.Name][2].To =
                            Vector2.new(vector.X, vector.Y + gs.Y)
                    end
                end
                if toggles.nESP then
                    if traced[v.Name][3] then
                        traced[v.Name][3].Visible = (onScreen and toggles.nESP)
                        traced[v.Name][3].Position =
                            Vector2.new(vector.X, vector.Y + (gs.Y / 2))
                    else
                        traced[v.Name][3] = createname(v.Name)
                        traced[v.Name][3].Visible = (onScreen and toggles.nESP)
                        traced[v.Name][3].Position =
                            Vector2.new(vector.X, vector.Y + (gs.Y / 2))
                    end
                end
                if toggles.hESP then
                    if traced[v.Name][4] then
                        traced[v.Name][4].Visible = (onScreen and toggles.hESP)
                        traced[v.Name][4].Size =
                            Vector2.new(1400 / vector.Z, 1400 / vector.Z)
                        traced[v.Name][4].Position = Vector2.new(
                            vector.X - traced[v.Name][4].Size.X / 2,
                            (vector.Y + gs.Y) - traced[v.Name][4].Size.Y / 2
                        )
                    else
                        traced[v.Name][4] = createsquare()
                        traced[v.Name][4].Visible = (onScreen and toggles.hESP)
                        traced[v.Name][4].Size =
                            Vector2.new(1400 / vector.Z, 1400 / vector.Z)
                        traced[v.Name][4].Position = Vector2.new(
                            vector.X - traced[v.Name][4].Size.X / 2,
                            (vector.Y + gs.Y) - traced[v.Name][4].Size.Y / 2
                        )
                    end
                end
            else
                if traced[v.Name] then
                    if traced[v.Name][2] then
                        traced[v.Name][2]:Remove()
                        traced[v.Name][2] = nil
                    end
                    if traced[v.Name][3] then
                        traced[v.Name][3]:Remove()
                        traced[v.Name][3] = nil
                    end
                    if traced[v.Name][4] then
                        traced[v.Name][4]:Remove()
                        traced[v.Name][4] = nil
                    end
                end
            end
        end
    end)
    spawn(function()
        if toggles.showfov then
            curc.Visible = true
            curc.Position = Vector2.new(mouse.X, mouse.Y + gs.Y)
            curc.Radius = toggles.fov
        else
            curc.Visible = false
        end
    end)
    spawn(function()
        if toggles.filled then
            toggles.showfov = true
            curc.Filled = true
        else
            curc.Filled = false
        end
    end)
    spawn(function()
        if toggles.aimbot and toggles.iag then
            if gc() ~= nil and gc().Character:FindFirstChild(toggles.abp) then
                local pos = camera:WorldToScreenPoint(
                    gc().Character[toggles.abp].Position
                )
                local x, y = getrel(pos.X, pos.Y + gs.Y)
                mousemoverel(x, y)
            end
        end
    end)
end)
local fr
players.PlayerRemoving:Connect(function(p)
    if traced[p.Name] then
        if traced[p.Name][2] then
            traced[p.Name][2]:Remove()
            traced[p.Name][2] = nil
        end
        if traced[p.Name][3] then
            traced[p.Name][3]:Remove()
            traced[p.Name][3] = nil
        end
        if traced[p.Name][4] then
            traced[p.Name][4]:Remove()
            traced[p.Name][4] = nil
        end
        traced[p.Name] = nil
    end
end)

Features & Information

This UI features; -Tabs -Button -Toggle -Dropdown -Slider -Keybind Added Bonus (ESP And Aimbot) So overall, this UI supports buttons, toggles, dropdowns, sliders, and keybind The UI was made by ??? I take no credit for the UI My Github - https://github.com/DozeIsOkLol/UILibarys

Community Comments (2)

naitsircxznaitsircxzSep 7, 2025

Ad team check and visual check/wall check

2kr3kn2kr3knOct 1, 2025

Add color pick? 🤔

More Scripts for Universal Scripts