N0IR op1 script
Key Required

N0IR op1 script

[ZOMBIES] Operation Onehitshits 3.1K views 20.4K executesUpdated Sep 20, 2026
2.5/ 5(2 votes)
1150% Positive
Lua Script•1275 lines (36919 chars)
--  Services
local Players           = game:GetService("Players")
local StarterGui        = game:GetService("StarterGui")
local RunService        = game:GetService("RunService")
local UserInputService  = game:GetService("UserInputService")
local Workspace         = game:GetService("Workspace")
local CoreGui           = game:GetService("CoreGui")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local notification      = game:GetService("NotificationService")

local LocalPlayer = Players.LocalPlayer
local Camera      = Workspace.CurrentCamera


-- Rayfield
local Rayfield = loadstring(game:HttpGet("https://sirius.menu/rayfield"))()

local Window = Rayfield:CreateWindow({
    Name                = "its everything N0IR",
    LoadingTitle        = "its everyday bro",
    LoadingSubtitle     = "loading dicks on ur mouth trust me",
    Theme               = "Light",
    ConfigurationSaving = { Enabled = true, FolderName = "OP1 N0IR", FileName = "Config" },
    Discord             = { Enabled = true, Invite = ".gg/JGDAWjhWzp", Required = false },
    KeySystem           = false,
})

task.spawn(function()
    pcall(function()
        local sg
        for _ = 1, 40 do
            sg = CoreGui:FindFirstChild("Rayfield")
            if sg then break end
            task.wait(0.1)
        end
        if not sg then return end

        local OFFWHITE = Color3.fromRGB(245, 245, 245)
        local BLACK    = Color3.fromRGB(20, 20, 20)

        local function isDark(c)
            return (c.R * 0.299 + c.G * 0.587 + c.B * 0.114) < 0.45
        end

        for _, d in ipairs(sg:GetDescendants()) do
            if d:IsA("Frame") or d:IsA("ScrollingFrame") then
                if isDark(d.BackgroundColor3) then d.BackgroundColor3 = OFFWHITE end
            elseif d:IsA("TextLabel") or d:IsA("TextButton") or d:IsA("TextBox") then
                if not isDark(d.TextColor3) then d.TextColor3 = BLACK end
                if d:IsA("TextButton") and isDark(d.BackgroundColor3) then
                    d.BackgroundColor3 = OFFWHITE
                end
            elseif d:IsA("ImageLabel") or d:IsA("ImageButton") then
                if isDark(d.ImageColor3) then d.ImageColor3 = BLACK end
            end
        end
    end)
end)


--  Tabs
local TabSilent   = Window:CreateTab("Silent Aim",  4483362458)
local TabFirerate = Window:CreateTab("Firerate",    4483362458)
local TabESP      = Window:CreateTab("ESP",         4483362458)
local TabChams    = Window:CreateTab("Chams",       4483362458)


--  Actor lib helper
local function runOnActor(src)
    if not getactors or not run_on_actor then
        warn("[op1] executor missing getactors / run_on_actor")
        return false
    end
    local actors = getactors()
    local actor  = actors and actors[1]
    if not actor then warn("[op1] no actor found") return false end
    local ok, err = pcall(run_on_actor, actor, src)
    if not ok then warn("[op1] run_on_actor: " .. tostring(err)) end
    return ok
end


local function canPenetrate(instance)
    if not instance or not instance:IsA("BasePart") then return true end
    local parent = instance.Parent

    local isHard = instance:GetAttribute("Hard")
        or (parent and parent:GetAttribute("Hard"))

    local isSoft = instance:GetAttribute("Soft")
        or (parent and parent:GetAttribute("Soft"))

    -- Transparent / no-collide parts are always passable
    if instance.Transparency >= 1 or not instance.CanCollide then
        return true
    end

    if isSoft  then return true  end
    if isHard  then
        -- Hard parts still bangable if thin enough (game rule)
        local dims = { instance.Size.X, instance.Size.Y, instance.Size.Z }
        table.sort(dims)
        if dims[2] > 0.5 then return false end
        return true
    end

    -- Normal solid part: bangable only if middle dimension < 1.45
    local dims = { instance.Size.X, instance.Size.Y, instance.Size.Z }
    table.sort(dims)

    if instance:HasTag("WallPart") then
        return dims[2] <= 0.5
    end

    return dims[2] < 1.45
end

-- Raycast from origin toward target, returns true if every
-- part between them is penetrable (or the target is visible)
local function isWallbangable(origin, targetPos, ignoreList)
    local direction = targetPos - origin
    local params    = RaycastParams.new()
    params.FilterType = Enum.RaycastFilterType.Exclude
    params.FilterDescendantsInstances = ignoreList or {}

    local remaining = direction
    local pos       = origin

    for _ = 1, 12 do  -- max 12 wall penetrations (generous)
        local result = Workspace:Raycast(pos, remaining, params)
        if not result then return true end  -- clear line of sight

        if not canPenetrate(result.Instance) then
            return false  -- solid wall, no bang
        end

        -- Step past this instance and keep casting
        params:AddToFilter(result.Instance)
        local traveled = result.Position - origin
        remaining = direction - traveled
        pos = result.Position + remaining.Unit * 0.01

        if remaining.Magnitude < 0.1 then return true end
    end

    return true
