-- 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)