silent aim and gun mod open source
Key Required

silent aim and gun mod open source

[🏖️x2] One Shoteltonelton 260 views 3.3K executesUpdated Aug 13, 2026
Unrated
00
Lua Script•235 lines (8090 chars)
local plrs = game:GetService("Players")
local ws = game:GetService("Workspace")
local rs = game:GetService("RunService")
local gui = game:GetService("GuiService")
local rep = game:GetService("ReplicatedStorage")
local lp = plrs.LocalPlayer
local mouse = lp:GetMouse()

getgenv().cfg = {
    silent = true, part = "Head", wallcheck = true,
    chance = 100, headshot = true,
    fov = true, fov_r = 150, fov_c = Color3.fromRGB(0, 255, 200),
    trigger = true, trigger_delay = 0.05,
    mods = true, no_recoil = true, fast_reload = true, big_hitbox = true,
    reload_t = 0.01, bullet_r = 5,
    esp = true, esp_bots = true, esp_plrs = true,
    tracers = true, names = true,
}
local c = getgenv().cfg

-- fov
local fovCircle = Drawing.new("Circle")
fovCircle.Thickness = 1.5; fovCircle.NumSides = 64
fovCircle.Filled = false; fovCircle.Transparency = 0.7

rs.RenderStepped:Connect(function()
    fovCircle.Radius = c.fov_r
    fovCircle.Color = c.fov_c
    fovCircle.Visible = c.fov
    local inset = gui:GetGuiInset()
    fovCircle.Position = Vector2.new(mouse.X, mouse.Y + inset.Y)
end)

