silentaim
Key Required

silentaim

Unnamed ShooterGpssickleGpssickle 1.5K views 3.9K executesUpdated Jan 16, 2026
5.0/ 5(3 votes)
30100% Positive
Lua Script•426 lines (13535 chars)
getgenv().FOV = 100 
getgenv().Enabled = true
getgenv().HighlightEnabled = true
getgenv().TeamColor = Color3.fromRGB(0, 255, 0)
getgenv().EnemyColor = Color3.fromRGB(255, 0, 0)

local players = game:GetService("Players")
local replicatedStorage = game:GetService("ReplicatedStorage")
local userInputService = game:GetService("UserInputService")
local runService = game:GetService("RunService")

local localPlayer = players.LocalPlayer
local currentCamera = workspace.CurrentCamera

local raycastModule = require(replicatedStorage.Events.Modules.RaycastModule)
local highlights = {}
local playerConnections = {}
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "fov"
screenGui.Parent = game.CoreGui

local mainFrame = Instance.new("Frame")
mainFrame.Name = "MainFrame"
mainFrame.Size = UDim2.new(0, 200, 0, 200)
mainFrame.Position = UDim2.new(0.5, -100, 0.5, -100)
mainFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
mainFrame.BorderSizePixel = 0
mainFrame.Active = true
mainFrame.Draggable = true
mainFrame.Parent = screenGui

local titleBar = Instance.new("Frame")
titleBar.Name = "TitleBar"
titleBar.Size = UDim2.new(1, 0, 0, 20)
titleBar.Position = UDim2.new(0, 0, 0, 0)
titleBar.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
titleBar.BorderSizePixel = 0
titleBar.Parent = mainFrame

local titleText = Instance.new("TextLabel")
titleText.Name = "TitleText"
titleText.Size = UDim2.new(0.7, 0, 1, 0)
titleText.Position = UDim2.new(0, 5, 0, 0)
titleText.BackgroundTransparency = 1
titleText.Text = "Silent Aim (UNNAMED SHOOTER)"
titleText.TextColor3 = Color3.fromRGB(255, 255, 255)
titleText.TextXAlignment = Enum.TextXAlignment.Left
titleText.Font = Enum.Font.Gotham
titleText.TextSize = 12
titleText.Parent = titleBar

local minimizeButton = Instance.new("TextButton")
minimizeButton.Name = "MinimizeButton"
minimizeButton.Size = UDim2.new(0, 20, 0, 20)
minimizeButton.Position = UDim2.new(1, -20, 0, 0)
minimizeButton.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
minimizeButton.BorderSizePixel = 0
minimizeButton.Text = "_"
minimizeButton.TextColor3 = Color3.fromRGB(255, 255, 255)
minimizeButton.Font = Enum.Font.Gotham
minimizeButton.TextSize = 14
minimizeButton.Parent = titleBar

local contentFrame = Instance.new("Frame")
contentFrame.Name = "ContentFrame"
contentFrame.Size = UDim2.new(1, 0, 1, -20)
contentFrame.Position = UDim2.new(0, 0, 0, 20)
contentFrame.BackgroundTransparency = 1
contentFrame.Parent = mainFrame



local fovLabel = Instance.new("TextLabel")
fovLabel.Name = "FOVLabel"
fovLabel.Size = UDim2.new(0.8, 0, 0, 20)
fovLabel.Position = UDim2.new(0.1, 0, 0.1, 0)
fovLabel.BackgroundTransparency = 1
fovLabel.Text = "FOV Size:"
fovLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
fovLabel.TextXAlignment = Enum.TextXAlignment.Left
fovLabel.Font = Enum.Font.Gotham
fovLabel.TextSize = 12
fovLabel.Parent = contentFrame

local fovTextBox = Instance.new("TextBox")
fovTextBox.Name = "FOVTextBox"
fovTextBox.Size = UDim2.new(0.3, 0, 0, 20)
fovTextBox.Position = UDim2.new(0.6, 0, 0.1, 0)
fovTextBox.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
fovTextBox.BorderSizePixel = 0
fovTextBox.Text = tostring(getgenv().FOV)
fovTextBox.TextColor3 = Color3.fromRGB(255, 255, 255)
fovTextBox.Font = Enum.Font.Gotham
fovTextBox.TextSize = 12
fovTextBox.Parent = contentFrame

local highlightToggleButton = Instance.new("TextButton")
highlightToggleButton.Name = "HighlightToggleButton"
highlightToggleButton.Size = UDim2.new(0.8, 0, 0, 30)
highlightToggleButton.Position = UDim2.new(0.1, 0, 0.4, 0)
highlightToggleButton.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
highlightToggleButton.BorderSizePixel = 0
highlightToggleButton.Text = "ESP: ON"
highlightToggleButton.TextColor3 = Color3.fromRGB(0, 255, 0)
highlightToggleButton.Font = Enum.Font.Gotham
highlightToggleButton.TextSize = 14
highlightToggleButton.Parent = contentFrame

