open source silent aim
Key Required

open source silent aim

Combat ArenaphemonazLEXphemonazLEX 2.2K views 1.7K executesUpdated Apr 24, 2026
3.8/ 5(4 votes)
3175% Positive
Lua Script•74 lines (3235 chars)
local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local LocalPlayer = Players.LocalPlayer
local Camera = Workspace.CurrentCamera
local function areSameTeam(player1, player2)
    local success, areSameTeamFunc = pcall(function()
        return shared("AreSameTeam")
    end)
    if success and areSameTeamFunc then
        return areSameTeamFunc(player1, player2)
    end
    return player1.Team == player2.Team
end
local function getClosestHeadToCursor()
    local cameraCFrame = Camera.CFrame
    local cameraPos = cameraCFrame.Position
    local lookVector = cameraCFrame.LookVector
    local bestHead = nil
    local bestScreenDistance = math.huge
    local maxScreenDistance = 1000
    for _, model in ipairs(Workspace:GetChildren()) do
        if not model:IsA("Model") then continue end
        local head = model:FindFirstChild("Head")
        if not (head and head:IsA("BasePart")) then continue end
        local character = model
        local humanoid = character:FindFirstChildOfClass("Humanoid")
        if not (humanoid and humanoid.Health > 0) then continue end
        local player = Players:GetPlayerFromCharacter(character)
        if not player then
        elseif player == LocalPlayer or areSameTeam(player, LocalPlayer) then
            continue
        end
        local headPos = head.Position
        local screenPos, onScreen = Camera:WorldToScreenPoint(headPos)
        if not onScreen then continue end
        local screenCenter = Camera.ViewportSize / 2
        local screenDistance = (Vector2.new(screenPos.X, screenPos.Y) - screenCenter).Magnitude
        if screenDistance > maxScreenDistance then continue end
        local raycastParams = RaycastParams.new()
        raycastParams.FilterType = Enum.RaycastFilterType.Exclude
        raycastParams.FilterDescendantsInstances = { LocalPlayer.Character, Camera }
        local ray = Workspace:Raycast(cameraPos, headPos - cameraPos, raycastParams)
        if ray and ray.Instance:IsDescendantOf(character) then
            if screenDistance < bestScreenDistance then
                bestScreenDistance = screenDistance
                bestHead = head
            end
        end
    end
    return bestHead
end
local hitscanModule
local success, err = pcall(function()
    hitscanModule = require(LocalPlayer.PlayerScripts.Client.game.classes.Projectiles.HitscanProjectile)
end)
if not success then
    warn("HitscanProjectile module doesnt exist anymore:", err)
    return
end
local originalNew = hitscanModule.new
hitscanModule.new = function(origin, velocity, magnetStrength, owner, uniqueId, weaponConfig, tracerConfig, tracerOffset)
    if owner == LocalPlayer then
        local targetHead = getClosestHeadToCursor()
        if targetHead then
            local cameraPos = Camera.CFrame.Position
            local newDirection = (targetHead.Position - cameraPos).Unit
            local speed = velocity.Magnitude
            velocity = newDirection * speed
        end
    end
    return originalNew(origin, velocity, magnetStrength, owner, uniqueId, weaponConfig, tracerConfig, tracerOffset)
end

Features & Information

Credits: Phemonaz

Community Comments (0)

No comments yet for this script.

More Scripts for Combat Arena