end


--  Viewmodel helper
local function isVMModel(m)
    return m and m:IsA("Model") and m:GetAttribute("Viewmodels") == true
end

local PlayerToVM = {}  -- [player] = viewmodel model

local function watchCharacter(plr, char)
    if plr == LocalPlayer then return end
    task.spawn(function()
        local torso = char:WaitForChild("torso", 8)
        if not torso then return end

        if isVMModel(torso.Parent) then
            PlayerToVM[plr] = torso.Parent
            return
        end

        local conn
        conn = torso.AncestryChanged:Connect(function()
            conn:Disconnect()
            local vm = torso.Parent
            if isVMModel(vm) then
                PlayerToVM[plr] = vm
            end
        end)

        char.AncestryChanged:Connect(function()
            if not char:IsDescendantOf(game) and conn then
                conn:Disconnect(); conn = nil
            end
        end)
    end)
end

local function hookPlayer(plr)
    if plr == LocalPlayer then return end
    if plr.Character then watchCharacter(plr, plr.Character) end
    plr.CharacterAdded:Connect(function(c) watchCharacter(plr, c) end)
    plr.CharacterRemoving:Connect(function()
        PlayerToVM[plr] = nil
    end)
end

for _, p in ipairs(Players:GetPlayers()) do hookPlayer(p) end
Players.PlayerAdded:Connect(hookPlayer)
Players.PlayerRemoving:Connect(function(p) PlayerToVM[p] = nil end)


-- Silent aim & autoshoot (autoshoot dont work)
local SA = {
    Enabled     = false,
    AutoShoot   = false,
    FOV         = 200,
    TargetPart  = "head",
    TeamCheck   = true,
    WallbangOnly = false,  -- if true: autoshoot ONLY fires through bangable walls
}

-- FOV circle drawing (doesnt work aswell)
local fovCircle       = Drawing.new("Circle")
fovCircle.Visible     = false
fovCircle.Thickness   = 1.5
fovCircle.Color       = Color3.fromRGB(255, 255, 255)
fovCircle.Filled      = false
fovCircle.NumSides    = 64
fovCircle.Transparency = 1

RunService.RenderStepped:Connect(function()
    Camera = Workspace.CurrentCamera
    local center = Camera.ViewportSize / 2
    fovCircle.Position = center
    fovCircle.Radius   = SA.FOV
    fovCircle.Visible  = SA.Enabled
end)

local CUSTOM_PARTS = {
    "head","torso","shoulder1","shoulder2",
    "arm1","arm2","hip1","hip2","leg1","leg2",
}

local function isTeammate(plr)
    if not SA.TeamCheck then return false end
    local a, b = LocalPlayer.Team, plr.Team
    return a and b and a == b
end

local function getMouseCenter()
    return UserInputService:GetMouseLocation()
end

