
KeylessUniversal

local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local Camera = workspace.CurrentCamera
local LocalPlayer = Players.LocalPlayer
local Config = {
AimbotEnabled = false,
SilentAim = false,
ESPEnabled = false,
TeamCheck = true,
NoSpread = false,
FOV = 130,
Smoothness = 0.15,
AimPart = "Head"
}
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "FlanutsMenu"
ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui")
ScreenGui.ResetOnSpawn = false
local MainFrame = Instance.new("Frame")
MainFrame.Size = UDim2.new(0, 260, 0, 220)
MainFrame.Position = UDim2.new(0.5, -130, 0.5, -110)
MainFrame.BackgroundColor3 = Color3.fromRGB(28, 28, 28)
MainFrame.BorderSizePixel = 0
MainFrame.Active = true
MainFrame.Draggable = true
MainFrame.Parent = ScreenGui
local UICorner = Instance.new("UICorner")
UICorner.CornerRadius = UDim.new(0, 8)
UICorner.Parent = MainFrame
local Title = Instance.new("TextLabel")
Title.Text = "Arsenal Smol Hub"
Title.Size = UDim2.new(1, 0, 0, 30)
Title.BackgroundTransparency = 1
Title.Font = Enum.Font.GothamBold
Title.TextColor3 = Color3.fromRGB(255, 255, 255)
Title.TextSize = 18
Title.Parent = MainFrame
local Minimize = Instance.new("TextButton")
Minimize.Text = "-"
Minimize.Size = UDim2.new(0, 30, 0, 30)
Minimize.Position = UDim2.new(1, -30, 0, 0)
Minimize.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
Minimize.TextColor3 = Color3.fromRGB(255, 255, 255)
Minimize.Font = Enum.Font.Gotham
Minimize.TextSize = 16
Minimize.Parent = MainFrame
local ButtonsFrame = Instance.new("Frame")
ButtonsFrame.Size = UDim2.new(1, -20, 1, -40)
ButtonsFrame.Position = UDim2.new(0, 10, 0, 35)
ButtonsFrame.BackgroundTransparency = 1
ButtonsFrame.Parent = MainFrame
local function makeToggleButton(text, yPosition, callback)
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(1, 0, 0, 30)
btn.Position = UDim2.new(0, 0, 0, yPosition)
btn.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
btn.TextColor3 = Color3.fromRGB(255, 255, 255)
btn.Font = Enum.Font.Gotham
btn.TextSize = 14
btn.Text = text .. ": OFF"
btn.Parent = ButtonsFrame
local enabled = false
btn.MouseButton1Click:Connect(function()
enabled = not enabled
callback(enabled)
btn.Text = text .. ": " .. (enabled and "ON" or "OFF")
end)
end
makeToggleButton("Aimbot", 0, function(state)
Config.AimbotEnabled = state
end)
makeToggleButton("Silent Aim", 35, function(state)
Config.SilentAim = state
end)
makeToggleButton("ESP", 70, function(state)
Config.ESPEnabled = state
end)
makeToggleButton("No Spread", 105, function(state)
Config.NoSpread = state
end)
local guiVisible = true
Minimize.MouseButton1Click:Connect(function()
guiVisible = false
MainFrame.Visible = false
end)
UserInputService.InputBegan:Connect(function(input)
if input.KeyCode == Enum.KeyCode.RightShift then
guiVisible = not guiVisible
MainFrame.Visible = guiVisible
end
end)
local FOVCircle = Drawing.new("Circle")
FOVCircle.Radius = Config.FOV
FOVCircle.Thickness = 2
FOVCircle.Filled = false
FOVCircle.Color = Color3.fromRGB(0, 255, 0)
FOVCircle.Transparency = 1
FOVCircle.Visible = true
local ESPFolder = {}
local function UpdateESP()
for _, drawing in pairs(ESPFolder) do
drawing:Remove()
end
table.clear(ESPFolder)
for _, player in ipairs(Players:GetPlayers()) do
if player ~= LocalPlayer and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
if not Config.TeamCheck or player.Team ~= LocalPlayer.Team then
local tag = Drawing.new("Text")
tag.Size = 16
tag.Center = true
tag.Outline = true
tag.Font = 2
tag.Color = Color3.fromRGB(255, 0, 0)
tag.Visible = false
ESPFolder[player] = tag
end
end
end
end
local Holding = false
UserInputService.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton2 then
Holding = true
end
end)
UserInputService.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton2 then
Holding = false
end
end)
local function GetClosestTarget()
local mousePos = UserInputService:GetMouseLocation()
local closest, closestDist = nil, Config.FOV
for _, player in ipairs(Players:GetPlayers()) do
if player ~= LocalPlayer and player.Character and player.Character:FindFirstChild(Config.AimPart) then
if not Config.TeamCheck or player.Team ~= LocalPlayer.Team then
local part = player.Character[Config.AimPart]
local screenPos, onScreen = Camera:WorldToViewportPoint(part.Position)
if onScreen then
local dist = (Vector2.new(screenPos.X, screenPos.Y) - Vector2.new(mousePos.X, mousePos.Y)).Magnitude
if dist <= closestDist then
closest = player
closestDist = dist
end
end
end
end
end
return closest
end
RunService.RenderStepped:Connect(function()
local mousePos = UserInputService:GetMouseLocation()
FOVCircle.Position = Vector2.new(mousePos.X, mousePos.Y)
if Config.ESPEnabled then
UpdateESP()
for player, tag in pairs(ESPFolder) do
if player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
local hrp = player.Character.HumanoidRootPart
local screenPos, onScreen = Camera:WorldToViewportPoint(hrp.Position)
tag.Position = Vector2.new(screenPos.X, screenPos.Y - 25)
tag.Visible = onScreen
tag.Text = player.Name
else
tag.Visible = false
end
end
end
if Config.AimbotEnabled and Holding then
local target = GetClosestTarget()
if target then
local part = target.Character and target.Character:FindFirstChild(Config.AimPart)
if part then
local dir = CFrame.new(Camera.CFrame.Position, part.Position)
Camera.CFrame = Camera.CFrame:Lerp(dir, Config.Smoothness)
end
end
end
end)
UserInputService.InputBegan:Connect(function(input, gpe)
if input.UserInputType == Enum.UserInputType.MouseButton1 and Config.SilentAim and not gpe then
local mousePos = UserInputService:GetMouseLocation()
for _, player in ipairs(Players:GetPlayers()) do
if player ~= LocalPlayer and player.Character and player.Character:FindFirstChild(Config.AimPart) then
if not Config.TeamCheck or player.Team ~= LocalPlayer.Team then
local part = player.Character[Config.AimPart]
local screenPos, onScreen = Camera:WorldToViewportPoint(part.Position)
if onScreen then
local dist = (Vector2.new(screenPos.X, screenPos.Y) - Vector2.new(mousePos.X, mousePos.Y)).Magnitude
if dist <= Config.FOV then
print("[Silent Aim] Hit: " .. player.Name)
end
end
end
end
end
end
end)
if Config.NoSpread then
local mt = getrawmetatable(game)
local old = mt.__namecall
setreadonly(mt, false)
mt.__namecall = newcclosure(function(self, ...)
local args = {...}
local method = getnamecallmethod()
if method == "FireServer" and tostring(self):lower():find("shoot") then
end
return old(self, unpack(args))
end)
end
--Credits--
--flanut--



Most AI generated * ever, dont do that learn how to script man