local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Workspace = game:GetService("Workspace")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")

local plr = Players.LocalPlayer
local cam = Workspace.CurrentCamera

local settings = {
    fovEnabled = true,
    fovColor = Color3.fromRGB(255, 255, 255),
    fovRadius = 300,
    fovTransparency = 0.5,
    hitpart = "HumanoidRootPart",
    enabled = true,
    hitchance = 100,
}

local fov = nil

local function refreshFOV()
    if fov then
        fov.Visible = false
        fov:Remove()
        fov = nil
    end

    if not settings.fovEnabled then return end

    fov = Drawing.new("Circle")
    fov.Thickness = 1
    fov.Color = settings.fovColor
    fov.Transparency = settings.fovTransparency
    fov.Filled = false
    fov.Visible = true
    fov.Radius = settings.fovRadius
    fov.NumSides = 200
    fov.Position = UserInputService:GetMouseLocation()
end

local function getTarget()
    local found = nil
    local closest = settings.fovRadius
    local mouse = UserInputService:GetMouseLocation()

    for _, p in ipairs(Players:GetPlayers()) do
        if p == plr or not p.Character then continue end

        local part = p.Character:FindFirstChild(settings.hitpart)
        local hum = p.Character:FindFirstChildOfClass("Humanoid")

        if not part or not hum or hum.Health <= 0 then continue end

        local pos, onscreen = cam:WorldToViewportPoint(part.Position)
        if not onscreen then continue end

        local dist = (Vector2.new(pos.X, pos.Y) - mouse).Magnitude
        if dist < closest then
            closest = dist
            found = p.Character
        end
    end

    return found
end

local function init()
    local ok, err = pcall(function()
        local wm = require(ReplicatedStorage.Common.Managers.WeaponManager)
        local real = wm.cast

        wm.cast = newcclosure(function(...)
            local args = {...}

            if settings.enabled and math.random(100) <= settings.hitchance then
                local target = getTarget()
                if target then
                    local part = target:FindFirstChild(settings.hitpart) or target:FindFirstChild("Head")
                    if part then
                        args[2] = (part.Position - args[1]).Unit
                    end
                end
            end

            return real(table.unpack(args))
        end)
    end)

    if not ok then
        warn(err)
    end
end

RunService.RenderStepped:Connect(refreshFOV)

init()
[FPS] Recoil Aimbot & Recoil (OPENSOURCE)
Mobile Friendly
1,695 views
7 months ago

Aimbot & Recoil (OPENSOURCE)

WORKING
Free

Description

Enhance your Roblox FPS gameplay with this advanced aimbot and recoil control script. Featuring customizable FOV, hit chance settings, and target selection, this script allows precise aiming for a smoother shooting experience. Perfect for FPS enthusiasts looking to improve accuracy and reaction time in Roblox games.

Features

  • Silent Aim

Related Scripts