local function getVMParts(vm)
    local parts = {}
    if SA.TargetPart == "head" then
        local h = vm:FindFirstChild("head")
        if h then parts[#parts+1] = h end
    else
        for _, name in ipairs(CUSTOM_PARTS) do
            local p = vm:FindFirstChild(name)
            if p then parts[#parts+1] = p end
        end
    end
    return parts
end

local function findTarget()
    local mouse     = UserInputService:GetMouseLocation()
    local cam       = Workspace.CurrentCamera
    local best      = nil
    local bestDist2 = SA.FOV * SA.FOV

    local vms = Workspace:FindFirstChild("Viewmodels")
    if not vms then return nil end

    for _, vm in ipairs(vms:GetChildren()) do
        if vm.Name == "LocalViewmodel" then continue end
        if not vm:IsA("Model") then continue end

        local torso = vm:FindFirstChild("torso")
        if not torso or torso.Transparency >= 1 then continue end

        local head = vm:FindFirstChild("head")
        if not head or not head:IsA("BasePart") then continue end

        local screenPos, onScreen = cam:WorldToViewportPoint(head.Position)
        if not onScreen or screenPos.Z <= 0 then continue end

        local dx = screenPos.X - mouse.X
        local dy = screenPos.Y - mouse.Y
        local d2 = dx*dx + dy*dy

        if d2 < bestDist2 then
            bestDist2 = d2
            best      = head
        end
    end

    return best
end

-- Patch gun silent aim on actor — LO's working version
local SILENT_SRC = [==[
    local rs    = game:GetService("ReplicatedStorage")
    local input = game:GetService("UserInputService")
    local world = game:GetService("Workspace")

    local gunClass = require(rs.Modules.Items.Item.Gun)

    if gunClass._silent_aim_patched then return end
    gunClass._silent_aim_patched = true

    local oldLook = gunClass.get_shoot_look

    local radius     = 1000
    local radius_sq  = radius * radius
    local targetMode = "head_only"
    local customParts = {
        "head","torso","shoulder1","shoulder2",
        "arm1","arm2","hip1","hip2","leg1","leg2",
    }

    local mouse = input:GetMouseLocation()
    local cam   = world.CurrentCamera
    input.InputChanged:Connect(function()
        mouse = input:GetMouseLocation()
    end)

    local function getPartList()
        if targetMode == "head_only" then return { "head" } end
        return customParts
    end

    local function pickAimPart()
        local best, best_d2 = nil, math.huge
        local function consider(p)
            if not p or not p:IsA("BasePart") then return end
            local v2, ok = cam:WorldToViewportPoint(p.Position)
            if not ok then return end
            local dx, dy = v2.X - mouse.X, v2.Y - mouse.Y
            local d2 = dx*dx + dy*dy
            if d2 <= radius_sq and d2 < best_d2 then
                best, best_d2 = p, d2
            end
        end
        local vms = world:FindFirstChild("Viewmodels")
        if vms then
            for _, vm in ipairs(vms:GetChildren()) do
                if vm.Name ~= "Viewmodel" then continue end
                local torso = vm:FindFirstChild("torso")
                if torso and torso.Transparency == 1 then continue end
                for _, name in ipairs(getPartList()) do
                    consider(vm:FindFirstChild(name))
                end
            end
        end
        return best
    end

    local probed = false

    gunClass.get_shoot_look = function(self, ...)
        local look   = oldLook(self, ...)
        local target = pickAimPart()

        if not probed then
            probed = true
            print("[silent-aim] oldLook returned:", typeof(look), tostring(look))
        end

        if not target then return look end

        if typeof(look) == "CFrame" then
            return CFrame.lookAt(look.Position, target.Position)
        elseif typeof(look) == "Vector3" then
            return (target.Position - cam.CFrame.Position).Unit
        elseif type(look) == "table" then
            if look[1] and look[2] and typeof(look[1]) == "Vector3" then
                return { look[1], (target.Position - look[1]).Unit }
            end
            if look.origin and look.direction then
                return {
                    origin    = look.origin,
                    direction = (target.Position - look.origin).Unit,
                }
            end
        end

        return look
    end

    print("[silent-aim] patched, now you can shoot without looking at them.")
]==]

-- autoshoot = hold mouse1 when target valid, no actor patch needed

local silentLoaded = false

local function ensureSilentAim()
    if silentLoaded then return end
    silentLoaded = true
    run_on_actor(getactors()[1], SILENT_SRC)
end

local function reloadSilentAim()
    silentLoaded = false
    -- clear patch flag so actor re-runs it
    run_on_actor(getactors()[1], [==[
        local rs = game:GetService("ReplicatedStorage")
        local g  = require(rs.Modules.Items.Item.Gun)
        g._silent_aim_patched = nil
    ]==])
    ensureSilentAim()
end

local isHoldingM1 = false

local function pressM1()
    if isHoldingM1 then return end
    isHoldingM1 = true
    mouse1press()
end

local function releaseM1()
    if not isHoldingM1 then return end
    isHoldingM1 = false
    mouse1release()
end

-- Main loop
RunService.Heartbeat:Connect(function(dt)
    if not SA.Enabled then
        releaseM1()
        return
    end

    ensureSilentAim()

    if not SA.AutoShoot then
        releaseM1()
        return
    end

    local target = findTarget()

    if not target then
        releaseM1()
        return
    end

    local camPos    = Camera.CFrame.Position
    local targetPos = target.Position

    local ignore = {}
    if LocalPlayer.Character then
        for _, v in ipairs(LocalPlayer.Character:GetDescendants()) do
            if v:IsA("BasePart") then ignore[#ignore+1] = v end
        end
    end

    -- LOS check: visible head = shoot, blocked = check wallbang
    local losParams = RaycastParams.new()
    losParams.FilterType = Enum.RaycastFilterType.Exclude
    losParams.FilterDescendantsInstances = ignore

    local losResult = Workspace:Raycast(camPos, targetPos - camPos, losParams)
    local shootable = not losResult or isWallbangable(camPos, targetPos, ignore)

    if shootable then
        pressM1()
    else
        releaseM1()
    end
end)


--  Rapid fire
local FIRERATE_SRC = [==[
    local rs = game:GetService("ReplicatedStorage")
    local sg = game:GetService("StarterGui")

    local MULTIPLIER = __MULT__

    local gunClass = require(rs.Modules.Items.Item.Gun)

    if gunClass._op1_firerate_patched then
        if gunClass._op1_firerate_set_mult then
            gunClass._op1_firerate_set_mult(MULTIPLIER)
        end
        return
    end
    gunClass._op1_firerate_patched = true

    local multiplier       = MULTIPLIER
    local lastSendTime     = 0
    local measuredInterval = 0.1

    gunClass._op1_firerate_set_mult = function(m)
        multiplier = m
    end

    local oldSend = gunClass.send_shoot
    if type(oldSend) ~= "function" then
        warn("[op1-firerate] send_shoot not a function")
        return
    end

    gunClass.send_shoot = function(self, ...)
        local args = { ... }
        local now  = tick()

        if lastSendTime > 0 then
            local d = now - lastSendTime
            if d > 0.005 and d < 2 then
                measuredInterval = d
            end
        end
        lastSendTime = now

        local r = oldSend(self, ...)

        if multiplier > 1 then
            local step = math.max(measuredInterval / multiplier, 0.02)
            for i = 1, multiplier - 1 do
                task.delay(step * i, function()
                    pcall(oldSend, self, table.unpack(args))
                end)
            end
        end

        return r
    end

    pcall(function()
        sg:SetCore("SendNotification", {
            Title = "Firerate", Text = "x" .. tostring(multiplier) .. " loaded", Duration = 3
        })
    end)
    print("[op1-firerate] patched x" .. tostring(multiplier))
]==]

local FR = { enabled = false, mult = 2 }

local function applyFirerate(mult)
    local src = string.gsub(FIRERATE_SRC, "__MULT__", tostring(mult))
    runOnActor(src)
end


--  ESP
local ESPCfg = {
    Enabled       = false,
    TeamCheck     = true,
    MaxDist       = 850,
    ShowDead      = false,

    EnemyFill     = Color3.fromRGB(220, 50, 50),
    EnemyOutline  = Color3.fromRGB(255, 90, 90),
    TeamFill      = Color3.fromRGB(50, 130, 220),
    TeamOutline   = Color3.fromRGB(80, 170, 255),
    FillTransp    = 0.60,
    OutlineTransp = 0,

    BoxEnabled    = true,
    BoxColor      = Color3.fromRGB(255, 255, 255),
    BoxThickness  = 1.5,

    Names         = true,
    NameColor     = Color3.fromRGB(255, 255, 255),
    Distance      = true,
    DistColor     = Color3.fromRGB(185, 185, 185),
    HealthBar     = true,
    HPHigh        = Color3.fromRGB(40, 215, 80),
    HPMid         = Color3.fromRGB(235, 195, 30),
    HPLow         = Color3.fromRGB(230, 45, 45),

    -- Team check runs every N frames (10 = default)
    TeamCheckFrames = 10,
}

local ESPTrack = {}  -- [player] = { hl, bb, box={}, vmConn }
local frameCounter = 0

local function hpColor(pct)
    if pct > 0.60 then return ESPCfg.HPHigh end
    if pct > 0.30 then return ESPCfg.HPMid  end
    return ESPCfg.HPLow
end

local function isESPTeammate(plr)
    if not ESPCfg.TeamCheck then return false end
    return LocalPlayer.Team ~= nil
        and plr.Team ~= nil
        and LocalPlayer.Team == plr.Team
end

-- Box drawings per player
local function createBoxDrawings()
    local lines = {}
    for i = 1, 4 do
        local l = Drawing.new("Line")
        l.Visible   = false
        l.Thickness = ESPCfg.BoxThickness
        l.Color     = ESPCfg.BoxColor
        l.Transparency = 1
        lines[i] = l
    end
    return lines
end

local function destroyBoxDrawings(lines)
    if not lines then return end
    for _, l in ipairs(lines) do pcall(function() l:Remove() end) end
end

local function hideBox(lines)
    if not lines then return end
    for _, l in ipairs(lines) do l.Visible = false end
end

local function updateBox(lines, vm)
    if not lines or not vm then return end
    local cam = Workspace.CurrentCamera
    if not cam then return end

    local ok, cf, size = pcall(function() return vm:GetBoundingBox() end)
    if not ok or not cf or not size then hideBox(lines) return end

    local half = size / 2
    local corners3D = {
        Vector3.new(-half.X, -half.Y, -half.Z),
        Vector3.new(-half.X, -half.Y,  half.Z),
        Vector3.new(-half.X,  half.Y, -half.Z),
        Vector3.new(-half.X,  half.Y,  half.Z),
        Vector3.new( half.X, -half.Y, -half.Z),
        Vector3.new( half.X, -half.Y,  half.Z),
        Vector3.new( half.X,  half.Y, -half.Z),
        Vector3.new( half.X,  half.Y,  half.Z),
    }

    local minX, minY =  math.huge,  math.huge
    local maxX, maxY = -math.huge, -math.huge
    local anyVisible = false

    for _, pt in ipairs(corners3D) do
        local s = cam:WorldToViewportPoint(cf:PointToWorldSpace(pt))
        if s.Z > 0 then
            anyVisible = true
            if s.X < minX then minX = s.X end
            if s.Y < minY then minY = s.Y end
            if s.X > maxX then maxX = s.X end
            if s.Y > maxY then maxY = s.Y end
        end
    end

    if not anyVisible or (maxX - minX) < 2 or (maxY - minY) < 2 then
        hideBox(lines) return
    end

    -- 4 lines = top, bottom, left, right
    local tl = Vector2.new(minX, minY)
    local tr = Vector2.new(maxX, minY)
    local bl = Vector2.new(minX, maxY)
    local br = Vector2.new(maxX, maxY)

    lines[1].From = tl; lines[1].To = tr; lines[1].Visible = true  -- top
    lines[2].From = bl; lines[2].To = br; lines[2].Visible = true  -- bottom
    lines[3].From = tl; lines[3].To = bl; lines[3].Visible = true  -- left
    lines[4].From = tr; lines[4].To = br; lines[4].Visible = true  -- right

    for _, l in ipairs(lines) do
        l.Color     = ESPCfg.BoxColor
        l.Thickness = ESPCfg.BoxThickness
    end
end

-- Billboard helpers
local function safeRemoveBB(t)
    if t and t.bb then
        pcall(function() t.bb:Destroy() end)
        t.bb = nil
    end
end

local function buildBB(plr)
    local t = ESPTrack[plr]
    if not t then return end
    safeRemoveBB(t)

    local char = plr.Character
    local root = char and char:FindFirstChild("HumanoidRootPart")
    if not root then return end

    local bb = Instance.new("BillboardGui")
    bb.Name           = "ESP_" .. plr.UserId
    bb.Size           = UDim2.fromOffset(150, 52)
    bb.StudsOffset    = Vector3.new(0, 3.6, 0)
    bb.AlwaysOnTop    = true
    bb.ResetOnSpawn   = false
    bb.LightInfluence = 0
    bb.Adornee        = root
    bb.Enabled        = false
    bb.Parent         = CoreGui

    local function lbl(name, sz, yPos, font)
        local l = Instance.new("TextLabel")
        l.Name                   = name
        l.Size                   = UDim2.new(1,0,0,sz)
        l.Position               = UDim2.fromOffset(0, yPos)
        l.BackgroundTransparency = 1
        l.Font                   = font or Enum.Font.GothamBold
        l.TextSize               = sz
        l.TextStrokeTransparency = 0.25
        l.TextStrokeColor3       = Color3.new(0,0,0)
        l.Text                   = ""
        l.Parent                 = bb
        return l
    end

    lbl("Name", 13, 0)
    lbl("Dist", 11, 15, Enum.Font.Gotham)

    local hpBg = Instance.new("Frame")
    hpBg.Name             = "HPBg"
    hpBg.Size             = UDim2.new(1,0,0,6)
    hpBg.Position         = UDim2.fromOffset(0, 28)
    hpBg.BackgroundColor3 = Color3.fromRGB(25,25,25)
    hpBg.BorderSizePixel  = 0
    hpBg.Parent           = bb
    Instance.new("UICorner", hpBg).CornerRadius = UDim.new(1,0)

    local hpFg = Instance.new("Frame")
    hpFg.Name             = "HPFg"
    hpFg.Size             = UDim2.fromScale(1,1)
    hpFg.BackgroundColor3 = ESPCfg.HPHigh
    hpFg.BorderSizePixel  = 0
    hpFg.Parent           = hpBg
    Instance.new("UICorner", hpFg).CornerRadius = UDim.new(1,0)

    t.bb = bb
end

local function destroyESPEntry(plr)
    local t = ESPTrack[plr]
    if not t then return end
    if t.vmConn  then pcall(function() t.vmConn:Disconnect() end) end
    if t.bb      then pcall(function() t.bb:Destroy() end) end
    if t.hl      then pcall(function() t.hl:Destroy() end) end
    destroyBoxDrawings(t.box)
    ESPTrack[plr] = nil
end

local function setupESPHighlight(plr, vm)
    destroyESPEntry(plr)

    local team = isESPTeammate(plr)
    local hl   = Instance.new("Highlight")
    hl.FillColor           = team and ESPCfg.TeamFill    or ESPCfg.EnemyFill
    hl.OutlineColor        = team and ESPCfg.TeamOutline or ESPCfg.EnemyOutline
    hl.FillTransparency    = ESPCfg.FillTransp
    hl.OutlineTransparency = ESPCfg.OutlineTransp
    hl.DepthMode           = Enum.HighlightDepthMode.AlwaysOnTop
    hl.Enabled             = false
    hl.Parent              = vm

    ESPTrack[plr] = {
        hl     = hl,
        bb     = nil,
        box    = createBoxDrawings(),
        vmConn = nil,
    }

    buildBB(plr)

    local vmConn
    vmConn = vm.AncestryChanged:Connect(function()
        if not vm:IsDescendantOf(Workspace) then
            vmConn:Disconnect()
            local t = ESPTrack[plr]
            if t and t.vmConn == vmConn then
                safeRemoveBB(t)
                hideBox(t.box)
                t.hl = nil
            end
        end
    end)

    ESPTrack[plr].vmConn = vmConn
end

local function watchESPCharacter(plr, char)
    if plr == LocalPlayer then return end
    task.spawn(function()
        local torso = char:WaitForChild("torso", 8)
        if not torso then return end

        if isVMModel(torso.Parent) then
            setupESPHighlight(plr, torso.Parent)
            return
        end

        local conn
        conn = torso.AncestryChanged:Connect(function()
            conn:Disconnect()
            local vm = torso.Parent
            if isVMModel(vm) then
                setupESPHighlight(plr, vm)
            end
        end)

        char.AncestryChanged:Connect(function()
            if not char:IsDescendantOf(game) and conn then
                conn:Disconnect(); conn = nil
            end
        end)
    end)
end

local function hookESPPlayer(plr)
    if plr == LocalPlayer then return end
    if plr.Character then watchESPCharacter(plr, plr.Character) end
    plr.CharacterAdded:Connect(function(c)
        task.delay(0.05, function()
            if ESPTrack[plr] then buildBB(plr) end
        end)
        watchESPCharacter(plr, c)
    end)
    plr.CharacterRemoving:Connect(function()
        local t = ESPTrack[plr]
        if t and t.bb then t.bb.Enabled = false end
        hideBox(t and t.box)
    end)
end

for _, p in ipairs(Players:GetPlayers()) do hookESPPlayer(p) end
Players.PlayerAdded:Connect(hookESPPlayer)
Players.PlayerRemoving:Connect(destroyESPEntry)

-- ESP render loop
RunService.RenderStepped:Connect(function()
    frameCounter += 1
    local cam = Workspace.CurrentCamera

    for plr, t in pairs(ESPTrack) do
        local hl  = t.hl
        local bb  = t.bb
        local box = t.box

        if not plr.Parent then
            destroyESPEntry(plr)
            continue
        end

        if not hl or not hl.Parent then
            if hl then t.hl = nil end
            if bb then bb.Enabled = false end
            hideBox(box)
            continue
        end

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

        -- Team check runs every TeamCheckFrames frames
        local team = false
        if frameCounter % ESPCfg.TeamCheckFrames == 0 then
            team = isESPTeammate(plr)
        else
            -- Read cached from highlight color (quick approximation)
            team = hl.FillColor == ESPCfg.TeamFill
        end

        local alive = hum and hum.Health > 0
        local show  = ESPCfg.Enabled
            and (ESPCfg.ShowDead or alive)
            and (not ESPCfg.TeamCheck or not team)

        if show and root and cam then
            local d = (cam.CFrame.Position - root.Position).Magnitude
            if d > ESPCfg.MaxDist then show = false end
        end

        if not show then
            hl.Enabled = false
            if bb then bb.Enabled = false end
            hideBox(box)
            continue
        end

        -- Update highlight
        hl.Enabled             = true
        hl.FillColor           = team and ESPCfg.TeamFill    or ESPCfg.EnemyFill
        hl.OutlineColor        = team and ESPCfg.TeamOutline or ESPCfg.EnemyOutline
        hl.FillTransparency    = ESPCfg.FillTransp
        hl.OutlineTransparency = ESPCfg.OutlineTransp

        -- Box
        if ESPCfg.BoxEnabled then
            updateBox(box, hl.Parent)
        else
            hideBox(box)
        end

        -- Billboard
        if bb and root then
            if bb.Adornee ~= root then bb.Adornee = root end
            bb.Enabled = true

            local dist    = (cam.CFrame.Position - root.Position).Magnitude
            local nameLbl = bb:FindFirstChild("Name")
            local distLbl = bb:FindFirstChild("Dist")
            local hpBg    = bb:FindFirstChild("HPBg")

            if nameLbl then
                nameLbl.Visible    = ESPCfg.Names
                nameLbl.Text       = plr.DisplayName
                nameLbl.TextColor3 = ESPCfg.NameColor
            end
            if distLbl then
                distLbl.Visible    = ESPCfg.Distance
                distLbl.Text       = string.format("[ %dm ]", math.floor(dist))
                distLbl.TextColor3 = ESPCfg.DistColor
            end
            if hpBg then
                hpBg.Visible = ESPCfg.HealthBar
                if ESPCfg.HealthBar and hum then
                    local pct = math.clamp(hum.Health / math.max(hum.MaxHealth,1), 0, 1)
                    local fg  = hpBg:FindFirstChild("HPFg")
                    if fg then
                        fg.Size             = UDim2.fromScale(pct, 1)
                        fg.BackgroundColor3 = hpColor(pct)
                    end
                end
            end
        end
    end
end)


--  Gun chams
local ChamsCfg = {
    Enabled      = false,
    Rainbow      = false,
    Metallic     = false,
    Pulse        = false,
    Color        = Color3.fromRGB(255, 255, 255),
    Transparency = 0,
    RainbowSpeed = 1,
}

local ChamsHL  = nil
local ChamsVM  = nil
local ChamsHue = 0

local function getLocalVM()
    local vms = Workspace:FindFirstChild("Viewmodels")
    return vms and vms:FindFirstChild("LocalViewmodel")
end

local function destroyChams()
    if ChamsHL then pcall(function() ChamsHL:Destroy() end) end
    ChamsHL = nil; ChamsVM = nil
end

local function ensureChams()
    local vm = getLocalVM()
    if not ChamsCfg.Enabled or not vm then destroyChams() return end
    if ChamsHL and ChamsVM == vm then return end
    destroyChams()

    local hl = Instance.new("Highlight")
    hl.Name       = "Op1GunChams"
    hl.Adornee    = vm
    hl.DepthMode  = Enum.HighlightDepthMode.AlwaysOnTop
    hl.Parent     = CoreGui
    ChamsHL = hl; ChamsVM = vm
end

RunService.RenderStepped:Connect(function(dt)
    ensureChams()
    if not ChamsHL then return end

    if ChamsCfg.Rainbow then
        ChamsHue = (ChamsHue + dt * ChamsCfg.RainbowSpeed * 0.1) % 1
        local c = Color3.fromHSV(ChamsHue, 1, 1)
        ChamsHL.FillColor    = c
        ChamsHL.OutlineColor = c
    else
        ChamsHL.FillColor    = ChamsCfg.Color
        ChamsHL.OutlineColor = ChamsCfg.Color
    end

    if ChamsCfg.Metallic then
        ChamsHL.FillColor = ChamsHL.FillColor:Lerp(Color3.new(1,1,1), 0.3)
    end

    ChamsHL.FillTransparency =
        ChamsCfg.Pulse
        and math.abs(math.sin(os.clock() * 2))
        or ChamsCfg.Transparency

    ChamsHL.OutlineTransparency = 0
end)


--  Silent aim tab
TabSilent:CreateSection("Silent Aim")

TabSilent:CreateToggle({
    Name         = "Enable Silent Aim",
    CurrentValue = false,
    Flag         = "sa_enabled",
    Callback     = function(v)
        SA.Enabled = v
        fovCircle.Visible = v
        if v then ensureSilentAim() end
    end,
})

TabSilent:CreateToggle({
    Name         = "Auto Shoot",
    CurrentValue = false,
    Flag         = "sa_autoshoot",
    Callback     = function(v)
        SA.AutoShoot = v
        if not v then releaseM1() end
    end,
})

TabSilent:CreateToggle({
    Name         = "Wallbang Only",
    CurrentValue = false,
    Flag         = "sa_wallbang_only",
    Callback     = function(v)
        SA.WallbangOnly = v
    end,
})

TabSilent:CreateToggle({
    Name         = "Team Check",
    CurrentValue = true,
    Flag         = "sa_teamcheck",
    Callback     = function(v)
        SA.TeamCheck = v
    end,
})

TabSilent:CreateSlider({
    Name         = "FOV Radius",
    Range        = {20, 800},
    Increment    = 10,
    Suffix       = "px",
    CurrentValue = 200,
    Flag         = "sa_fov",
    Callback     = function(v)
        SA.FOV = v
        if SA.Enabled then reloadSilentAim() end
    end,
})

TabSilent:CreateDropdown({
    Name          = "Target Part",
    Options       = {"head", "custom_parts"},
    CurrentOption = {"head"},
    Flag          = "sa_targetpart",
    Callback      = function(opt)
        SA.TargetPart = (type(opt) == "table") and opt[1] or opt
        if SA.Enabled then reloadSilentAim() end
    end,
})

TabSilent:CreateLabel("Auto Shoot fires when target is in FOV + penetrable wall (or clear LOS).")


--  Firerate tab
TabFirerate:CreateSection("Rapid Fire")

TabFirerate:CreateToggle({
    Name         = "Enable Rapid Fire",
    CurrentValue = false,
    Flag         = "fr_enabled",
    Callback     = function(v)
        FR.enabled = v
        applyFirerate(v and FR.mult or 1)
    end,
})

TabFirerate:CreateSlider({
    Name         = "Multiplier",
    Range        = {1, 20},
    Increment    = 1,
    Suffix       = "x",
    CurrentValue = 2,
    Flag         = "fr_mult",
    Callback     = function(v)
        FR.mult = v
        if FR.enabled then applyFirerate(v) end
    end,
})


--  Esp tab
TabESP:CreateSection("Player ESP")

TabESP:CreateToggle({
    Name         = "Enable ESP",
    CurrentValue = false,
    Flag         = "esp_enabled",
    Callback     = function(v) ESPCfg.Enabled = v end,
})

TabESP:CreateToggle({
    Name         = "Team Check",
    CurrentValue = true,
    Flag         = "esp_teamcheck",
    Callback     = function(v) ESPCfg.TeamCheck = v end,
})

TabESP:CreateToggle({
    Name         = "Show Dead",
    CurrentValue = false,
    Flag         = "esp_showdead",
    Callback     = function(v) ESPCfg.ShowDead = v end,
})

TabESP:CreateSection("Box ESP")

TabESP:CreateToggle({
    Name         = "Enable Box",
    CurrentValue = true,
    Flag         = "esp_box",
    Callback     = function(v) ESPCfg.BoxEnabled = v end,
})

TabESP:CreateColorPicker({
    Name     = "Box Color",
    Color    = Color3.fromRGB(255, 255, 255),
    Flag     = "esp_boxcolor",
    Callback = function(c) ESPCfg.BoxColor = c end,
})

TabESP:CreateSection("Labels")

TabESP:CreateToggle({
    Name         = "Names",
    CurrentValue = true,
    Flag         = "esp_names",
    Callback     = function(v) ESPCfg.Names = v end,
})

TabESP:CreateToggle({
    Name         = "Distance",
    CurrentValue = true,
    Flag         = "esp_dist",
    Callback     = function(v) ESPCfg.Distance = v end,
})

TabESP:CreateToggle({
    Name         = "Health Bar",
    CurrentValue = true,
    Flag         = "esp_hp",
    Callback     = function(v) ESPCfg.HealthBar = v end,
})

TabESP:CreateSlider({
    Name         = "Max Distance",
    Range        = {100, 2000},
    Increment    = 50,
    Suffix       = "m",
    CurrentValue = 850,
    Flag         = "esp_maxdist",
    Callback     = function(v) ESPCfg.MaxDist = v end,
})

--  Chams tab
local TabChamsUI = TabChams

TabChamsUI:CreateSection("Gun Chams")

TabChamsUI:CreateToggle({
    Name         = "Enable Chams",
    CurrentValue = false,
    Flag         = "chams_enabled",
    Callback     = function(v)
        ChamsCfg.Enabled = v
        if v then ensureChams() else destroyChams() end
    end,
})

TabChamsUI:CreateColorPicker({
    Name     = "Color",
    Color    = Color3.fromRGB(255, 255, 255),
    Flag     = "chams_color",
    Callback = function(c) ChamsCfg.Color = c end,
})

TabChamsUI:CreateSlider({
    Name         = "Transparency",
    Range        = {0, 100},
    Increment    = 1,
    Suffix       = "%",
    CurrentValue = 0,
    Flag         = "chams_transp",
    Callback     = function(v) ChamsCfg.Transparency = v / 100 end,
})

TabChamsUI:CreateSection("Effects")

TabChamsUI:CreateToggle({
    Name         = "Rainbow",
    CurrentValue = false,
    Flag         = "chams_rainbow",
    Callback     = function(v) ChamsCfg.Rainbow = v end,
})

TabChamsUI:CreateToggle({
    Name         = "Metallic",
    CurrentValue = false,
    Flag         = "chams_metallic",
    Callback     = function(v) ChamsCfg.Metallic = v end,
})

TabChamsUI:CreateToggle({
    Name         = "Pulse",
    CurrentValue = false,
    Flag         = "chams_pulse",
    Callback     = function(v) ChamsCfg.Pulse = v end,
})

TabChamsUI:CreateSlider({
    Name         = "Rainbow Speed",
    Range        = {1, 10},
    Increment    = 1,
    Suffix       = "x",
    CurrentValue = 1,
    Flag         = "chams_rainbowspeed",
    Callback     = function(v) ChamsCfg.RainbowSpeed = v end,
})

Rayfield:LoadConfiguration()

getgenv().Op1Config = { SA = SA, FR = FR, ESP = ESPCfg, Chams = ChamsCfg }


local COPY_LINK = "discord.gg/JGDAWjhWzp"

local function notifyCopied()
    pcall(function()
        StarterGui:SetCore("SendNotification", {
            Title    = "N0IR",
            Text     = "Discord link copied to your clipboard.",
            Duration = 10,
        })
    end)
end

local function sendYesNoNotification()
    pcall(function()
        StarterGui:SetCore("SendNotification", {
            Title    = "N0IR",
            Text     = "Copy the invite link to your clipboard?",
            Duration = 8,
            Button1  = "Yes i will copy i really wanna see your ass.",
            Button2  = "No nigga fuck off.",
            Callback = function(btn)
                local isYes = (btn == 1) or (btn == "Yes") or (btn == "Button1")
                local isNo  = (btn == 2) or (btn == "No")  or (btn == "Button2")

                if isYes then
                    if setclipboard then
                        pcall(setclipboard, COPY_LINK)
                    elseif toclipboard then
                        pcall(toclipboard, COPY_LINK)
                    else
                        warn("no clipboard function available")
                        return
                    end
                    notifyCopied()
                elseif isNo then
                end
            end,
        })
    end)
end

sendYesNoNotification()

Features & Information

Silent Aim | Auto Shoot doesnt work so and fix it | RapidFire | ESP | Chams open src make a skid hub with ts

Community Comments (10)

noxcnnnoxcnnSep 21, 2026

yo does this work on xeno or velocity

Replying to @noxcnn
UnkownMoggerHackerUnkownMoggerHackerSep 22, 2026

@noxcnn idk

Replying to @noxcnn
hitshitsSep 22, 2026

@noxcnn no silent aim wont work on xeno but esp would be but firerate and silent aim wont work so get psm or real or madium or some*

Replying to @hits
noxcnnnoxcnnSep 23, 2026

@hits What about velocity

Replying to @noxcnn
hitshitsSep 23, 2026

@noxcnn yes it will work bc it has enough status (unc and sunc and all the other ones)

Miguelll8272672Miguelll8272672Sep 22, 2026

Also works on delta users

Replying to @Miguelll8272672
hitshitsSep 22, 2026

@Miguelll8272672 great to hear

ShowcaserShowcaserOct 10, 2026

Will the silent aim work on Arceus neo because I'm using it rn and the silent aim didn't seems to work

Replying to @Showcaser
hitshitsOct 11, 2026

@Showcaser i think ur executro doesnt have actor support its a library that executors have urs doesnt have it

Hacks7777676709Hacks7777676709Oct 13, 2026

Sir how do I like excite it lile Im lost

More Scripts for [ZOMBIES] Operation One