local player = game.Players.LocalPlayer local character = player.Character or player.CharacterAdded:Wait() local camera = workspace.CurrentCamera -- Fungsi untuk menentukan apakah target adalah musuh local function isEnemy(targetPlayer) return targetPlayer and targetPlayer.Team ~= player.Team end -- Fungsi untuk menemukan musuh terdekat menggunakan Multi Raycast local function findTarget() local bestTarget = nil local bestDistance = math.huge for _, enemy in pairs(game.Players:GetPlayers()) do if enemy ~= player and isEnemy(enemy) then -- Pastikan target bukan diri sendiri dan bukan tim sendiri local enemyCharacter = enemy.Character if enemyCharacter and enemyCharacter:FindFirstChild("HumanoidRootPart") and enemyCharacter:FindFirstChild("Humanoid") then local enemyHRP = enemyCharacter.HumanoidRootPart local origin = camera.CFrame.Position local direction = (enemyHRP.Position - origin).unit * 1000 -- Jarak panjang local params = RaycastParams.new() params.FilterType = Enum.RaycastFilterType.Blacklist params.FilterDescendantsInstances = {character} -- Hindari diri sendiri -- Multi Raycasting (Mengecek apakah ada dinding di antara) local hit = workspace:Raycast(origin, direction, params) if hit and hit.Instance:IsDescendantOf(enemyCharacter) then local distance = (enemyHRP.Position - character.HumanoidRootPart.Position).Magnitude if distance < bestDistance then bestDistance = distance bestTarget = enemyHRP end end end end end return bestTarget end -- Fungsi untuk menjalankan Aimbot terus-menerus task.spawn(function() while true do task.wait() local target = findTarget() if target then camera.CFrame = CFrame.new(camera.CFrame.Position, target.Position) end end end)