Aimlock
Key RequiredUniversal

Aimlock

Universal ScriptSkidkidSkidkid 8.6K views 4K executesUpdated Jul 19, 2025
Unrated
00
Lua Script•109 lines (3599 chars)
-- Farsake Hub - Lock-On Aimbot (Fixed Version)

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local LocalPlayer = Players.LocalPlayer
local Camera = workspace.CurrentCamera

-- Settings
local AimbotEnabled = false
local AimPart = "Head"
local TeamCheck = true
local WallCheck = true
local LockRange = 150
local LockedTarget = nil

-- UI
local gui = Instance.new("ScreenGui")
gui.Name = "FarsakeHub"
gui.ResetOnSpawn = false
gui.Parent = game.CoreGui

local frame = Instance.new("Frame", gui)
frame.Size = UDim2.new(0, 220, 0, 130)
frame.Position = UDim2.new(0.3, 0, 0.3, 0)
frame.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
frame.BorderSizePixel = 0
frame.Active = true
frame.Draggable = true

local title = Instance.new("TextLabel", frame)
title.Size = UDim2.new(1, 0, 0, 30)
title.Text = "Farsake Hub - Aimbot"
title.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
title.TextColor3 = Color3.new(1,1,1)
title.Font = Enum.Font.SourceSansBold
title.TextSize = 18
title.BorderSizePixel = 0

local toggle = Instance.new("TextButton", frame)
toggle.Position = UDim2.new(0, 10, 0, 45)
toggle.Size = UDim2.new(0, 200, 0, 35)
toggle.Text = "Aimbot: OFF"
toggle.Font = Enum.Font.SourceSansBold
toggle.TextSize = 16
toggle.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
toggle.BorderSizePixel = 0
toggle.TextColor3 = Color3.fromRGB(255, 0, 0)

toggle.MouseButton1Click:Connect(function()
	AimbotEnabled = not AimbotEnabled
	toggle.Text = "Aimbot: " .. (AimbotEnabled and "ON" or "OFF")
	toggle.TextColor3 = AimbotEnabled and Color3.fromRGB(0, 255, 0) or Color3.fromRGB(255, 0, 0)
	if not AimbotEnabled then LockedTarget = nil end
end)

-- Helpers
local function isEnemy(plr)
	if not TeamCheck then return true end
	if not plr.Team or not LocalPlayer.Team then return true end
	return plr.Team ~= LocalPlayer.Team
end

local function isVisible(part)
	if not WallCheck then return true end
	local origin = Camera.CFrame.Position
	local direction = (part.Position - origin)
	local rayParams = RaycastParams.new()
	rayParams.FilterType = Enum.RaycastFilterType.Blacklist
	rayParams.FilterDescendantsInstances = {LocalPlayer.Character, part.Parent}
	local rayResult = workspace:Raycast(origin, direction, rayParams)
	return not rayResult or rayResult.Instance:IsDescendantOf(part.Parent)
end

local function getClosestEnemy()
	local closest = nil
	local closestDist = LockRange
	for _, plr in ipairs(Players:GetPlayers()) do
		if plr ~= LocalPlayer and plr.Character and plr.Character:FindFirstChild(AimPart) and isEnemy(plr) then
			local part = plr.Character[AimPart]
			local screenPoint, onScreen = Camera:WorldToViewportPoint(part.Position)
			if onScreen and isVisible(part) then
				local dist = (Vector2.new(Camera.ViewportSize.X/2, Camera.ViewportSize.Y/2) - Vector2.new(screenPoint.X, screenPoint.Y)).Magnitude
				if dist < closestDist then
					closestDist = dist
					closest = plr
				end
			end
		end
	end
	return closest
end

-- Lock-on Aimbot logic
RunService.RenderStepped:Connect(function()
	if not AimbotEnabled then return end

	if not LockedTarget or not LockedTarget.Character or not LockedTarget.Character:FindFirstChild(AimPart) then
		LockedTarget = getClosestEnemy()
	end

	if LockedTarget and LockedTarget.Character and LockedTarget.Character:FindFirstChild(AimPart) then
		local part = LockedTarget.Character[AimPart]
		if LockedTarget.Character:FindFirstChild("Humanoid") and LockedTarget.Character.Humanoid.Health > 0 then
			Camera.CFrame = CFrame.new(Camera.CFrame.Position, part.Position)
		else
			LockedTarget = nil
		end
	end
end)

Features & Information

Test

Community Comments (2)

EliteShenanigansEliteShenanigansOct 26, 2025

So glitch the camera don't really follows the charater but if you make it like bacon lock should work

Replying to @EliteShenanigans
InfiniteScripterInfiniteScripterSep 17, 2026

@EliteShenanigans try mine it's way better 📈 Search InfiniteHub : AIMLOCK and it will, appear

More Scripts for Universal Scripts