script.lol
Executors Arceus X (Mobile) Delta Executor Synapse X (PC) KRNL Exploit Xeno Scripts Keyless Scripts
Search Roblox Scripts
Popular Searches
Payload copied to clipboard
100% Free & Keyless 🎮 Enforcement Aug 18, 2026 Author: ext

Enforcement script (Enforcement) Script Pastebin 2026 - Auto Farm, ESP & Keyless (Arceus X)

Verified and keyless Lua script payload for Enforcement script. Compatible with Android/iOS mobile executors and Windows PC exploits.

script.lua (Raw Payload)
local Debris = workspace.Debris
local RunService = game:GetService("RunService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Modules = ReplicatedStorage:FindFirstChild("Modules")
local Weapons = ReplicatedStorage:FindFirstChild("Weapons")
local Camera = workspace.CurrentCamera
local Players = game:GetService("Players")
local localPlayer = Players.LocalPlayer
local mouse = localPlayer:GetMouse()
local AttachmentsRoot = ReplicatedStorage:FindFirstChild("Attachments")

local aimbotCircle = Drawing.new("Circle")
aimbotCircle.Visible = false

local circleConnection = nil

function getWeapons()
    local child = {}
    for _, wpn in ipairs(Weapons:GetChildren()) do 
        if wpn:IsA("Folder") then
            table.insert(child, wpn)
        end
    end
    return child
end

function getFrags()
    local child = {}
    for _, nades in ipairs(Debris:GetChildren()) do
        local grenades = getWeapons()
        for _, x in grenades do
            if nades.Name == x.Name or nades.Name then
                table.insert(child, nades)
            end
        end
    end
    return child
end

local weapons = getWeapons()

local Library = loadstring(game:HttpGet("https://raw.githubusercontent.com/4lpaca-pin/NeverLose/refs/heads/main/source.luau"))()

local Indicator = Library:CreateIndicator();
local Notification = Library:CreateNotification();
local Logging = Library:CreateLogger();

local Window = Library:CreateWindow({
    Logo = Library.GlobalLogo,
    Name = "Enforcement",
    Content = "EN",
    Size = Library.Scales.Default,
    ConfigFolder = "LibraryConfigs",
    Enable3DRenderer = false,
    Keybind = "Insert"
});
local Watermark = Window:Watermark()
local ping = Watermark:AddBlock("chart-four-vertical-bars" , "0MS");
local id = Watermark:AddBlock("house", game.PlaceId);
local user = Watermark:AddBlock("circle-person", localPlayer.DisplayName)

local UITogg = Watermark:AddBlock("circle-minus" , "Neverlose");

UITogg:Input(function()
	Window:ToggleInterface();
end);

local Tab = Window:AddTab({
    Icon = "Eye",
    Name = "Rage"
})

local MainSection = Tab:AddSection({
    Name = "Main"
})
local Visual = Tab:AddSection({
    Name = "Visual",
    Position = "left"
})
local AttachmentSection = Tab:AddSection({
    Name = "Attachments",
    Position = "left"
})

local Modification = Tab:AddSection({
    Name = "Mods",
    Position = "right"
})

local EnabledLabel = MainSection:AddLabel("Enabled")
local SilentLabel = MainSection:AddLabel("Silent Aim")
local WallbangLabel = MainSection:AddLabel("Visible Check")

local EspEnabledLabel = Visual:AddLabel("Enabled")
local TeamCheckLabel = Visual:AddLabel("TeamCheck")
local OutlinesLabel = Visual:AddLabel("Outlines")
local ChamsLabel = Visual:AddLabel("Chams")
local ShowWeaponName = Visual:AddLabel("Gun")
local ShowHealth = Visual:AddLabel("Health")
local ShowDistance = Visual:AddLabel("Distance")
local ShowNames = Visual:AddLabel("Names")

local RecoilLabel = Modification:AddLabel("Recoil")
local SpreadLabel = Modification:AddLabel("Spread")
local FireRateLabel = Modification:AddLabel("FireRate")
local AmmoLabel = Modification:AddLabel("Ammo")
local TimesLabel = Modification:AddLabel("Times")
local PenetrationLabel = Modification:AddLabel("Penetration")
local AutomaticLabel =  Modification:AddLabel("Automatic")
local WeaponSpeedLabel = Modification:AddLabel("WeaponSpeed")
local BulletsLabel = Modification:AddLabel("Bullets")
local BlastRadiusLabel = Modification:AddLabel("BlastRadius")
local ProjectileSpeedLabel = Modification:AddLabel("ProjectileSpeed")

BulletsLabel:ToolTip("bullet per round")

local Notify = MainSection:AddLabel("Notifications")
Notify:ToolTip("Notify, Incoming Frags, Semtex, ESP")

local Enabled_RAGE = EnabledLabel:AddToggle({
    Default = false,
    Callback = function(state)
        return state
    end,
    Flag = "wpn_enabled"
})

local SilentToggle = SilentLabel:AddToggle({
    Default = false,
    Callback = function(state)
        print("Aimbot toggled:", state)
        if state then
            aimbotCircle.Visible = true
            if not circleConnection then
                circleConnection = RunService.RenderStepped:Connect(function()
                    local x = mouse.X
                    local y = mouse.Y
                    aimbotCircle.Position = Vector2.new(x, y + 60)
                    aimbotCircle.Visible = true
                end)
            end
        else
            if circleConnection then
                circleConnection:Disconnect()
                circleConnection = nil
                aimbotCircle.Visible = false
            end
        end
        return state
    end,
    Flag = "silent_enabled"
})
local SilentOption = SilentLabel:AddOption()
local radius_aim = SilentOption:AddLabel("Radius"):AddSlider({
    Default = 50,
    Min = 0,
    Max = 1000,
    Type = "",
    Rounding = 0,
    Flag = "MySlider",
    Size = 125,
    Callback = function(value)
        aimbotCircle.Radius = value
    end,
})
local color_aim = SilentOption:AddLabel("Color"):AddColorPicker({
    Default = Color3.fromRGB(255, 255, 255),
    Flag = "MyColor",
    Callback  = function(state)
        aimbotCircle.Color = state
    end,
})
local numsides_aim = SilentOption:AddLabel("sides"):AddSlider({
    Default = 0,
    Min = 0,
    Max = 12,
    Type = "",
    Rounding = 0,
    Flag = "MySlider",
    Size = 125,
    Callback = function(value)
        aimbotCircle.NumSides = value
    end,
})
local filled_aim = SilentOption:AddLabel("Filled"):AddToggle({
    Default = false,
    Flag = "filled_color",
    Callback  = function(state)
        aimbotCircle.Filled = state
    end,
})
local transparency_aim = SilentOption:AddLabel("Trans"):AddSlider({
    Default = 0,
    Min = 0,
    Max = 1,
    Type = "",
    Rounding = 1,
    Flag = "MySlider",
    Size = 125,
    Callback = function(value)
        aimbotCircle.Transparency = value
    end,
})
WallbangLabel:ToolTip("")
local WallbangToggle = WallbangLabel:AddToggle({
    Default = false,
    Callback = function(state)
        print("Wallbang:", state)
        return state
    end,
    Flag = "wallbang_enabled"
})

local runService = game:GetService('RunService')
local coregui = game:GetService('CoreGui')
local players = game:GetService('Players')
local localPlayer = players.LocalPlayer
local camera = workspace.CurrentCamera

local esp = {
    enabled = false,
    teamcheck = true,
    visiblecheck = false,
    outlines = true,
    limitdistance = false,
    shortnames = false,

    maxchar = 4,
    maxdistance = 1200,
    fadefactor = 20,
    arrowradius = 500,
    arrowsize = 20,
    arrowinfo = false,

    team_chams = { false, Color3.new(1, 1, 1), Color3.new(1, 1, 1), .25, .75, true },
    team_boxes = { false, Color3.new(), Color3.new(), 0.95 },
    team_healthbar = { false, Color3.new(), Color3.new() },
    team_kevlarbar = { false, Color3.new(), Color3.new() },
    team_arrow = { false, Color3.new(), 0.5 },
    team_names = { false, Color3.new()},
    team_weapon = { false, Color3.new()},
    team_distance = false,
    team_health = false,

    enemy_chams = { false, Color3.new(1, 1, 1), Color3.new(1, 1, 1), .25, .75, true },
    enemy_boxes = { false, Color3.new(), Color3.new(), 0.95 },
    enemy_healthbar = { false, Color3.new(), Color3.new() },
    enemy_kevlarbar = { false, Color3.new(), Color3.new() },
    enemy_arrow = { false, Color3.new(), 0.5 },
    enemy_names = { false, Color3.new()},
    enemy_weapon = { false, Color3.new()},
    enemy_distance = false,
    enemy_health = false,

    priority_chams = { false, Color3.new(1, 1, 1), Color3.new(1, 1, 1), .25, .75, true },
    priority_boxes = { false, Color3.new(), Color3.new(), 0.95 },
    priority_healthbar = { false, Color3.new(), Color3.new() },
    priority_kevlarbar = { false, Color3.new(), Color3.new() },
    priority_arrow = { false, Color3.new(), 0.5 },
    priority_names = { false, Color3.new()},
    priority_weapon = { false, Color3.new()},
    priority_distance = false,
    priority_health = false,

    font = 'Plex',
    textsize = 13,

    players = {},
    priority_players = {},
    connections = {},
    visiblecheckparams = {}
}

local NEWCF     = CFrame.new
local NEWVEC2   = Vector2.new
local NEWCOLOR3 = Color3.new

local MIN       = math.min
local MAX       = math.max
local ATAN2     = math.atan2
local CLAMP     = math.clamp
local FLOOR     = math.floor
local SIN       = math.sin
local COS       = math.cos
local RAD       = math.rad

local LEN       = string.len
local LOWER     = string.lower
local SUB       = string.sub

local TINSERT   = table.insert
local TFIND     = table.find

function esp:draw(a, b)
    local instance = Drawing.new(a)
    if type(b) == 'table' then
        for property, value in next, b do
            instance[property] = value
        end
    end
    return instance
end
function esp:create(a, b)
    local instance = Instance.new(a)
    if type(b) == 'table' then
        for property, value in next, b do
            instance[property] = value
        end
    end
    return instance
end
local folder = esp:create('Folder', { Parent = coregui })
function esp:setproperties(a, b)
    for i, v in next, b do
        a[i] = v;
    end
    return a
end
function esp:raycast(a, b, c)
    c = type(c) == 'table' and c or {}
    local params = RaycastParams.new();
    params.IgnoreWater = true;
    params.FilterType = Enum.RaycastFilterType.Blacklist;
    params.FilterDescendantsInstances = c;

    local ray = workspace:Raycast(a, b, params);
    if ray ~= nil then
        if ray.Instance.Transparency >= .250 then
            TINSERT(c, ray.Instance);
            local newray = self:raycast(a,b,c)
            if newray ~= nil then
                ray = newray
            end
        end
    end
    return ray
end

function esp.getcharacter(plr)
    return plr.Character
end

function esp.checkalive(plr)
    if not plr then plr = localPlayer end
    local pass = false
    if (plr.Character and plr.Character:FindFirstChild('Humanoid') and plr.Character:FindFirstChild('Head') and plr.Character:FindFirstChild('LeftUpperArm') and plr.Character.Humanoid.Health > 0 and plr.Character.LeftUpperArm.Transparency == 0) then
        pass = true
    end
    return pass
end

function esp.checkteam(plr, bool)
    if not plr then 
        return plr
    end
    return plr ~= localPlayer and bool or localPlayer:GetAttribute("Team") == plr:GetAttribute("Team")
end

function esp:checkvisible(instance, origin, params)
    if not params then params = {} end
    local hit = self:raycast(camera.CFrame.p, (origin.Position - camera.CFrame.p).unit * 500, { unpack(params), camera, localPlayer.Character })
    return (hit and hit.Instance:IsDescendantOf(instance)) and true or false
end

function esp:check(plr)
	if plr == players.LocalPlayer then return false; end;
	local pass = true;
	local character = self.getcharacter(plr);
	if not self.checkalive(plr) then
		pass = false;
	elseif esp.limitdistance and (character.PrimaryPart.CFrame.p - workspace.CurrentCamera.CFrame.p).magnitude > esp.maxdistance then
		pass = false;
	elseif esp.teamcheck and not self.checkteam(plr, false) then
		pass = false;
    elseif esp.visiblecheck and not self:checkvisible(character, character.Head, esp.visiblecheckparams) then
        pass = false
	end;
	return pass;
end;

function esp:returnoffsets(x, y, minY, z)
    return {
        NEWCF(x, y, z),
        NEWCF(-x, y, z),
        NEWCF(x, y, -z),
        NEWCF(-x, y, -z),
        NEWCF(x, -minY, z),
        NEWCF(-x, -minY, z),
        NEWCF(x, -minY, -z),
        NEWCF(-x, -minY, -z)
    };
end;

function esp:returntriangleoffsets(triangle)
    local minX = MIN(triangle.PointA.X, triangle.PointB.X, triangle.PointC.X)
    local minY = MIN(triangle.PointA.Y, triangle.PointB.Y, triangle.PointC.Y)
    local maxX = MAX(triangle.PointA.X, triangle.PointB.X, triangle.PointC.X)
    local maxY = MAX(triangle.PointA.Y, triangle.PointB.Y, triangle.PointC.Y)
    return minX, minY, maxX, maxY
end

function esp:convertnumrange(val, oldmin, oldmax, newmin, newmax)
    return (val - oldmin) * (newmax - newmin) / (oldmax - oldmin) + newmin;
end;

function esp:fadeviadistance(data)
    return data.limit and 1 - CLAMP(self:convertnumrange(FLOOR(((data.cframe.p - camera.CFrame.p)).magnitude), (data.maxdistance - data.factor), data.maxdistance, 0, 1), 0, 1) or 1;
end;

function esp:floorvector(vector)
    return NEWVEC2(FLOOR(vector.X),FLOOR(vector.Y))
end
function esp:rotatevector2(v2, r)
	local c = COS(r);
	local s = SIN(r);
	return NEWVEC2(c * v2.X - s * v2.Y, s * v2.X + c * v2.Y);
end;

function esp:add(plr)
    if plr == localPlayer then return end
    local objs = {
        box_fill = esp:draw('Square', { Filled = true, Thickness = 1 }),
        box_outline = esp:draw('Square', { Filled = false, Thickness = 1 }),
        box = esp:draw('Square', { Filled = false, Thickness = 1, Color = NEWCOLOR3(1,1,1) }),
        arrow_name_outline = esp:draw('Text', { Color = NEWCOLOR3(), Font = 2, Size = 13 }),
        arrow_name = esp:draw('Text', { Color = NEWCOLOR3(1,1,1), Font = 2, Size = 13 }),
        arrow_bar_outline = esp:draw('Square', { Filled = true, Thickness = 1 }),
        arrow_bar_inline = esp:draw('Square', { Filled = true, Thickness = 1, Color = NEWCOLOR3(0.3, 0.3, 0.3) }),
        arrow_bar = esp:draw('Square', { Filled = true, Thickness = 1, Color = NEWCOLOR3(1,1,1) }),
        arrow_kevlarbar_outline = esp:draw('Square', { Filled = true, Thickness = 1 }),
        arrow_kevlarbar_inline = esp:draw('Square', { Filled = true, Thickness = 1, Color = NEWCOLOR3(0.3, 0.3, 0.3) }),
        arrow_kevlarbar = esp:draw('Square', { Filled = true, Thickness = 1, Color = NEWCOLOR3(1,1,1) }),
        arrow = esp:draw('Triangle', { Filled = true, Thickness = 1, });
    }
    local chams = { ins = esp:create('Highlight', { Name = plr.Name }) }
    function chams:Remove() chams.ins:Destroy() end
    objs['chams'] = chams
    self.players[plr.Name] = objs
end
function esp:disable(plr)
    local objects = self.players[plr.Name];
    if objects then
        for i, v in next, objects do
            if i == 'chams' then
                v.ins.Enabled = false
            else
                v.Visible = false
            end
        end;
    end;
end;
function esp:remove(plr)
    local objects = self.players[plr.Name];
    if objects then
        for i, v in next, objects do
            v:Remove()
        end;
    end;
    self.players[plr.Name] = nil;
end;

function esp:connect(a, callback)
    local c = a:Connect(callback)
    TINSERT(self.connections, c)
    return c
end

function esp:bindtorenderstep(name, priority, callback)
    local a = {}
    function a:Disconnect()
        runService:UnbindFromRenderStep(name)
    end
    runService:BindToRenderStep(name, priority, callback)
    TINSERT(self.connections, a)
    return a
end

function esp:clearconnections()
    for _, c in next, self.connections do
        c:Disconnect()
    end
end

function esp:update()
    for plr, drawing in next, esp.players do
        local player = players:FindFirstChild(plr)
        if not player then esp.players[plr] = nil continue end
        if esp.enabled and esp.checkalive(player) then
            local character = esp.getcharacter(player)
            local playerName = LEN(plr) > esp.maxchar and esp.shortnames and SUB(plr, 0, esp.maxchar) .. '..' or plr
            local pass = esp:check(player)
            local distance = tostring(FLOOR((character.PrimaryPart.CFrame.p - camera.CFrame.p).Magnitude  / 3))  .. 'm'
            local _, onScreen = camera:WorldToViewportPoint(character['HumanoidRootPart'].Position)
            local centerMassPos = character['HumanoidRootPart'].CFrame
            local transparency = esp:fadeviadistance({
                limit = esp.limitdistance,
                cframe = centerMassPos,
                maxdistance = esp.maxdistance,
                factor = esp.fadefactor
            })
            local kevlar = 0
            if player:FindFirstChild('Kevlar') then
                kevlar = player.Kevlar.Value
            end
            local health = FLOOR(character.Humanoid.Health)

            local flag = 'team_'
            if esp.checkteam(player, false) then
                flag = 'enemy_'
            end

            if TFIND(esp.priority_players, player) then
                flag = 'priority_'
            end

            if not (pass and onScreen) then
                esp:disable(player)
            end

            drawing.arrow.Visible = esp[ flag .. 'arrow'][1] and pass;
            if drawing.arrow.Visible then
                local proj = camera.CFrame:PointToObjectSpace(centerMassPos.p);
                local ang = ATAN2(proj.Z, proj.X);
                local dir = NEWVEC2(COS(ang), SIN(ang));
                local a = (dir * esp.arrowradius * .5) + camera.ViewportSize / 2;
                local b, c = a - esp:rotatevector2(dir, RAD(30)) * esp.arrowsize, a - esp:rotatevector2(dir, (-RAD(30))) * esp.arrowsize;
                drawing.arrow.PointA = a;
                drawing.arrow.PointB = b;
                drawing.arrow.PointC = c;
                drawing.arrow.Color = esp[ flag .. 'arrow'][2];
                drawing.arrow.Transparency = not onScreen and esp[ flag .. 'arrow'][3] or 0;
                if esp.arrowinfo then
                    local smallestX, smallestY, biggestX, biggestY = esp:returntriangleoffsets(drawing.arrow)
                    drawing.arrow_bar.Visible = not onScreen and drawing.arrow.Visible and esp[ flag .. 'healthbar'][1]
                    drawing.arrow_bar_inline.Visible = drawing.arrow_bar.Visible
                    drawing.arrow_bar_outline.Visible = esp.outlines and drawing.arrow_bar.Visible
                    if drawing.arrow_bar.Visible then
                        drawing.arrow_bar.Color = esp[ flag .. 'healthbar'][3]:Lerp(esp[ flag .. 'healthbar'][2], health / 100)
                        drawing.arrow_bar.Size = esp:floorvector(NEWVEC2(1, ( - health / 100 * ( biggestY - smallestY + 2)) + 3))
                        drawing.arrow_bar.Position = esp:floorvector(NEWVEC2(smallestX - 3, smallestY + drawing.arrow_bar_outline.Size.Y))
                        drawing.arrow_bar.Transparency = transparency
                        drawing.arrow_bar_inline.Size = esp:floorvector(NEWVEC2(1, ( - 1 * ( biggestY - smallestY + 2)) + 3))
                        drawing.arrow_bar_inline.Position = drawing.arrow_bar.Position
                        drawing.arrow_bar_inline.Transparency = transparency
                        drawing.arrow_bar_outline.Size = esp:floorvector(NEWVEC2(1, biggestY - smallestY))
                        drawing.arrow_bar_outline.Position = esp:floorvector(NEWVEC2(smallestX - 2, smallestY + 1))
                        drawing.arrow_bar_outline.Transparency = transparency
                    end

                    drawing.arrow_kevlarbar.Visible = not onScreen and drawing.arrow.Visible and esp[ flag .. 'kevlarbar'][1]
                    drawing.arrow_kevlarbar_inline.Visible = drawing.arrow_kevlarbar.Visible
                    drawing.arrow_kevlarbar_outline.Visible = esp.outlines and drawing.arrow_kevlarbar.Visible
                    if drawing.arrow_kevlarbar.Visible then
                        drawing.arrow_kevlarbar.Color = esp[ flag .. 'kevlarbar'][3]:Lerp(esp[ flag .. 'kevlarbar'][2], kevlar / 100)
                        drawing.arrow_kevlarbar.Size = esp:floorvector(NEWVEC2(( kevlar / 100 * ( biggestX - smallestX)), 1))
                        drawing.arrow_kevlarbar.Position = esp:floorvector(NEWVEC2(smallestX, biggestY + 2))
                        drawing.arrow_kevlarbar.Transparency = transparency
                        drawing.arrow_kevlarbar_inline.Size = esp:floorvector(NEWVEC2((biggestX - smallestX), 1))
                        drawing.arrow_kevlarbar_inline.Position = drawing.arrow_kevlarbar.Position
                        drawing.arrow_kevlarbar_inline.Transparency = transparency
                        drawing.arrow_kevlarbar_outline.Size = drawing.arrow_kevlarbar_inline.Size
                        drawing.arrow_kevlarbar_outline.Position = esp:floorvector(NEWVEC2(smallestX + 1, biggestY + 3))
                        drawing.arrow_kevlarbar_outline.Transparency = transparency
                    end

                    drawing.arrow_name.Visible = not onScreen and drawing.arrow.Visible and esp[ flag .. 'names'][1]
                    drawing.arrow_name_outline.Visible = esp.outlines and drawing.arrow_name.Visible
                    if drawing.arrow_name.Visible then
                        drawing.arrow_name.Text = esp[ flag .. 'distance'] and '['..distance..'] '.. playerName or playerName
                        drawing.arrow_name.Font = Drawing.Fonts[esp.font]
                        drawing.arrow_name.Size = esp.textsize
                        drawing.arrow_name.Color = esp[ flag .. 'names'][2]
                        drawing.arrow_name.Position = esp:floorvector(NEWVEC2(smallestX + (biggestX - smallestX) / 2 - (drawing.arrow_name.TextBounds.X / 2), smallestY - drawing.arrow_name.TextBounds.Y - 2))
                        drawing.arrow_name.Transparency = transparency
                        drawing.arrow_name_outline.Text = drawing.arrow_name.Text
                        drawing.arrow_name_outline.Font = drawing.arrow_name.Font
                        drawing.arrow_name_outline.Size = drawing.arrow_name.Size
                        drawing.arrow_name_outline.Position = drawing.arrow_name.Position + NEWVEC2(1,1)
                        drawing.arrow_name_outline.Transparency = transparency
                    end
                end
            end;

            drawing.chams.ins.Enabled = esp[ flag .. 'chams'][1] and pass
            drawing.chams.ins.Adornee = esp[ flag .. 'chams'][1] and player.Character or nil
            drawing.chams.ins.Parent = folder
            if drawing.chams.ins.Enabled then
                drawing.chams.ins.FillColor = esp[ flag .. 'chams'][2]
                drawing.chams.ins.OutlineColor = esp[ flag .. 'chams'][3]
                drawing.chams.ins.FillTransparency = esp[ flag .. 'chams'][4]
                drawing.chams.ins.OutlineTransparency = esp[ flag .. 'chams'][5]
                drawing.chams.ins.DepthMode = esp[ flag .. 'chams'][6] and Enum.HighlightDepthMode.AlwaysOnTop or Enum.HighlightDepthMode.Occluded
            end;

            if not pass or (not onScreen) then
                continue
            end

            local smallestX, biggestX = math.huge, -math.huge
            local smallestY, biggestY = math.huge, -math.huge

            local y = (centerMassPos.p - character['Head'].Position).magnitude + character['Head'].Size.Y / 2
            local x1 = (centerMassPos.p - character['RightHand'].Position).magnitude
            local x2 = (centerMassPos.p - character['LeftHand'].Position).magnitude
            local minY1 = (centerMassPos.p - character['RightFoot'].Position).magnitude
            local minY2 = (centerMassPos.p - character['LeftFoot'].Position).magnitude

            local minY = minY1 > minY2 and minY1 or minY2
            local minX = x1 < x2 and x1 or x2

            local offsets = esp:returnoffsets(minX, y, minY, character['HumanoidRootPart'].Size.Z / 2)

            for i, v in next, offsets do
                local pos = camera:WorldToViewportPoint(centerMassPos * v.p)
                if smallestX > pos.X then smallestX = pos.X end
                if biggestX < pos.X then biggestX = pos.X end
                if smallestY > pos.Y then smallestY = pos.Y end
                if biggestY < pos.Y then biggestY = pos.Y end
            end

            drawing.box.Visible = esp[ flag .. 'boxes'][1]
            drawing.box_fill.Visible = drawing.box.Visible
            drawing.box_outline.Visible = esp.outlines and drawing.box.Visible
            if drawing.box.Visible then
                drawing.box.Color = esp[ flag .. 'boxes'][2]
                drawing.box.Size = esp:floorvector(NEWVEC2(biggestX - smallestX, biggestY - smallestY))
                drawing.box.Position = esp:floorvector(NEWVEC2(smallestX, smallestY))
                drawing.box.Transparency = transparency
                drawing.box_fill.Size = drawing.box.Size
                drawing.box_fill.Position = drawing.box.Position
                drawing.box_fill.Color = esp[ flag .. 'boxes'][3]
                drawing.box_fill.Transparency = MIN(esp[ flag .. 'boxes'][4], transparency)
                drawing.box_outline.Size = drawing.box.Size
                drawing.box_outline.Position = drawing.box.Position + NEWVEC2(1,1)
                drawing.box_outline.Transparency = transparency
            end

            drawing.bar.Visible = esp[ flag .. 'healthbar'][1]
            drawing.bar_inline.Visible = drawing.bar.Visible
            drawing.bar_outline.Visible = esp.outlines and drawing.bar.Visible
            if drawing.bar.Visible then
                drawing.bar.Color = esp[ flag .. 'healthbar'][3]:Lerp(esp[ flag .. 'healthbar'][2], health / 100)
                drawing.bar.Size = esp:floorvector(NEWVEC2(1, ( - health / 100 * ( biggestY - smallestY + 2)) + 3))
                drawing.bar.Position = esp:floorvector(NEWVEC2(smallestX - 3, smallestY + drawing.bar_outline.Size.Y))
                drawing.bar.Transparency = transparency
                drawing.bar_inline.Size = esp:floorvector(NEWVEC2(1, ( - 1 * ( biggestY - smallestY + 2)) + 3))
                drawing.bar_inline.Position = drawing.bar.Position
                drawing.bar_inline.Transparency = transparency
                drawing.bar_outline.Size = esp:floorvector(NEWVEC2(1, biggestY - smallestY))
                drawing.bar_outline.Position = esp:floorvector(NEWVEC2(smallestX - 2, smallestY + 1))
                drawing.bar_outline.Transparency = transparency
            end

            drawing.kevlarbar.Visible = esp[ flag .. 'kevlarbar'][1]
            drawing.kevlarbar_inline.Visible = drawing.kevlarbar.Visible
            drawing.kevlarbar_outline.Visible = esp.outlines and drawing.kevlarbar.Visible
            if drawing.kevlarbar.Visible then
                drawing.kevlarbar.Color = esp[ flag .. 'kevlarbar'][3]:Lerp(esp[ flag .. 'kevlarbar'][2], kevlar / 100)
                drawing.kevlarbar.Size = esp:floorvector(NEWVEC2(( kevlar / 100 * ( biggestX - smallestX)), 1))
                drawing.kevlarbar.Position = esp:floorvector(NEWVEC2(smallestX, biggestY + 2))
                drawing.kevlarbar.Transparency = transparency
                drawing.kevlarbar_inline.Size = esp:floorvector(NEWVEC2(( 1 * ( biggestX - smallestX)), 1))
                drawing.kevlarbar_inline.Position = drawing.kevlarbar.Position
                drawing.kevlarbar_inline.Transparency = transparency
                drawing.kevlarbar_outline.Size = esp:floorvector(NEWVEC2(biggestX - smallestX, 1))
                drawing.kevlarbar_outline.Position = esp:floorvector(NEWVEC2(smallestX + 1, biggestY + 3))
                drawing.kevlarbar_outline.Transparency = transparency
            end

            drawing.distance.Visible = not esp[ flag .. 'names'][1] and esp[ flag .. 'distance']
            drawing.distance_outline.Visible = esp.outlines and drawing.distance.Visible
            if drawing.distance.Visible then
                drawing.distance.Text = '['..distance..']'
                drawing.distance.Font = Drawing.Fonts[esp.font]
                drawing.distance.Size = esp.textsize
                drawing.distance.Color = esp[ flag .. 'names'][2]
                drawing.distance.Position = esp:floorvector(NEWVEC2(smallestX + (biggestX - smallestX) / 2 - (drawing.distance.TextBounds.X / 2), smallestY - drawing.distance.TextBounds.Y - 2))
                drawing.distance.Transparency = transparency
                drawing.distance_outline.Text = drawing.distance.Text
                drawing.distance_outline.Font = drawing.distance.Font
                drawing.distance_outline.Size = drawing.distance.Size
                drawing.distance_outline.Position = drawing.distance.Position + NEWVEC2(1,1)
                drawing.distance_outline.Transparency = transparency
            end

            drawing.name.Visible = esp[ flag .. 'names'][1]
            drawing.name_outline.Visible = esp.outlines and drawing.name.Visible
            if drawing.name.Visible then
                drawing.name.Text = esp[ flag .. 'distance'] and '['..distance..'] '..playerName or playerName
                drawing.name.Font = Drawing.Fonts[esp.font]
                drawing.name.Size = esp.textsize
                drawing.name.Color = esp[ flag .. 'names'][2]
                drawing.name.Position = esp:floorvector(NEWVEC2(smallestX + (biggestX - smallestX) / 2 - (drawing.name.TextBounds.X / 2), smallestY - drawing.name.TextBounds.Y - 2))
                drawing.name.Transparency = transparency
                drawing.name_outline.Text = drawing.name.Text
                drawing.name_outline.Font = drawing.name.Font
                drawing.name_outline.Size = drawing.name.Size
                drawing.name_outline.Position = drawing.name.Position + NEWVEC2(1,1)
                drawing.name_outline.Transparency = transparency
            end

            drawing.health.Visible = health ~= 100 and health ~= 0  and esp[flag .. 'health']
            if drawing.health.Visible then
                drawing.health.Text = tostring(health)
                drawing.health.Font = Drawing.Fonts[esp.font]
                drawing.health.Size = esp.textsize
                drawing.health.Outline = esp.outlines
                drawing.health.Color = esp[ flag .. 'healthbar'][3]:Lerp(esp[ flag .. 'healthbar'][2], health / 100)
                drawing.health.Position = esp:floorvector(NEWVEC2(smallestX - 3, drawing.bar.Position.Y + drawing.bar.Size.Y - drawing.health.TextBounds.Y + 5))
                drawing.health.Transparency = transparency
            end

            drawing.weapon.Visible = esp[ flag .. 'weapon'][1]
            drawing.weapon_outline.Visible = esp.outlines and drawing.weapon.Visible
            if drawing.weapon.Visible then
                drawing.weapon.Text = LOWER(character:GetAttribute("WhatGun")) or nil
                drawing.weapon.Font = Drawing.Fonts[esp.font]
                drawing.weapon.Size = esp.textsize
                drawing.weapon.Color = esp[ flag .. 'weapon'][2]
                drawing.weapon.Position = esp:floorvector(NEWVEC2(smallestX + (biggestX - smallestX) / 2 - (drawing.weapon.TextBounds.X / 2), biggestY + 4))
                drawing.weapon.Transparency = transparency
                drawing.weapon_outline.Text = drawing.weapon.Text
                drawing.weapon_outline.Font = drawing.weapon.Font
                drawing.weapon_outline.Size = drawing.weapon.Size
                drawing.weapon_outline.Position = drawing.weapon.Position + NEWVEC2(1,1)
                drawing.weapon_outline.Transparency = transparency
            end
        else
            esp:disable(player)
        end
    end
end

for i, plr in next, players:GetPlayers() do
    esp:add(plr)
end
esp:connect(players.PlayerAdded, function(plr)
    esp:add(plr)
end)
esp:connect(players.PlayerRemoving, function(plr)
    esp:remove(plr)
end)

esp:bindtorenderstep('esp', 999, esp.update)

EspEnabledLabel:AddToggle({
    Default = false,
    Callback = function(state)
        esp.enabled = state
    end,
    Flag = "esp_enabled"
})

TeamCheckLabel:AddToggle({
    Default = false,
    Callback = function(state)
        esp.teamcheck = state
    end,
    Flag = "esp_teamcheck"
})

OutlinesLabel:AddToggle({
    Default = false,
    Callback = function(state)
        esp.outlines = state
    end,
    Flag = "esp_outlines"
})

local ChamsToggle = ChamsLabel:AddToggle({
    Default = false,
    Callback = function(state)
        esp.team_chams[1] = state
        esp.enemy_chams[1] = state
        esp.priority_chams[1] = state
    end,
    Flag = "chams_enabled"
})
local ChamsOption = ChamsLabel:AddOption()
local ChamsFillColor = ChamsOption:AddLabel("Fill"):AddColorPicker({
    Default = Color3.fromRGB(138, 139, 194),
    Flag = "chams_fill_color",
    Callback  = function(state)
        esp.team_chams[2] = state
        esp.enemy_chams[2] = state
        esp.priority_chams[2] = state
    end,
})
local ChamsOutlineColor = ChamsOption:AddLabel("Outline"):AddColorPicker({
    Default = Color3.fromRGB(138, 139, 194),
    Flag = "chams_outline_color",
    Callback  = function(state)
        esp.team_chams[3] = state
        esp.enemy_chams[3] = state
        esp.priority_chams[3] = state
    end,
})
local ChamsFillTransparency = ChamsOption:AddLabel("FillTrans"):AddSlider({
    Default = 0.25,
    Min = 0,
    Max = 1,
    Rounding = 1,
    Flag = "chams_fill_trans",
    Callback = function(state)
        esp.team_chams[4] = state
        esp.enemy_chams[4] = state
        esp.priority_chams[4] = state
    end,
})
local ChamsOutlineTransparency = ChamsOption:AddLabel("OutlineTrans"):AddSlider({
    Default = 0.75,
    Min = 0,
    Max = 1,
    Rounding = 1,
    Flag = "chams_outline_trans",
    Callback = function(state)
        esp.team_chams[5] = state
        esp.enemy_chams[5] = state
        esp.priority_chams[5] = state
    end,
})
local ChamsDepth = ChamsOption:AddLabel("Depth"):AddSlider({
    Default = 0,
    Min = 0,
    Max = 1,
    Rounding = 0,
    Flag = "chams_depth",
    Callback = function(state)
        esp.team_chams[6] = state
        esp.enemy_chams[6] = state
        esp.priority_chams[6] = state
    end,
})

local WeaponNameToggle = ShowWeaponName:AddToggle({
    Default = false,
    Callback = function(state)
        esp.team_weapon[1] = state
        esp.enemy_weapon[1] = state
        esp.priority_weapon[1] = state
    end,
    Flag = "weapon_name_enabled"
})
local WeaponNameOption = ShowWeaponName:AddOption()
local WeaponNameColor = WeaponNameOption:AddLabel("Color"):AddColorPicker({
    Default = Color3.fromRGB(255, 255, 255),
    Flag = "weapon_name_color",
    Callback  = function(state)
        esp.team_weapon[2] = state
        esp.enemy_weapon[2] = state
        esp.priority_weapon[2] = state
    end,
})

ShowHealth:AddToggle({
    Default = false,
    Callback  = function(state)
        esp.team_health = state
        esp.enemy_health = state
        esp.priority_health = state
    end,
    Flag = "show_health"
})

ShowDistance:AddToggle({
    Default = false,
    Callback  = function(state)
        esp.team_distance = state
        esp.enemy_distance = state
        esp.priority_distance = state
    end,
    Flag = "show_distance"
})

local NameToggle = ShowNames:AddToggle({
    Default = false,
    Callback = function(state)
        esp.team_names[1] = state
        esp.enemy_names[1] = state
        esp.priority_names[1] = state
    end,
    Flag = "show_names_enabled"
})
local NameOption = ShowNames:AddOption()
local NameColor = NameOption:AddLabel("Color"):AddColorPicker({
    Default = Color3.fromRGB(255, 255, 255),
    Flag = "name_color",
    Callback  = function(state)
        esp.team_names[2] = state
        esp.enemy_names[2] = state
        esp.priority_names[2] = state
    end,
})

RecoilLabel:AddToggle({
    Default = false,
    Callback = function (state) return state end
})
RecoilLabel:ToolTip("Lower Better")
local RecoilOption = RecoilLabel:AddOption()
local recoilX = RecoilOption:AddLabel("X"):AddSlider({
    Default = nil,
    Min = 0,
    Max = 100,
    Type = "%",
    Rounding = 0,
    Flag = "MySlider",
    Size = 125,
    Callback = function(value)
        for _, recoil in weapons do
            recoil:SetAttribute("RecoilX", value)
        end
    end,
})
local recoily = RecoilOption:AddLabel("Y"):AddSlider({
    Default = nil,
    Min = 0,
    Max = 100,
    Type = "%",
    Rounding = 0,
    Flag = "MySlider",
    Size = 125,
    Callback = function(value)
        for _, recoil in weapons do
            recoil:SetAttribute("RecoilY", value)
        end
    end,
})

SpreadLabel:AddToggle({
    Default = false,
    Callback = function (state) return state end
})
SpreadLabel:ToolTip("Tightness of crosshair, lower = tighter?")
local SpreadOption = SpreadLabel:AddOption()
local Spread = SpreadOption:AddLabel("Spread"):AddSlider({
    Default = nil,
    Min = 0,
    Max = 100,
    Type = "%",
    Rounding = 0,
    Flag = "MySlider",
    Size = 125,
    Callback = function(value)
        for _, spread in weapons do
            spread:SetAttribute("Spread", value)
        end
    end,
})
local AimSpread = SpreadOption:AddLabel("AimSpread"):AddSlider({
    Default = nil,
    Min = 0,
    Max = 100,
    Type = "%",
    Rounding = 0,
    Flag = "MySlider",
    Size = 125,
    Callback = function(value)
        for _, spread in weapons do
            spread:SetAttribute("AimSpread", value)
        end
    end,
})

FireRateLabel:AddToggle({
    Default = false,
    Callback = function (state) return state end
})
FireRateLabel:ToolTip("Modify Rate, Low Number Faster")
local FireRateOption = FireRateLabel:AddOption()
local FireRate = FireRateOption:AddLabel("FireRate"):AddSlider({
    Default = nil,
    Min = -10,
    Max = 100,
    Type = "%",
    Rounding = 0,
    Flag = "MySlider",
    Size = 125,
    Callback = function(value)
        for _, rate in weapons do
            rate:SetAttribute("FireRate", value)
        end
    end,
})

AmmoLabel:AddToggle({
    Default = false,
    Callback = function (state) return state end
})
local AmmoOption = AmmoLabel:AddOption()
local Ammo = AmmoOption:AddLabel("Ammo"):AddSlider({
    Default = nil,
    Min = 0,
    Max = 300,
    Type = "",
    Rounding = 0,
    Flag = "MySlider",
    Size = 125,
    Callback = function(value)
        for _, ammo_w in weapons do
            ammo_w:SetAttribute("Ammo", value)
        end
    end,
})
local StoredAmmo = AmmoOption:AddLabel("StoredAmmo"):AddSlider({
    Default = nil,
    Min = 0,
    Max = 300,
    Type = "",
    Rounding = 0,
    Flag = "MySlider",
    Size = 100,
    Callback = function(value)
        for _, stored in weapons do
            stored:SetAttribute("StoredAmmo", value)
        end
    end,
})

TimesLabel:AddToggle({
    Default = false,
    Callback = function (state) return state end
})
TimesLabel:ToolTip("Modify Spread, Lower Faster")
local TimesOption = TimesLabel:AddOption()
local AimTime = TimesOption:AddLabel("AimTime"):AddSlider({
    Default = nil,
    Min = 0,
    Max = 51,
    Type = "%",
    Rounding = 1,
    Flag = "MySlider",
    Size = 100,
    Callback = function(value)
        for _, aimtime in weapons do
            aimtime:SetAttribute("AimTime", value)
        end
    end,
})
local EquipTime = TimesOption:AddLabel("EquipTime"):AddSlider({
    Default = nil,
    Min = 0,
    Max = 51,
    Type = "%",
    Rounding = 1,
    Flag = "MySlider",
    Size = 100,
    Callback = function(value)
        for _, equiptime in weapons do
            equiptime:SetAttribute("EquipTime", value)
        end
    end,
})
local EReloadTime = TimesOption:AddLabel("EReloadTime"):AddSlider({
    Default = nil,
    Min = 0,
    Max = 51,
    Type = "%",
    Rounding = 1,
    Flag = "MySlider",
    Size = 100,
    Callback = function(value)
        for _, ereloadtime in weapons do
            ereloadtime:SetAttribute("EReloadTime", value)
        end
    end,
})
local ReloadTime = TimesOption:AddLabel("ReloadTime"):AddSlider({
    Default = nil,
    Min = 0,
    Max = 51,
    Type = "%",
    Rounding = 1,
    Flag = "MySlider",
    Size = 100,
    Callback = function(value)
        for _, reloadtime in weapons do
            reloadtime:SetAttribute("ReloadTime", value)
        end
    end,
})

PenetrationLabel:AddToggle({
    Default = false,
    Callback = function (state) return state end
})
local PenetrationOption = PenetrationLabel:AddOption()
local Penetration = PenetrationOption:AddLabel("Pentration"):AddSlider({
    Default = nil,
    Min = 0,
    Max = 100,
    Type = "",
    Rounding = 1,
    Flag = "MySlider",
    Size = 125,
    Callback = function(value)
        for _, pen in weapons do
            pen:SetAttribute("Penetration", value)
        end
    end,
})
AutomaticLabel:AddToggle({
    Default = false,
    Callback = function(state)
        for _, auto in weapons do
            auto:SetAttribute("Auto", state)
        end
    end
})
WeaponSpeedLabel:AddToggle({
    Default = false,
    Callback = function (state)
        
    end
})
WeaponSpeedLabel:ToolTip("Modify WalkSpeed (Multiples WalkSpeed)")
local WeaponSpeedOption = WeaponSpeedLabel:AddOption()
local WeaponWalkSpeed = WeaponSpeedOption:AddLabel("WalkSpeed"):AddSlider({
    Default = nil,
    Min = 0,
    Max = 100,
    Type = "%",
    Rounding = 0,
    Flag = "MySlider",
    Size = 125,
    Callback = function(value)
        for _, walkspeed in weapons do
            walkspeed:SetAttribute("WalkSpeed", value)
        end
    end,
})
local WeaponAimSpeed = WeaponSpeedOption:AddLabel("AimSpeed"):AddSlider({
    Default = nil,
    Min = 0,
    Max = 100,
    Type = "%",
    Rounding = 0,
    Flag = "MySlider",
    Size = 125,
    Callback = function(value)
        for _, aimspeed in weapons do
            aimspeed:SetAttribute("AimWalkSpeed", value)
        end
end,
})
BulletsLabel:AddSlider({
    Default = nil,
    Min = 1,
    Max = 51,
    Type = "",
    Rounding = 0,
    Flag = "MySlider",
    Size = 125,
    Callback = function(value)
        for _, bullet in weapons do
            bullet:SetAttribute("Bullets", value)
        end
end,
})
BlastRadiusLabel:AddSlider({
    Default = nil,
    Min = 1,
    Max = 500,
    Type = "",
    Rounding = 0,
    Flag = "MySlider",
    Size = 100,
    Callback = function(value)
        for _, bullet in weapons do
            bullet:SetAttribute("BlastRadius", value)
        end
end,
})
ProjectileSpeedLabel:AddSlider({
    Default = nil,
    Min = 1,
    Max = 500,
    Type = "",
    Rounding = 0,
    Flag = "MySlider",
    Size = 100,
    Callback = function(value)
        for _, projectileSpeed in weapons do
            projectileSpeed:SetAttribute("ProjectileSpeed", value)
        end
end,
})

local monitoring = false
local monitorThread = nil
local notifiedGrenades = {}

local exactBlacklist = {
    "Casing",
    "Helicopter",
    "Flare",
    "Predator Missile",
    "Overwatch Helo"
}

local function isBlacklisted(name)
    for _, item in ipairs(exactBlacklist) do
        if name == item then
            return true
        end
    end
    if string.sub(name, 1, 8) == "Ragdoll_" then
        return true
    end
    return false
end

local NotificationToggle = Notify:AddToggle({
    Default = false,
    Callback = function(state)
        print("Notification toggle:", state)
        if state == true then
            if monitoring then
                monitoring = false
                monitorThread = nil
            end
            for nade, highlight in pairs(notifiedGrenades) do
                if highlight and highlight.Parent then
                    highlight:Destroy()
                end
            end
            notifiedGrenades = {}

            monitoring = true
            monitorThread = task.spawn(function()
                while monitoring do
                    local nades = getFrags()
                    if nades then
                        for _, nade in ipairs(nades) do
                            if not notifiedGrenades[nade] then
                                if isBlacklisted(nade.Name) then
                                    continue
                                end

                                local highlight = Instance.new("Highlight")
                                highlight.Name = "_X"
                                highlight.FillColor = Color3.fromRGB(241, 167, 225)
                                highlight.FillTransparency = 0.3
                                highlight.OutlineColor = Color3.fromRGB(255, 255, 255)
                                highlight.OutlineTransparency = 1
                                highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
                                highlight.Adornee = nade
                                highlight.Parent = nade

                                notifiedGrenades[nade] = highlight

                                if nade:IsA("BasePart") then
                                    nade.Transparency = 0
                                end

                                Notification.new({
                                    Title = nade.Name,
                                    Content = nade.Name,
                                    Duration = 1.5,
                                })
                            end
                        end
                    end
                    task.wait(0.1)
                end

                for nade, highlight in pairs(notifiedGrenades) do
                    if highlight and highlight.Parent then
                        highlight:Destroy()
                    end
                end
                notifiedGrenades = {}
                monitoring = false
                monitorThread = nil
                print("Monitoring stopped")
            end)
        else
            monitoring = false
            monitorThread = nil
            for nade, highlight in pairs(notifiedGrenades) do
                if highlight and highlight.Parent then
                    highlight:Destroy()
                end
            end
            notifiedGrenades = {}
            print("Monitoring stopped by toggle off")
        end
    end,
    Flag = "grenade_notify"
})

local GetPlayers = Players.GetPlayers
local WorldToScreen = Camera.WorldToScreenPoint
local GetPartsObscuringTarget = Camera.GetPartsObscuringTarget
local FindFirstChild = game.FindFirstChild

local function getMousePosition()
    return Vector2.new(mouse.X, mouse.Y)
end

local function getPositionOnScreen(Vector)
    local Vec3, OnScreen = WorldToScreen(Camera, Vector)
    return Vector2.new(Vec3.X, Vec3.Y), OnScreen
end

local function IsPlayerVisible(Player)
    local PlayerCharacter = Player.Character
    local LocalPlayerCharacter = localPlayer.Character
    if not (PlayerCharacter and LocalPlayerCharacter) then return false end

    local targetRoot = FindFirstChild(PlayerCharacter, "HumanoidRootPart") or PlayerCharacter.PrimaryPart
    if not targetRoot then return false end

    local origin = FindFirstChild(LocalPlayerCharacter, "HumanoidRootPart") or LocalPlayerCharacter.PrimaryPart
    if not origin then return false end

    local CastPoints = {targetRoot.Position, origin.Position}
    local IgnoreList = {LocalPlayerCharacter, PlayerCharacter}
    local ObscuringObjects = #GetPartsObscuringTarget(Camera, CastPoints, IgnoreList)
    return ObscuringObjects == 0
end

local function getClosestPlayer()
    local Closest
    local DistanceToMouse

    for _, Player in next, GetPlayers(Players) do
        if Player == localPlayer then continue end

        local Character = Player.Character
        if not Character then continue end

        local wallbangOn = WallbangToggle and WallbangToggle:GetValue() or false
        if not wallbangOn then
            if not IsPlayerVisible(Player) then continue end
        end

        local HumanoidRootPart = FindFirstChild(Character, "HumanoidRootPart")
        local Humanoid = FindFirstChild(Character, "Humanoid")
        if not HumanoidRootPart or not Humanoid or Humanoid.Health <= 0 then continue end

        local ScreenPosition, OnScreen = getPositionOnScreen(HumanoidRootPart.Position)
        if not OnScreen then continue end

        local Distance = (getMousePosition() - ScreenPosition).Magnitude
        if Distance <= (DistanceToMouse or aimbotCircle.Radius or 2000) then
            Closest = HumanoidRootPart
            DistanceToMouse = Distance
        end
    end
    return Closest
end

local ExpectedArguments = {
    Raycast = {
        ArgCountRequired = 3,
        Args = {
            "Instance", "Vector3", "Vector3", "RaycastParams"
        }
    }
}

local function ValidateArguments(Args, RayMethod)
    local Matches = 0
    if #Args < RayMethod.ArgCountRequired then
        return false
    end
    for Pos, Argument in next, Args do
        if typeof(Argument) == RayMethod.Args[Pos] then
            Matches = Matches + 1
        end
    end
    return Matches >= RayMethod.ArgCountRequired
end

local function getDirection(Origin, Position)
    return (Position - Origin).Unit * 1000
end

local oldNamecall
oldNamecall = hookmetamethod(game, "__namecall", newcclosure(function(...)
    local Method = getnamecallmethod()
    local Arguments = {...}
    local self = Arguments[1]

    if SilentToggle and SilentToggle:GetValue() and self == workspace and not checkcaller() then
        if Method == "Raycast" then
            if ValidateArguments(Arguments, ExpectedArguments.Raycast) then
                local A_Origin = Arguments[2]
                local HitPart = getClosestPlayer()
                if HitPart then
                    Arguments[3] = getDirection(A_Origin, HitPart.Position)
                    return oldNamecall(unpack(Arguments))
                end
            end
        end
    end

    return oldNamecall(...)
end))

task.spawn(function()
	while true do task.wait(1)
		ping:SetText(tostring(math.random(30,90))..'MS')
	end
end)
Verified Executor Compatibility

Features of Enforcement script Script

The Enforcement script script is an optimized Lua execution payload designed for Roblox players. Built to minimize FPS drops and prevent crashes, it provides essential automated functions:

  • Auto Farm & Level Grinding: Automatically cycles quests and mobs with efficient positioning algorithms.
  • Aimbot & ESP: Accurate enemy targeting and wall visibility for items, chests and players.
  • Teleportation: Seamless movement across game checkpoints, safe zones and dungeons.
  • Direct Keyless Loadstring: Executes directly without third-party key verification links.

How to Execute This Script on Mobile & PC

Follow these steps depending on your platform:

Mobile (Android / iOS)

  1. Install Arceus X NEO or Delta Mobile.
  2. Launch the game inside the executor environment.
  3. Open the floating executor console.
  4. Paste the Lua script copied from above.
  5. Click Execute.

PC (Windows)

  1. Launch your PC exploit (such as Synapse X, KRNL, or Xeno).
  2. Join the Roblox game server.
  3. Click Inject / Attach.
  4. Paste the copied script into the script tab.
  5. Press Execute to run the menu.

Frequently Asked Questions (FAQ)

Is the Enforcement script script free and keyless?

Yes, this script payload is verified to be 100% free and keyless without linkvertise checkpoints.

Which executors support this script?

Compatible with Arceus X, Delta, Arceus X, Synapse X, KRNL, Fluxus and Xeno.

How do I execute this script safely?

Copy the script payload using the Copy button above, launch your Roblox executor on PC or Mobile, attach to the game client, paste the payload into the editor, and press Execute.

Related & Recommended Scripts