local function canSee(part, origin)
    local rp = RaycastParams.new()
    rp.FilterType = Enum.RaycastFilterType.Exclude
    local f = {lp.Character, ws.CurrentCamera}
    for _, v in ipairs(plrs:GetPlayers()) do
        if v ~= lp and v.Character then f[#f+1] = v.Character end
    end
    if ws:FindFirstChild("bots") then
        for _, v in ipairs(ws.bots:GetChildren()) do f[#f+1] = v end
    end
    rp.FilterDescendantsInstances = f
    return ws:Raycast(origin, part.Position - origin, rp) == nil
end

local function getTarget()
    local cam = ws.CurrentCamera
    if not cam then return end

    local bestPart, bestModel, isBot = nil, nil, false
    local bestDist = c.fov_r
    local inset = gui:GetGuiInset()
    local mPos = Vector2.new(mouse.X, mouse.Y + inset.Y)

    local function tryModel(mdl, bot)
        if not mdl or mdl == lp.Character then return end
        local hum = mdl:FindFirstChildOfClass("Humanoid")
        local tgt = mdl:FindFirstChild(c.part) or mdl:FindFirstChild("Head")
        if not hum or not tgt or hum.Health <= 0 then return end

        local screenPos, onScreen = cam:WorldToViewportPoint(tgt.Position)
        if not onScreen then return end

        local dist = (Vector2.new(screenPos.X, screenPos.Y) - mPos).Magnitude
        if dist < bestDist then
            if c.wallcheck and not canSee(tgt, cam.CFrame.Position) then return end
            bestDist = dist
            bestPart = tgt
            bestModel = mdl
            isBot = bot
        end
    end

    for _, v in ipairs(plrs:GetPlayers()) do
        if v ~= lp then tryModel(v.Character, false) end
    end
    if ws:FindFirstChild("bots") then
        for _, v in ipairs(ws.bots:GetChildren()) do tryModel(v, true) end
    end

    return bestPart, bestModel, isBot
end

local wc = nil
pcall(function() wc = require(rep.client.controllers.WeaponController) end)

if wc and wc.request_fire then
    local _fire = nil
    _fire = hookfunction(wc.request_fire, newcclosure(function(self, ...)
        if not c.silent then return _fire(self, ...) end
        local tgt = getTarget()
        if tgt and math.random(100) <= c.chance then
            local cam = ws.CurrentCamera
            local savedCF = cam.CFrame
            cam.CFrame = CFrame.new(savedCF.Position, tgt.Position)
            local ret = {_fire(self, ...)}
            cam.CFrame = savedCF
            return unpack(ret)
        end
        return _fire(self, ...)
    end))
end

local zap = nil
pcall(function() zap = require(rep.client.zap) end)

if zap and zap.shoot and zap.shoot.fire then
    local _shootFire = nil
    _shootFire = hookfunction(zap.shoot.fire, newcclosure(function(data)
        if c.silent and data then
            local tgt, mdl, bot = getTarget()
            if tgt and not bot and math.random(100) <= c.chance then
                local cam = ws.CurrentCamera
                data.direction = (tgt.Position - (data.origin or cam.CFrame.Position)).Unit
                if c.headshot then data.is_headshot = true end
                for _, p in ipairs(plrs:GetPlayers()) do
                    if p.Character == mdl then data.target = p; break end
                end
            end
        end
        return _shootFire(data)
    end))
end

if zap and zap.shoot_dummy and zap.shoot_dummy.fire then
    local _dummyFire = nil
    _dummyFire = hookfunction(zap.shoot_dummy.fire, newcclosure(function(data)
        if c.silent and data then
            local tgt, mdl, bot = getTarget()
            if tgt and bot and math.random(100) <= c.chance then
                local cam = ws.CurrentCamera
                data.direction = (tgt.Position - (data.origin or cam.CFrame.Position)).Unit
                if c.headshot then data.is_headshot = true end
                data.dummy = mdl
            end
        end
        return _dummyFire(data)
    end))
end

local fireTimer = 0
rs.Heartbeat:Connect(function(dt)
    if c.mods and wc then
        local loadout = wc.loadout
        if loadout and loadout.weapon then
            local weap = loadout.weapon
            local stats = weap.weapon_stats
            if stats then
                if c.no_recoil then weap.recoil_amount = Vector2.new(0,0) end
                if c.fast_reload then stats.reload_duration = c.reload_t end
                if c.big_hitbox then stats.bullet_radius = c.bullet_r end
            end
        end
    end

    if c.trigger and wc and wc.request_fire then
        fireTimer = fireTimer + dt
        if fireTimer >= c.trigger_delay then
            fireTimer = 0
            if getTarget() then
                pcall(wc.request_fire, wc)
            end
        end
    end
end)

-- esp stuff
local espObjects = {}

local function addEsp(mdl, bot)
    if espObjects[mdl] then return end
    local line = Drawing.new("Line")
    line.Thickness = 1.5; line.Visible = false
    line.Color = bot and Color3.fromRGB(255,170,0) or Color3.fromRGB(255,50,50)
    line.Transparency = 0.8
    local label = Drawing.new("Text")
    label.Size = 14; label.Center = true
    label.Outline = true; label.Visible = false
    label.Color = Color3.new(1,1,1)
    espObjects[mdl] = {line = line, label = label, isBot = bot}
end

local function cleanEsp(mdl)
    local obj = espObjects[mdl]
    if not obj then return end
    obj.line:Remove()
    obj.label:Remove()
    espObjects[mdl] = nil
end

rs.RenderStepped:Connect(function()
    local cam = ws.CurrentCamera
    if not c.esp or not cam then
        for _, v in pairs(espObjects) do
            v.line.Visible = false
            v.label.Visible = false
        end
        return
    end

    for _, v in ipairs(plrs:GetPlayers()) do
        if v ~= lp and v.Character then addEsp(v.Character, false) end
    end
    if ws:FindFirstChild("bots") then
        for _, v in ipairs(ws.bots:GetChildren()) do addEsp(v, true) end
    end

    for mdl, obj in pairs(espObjects) do
        local head = mdl:FindFirstChild("Head")
        local hum = mdl:FindFirstChildOfClass("Humanoid")
        if not head or not hum or hum.Health <= 0 or not mdl.Parent then
            cleanEsp(mdl)
        else
            local pos, onScreen = cam:WorldToViewportPoint(head.Position)
            if onScreen then
                local myRoot = lp.Character and lp.Character:FindFirstChild("HumanoidRootPart")
                local d = myRoot and math.floor((myRoot.Position - head.Position).Magnitude) or 0

                obj.line.From = Vector2.new(cam.ViewportSize.X/2, cam.ViewportSize.Y)
                obj.line.To = Vector2.new(pos.X, pos.Y)
                obj.line.Visible = c.tracers

                local prefix = obj.isBot and "[BOT] " or ""
                obj.label.Position = Vector2.new(pos.X, pos.Y - 25)
                obj.label.Text = prefix .. mdl.Name .. " [" .. d .. "m]"
                obj.label.Visible = c.names
            else
                obj.line.Visible = false
                obj.label.Visible = false
            end
        end
    end
end)

Features & Information

silent aim

Community Comments (0)

No comments yet for this script.

More Scripts for [🏖️x2] One Shot