Back to Scripts
Silent aim Open src

Silent aim Open src

ScriptBlox
Free

Game: [UPD] Prison Life

134 Views
1 Likes
0 Dislikes
vacbt

vacbt

offline

Features

wont work on ass executors

Tags

Prison Life Open Src Silent aim

Script Code

local plrs = game:GetService("Players")
local rs = game:GetService("RunService")
local uis = game:GetService("UserInputService")
local ws = game:GetService("Workspace")

local LocalPlayer = plrs.LocalPlayer
local Camera = ws.CurrentCamera
local DrawingLib = Drawing or draw

local fov = 150
local closestTarget = nil

local circle = DrawingLib.new("Circle")
circle.Visible = true
circle.Radius = fov
circle.Color = Color3.fromRGB(255, 255, 255)
circle.Thickness = 0.3
circle.NumSides = 100
circle.Filled = false
circle.Transparency = 1

local function getDirection(o, t)
    return (t - o).Unit * 1000
end

local function isValid(head)
    if not head then return false end
    
    local char = head:FindFirstAncestorWhichIsA("Model")
    if not char then return false end
    
    local p = plrs:GetPlayerFromCharacter(char)
    if not p or p == LocalPlayer then return false end
    
    if p.Team == LocalPlayer.Team then return false end
    
    local hum = char:FindFirstChildWhichIsA("Humanoid")
    if hum and hum.Health <= 0 then return false end
    
    return true
end

local function canSee(origin, target)
    local params = RaycastParams.new()
    params.FilterType = Enum.RaycastFilterType.Blacklist
    params.FilterDescendantsInstances = {LocalPlayer.Character, Camera}
    params.IgnoreWater = true
    
    local dir = (target.Position - origin).Unit * 500
    local result = ws:Raycast(origin, dir, params)
    
    return not result or result.Instance:IsDescendantOf(target.Parent)
end

rs.RenderStepped:Connect(function()
    local mouse = uis:GetMouseLocation()
    circle.Position = mouse
    
    closestTarget = nil
    local best = math.huge
    
    for _, p in plrs:GetPlayers() do
        if p == LocalPlayer or not p.Character then continue end
        
        local head = p.Character:FindFirstChild("Head")
        if not head or not isValid(head) then continue end
        
        local sp, vis = Camera:WorldToViewportPoint(head.Position)
        if not vis then continue end
        
        local d = (Vector2.new(sp.X, sp.Y) - mouse).Magnitude
        if d < best and d <= fov then
            if canSee(Camera.CFrame.Position, head) then
                best = d
                closestTarget = head
            end
        end
    end
end)

local old
old = hookmetamethod(game, "__namecall", newcclosure(function(self, ...)
    local m = getnamecallmethod()
    local a = {...}
    
    if not checkcaller() and self == ws and m == "Raycast" then
        if closestTarget then
            local o = a[1]
            a[2] = getDirection(o, closestTarget.Position)
            return old(self, unpack(a))
        end
    end
    
    return old(self, ...)
end))

Ratings & Reviews

No reviews yet. Be the first to review this script!

Comments (0)

Please login to comment

Login with Discord

Loading comments...