
Keyless

-- Services
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local Camera = workspace.CurrentCamera
local LocalPlayer = Players.LocalPlayer
local Mouse = LocalPlayer:GetMouse()
-- Settings
local Settings = {
Enabled = false,
FOV = 200,
Smoothness = 0.3, -- 0 = instant, 1 = very smooth
TeamCheck = true, -- Will only aim at enemies (different team)
VisibleCheck = true, -- Will only aim if head is visible (raycast)
}
-- Function to create the UI
local function CreateUI()
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "LUBV_AimbotUI"
screenGui.Parent = LocalPlayer:WaitForChild("PlayerGui")
local mainFrame = Instance.new("Frame")
mainFrame.Size = UDim2.new(0, 270, 0, 250)
mainFrame.Position = UDim2.new(0.5, -135, 0.5, -125)
mainFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
mainFrame.BackgroundTransparency = 0.15
mainFrame.BorderSizePixel = 0
mainFrame.Active = true
mainFrame.Draggable = true
mainFrame.Parent = screenGui
-- Title
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, 0, 0, 30)
title.BackgroundTransparency = 1
title.Text = "LUBV Aimbot"
title.TextColor3 = Color3.fromRGB(255, 255, 255)
title.TextScaled = true
title.Font = Enum.Font.GothamBold
title.Parent = mainFrame
local yOffset = 0.2
-- Toggle button
local toggleBtn = Instance.new("TextButton")
toggleBtn.Size = UDim2.new(0.8, 0, 0, 30)
toggleBtn.Position = UDim2.new(0.1, 0, yOffset, 0)
toggleBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
toggleBtn.Text = "Aimbot: OFF"
toggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
toggleBtn.Font = Enum.Font.Gotham
toggleBtn.Parent = mainFrame
toggleBtn.MouseButton1Click:Connect(function()
Settings.Enabled = not Settings.Enabled
toggleBtn.Text = "Aimbot: " .. (Settings.Enabled and "ON" or "OFF")
toggleBtn.BackgroundColor3 = Settings.Enabled and Color3.fromRGB(0, 200, 0) or Color3.fromRGB(60, 60, 60)
end)
yOffset = yOffset + 0.15
-- FOV Slider
local fovLabel = Instance.new("TextLabel")
fovLabel.Size = UDim2.new(0.4, 0, 0, 20)
fovLabel.Position = UDim2.new(0.05, 0, yOffset, 0)
fovLabel.BackgroundTransparency = 1
fovLabel.Text = "FOV: 200"
fovLabel.TextColor3 = Color3.fromRGB(255,255,255)
fovLabel.Font = Enum.Font.Gotham
fovLabel.TextScaled = true
fovLabel.Parent = mainFrame
local fovSlider = Instance.new("TextButton")
fovSlider.Size = UDim2.new(0.5, 0, 0, 20)
fovSlider.Position = UDim2.new(0.45, 0, yOffset, 0)
fovSlider.BackgroundColor3 = Color3.fromRGB(100, 100, 100)
fovSlider.Text = ""
fovSlider.Parent = mainFrame
local dragging = false
fovSlider.MouseButton1Down:Connect(function() dragging = true end)
UserInputService.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = false
end
end)
RunService.RenderStepped:Connect(function()
if dragging then
local mousePos = UserInputService:GetMouseLocation()
local framePos = fovSlider.AbsolutePosition
local frameSize = fovSlider.AbsoluteSize
local newX = math.clamp(mousePos.X - framePos.X, 0, frameSize.X)
local percent = newX / frameSize.X
Settings.FOV = math.floor(percent * 400 + 50) -- range 50-450
fovLabel.Text = "FOV: " .. Settings.FOV
end
end)
yOffset = yOffset + 0.15
-- Team Check checkbox (text button as checkbox)
local teamCheckBtn = Instance.new("TextButton")
teamCheckBtn.Size = UDim2.new(0.4, 0, 0, 25)
teamCheckBtn.Position = UDim2.new(0.05, 0, yOffset, 0)
teamCheckBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
teamCheckBtn.Text = "Team: ON"
teamCheckBtn.TextColor3 = Color3.fromRGB(255,255,255)
teamCheckBtn.Font = Enum.Font.Gotham
teamCheckBtn.Parent = mainFrame
teamCheckBtn.MouseButton1Click:Connect(function()
Settings.TeamCheck = not Settings.TeamCheck
teamCheckBtn.Text = "Team: " .. (Settings.TeamCheck and "ON" or "OFF")
teamCheckBtn.BackgroundColor3 = Settings.TeamCheck and Color3.fromRGB(0, 200, 0) or Color3.fromRGB(60, 60, 60)
end)
-- Visible Check checkbox
local visCheckBtn = Instance.new("TextButton")
visCheckBtn.Size = UDim2.new(0.4, 0, 0, 25)
visCheckBtn.Position = UDim2.new(0.55, 0, yOffset, 0)
visCheckBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
visCheckBtn.Text = "Visible: ON"
visCheckBtn.TextColor3 = Color3.fromRGB(255,255,255)
visCheckBtn.Font = Enum.Font.Gotham
visCheckBtn.Parent = mainFrame
visCheckBtn.MouseButton1Click:Connect(function()
Settings.VisibleCheck = not Settings.VisibleCheck
visCheckBtn.Text = "Visible: " .. (Settings.VisibleCheck and "ON" or "OFF")
visCheckBtn.BackgroundColor3 = Settings.VisibleCheck and Color3.fromRGB(0, 200, 0) or Color3.fromRGB(60, 60, 60)
end)
end
-- Aimbot core: get closest enemy player
local function GetClosestPlayer()
local closest = nil
local shortestDist = math.huge
local center = Vector2.new(Camera.ViewportSize.X/2, Camera.ViewportSize.Y/2)
for _, player in ipairs(Players:GetPlayers()) do
if player == LocalPlayer then continue end
if not player.Character then continue end
local humanoid = player.Character:FindFirstChild("Humanoid")
if not humanoid or humanoid.Health <= 0 then continue end
-- Team check: if enabled, skip same team (i.e., only aim at enemies)
if Settings.TeamCheck and player.Team == LocalPlayer.Team then
continue
end
local head = player.Character:FindFirstChild("Head")
if not head then continue end
local headPos, onScreen = Camera:WorldToScreenPoint(head.Position)
if not onScreen then continue end
-- Visibility check: raycast from camera to head
if Settings.VisibleCheck then
local rayOrigin = Camera.CFrame.Position
local direction = (head.Position - rayOrigin).Unit * 1000
local ray = Ray.new(rayOrigin, direction)
local part, hitPos = workspace:FindPartOnRay(ray, LocalPlayer.Character)
if part and not part:IsDescendantOf(player.Character) then
-- obstructed by something else
continue
end
end
local screenPos = Vector2.new(headPos.X, headPos.Y)
local dist = (screenPos - center).Magnitude
if dist < Settings.FOV and dist < shortestDist then
shortestDist = dist
closest = player
end
end
return closest
end
-- Main aimbot loop
RunService.RenderStepped:Connect(function()
if not Settings.Enabled then return end
local target = GetClosestPlayer()
if not target then return end
local head = target.Character.Head
local headPos = head.Position
local currentCF = Camera.CFrame
local targetCF = CFrame.lookAt(currentCF.Position, headPos)
-- Smooth interpolation
local newCF = currentCF:Lerp(targetCF, Settings.Smoothness)
Camera.CFrame = newCF
end)
-- Create UI
CreateUI()
print("LUBV Aimbot loaded with team filtering. It will only target enemies (different team). Use UI to toggle.")No comments yet for this script.