
Keyless

-- 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)No comments yet for this script.



