local plrs = game:GetService("Players") local lp = plrs.LocalPlayer local cam = workspace.CurrentCamera local uis = game:GetService("UserInputService") local repo = "https://raw.githubusercontent.com/deividcomsono/Obsidian/main/" local Library = loadstring(game:HttpGet(repo .. "Library.lua"))() local ThemeManager = loadstring(game:HttpGet(repo .. "addons/ThemeManager.lua"))() local SaveManager = loadstring(game:HttpGet(repo .. "addons/SaveManager.lua"))() local Options = Library.Options local Toggles = Library.Toggles local Window = Library:CreateWindow({ Title = "NXP hub V2", Footer = "Kat X", Icon = "rbxassetid://130931198530758", NotifySide = "Right", ShowCustomCursor = true, Size = UDim2.fromOffset(736, 361) }) local Tabs = { SilentAim = Window:AddTab("Silent Aim", "zap"), } local SilentAimCircle = Drawing.new("Circle") SilentAimCircle.Thickness = 2 SilentAimCircle.NumSides = 64 SilentAimCircle.Radius = 120 SilentAimCircle.Filled = false SilentAimCircle.Color = Color3.fromRGB(255, 255, 255) SilentAimCircle.Visible = false local function getClosestInFOV() local closest, closestDist for _, p in ipairs(plrs.GetPlayers(plrs)) do if p ~= lp and p.Character and p.Character.FindFirstChild(p.Character, "Head") and p.Character.FindFirstChild(p.Character, "HumanoidRootPart") then local head = p.Character.Head local root = p.Character.HumanoidRootPart local screenPos, onScreen = cam.worldToViewportPoint(cam, head.Position) if onScreen then local screenVec = Vector2.new(screenPos.X, screenPos.Y) local dist = (screenVec - SilentAimCircle.Position).Magnitude if dist <= SilentAimCircle.Radius then if not closestDist or dist < closestDist then if Toggles.SilentAimTargetRandom.Value then local table = {head, root} closest = table[math.random(1, 2)] else closest = Options.SilentAimPart.Value == "Head" and head or root end closestDist = dist end end end end end return closest end local mt = getrawmetatable(game) local old = mt.__namecall setreadonly(mt, false) mt.__namecall = newcclosure(function(self, ...) local method = getnamecallmethod() if not checkcaller() and method == "FindPartOnRayWithIgnoreList" and Toggles.SilentAim.Value then local caller = getcallingscript() if caller and caller.Name == "RevolverClient" then local target = getClosestInFOV() if target then return target, target.Position, Vector3.new(0, 1, 0) end end end return old(self, ...) end) local SilentAimBox = Tabs.SilentAim:AddLeftGroupbox("Silent Aim", "zap") local SilentAimSettings = Tabs.SilentAim:AddRightGroupbox("Configuration", "settings") SilentAimBox:AddToggle("SilentAim", { Text = "Silent Aim", Tooltip = "Shoots players without aiming at them", }) SilentAimBox:AddToggle("SilentAimCircle", { Text = "FOV Circle", }) SilentAimBox:AddSlider("SilentAimRadius", { Text = "FOV", Default = 120, Min = 50, Max = 1000, Rounding = 0, Compact = false, }) SilentAimBox:AddSlider("SilentAimSides", { Text = "Sides", Default = 64, Min = 1, Max = 64, Rounding = 0, Compact = false, }) SilentAimBox:AddLabel("Circle Color"):AddColorPicker("SilentAimColor", { Default = Color3.new(1, 1, 1), Title = "FOV Circle Color", Transparency = 0, }) SilentAimSettings:AddDropdown("SilentAimPart", { Values = {"Head", "Root"}, Default = 1, Text = "Hit Part", }) SilentAimSettings:AddToggle("SilentAimTargetRandom", { Text = "Random Part", }) game:GetService("RunService").RenderStepped:Connect(function() SilentAimCircle.Position = Vector2.new(uis:GetMouseLocation().X, uis:GetMouseLocation().Y) SilentAimCircle.Radius = Options.SilentAimRadius.Value SilentAimCircle.NumSides = Options.SilentAimSides.Value SilentAimCircle.Color = Options.SilentAimColor.Value if Toggles.SilentAim.Value then if Toggles.SilentAimCircle.Value then SilentAimCircle.Visible = true else SilentAimCircle.Visible = false end else SilentAimCircle.Visible = false end end)