local toggleButton = Instance.new("TextButton")
toggleButton.Name = "ToggleButton"
toggleButton.Size = UDim2.new(0.8, 0, 0, 30)
toggleButton.Position = UDim2.new(0.1, 0, 0.7, 0)
toggleButton.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
toggleButton.BorderSizePixel = 0
toggleButton.Text = "SilentAim: ON"
toggleButton.TextColor3 = Color3.fromRGB(0, 255, 0)
toggleButton.Font = Enum.Font.Gotham
toggleButton.TextSize = 14
toggleButton.Parent = contentFrame

local minimized = false
local originalSize = mainFrame.Size
local originalPosition = mainFrame.Position

local fovCircle = Drawing.new("Circle")
fovCircle.Position = currentCamera.ViewportSize * 0.5
fovCircle.Visible = getgenv().Enabled
fovCircle.Color = Color3.fromRGB(255, 255, 255)
fovCircle.Radius = getgenv().FOV
fovCircle.Transparency = 1
fovCircle.Filled = false
fovCircle.NumSides = 0

local function createHighlight(character)
    if not character or not character:IsDescendantOf(workspace) then return end
    
    if highlights[character] then
        highlights[character]:Destroy()
        highlights[character] = nil
    end
    
    if not character:FindFirstChildOfClass("Humanoid") then
        local connection
        connection = character.ChildAdded:Connect(function(child)
            if child:IsA("Humanoid") then
                connection:Disconnect()
                task.wait(0.2)
                createHighlight(character)
            end
        end)
        return
    end
    
    local highlight = Instance.new("Highlight")
    highlight.Name = "high"
    highlight.FillTransparency = 0.5
    highlight.OutlineTransparency = 0
    highlight.Parent = character
    local player = players:GetPlayerFromCharacter(character)
    if player then
        if player.Team == localPlayer.Team then
            highlight.FillColor = getgenv().TeamColor
            highlight.OutlineColor = getgenv().TeamColor
        else
            highlight.FillColor = getgenv().EnemyColor
            highlight.OutlineColor = getgenv().EnemyColor
        end
    end
    
    highlights[character] = highlight
    
    local connection
    connection = character.AncestryChanged:Connect(function(_, parent)
        if not parent then
            if highlights[character] then
                highlights[character]:Destroy()
                highlights[character] = nil
            end
            connection:Disconnect()
        end
    end)
    
    local humanoid = character:FindFirstChildOfClass("Humanoid")
    if humanoid then
        humanoid.Died:Connect(function()
            if highlights[character] then
                highlights[character]:Destroy()
                highlights[character] = nil
            end
        end)
    end
end

local function removeHighlight(character)
    if highlights[character] then
        highlights[character]:Destroy()
        highlights[character] = nil
    end
end

local function updateHighlights()
    if not getgenv().HighlightEnabled then
        for character, highlight in pairs(highlights) do
            highlight:Destroy()
        end
        highlights = {}
        return
    end
    
    for _, player in players:GetPlayers() do
        if player == localPlayer then continue end
        
        local character = player.Character
        if character and character:IsDescendantOf(workspace) then
            if not highlights[character] then
                createHighlight(character)
            else
                local highlight = highlights[character]
                if player.Team == localPlayer.Team then
                    highlight.FillColor = getgenv().TeamColor
                    highlight.OutlineColor = getgenv().TeamColor
                else
                    highlight.FillColor = getgenv().EnemyColor
                    highlight.OutlineColor = getgenv().EnemyColor
                end
            end
        end
    end
end

local function setupPlayer(player)
    if player == localPlayer then return end
    
    if playerConnections[player] then
        for _, connection in pairs(playerConnections[player]) do
            connection:Disconnect()
        end
    end
    
    playerConnections[player] = {}
    
    local charAddedConn = player.CharacterAdded:Connect(function(character)
        local humanoid = character:WaitForChild("Humanoid")
        task.wait(0.2)
        
        if getgenv().HighlightEnabled then
            createHighlight(character)
        end
        local diedConn = humanoid.Died:Connect(function()
            if highlights[character] then
                removeHighlight(character)
            end
        end)
        
        table.insert(playerConnections[player], diedConn)
    end)
    
    table.insert(playerConnections[player], charAddedConn)
    
    if player.Character then
        if getgenv().HighlightEnabled then
            createHighlight(player.Character)
        end
    end
end

local function cleanupPlayer(player)
    if playerConnections[player] then
        for _, connection in pairs(playerConnections[player]) do
            connection:Disconnect()
        end
        playerConnections[player] = nil
    end
    
    if player.Character and highlights[player.Character] then
        removeHighlight(player.Character)
    end
