local OrionLib = loadstring(game:HttpGet(('https://raw.githubusercontent.com/shlexware/Orion/main/source')))() local Window = OrionLib:MakeWindow({Name = "Universal Aimlock GUI v2", HidePremium = false, SaveConfig = true, ConfigFolder = "OrionTest"}) -- Main Tab local Tab = Window:MakeTab({ Name = "Aimbot", Icon = "rbxassetid://4483345998", PremiumOnly = false }) -- Sections local AimbotSection = Tab:AddSection({ Name = "Aimbot Settings" }) local TargetSection = Tab:AddSection({ Name = "Target Settings" }) local ESPSection = Tab:AddSection({ Name = "ESP Settings" }) -- Variables local aimbotEnabled = false local aimAtPart = "HumanoidRootPart" local wallCheckEnabled = false local targetNPCs = false local teamCheckEnabled = false local headSizeEnabled = false local espEnabled = false -- Functions local function getClosestTarget() local Cam = workspace.CurrentCamera local Players = game:GetService("Players") local localPlayer = Players.LocalPlayer local character = localPlayer.Character or localPlayer.CharacterAdded:Wait() local localRoot = character:WaitForChild("HumanoidRootPart") local nearestTarget = nil local shortestDistance = math.huge local function checkTarget(target) if target and target:IsA("Model") and target:FindFirstChild("Humanoid") and target:FindFirstChild(aimAtPart) then local targetRoot = target[aimAtPart] local distance = (targetRoot.Position - localRoot.Position).Magnitude if distance < shortestDistance then if wallCheckEnabled then local rayDirection = (targetRoot.Position - Cam.CFrame.Position).Unit * 1000 local raycastParams = RaycastParams.new() raycastParams.FilterDescendantsInstances = {character} raycastParams.FilterType = Enum.RaycastFilterType.Blacklist local raycastResult = workspace:Raycast(Cam.CFrame.Position, rayDirection, raycastParams) if raycastResult and raycastResult.Instance:IsDescendantOf(target) then shortestDistance = distance nearestTarget = target end else shortestDistance = distance nearestTarget = target end end end end for _, player in pairs(Players:GetPlayers()) do if player ~= localPlayer and (not teamCheckEnabled or player.Team ~= localPlayer.Team) then checkTarget(player.Character) end end if targetNPCs then for _, npc in pairs(workspace:GetDescendants()) do checkTarget(npc) end end return nearestTarget end local function lookAt(targetPosition) local Cam = workspace.CurrentCamera if targetPosition then Cam.CFrame = CFrame.new(Cam.CFrame.Position, targetPosition) end end local function aimAtTarget() local runService = game:GetService("RunService") local connection connection = runService.RenderStepped:Connect(function() if not aimbotEnabled then connection:Disconnect() return end local closestTarget = getClosestTarget() if closestTarget and closestTarget:FindFirstChild(aimAtPart) then local targetRoot = closestTarget[aimAtPart] while aimbotEnabled and closestTarget and closestTarget:FindFirstChild(aimAtPart) and closestTarget.Humanoid.Health > 0 do lookAt(targetRoot.Position) local rayDirection = (targetRoot.Position - workspace.CurrentCamera.CFrame.Position).Unit * 1000 local raycastParams = RaycastParams.new() raycastParams.FilterDescendantsInstances = {character} raycastParams.FilterType = Enum.RaycastFilterType.Blacklist local raycastResult = workspace:Raycast(workspace.CurrentCamera.CFrame.Position, rayDirection, raycastParams) if not raycastResult or not raycastResult.Instance:IsDescendantOf(closestTarget) then break end runService.RenderStepped:Wait() end end end) end local function resizeHeads() local Players = game:GetService("Players") local localPlayer = Players.LocalPlayer local function resizeHead(model) local head = model:FindFirstChild("Head") if head and head:IsA("BasePart") then head.Size = Vector3.new(5, 5, 5) head.CanCollide = false end end for _, player in pairs(Players:GetPlayers()) do if player ~= localPlayer and player.Character then resizeHead(player.Character) end end for _, npc in pairs(workspace:GetDescendants()) do if npc:IsA("Model") and npc:FindFirstChild("Head") then resizeHead(npc) end end end local function createESP() for _, player in pairs(game:GetService("Players"):GetPlayers()) do if player ~= game.Players.LocalPlayer and player.Character and player.Character:FindFirstChild("Head") then local head = player.Character.Head local billboard = Instance.new("BillboardGui") billboard.Adornee = head billboard.Size = UDim2.new(0, 100, 0, 50) billboard.StudsOffset = Vector3.new(0, 2, 0) billboard.AlwaysOnTop = true local textLabel = Instance.new("TextLabel") textLabel.Parent = billboard textLabel.Size = UDim2.new(1, 0, 1, 0) textLabel.Text = player.Name textLabel.BackgroundTransparency = 1 textLabel.TextStrokeTransparency = 0 textLabel.TextScaled = true if player.Team then textLabel.TextColor3 = player.Team.TeamColor.Color else textLabel.TextColor3 = Color3.new(1, 1, 1) end billboard.Parent = head end end end local function removeESP() for _, player in pairs(game:GetService("Players"):GetPlayers()) do if player.Character and player.Character:FindFirstChild("Head") then for _, child in pairs(player.Character.Head:GetChildren()) do if child:IsA("BillboardGui") then child:Destroy() end end end end end -- GUI Elements Tab:AddToggle({ Name = "Enable Aimbot", Default = false, Callback = function(Value) aimbotEnabled = Value if aimbotEnabled then aimAtTarget() end end }) Tab:AddButton({ Name = "Switch Aim Part", Callback = function() if aimAtPart == "HumanoidRootPart" then aimAtPart = "Head" else aimAtPart = "HumanoidRootPart" end OrionLib:MakeNotification({ Name = "Aim Part", Content = "Now aiming at: " .. aimAtPart, Image = "rbxassetid://4483345998", Time = 5 }) end }) Tab:AddToggle({ Name = "Enable Wall Check", Default = false, Callback = function(Value) wallCheckEnabled = Value end }) Tab:AddToggle({ Name = "Target NPCs", Default = false, Callback = function(Value) targetNPCs = Value end }) Tab:AddToggle({ Name = "Enable Team Check", Default = false, Callback = function(Value) teamCheckEnabled = Value end }) Tab:AddToggle({ Name = "Resize Heads", Default = false, Callback = function(Value) headSizeEnabled = Value if headSizeEnabled then resizeHeads() end end }) Tab:AddToggle({ Name = "ESP Labels", Default = false, Callback = function(Value) espEnabled = Value if espEnabled then createESP() else removeESP() end end }) OrionLib:Init()