universal silent aim -- loader if not game:IsLoaded() then game.Loaded:Wait() end if not syn or not protectgui then getgenv().protectgui = function() end end local SilentAimSettings = { Enabled = true, universal silent aim How to use it? universal silent aim ClassName = "Universal Silent Aim - Project Redacted", ToggleKey = "RightAlt", TeamCheck = true, VisibleCheck = false, TargetPart = "HumanoidRootPart", SilentAimMethod = "Raycast", FOVRadius = 200, universal silent aim How to get it for free? universal silent aim FOVVisible = false, ShowSilentAimTarget = false, MouseHitPrediction = false, MouseHitPredictionAmount = 0.165, HitChance = 100 } -- variables getgenv().SilentAimSettings = Settings universal silent aim PasteShr universal silent aim local MainFileName = "UniversalSilentAim" local SelectedFile, FileToSave = "", "" local Camera = workspace.CurrentCamera local Players = game:GetService("Players") local RunService = game:GetService("RunService") local GuiService = game:GetService("GuiService") local UserInputService = game:GetService("UserInputService") local HttpService = game:GetService("HttpService") universal silent aim How to get it for free? universal silent aim local LocalPlayer = Players.LocalPlayer local Mouse = LocalPlayer:GetMouse() local GetChildren = game.GetChildren local GetPlayers = Players.GetPlayers local WorldToScreen = Camera.WorldToScreenPoint local WorldToViewportPoint = Camera.WorldToViewportPoint local GetPartsObscuringTarget = Camera.GetPartsObscuringTarget local FindFirstChild = game.FindFirstChild local RenderStepped = RunService.RenderStepped universal silent aim How to use it? universal silent aim local GuiInset = GuiService.GetGuiInset local GetMouseLocation = UserInputService.GetMouseLocation local resume = coroutine.resume local create = coroutine.create local ValidTargetParts = {"Head", "HumanoidRootPart"} local PredictionAmount = 0.165 local mouse_box = Drawing.new("Square") universal silent aim How to get it? universal silent aim mouse_box.Visible = true mouse_box.ZIndex = 999 mouse_box.Color = Color3.fromRGB(54, 57, 241) mouse_box.Thickness = 20 mouse_box.Size = Vector2.new(20, 20) mouse_box.Filled = true local fov_circle = Drawing.new("Circle") fov_circle.Thickness = 1 fov_circle.NumSides = 100 universal silent aim PasteShr universal silent aim fov_circle.Radius = 180 fov_circle.Filled = false fov_circle.Visible = false fov_circle.ZIndex = 999 fov_circle.Transparency = 1 fov_circle.Color = Color3.fromRGB(54, 57, 241) local ExpectedArguments = { FindPartOnRayWithIgnoreList = { ArgCountRequired = 3, universal silent aim How to dowload it? universal silent aim Args = { "Instance", "Ray", "table", "boolean", "boolean" } }, FindPartOnRayWithWhitelist = { ArgCountRequired = 3, Args = { "Instance", "Ray", "table", "boolean" } }, universal silent aim PasteShr universal silent aim FindPartOnRay = { ArgCountRequired = 2, Args = { "Instance", "Ray", "Instance", "boolean", "boolean" } }, Raycast = { ArgCountRequired = 3, Args = { "Instance", "Vector3", "Vector3", "RaycastParams" universal silent aim How to use it? universal silent aim } } } function CalculateChance(Percentage) -- // Floor the percentage Percentage = math.floor(Percentage) -- // Get the chance local chance = math.floor(Random.new().NextNumber(Random.new(), 0, 1) * 100) / 100 universal silent aim How to get it? universal silent aim -- // Return return chance <= Percentage / 100 end --[[file handling]] do if not isfolder(MainFileName) then makefolder(MainFileName); end universal silent aim How to dowload it? universal silent aim if not isfolder(string.format("%s/%s", MainFileName, tostring(game.PlaceId))) then makefolder(string.format("%s/%s", MainFileName, tostring(game.PlaceId))) end end local Files = listfiles(string.format("%s/%s", "UniversalSilentAim", tostring(game.PlaceId))) -- functions local function GetFiles() -- credits to the linoria lib for this function, listfiles returns the files full path and its annoying universal silent aim How to dowload it? universal silent aim local out = {} for i = 1, #Files do local file = Files[i] if file:sub(-4) == '.lua' then -- i hate this but it has to be done ... local pos = file:find('.lua', 1, true) local start = pos local char = file:sub(pos, pos) universal silent aim How to use it? universal silent aim while char ~= '/' and char ~= '\\' and char ~= '' do pos = pos - 1 char = file:sub(pos, pos) end if char == '/' or char == '\\' then table.insert(out, file:sub(pos + 1, start - 1)) end end end universal silent aim How to get it for free? universal silent aim return out end local function UpdateFile(FileName) assert(FileName or FileName == "string", "oopsies"); writefile(string.format("%s/%s/%s.lua", MainFileName, tostring(game.PlaceId), FileName), HttpService:JSONEncode(SilentAimSettings)) end local function LoadFile(FileName) universal silent aim How to dowload it? universal silent aim assert(FileName or FileName == "string", "oopsies"); local File = string.format("%s/%s/%s.lua", MainFileName, tostring(game.PlaceId), FileName) local ConfigData = HttpService:JSONDecode(readfile(File)) for Index, Value in next, ConfigData do SilentAimSettings[Index] = Value end end local function getPositionOnScreen(Vector) universal silent aim How to get it? universal silent aim local Vec3, OnScreen = WorldToScreen(Camera, Vector) return Vector2.new(Vec3.X, Vec3.Y), OnScreen end local function ValidateArguments(Args, RayMethod) local Matches = 0 if #Args < RayMethod.ArgCountRequired then return false end for Pos, Argument in next, Args do universal silent aim How to get it for free? universal silent aim if typeof(Argument) == RayMethod.Args[Pos] then Matches = Matches + 1 end end return Matches >= RayMethod.ArgCountRequired end local function getDirection(Origin, Position) return (Position - Origin).Unit * 1000 end universal silent aim How to dowload it? universal silent aim local function getMousePosition() return GetMouseLocation(UserInputService) end local function IsPlayerVisible(Player) local PlayerCharacter = Player.Character local LocalPlayerCharacter = LocalPlayer.Character if not (PlayerCharacter or LocalPlayerCharacter) then return end universal silent aim PasteShr universal silent aim local PlayerRoot = FindFirstChild(PlayerCharacter, Options.TargetPart.Value) or FindFirstChild(PlayerCharacter, "HumanoidRootPart") if not PlayerRoot then return end local CastPoints, IgnoreList = {PlayerRoot.Position, LocalPlayerCharacter, PlayerCharacter}, {LocalPlayerCharacter, PlayerCharacter} local ObscuringObjects = #GetPartsObscuringTarget(Camera, CastPoints, IgnoreList) return ((ObscuringObjects == 0 and true) or (ObscuringObjects > 0 and false)) end universal silent aim How to get it? universal silent aim local function getClosestPlayer() if not Options.TargetPart.Value then return end local Closest local DistanceToMouse for _, Player in next, GetPlayers(Players) do if Player == LocalPlayer then continue end if Toggles.TeamCheck.Value and Player.Team == LocalPlayer.Team then continue end local Character = Player.Character universal silent aim PasteShr universal silent aim if not Character then continue end if Toggles.VisibleCheck.Value and not IsPlayerVisible(Player) then continue end local HumanoidRootPart = FindFirstChild(Character, "HumanoidRootPart") local Humanoid = FindFirstChild(Character, "Humanoid") if not HumanoidRootPart or not Humanoid or Humanoid and Humanoid.Health <= 0 then continue end local ScreenPosition, OnScreen = getPositionOnScreen(HumanoidRootPart.Position) if not OnScreen then continue end universal silent aim How to get it? universal silent aim local Distance = (getMousePosition() - ScreenPosition).Magnitude if Distance <= (DistanceToMouse or Options.Radius.Value or 2000) then Closest = ((Options.TargetPart.Value == "Random" and Character[ValidTargetParts[math.random(1, #ValidTargetParts)]]) or Character[Options.TargetPart.Value]) DistanceToMouse = Distance end end return Closest end universal silent aim How to get it for free? universal silent aim -- ui creating & handling local Library = loadstring(game:HttpGet("https://raw.githubusercontent.com/violin-suzutsuki/LinoriaLib/main/Library.lua"))() local Window = Library:CreateWindow("Universal Silent Aim, by Project Redacted") local GeneralTab = Window:AddTab("General") local MainBOX = GeneralTab:AddLeftTabbox("Main") do local Main = MainBOX:AddTab("Main") Main:AddToggle("aim_Enabled", {Text = "Enabled"}):AddKeyPicker("aim_Enabled_KeyPicker", {Default = "RightAlt", SyncToggleState = true, Mode = "Toggle", Text = "Enabled", NoUI = false}); Options.aim_Enabled_KeyPicker:OnClick(function() universal silent aim How to get it? universal silent aim SilentAimSettings.Enabled = not SilentAimSettings.Enabled Toggles.aim_Enabled.Value = SilentAimSettings.Enabled Toggles.aim_Enabled:SetValue(SilentAimSettings.Enabled) mouse_box.Visible = SilentAimSettings.Enabled end) Main:AddToggle("TeamCheck", {Text = "Team Check", Default = SilentAimSettings.TeamCheck}):OnChanged(function() SilentAimSettings.TeamCheck = Toggles.TeamCheck.Value universal silent aim How to dowload it? universal silent aim end) Main:AddToggle("VisibleCheck", {Text = "Visible Check", Default = SilentAimSettings.VisibleCheck}):OnChanged(function() SilentAimSettings.VisibleCheck = Toggles.VisibleCheck.Value end) Main:AddDropdown("TargetPart", {Text = "Target Part", Default = SilentAimSettings.TargetPart, Values = {"Head", "HumanoidRootPart", "Random"}}):OnChanged(function() SilentAimSettings.TargetPart = Options.TargetPart.Value end) Main:AddDropdown("Method", {Text = "Silent Aim Method", Default = SilentAimSettings.SilentAimMethod, Values = { "Raycast","FindPartOnRay", "FindPartOnRayWithWhitelist", universal silent aim How to dowload it? universal silent aim "FindPartOnRayWithIgnoreList", "Mouse.Hit/Target" }}):OnChanged(function() SilentAimSettings.SilentAimMethod = Options.Method.Value end) Main:AddSlider('HitChance', { Text = 'Hit chance', Default = 100, Min = 0, Max = 100, universal silent aim How to use it? universal silent aim Rounding = 1, Compact = false, }) Options.HitChance:OnChanged(function() SilentAimSettings.HitChance = Options.HitChance.Value end) end local MiscellaneousBOX = GeneralTab:AddLeftTabbox("Miscellaneous") universal silent aim PasteShr universal silent aim local FieldOfViewBOX = GeneralTab:AddLeftTabbox("Field Of View") do local Main = FieldOfViewBOX:AddTab("Visuals") Main:AddToggle("Visible", {Text = "Show FOV Circle"}):AddColorPicker("Color", {Default = Color3.fromRGB(54, 57, 241)}):OnChanged(function() fov_circle.Visible = Toggles.Visible.Value SilentAimSettings.FOVVisible = Toggles.Visible.Value end) Main:AddSlider("Radius", {Text = "FOV Circle Radius", Min = 0, Max = 360, Default = 130, Rounding = 0}):OnChanged(function() fov_circle.Radius = Options.Radius.Value SilentAimSettings.FOVRadius = Options.Radius.Value universal silent aim How to dowload it? universal silent aim end) Main:AddToggle("MousePosition", {Text = "Show Silent Aim Target"}):AddColorPicker("MouseVisualizeColor", {Default = Color3.fromRGB(54, 57, 241)}):OnChanged(function() mouse_box.Visible = Toggles.MousePosition.Value SilentAimSettings.ShowSilentAimTarget = Toggles.MousePosition.Value end) local PredictionTab = MiscellaneousBOX:AddTab("Prediction") PredictionTab:AddToggle("Prediction", {Text = "Mouse.Hit/Target Prediction"}):OnChanged(function() SilentAimSettings.MouseHitPrediction = Toggles.Prediction.Value end) PredictionTab:AddSlider("Amount", {Text = "Prediction Amount", Min = 0.165, Max = 1, Default = 0.165, Rounding = 3}):OnChanged(function() universal silent aim How to use it? universal silent aim PredictionAmount = Options.Amount.Value SilentAimSettings.MouseHitPredictionAmount = Options.Amount.Value end) end local CreateConfigurationBOX = GeneralTab:AddRightTabbox("Create Configuration") do local Main = CreateConfigurationBOX:AddTab("Create Configuration") Main:AddInput("CreateConfigTextBox", {Default = "", Numeric = false, Finished = false, Text = "Create Configuration to Create", Tooltip = "Creates a configuration file containing settings you can save and load", Placeholder = "File Name here"}):OnChanged(function() if Options.CreateConfigTextBox.Value and string.len(Options.CreateConfigTextBox.Value) ~= "" then universal silent aim How to dowload it? universal silent aim FileToSave = Options.CreateConfigTextBox.Value end end) Main:AddButton("Create Configuration File", function() if FileToSave ~= "" or FileToSave ~= nil then UpdateFile(FileToSave) end end) end universal silent aim PasteShr universal silent aim local SaveConfigurationBOX = GeneralTab:AddRightTabbox("Save Configuration") do local Main = SaveConfigurationBOX:AddTab("Save Configuration") Main:AddDropdown("SaveConfigurationDropdown", {Values = GetFiles(), Text = "Choose Configuration to Save"}) Main:AddButton("Save Configuration", function() if Options.SaveConfigurationDropdown.Value then UpdateFile(Options.SaveConfigurationDropdown.Value) end end) end universal silent aim How to get it for free? universal silent aim local LoadConfigurationBOX = GeneralTab:AddRightTabbox("Load Configuration") do local Main = LoadConfigurationBOX:AddTab("Load Configuration") Main:AddDropdown("LoadConfigurationDropdown", {Values = GetFiles(), Text = "Choose Configuration to Load"}) Main:AddButton("Load Configuration", function() if table.find(GetFiles(), Options.LoadConfigurationDropdown.Value) then LoadFile(Options.LoadConfigurationDropdown.Value) Toggles.TeamCheck:SetValue(SilentAimSettings.TeamCheck) universal silent aim How to get it? universal silent aim Toggles.VisibleCheck:SetValue(SilentAimSettings.VisibleCheck) Options.TargetPart:SetValue(SilentAimSettings.TargetPart) Options.Method:SetValue(SilentAimSettings.SilentAimMethod) Toggles.Visible:SetValue(SilentAimSettings.FOVVisible) Options.Radius:SetValue(SilentAimSettings.FOVRadius) Toggles.MousePosition:SetValue(SilentAimSettings.ShowSilentAimTarget) Toggles.Prediction:SetValue(SilentAimSettings.MouseHitPrediction) Options.Amount:SetValue(SilentAimSettings.MouseHitPredictionAmount) Options.HitChance:SetValue(SilentAimSettings.HitChance) end universal silent aim How to use it? universal silent aim end) end resume(create(function() RenderStepped:Connect(function() if Toggles.MousePosition.Value and Toggles.aim_Enabled.Value then if getClosestPlayer() then local Root = getClosestPlayer().Parent.PrimaryPart or getClosestPlayer() local RootToViewportPoint, IsOnScreen = WorldToViewportPoint(Camera, Root.Position); -- using PrimaryPart instead because if your Target Part is "Random" it will flicker the square between the Target's Head and HumanoidRootPart (its annoying) universal silent aim How to use it? universal silent aim mouse_box.Visible = IsOnScreen mouse_box.Position = Vector2.new(RootToViewportPoint.X, RootToViewportPoint.Y) else mouse_box.Visible = false mouse_box.Position = Vector2.new() end end if Toggles.Visible.Value then universal silent aim How to dowload it? universal silent aim fov_circle.Visible = Toggles.Visible.Value fov_circle.Color = Options.Color.Value fov_circle.Position = getMousePosition() end end) end)) -- hooks local oldNamecall oldNamecall = hookmetamethod(game, "__namecall", newcclosure(function(...) universal silent aim How to dowload it? universal silent aim local Method = getnamecallmethod() local Arguments = {...} local self = Arguments[1] local chance = CalculateChance(SilentAimSettings.HitChance) if Toggles.aim_Enabled.Value and self == workspace and not checkcaller() and chance == true then if Method == "FindPartOnRayWithIgnoreList" and Options.Method.Value == Method then if ValidateArguments(Arguments, ExpectedArguments.FindPartOnRayWithIgnoreList) then local A_Ray = Arguments[2] local HitPart = getClosestPlayer() universal silent aim How to use it? universal silent aim if HitPart then local Origin = A_Ray.Origin local Direction = getDirection(Origin, HitPart.Position) Arguments[2] = Ray.new(Origin, Direction) return oldNamecall(unpack(Arguments)) end end elseif Method == "FindPartOnRayWithWhitelist" and Options.Method.Value == Method then if ValidateArguments(Arguments, ExpectedArguments.FindPartOnRayWithWhitelist) then universal silent aim PasteShr universal silent aim local A_Ray = Arguments[2] local HitPart = getClosestPlayer() if HitPart then local Origin = A_Ray.Origin local Direction = getDirection(Origin, HitPart.Position) Arguments[2] = Ray.new(Origin, Direction) return oldNamecall(unpack(Arguments)) end universal silent aim PasteShr universal silent aim end elseif (Method == "FindPartOnRay" or Method == "findPartOnRay") and Options.Method.Value:lower() == Method:lower() then if ValidateArguments(Arguments, ExpectedArguments.FindPartOnRay) then local A_Ray = Arguments[2] local HitPart = getClosestPlayer() if HitPart then local Origin = A_Ray.Origin local Direction = getDirection(Origin, HitPart.Position) Arguments[2] = Ray.new(Origin, Direction) universal silent aim PasteShr universal silent aim return oldNamecall(unpack(Arguments)) end end elseif Method == "Raycast" and Options.Method.Value == Method then if ValidateArguments(Arguments, ExpectedArguments.Raycast) then local A_Origin = Arguments[2] local HitPart = getClosestPlayer() if HitPart then universal silent aim PasteShr universal silent aim Arguments[3] = getDirection(A_Origin, HitPart.Position) return oldNamecall(unpack(Arguments)) end end end end return oldNamecall(...) end)) universal silent aim PasteShr universal silent aim local oldIndex = nil oldIndex = hookmetamethod(game, "__index", newcclosure(function(self, Index) if self == Mouse and not checkcaller() and Toggles.aim_Enabled.Value and Options.Method.Value == "Mouse.Hit/Target" and getClosestPlayer() then local HitPart = getClosestPlayer() if Index == "Target" or Index == "target" then return HitPart elseif Index == "Hit" or Index == "hit" then return ((Toggles.Prediction.Value and (HitPart.CFrame + (HitPart.Velocity * PredictionAmount))) or (not Toggles.Prediction.Value and HitPart.CFrame)) elseif Index == "X" or Index == "x" then universal silent aim How to dowload it? universal silent aim return self.X elseif Index == "Y" or Index == "y" then return self.Y elseif Index == "UnitRay" then return Ray.new(self.Origin, (self.Hit - self.Origin).Unit) end end return oldIndex(self, Index) end)) universal silent aim How to get it for free? universal silent aim universal silent aim