Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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()
Advertisement
Advertisement