local plyrs = game:GetService("Players") local rs = game:GetService("ReplicatedStorage") local uis = game:GetService("UserInputService") local lp = plyrs.LocalPlayer local cam = workspace.CurrentCamera local cfg = { enabled = true, fov = 250, hitpart = "Head", teamcheck = false, } local function nearest() local res, dist = nil, cfg.fov for _, p in next, plyrs:GetPlayers() do if p == lp then continue end if cfg.teamcheck and p.Team == lp.Team then continue end local char = p.Character if not char then continue end local hum = char:FindFirstChildOfClass("Humanoid") local hp = char:FindFirstChild(cfg.hitpart) if not hp or not hum or hum.Health <= 0 then continue end local sp, vis = cam:WorldToViewportPoint(hp.Position) if not vis then continue end local d = (Vector2.new(sp.X, sp.Y) - cam.ViewportSize / 2).Magnitude if d < dist then dist = d; res = hp end end return res end local gunMod = require(rs.Modules.Controllers.WeaponController.Gun) local uvs = debug.getupvalues(gunMod.Fire) local cachedFS for _, v in pairs(uvs) do if type(v) == "function" and not islclosure(v) and not isexecutorclosure(v) then cachedFS = v break end end assert(cachedFS, "cachedFS not found") local fireRemote = rs.Remotes.Weapons.Gun.Fire local orig; orig = hookfunction(cachedFS, newcclosure(function(remote, timestamp, origin, target, hitpart, glassid, isaiming, notaiming, inair) if cfg.enabled and remote == fireRemote then local tgt = nearest() if tgt then target = tgt.Position hitpart = tgt end end return orig(remote, timestamp, origin, target, hitpart, glassid, isaiming, notaiming, inair) end)) uis.InputBegan:Connect(function(inp, gp) if gp then return end if inp.KeyCode == Enum.KeyCode.Y then cfg.enabled = not cfg.enabled print("silent:", cfg.enabled) end end)