free aimbot working
Key Required

free aimbot working

MVSD | Murderers VS Sheriffs Duelsdgubzdgubz 1.7K views 272 executesUpdated Jan 25, 2026
0.0/ 5(1 votes)
010% Positive
Lua Script•138 lines (4176 chars)
-- free m&s aimbot script
-- F to toggle aimbot
-- Y to destroy aimbot

-- this is the aimbot circle size, 250 is good
local CIRCLE_SIZE = 1000/3

-- max distance from player, 200 is good
local maxDist = 200

-- Services
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local Camera = workspace.CurrentCamera

local localplayer = Players.LocalPlayer
local mouse       = localplayer:GetMouse()

-- Settings
-- circle size at top
local CIRCLE_RADIUS    = CIRCLE_SIZE / 2
local CIRCLE_THICKNESS = 2
local CIRCLE_COLOR     = Color3.fromRGB(255, 255, 255)

-- State
local enabled = true
local destroyed = false

-- ScreenGui
local gui = Instance.new("ScreenGui")
gui.Name = "CursorCircleGui"
gui.ResetOnSpawn = false
gui.Parent = localplayer:WaitForChild("PlayerGui")

-- Circle Frame
local circle = Instance.new("Frame")
circle.Size = UDim2.fromOffset(CIRCLE_SIZE, CIRCLE_SIZE)
circle.BackgroundTransparency = 1
circle.AnchorPoint = Vector2.new(0.5, 0.5)
circle.Parent = gui

local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(1, 0)
corner.Parent = circle

local stroke = Instance.new("UIStroke")
stroke.Thickness = CIRCLE_THICKNESS
stroke.Color = CIRCLE_COLOR
stroke.Parent = circle

-- Follow cursor
local connection
connection = RunService.RenderStepped:Connect(function()
    if destroyed then return end
    circle.Visible = enabled
    if enabled then
        circle.Position = UDim2.fromOffset(mouse.X, mouse.Y)
    end
end)

local function kill(player)
    local playerPos = localplayer.Character.HumanoidRootPart.Position
    local victim    = Players:WaitForChild(player)
    local victimPos = victim.Character.HumanoidRootPart.Position

    local thirdPos = victimPos + (victimPos - playerPos).Unit * 50

    local args = {
        playerPos,
        thirdPos,
        victim.Character:WaitForChild("HumanoidRootPart"),
        victimPos
    }

    game:GetService("ReplicatedStorage")
        :WaitForChild("Remotes")
        :WaitForChild("ShootGun")
        :FireServer(unpack(args))
end

-- Find closest player in circle
local function getClosestPlayer()
    local closestPlayer = nil
    local closestDistance = math.huge

    for _, plr in ipairs(Players:GetPlayers()) do
        if plr ~= localplayer and plr.Character then
            local hrp = plr.Character:FindFirstChild("HumanoidRootPart")
            local myHrp = localplayer.Character and localplayer.Character:FindFirstChild("HumanoidRootPart")
            if hrp and myHrp then
                -- 3D distance check
                local distance3D = (hrp.Position - myHrp.Position).Magnitude
                if distance3D <= maxDist then
                    -- Screen-space distance check
                    local screenPos, onScreen = Camera:WorldToViewportPoint(hrp.Position)
                    if onScreen then
                        local dx = screenPos.X - mouse.X
                        local dy = screenPos.Y - mouse.Y
                        local distance2D = math.sqrt(dx*dx + dy*dy)

                        if distance2D <= CIRCLE_RADIUS and distance2D < closestDistance then
                            closestDistance = distance2D
                            closestPlayer = plr
                        end
                    end
                end
            end
        end
    end

    return closestPlayer, closestDistance
end

-- Input handling
UserInputService.InputBegan:Connect(function(input, gpe)
    if gpe or destroyed then return end

    if input.KeyCode == Enum.KeyCode.F then
        enabled = not enabled

    elseif input.KeyCode == Enum.KeyCode.Y then
        destroyed = true
        if connection then connection:Disconnect() end
        gui:Destroy()

    elseif input.UserInputType == Enum.UserInputType.MouseButton1 then
        if not enabled then return end

        local closest, dist = getClosestPlayer()
        if closest then
            print("Closest player:", closest.Name, "| Distance:", math.floor(dist))
            kill(closest.Name)
        else
            print("No player inside circle")
        end
    end
end)

Features & Information

no key system aimbot circle configuration distance config
#aimbot#wallhack#murderers and sheriffs#free

Community Comments (0)

No comments yet for this script.

More Scripts for MVSD | Murderers VS Sheriffs Duels