end

for _, player in players:GetPlayers() do
    setupPlayer(player)
end

players.PlayerAdded:Connect(function(player)
    setupPlayer(player)
end)

players.PlayerRemoving:Connect(function(player)
    cleanupPlayer(player)
end)

local function updateFOV()
    local newFOV = tonumber(fovTextBox.Text)
    if newFOV and newFOV > 0 then
        getgenv().FOV = newFOV
        fovCircle.Radius = newFOV
    else
        fovTextBox.Text = tostring(getgenv().FOV)
    end
end

local function toggleAimbot()
    getgenv().Enabled = not getgenv().Enabled
    fovCircle.Visible = getgenv().Enabled
    if getgenv().Enabled then
        toggleButton.Text = "SilentAim: ON"
        toggleButton.TextColor3 = Color3.fromRGB(0, 255, 0)
    else
        toggleButton.Text = "SilentAim: OFF"
        toggleButton.TextColor3 = Color3.fromRGB(255, 0, 0)
    end
end

local function toggleHighlight()
    getgenv().HighlightEnabled = not getgenv().HighlightEnabled
    if getgenv().HighlightEnabled then
        highlightToggleButton.Text = "ESP: ON"
        highlightToggleButton.TextColor3 = Color3.fromRGB(0, 255, 0)
        for _, player in players:GetPlayers() do
            if player ~= localPlayer and player.Character then
                createHighlight(player.Character)
            end
        end
    else
        highlightToggleButton.Text = "ESP: OFF"
        highlightToggleButton.TextColor3 = Color3.fromRGB(255, 0, 0)
        for character, highlight in pairs(highlights) do
            highlight:Destroy()
        end
        highlights = {}
    end
end

local function toggleMinimize()
    minimized = not minimized
    if minimized then
        mainFrame.Size = UDim2.new(0, 200, 0, 20)
        minimizeButton.Text = "+"
    else
        mainFrame.Size = originalSize
        minimizeButton.Text = "_"
    end
end

local function getClosestPlayer()
    local closest = nil
    local closestDistance = math.huge

    for _, player in players:GetPlayers() do
        if player == localPlayer or (player.Team == localPlayer.Team and localPlayer.Team ~= nil) then continue end

        local character = player.Character
        if not character then continue end

        local rootPart = character:FindFirstChild("HumanoidRootPart")
        if not rootPart then continue end

        local screenPosition, onScreen = currentCamera:WorldToViewportPoint(rootPart.Position)
        if not onScreen then continue end

        local screenDistance = (Vector2.new(screenPosition.X, screenPosition.Y) - currentCamera.ViewportSize * 0.5).Magnitude

        if screenPosition.Z > 0 and screenDistance < getgenv().FOV and screenDistance < closestDistance then
            closest = character
            closestDistance = screenDistance
        end
    end

    return closest
end

fovTextBox.FocusLost:Connect(updateFOV)
toggleButton.MouseButton1Click:Connect(toggleAimbot)
highlightToggleButton.MouseButton1Click:Connect(toggleHighlight)
minimizeButton.MouseButton1Click:Connect(toggleMinimize)

for i, func in pairs(raycastModule) do
    if typeof(func) ~= "function" then continue end

    raycastModule[i] = function(...)
        if not getgenv().Enabled then return func(...) end

        local closestPlayer = getClosestPlayer()
        if not closestPlayer then return func(...) end

        return closestPlayer.Head, closestPlayer.Head.Position, Vector3.zero
    end
end

currentCamera:GetPropertyChangedSignal("ViewportSize"):Connect(function()
    fovCircle.Position = currentCamera.ViewportSize * 0.5
end)

runService.Heartbeat:Connect(function()
    if getgenv().HighlightEnabled then
        updateHighlights()
    end
end)

game:GetService("UserInputService").InputBegan:Connect(function(input, processed)
    if not processed and input.KeyCode == Enum.KeyCode.E then
        for character, highlight in pairs(highlights) do
            highlight:Destroy()
        end
        highlights = {}
        
        for player, connections in pairs(playerConnections) do
            for _, connection in pairs(connections) do
                connection:Disconnect()
            end
        end
        playerConnections = {}
        
        screenGui:Destroy()
        
        for i, func in pairs(raycastModule) do
            if typeof(func) == "function" then
                raycastModule[i] = func
            end
        end
        
        if fovCircle then
            fovCircle:Remove()
        end
    end
end)

Features & Information

SilentAim and esp1!1!1!!1
#Silentaim#Unnamed shooter

Community Comments (2)

phanntomlord57phanntomlord57Jan 16, 2026

w

_AAA_AAAJan 16, 2026

After dying the silent aim doesn't work until u ReEnable it

More Scripts for Unnamed Shooter