From 192ea60d417b193fbd4c1b7eb15266bb3b2de3d5 Mon Sep 17 00:00:00 2001 From: ttwiz_z Date: Fri, 20 Sep 2024 23:55:50 +0300 Subject: [PATCH 01/21] Updated Visuals, Appearance --- source.lua | 74 ++++++++++++++++++++++++++++++++---------------------- 1 file changed, 44 insertions(+), 30 deletions(-) diff --git a/source.lua b/source.lua index 149c48a..bd189d3 100644 --- a/source.lua +++ b/source.lua @@ -15,8 +15,8 @@ ༺☆༻____________☾✧ ✩ ✧☽____________༺☆༻༺☆༻____________☾✧ ✩ ✧☽____________༺☆༻ - Universal Open Source Aimbot - Release 1.8.21 + ✨Universal Aim Assist Framework✨ + Release 1.9 twix.cyou/pix twix.cyou/OpenAimbotV3rm @@ -194,7 +194,8 @@ Configuration.TargetPlayers = ImportedConfiguration["TargetPlayers"] or {} Configuration.ShowFoV = ImportedConfiguration["ShowFoV"] or false Configuration.FoVThickness = ImportedConfiguration["FoVThickness"] or 2 -Configuration.FoVTransparency = ImportedConfiguration["FoVTransparency"] or 0.8 +Configuration.FoVOpacity = ImportedConfiguration["FoVOpacity"] or 0.8 +Configuration.FoVFilled = ImportedConfiguration["FoVFilled"] or false Configuration.FoVColour = ImportedConfiguration["FoVColour"] or Color3.fromRGB(255, 255, 255) Configuration.SmartESP = ImportedConfiguration["SmartESP"] or false @@ -203,7 +204,8 @@ Configuration.NameESP = ImportedConfiguration["NameESP"] or false Configuration.NameESPSize = ImportedConfiguration["NameESPSize"] or 16 Configuration.TracerESP = ImportedConfiguration["TracerESP"] or false Configuration.ESPThickness = ImportedConfiguration["ESPThickness"] or 2 -Configuration.ESPTransparency = ImportedConfiguration["ESPTransparency"] or 0.8 +Configuration.ESPOpacity = ImportedConfiguration["ESPOpacity"] or 0.8 +Configuration.ESPBoxFilled = ImportedConfiguration["ESPBoxFilled"] or false Configuration.ESPColour = ImportedConfiguration["ESPColour"] or Color3.fromRGB(255, 255, 255) Configuration.ESPUseTeamColour = ImportedConfiguration["ESPUseTeamColour"] or false @@ -266,7 +268,7 @@ end) do local Window = Fluent:CreateWindow({ - Title = "Open Aimbot", + Title = Fluent.Premium and "Open Aimbot 💫PREMIUM💫" or "Open Aimbot", SubTitle = "By @ttwiz_z", TabWidth = UISettings.TabWidth, Size = UDim2.fromOffset(table.unpack(UISettings.Size)), @@ -281,7 +283,7 @@ do Tabs.Aimbot:AddParagraph({ Title = "Open Aimbot", - Content = "Universal Open Source Aimbot\nhttps://github.com/ttwizz/Open-Aimbot" + Content = "✨Universal Aim Assist Framework✨\nhttps://github.com/ttwizz/Open-Aimbot" }) local AimbotSection = Tabs.Aimbot:AddSection("Aimbot") @@ -524,7 +526,7 @@ do Tabs.TriggerBot:AddParagraph({ Title = "Open Aimbot", - Content = "Universal Open Source Aimbot\nhttps://github.com/ttwizz/Open-Aimbot" + Content = "✨Universal Aim Assist Framework✨\nhttps://github.com/ttwizz/Open-Aimbot" }) local TriggerBotSection = Tabs.TriggerBot:AddSection("TriggerBot") @@ -565,7 +567,7 @@ do Tabs.Checks:AddParagraph({ Title = "Open Aimbot", - Content = "Universal Open Source Aimbot\nhttps://github.com/ttwizz/Open-Aimbot" + Content = "✨Universal Aim Assist Framework✨\nhttps://github.com/ttwizz/Open-Aimbot" }) local SimpleChecksSection = Tabs.Checks:AddSection("Simple Checks") @@ -859,7 +861,7 @@ do Tabs.Visuals:AddParagraph({ Title = "Open Aimbot", - Content = "Universal Open Source Aimbot\nhttps://github.com/ttwizz/Open-Aimbot" + Content = "✨Universal Aim Assist Framework✨\nhttps://github.com/ttwizz/Open-Aimbot" }) local FoVSection = Tabs.Visuals:AddSection("FoV") @@ -881,18 +883,23 @@ do end }) - FoVSection:AddSlider("FoVTransparency", { - Title = "FoV Transparency", - Description = "Changes the FoV Transparency", - Default = Configuration.FoVTransparency, + FoVSection:AddSlider("FoVOpacity", { + Title = "FoV Opacity", + Description = "Changes the FoV Opacity", + Default = Configuration.FoVOpacity, Min = 0.1, Max = 1, Rounding = 1, Callback = function(Value) - Configuration.FoVTransparency = Value + Configuration.FoVOpacity = Value end }) + local FoVFilledToggle = FoVSection:AddToggle("FoVFilled", { Title = "FoV Filled", Description = "Makes the FoV Filled", Default = Configuration.FoVFilled }) + FoVFilledToggle:OnChanged(function(Value) + Configuration.FoVFilled = Value + end) + local FoVColourPicker = FoVSection:AddColorpicker("FoVColour", { Title = "FoV Colour", Description = "Changes the FoV Colour", @@ -914,6 +921,11 @@ do Configuration.ESPBox = Value end) + local ESPBoxFilledToggle = ESPSection:AddToggle("ESPBoxFilled", { Title = "ESP Box Filled", Description = "Makes the ESP Box Filled", Default = Configuration.ESPBoxFilled }) + ESPBoxFilledToggle:OnChanged(function(Value) + Configuration.ESPBoxFilled = Value + end) + local NameESPToggle = ESPSection:AddToggle("NameESP", { Title = "Name ESP", Description = "Creates the Name ESP above the Players", Default = Configuration.NameESP }) NameESPToggle:OnChanged(function(Value) Configuration.NameESP = Value @@ -948,15 +960,15 @@ do end }) - ESPSection:AddSlider("ESPTransparency", { - Title = "ESP Transparency", - Description = "Changes the ESP Transparency", - Default = Configuration.ESPTransparency, + ESPSection:AddSlider("ESPOpacity", { + Title = "ESP Opacity", + Description = "Changes the ESP Opacity", + Default = Configuration.ESPOpacity, Min = 0.1, Max = 1, Rounding = 1, Callback = function(Value) - Configuration.ESPTransparency = Value + Configuration.ESPOpacity = Value end }) @@ -1001,7 +1013,7 @@ do Tabs.Settings:AddParagraph({ Title = "Open Aimbot", - Content = "Universal Open Source Aimbot\nhttps://github.com/ttwizz/Open-Aimbot" + Content = "✨Universal Aim Assist Framework✨\nhttps://github.com/ttwizz/Open-Aimbot" }) local UISection = Tabs.Settings:AddSection("UI") @@ -1583,20 +1595,20 @@ local function Visualize(Object) local FoV = getfenv().Drawing.new("Circle") FoV.Visible = false FoV.ZIndex = 2 - FoV.Filled = false FoV.NumSides = 1000 FoV.Radius = Configuration.FoVRadius FoV.Thickness = Configuration.FoVThickness - FoV.Transparency = Configuration.FoVTransparency + FoV.Transparency = Configuration.FoVOpacity + FoV.Filled = Configuration.FoVFilled FoV.Color = Configuration.FoVColour return FoV elseif string.lower(Object) == "espbox" then local ESPBox = getfenv().Drawing.new("Square") ESPBox.Visible = false ESPBox.ZIndex = 1 - ESPBox.Filled = false ESPBox.Thickness = Configuration.ESPThickness - ESPBox.Transparency = Configuration.ESPTransparency + ESPBox.Transparency = Configuration.ESPOpacity + ESPBox.Filled = Configuration.ESPBoxFilled ESPBox.Color = Configuration.ESPColour return ESPBox elseif string.lower(Object) == "nameesp" then @@ -1606,7 +1618,7 @@ local function Visualize(Object) NameESP.Center = true NameESP.Outline = true NameESP.Size = Configuration.NameESPSize - NameESP.Transparency = Configuration.ESPTransparency + NameESP.Transparency = Configuration.ESPOpacity NameESP.Color = Configuration.ESPColour return NameESP elseif string.lower(Object) == "traceresp" then @@ -1614,7 +1626,7 @@ local function Visualize(Object) TracerESP.Visible = false TracerESP.ZIndex = 1 TracerESP.Thickness = Configuration.ESPThickness - TracerESP.Transparency = Configuration.ESPTransparency + TracerESP.Transparency = Configuration.ESPOpacity TracerESP.Color = Configuration.ESPColour return TracerESP end @@ -1654,7 +1666,8 @@ local function VisualizeFoV() Visuals.FoV.Position = Vector2.new(MouseLocation.X, MouseLocation.Y) Visuals.FoV.Radius = Configuration.FoVRadius Visuals.FoV.Thickness = Configuration.FoVThickness - Visuals.FoV.Transparency = Configuration.FoVTransparency + Visuals.FoV.Transparency = Configuration.FoVOpacity + Visuals.FoV.Filled = Configuration.FoVFilled Visuals.FoV.Color = Configuration.FoVColour Visuals.FoV.Visible = Configuration.ShowFoV end @@ -1733,13 +1746,14 @@ function ESPLibrary:Visualize() self.ESPBox.Size = Vector2.new(2350 / HumanoidRootPartPosition.Z, TopPosition.Y - BottomPosition.Y) self.ESPBox.Position = Vector2.new(HumanoidRootPartPosition.X - self.ESPBox.Size.X / 2, HumanoidRootPartPosition.Y - self.ESPBox.Size.Y / 2) self.ESPBox.Thickness = Configuration.ESPThickness - self.ESPBox.Transparency = Configuration.ESPTransparency + self.ESPBox.Transparency = Configuration.ESPOpacity + self.ESPBox.Filled = Configuration.ESPBoxFilled self.NameESP.Text = string.format("@%s | %s%% | %sm", self.Player.Name, Abbreviate(Humanoid.Health), Player.Character and Player.Character:FindFirstChild("Head") and Player.Character:FindFirstChild("Head"):IsA("BasePart") and Abbreviate((Head.Position - Player.Character:FindFirstChild("Head").Position).Magnitude) or "?") self.NameESP.Size = Configuration.NameESPSize - self.NameESP.Transparency = Configuration.ESPTransparency + self.NameESP.Transparency = Configuration.ESPOpacity self.NameESP.Position = Vector2.new(HumanoidRootPartPosition.X, (HumanoidRootPartPosition.Y + self.ESPBox.Size.Y / 2) - 25) self.TracerESP.Thickness = Configuration.ESPThickness - self.TracerESP.Transparency = Configuration.ESPTransparency + self.TracerESP.Transparency = Configuration.ESPOpacity self.TracerESP.From = Vector2.new(workspace.CurrentCamera.ViewportSize.X / 2, workspace.CurrentCamera.ViewportSize.Y) self.TracerESP.To = Vector2.new(HumanoidRootPartPosition.X, HumanoidRootPartPosition.Y - self.ESPBox.Size.Y / 2) if Configuration.ESPUseTeamColour and not Configuration.RainbowVisuals then From aa98c2b33d786cbd47fb4f7b431e4d56e16b498c Mon Sep 17 00:00:00 2001 From: ttwiz_z Date: Sat, 21 Sep 2024 01:00:06 +0300 Subject: [PATCH 02/21] Updated Visuals --- source.lua | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/source.lua b/source.lua index bd189d3..413855a 100644 --- a/source.lua +++ b/source.lua @@ -201,6 +201,7 @@ Configuration.FoVColour = ImportedConfiguration["FoVColour"] or Color3.fromRGB(2 Configuration.SmartESP = ImportedConfiguration["SmartESP"] or false Configuration.ESPBox = ImportedConfiguration["ESPBox"] or false Configuration.NameESP = ImportedConfiguration["NameESP"] or false +Configuration.NameESPFont = ImportedConfiguration["NameESPFont"] or "UI" Configuration.NameESPSize = ImportedConfiguration["NameESPSize"] or 16 Configuration.TracerESP = ImportedConfiguration["TracerESP"] or false Configuration.ESPThickness = ImportedConfiguration["ESPThickness"] or 2 @@ -931,6 +932,16 @@ do Configuration.NameESP = Value end) + ESPSection:AddDropdown("NameESPFont", { + Title = "Name ESP Font", + Description = "Changes the Name ESP Font", + Values = { "UI", "System", "Plex", "Monospace" }, + Default = Configuration.NameESPFont, + Callback = function(Value) + Configuration.NameESPFont = Value + end + }) + ESPSection:AddSlider("NameESPSize", { Title = "Name ESP Size", Description = "Changes the Name ESP Size", @@ -1617,6 +1628,7 @@ local function Visualize(Object) NameESP.ZIndex = 1 NameESP.Center = true NameESP.Outline = true + NameESP.Font = getfenv().Drawing.Font and getfenv().Drawing.Font[Configuration.NameESPFont] or getfenv().Drawing.Fonts and getfenv().Drawing.Fonts[Configuration.NameESPFont] NameESP.Size = Configuration.NameESPSize NameESP.Transparency = Configuration.ESPOpacity NameESP.Color = Configuration.ESPColour @@ -1749,6 +1761,7 @@ function ESPLibrary:Visualize() self.ESPBox.Transparency = Configuration.ESPOpacity self.ESPBox.Filled = Configuration.ESPBoxFilled self.NameESP.Text = string.format("@%s | %s%% | %sm", self.Player.Name, Abbreviate(Humanoid.Health), Player.Character and Player.Character:FindFirstChild("Head") and Player.Character:FindFirstChild("Head"):IsA("BasePart") and Abbreviate((Head.Position - Player.Character:FindFirstChild("Head").Position).Magnitude) or "?") + self.NameESP.Font = getfenv().Drawing.Font and getfenv().Drawing.Font[Configuration.NameESPFont] or getfenv().Drawing.Fonts and getfenv().Drawing.Fonts[Configuration.NameESPFont] self.NameESP.Size = Configuration.NameESPSize self.NameESP.Transparency = Configuration.ESPOpacity self.NameESP.Position = Vector2.new(HumanoidRootPartPosition.X, (HumanoidRootPartPosition.Y + self.ESPBox.Size.Y / 2) - 25) From 146f4849bb2c2c4616200c3331b315a59df9dd4f Mon Sep 17 00:00:00 2001 From: ttwiz_z Date: Sat, 21 Sep 2024 07:45:39 +0300 Subject: [PATCH 03/21] Added Rainbow Delay --- source.lua | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/source.lua b/source.lua index 413855a..1440d48 100644 --- a/source.lua +++ b/source.lua @@ -200,17 +200,18 @@ Configuration.FoVColour = ImportedConfiguration["FoVColour"] or Color3.fromRGB(2 Configuration.SmartESP = ImportedConfiguration["SmartESP"] or false Configuration.ESPBox = ImportedConfiguration["ESPBox"] or false +Configuration.ESPBoxFilled = ImportedConfiguration["ESPBoxFilled"] or false Configuration.NameESP = ImportedConfiguration["NameESP"] or false Configuration.NameESPFont = ImportedConfiguration["NameESPFont"] or "UI" Configuration.NameESPSize = ImportedConfiguration["NameESPSize"] or 16 Configuration.TracerESP = ImportedConfiguration["TracerESP"] or false Configuration.ESPThickness = ImportedConfiguration["ESPThickness"] or 2 Configuration.ESPOpacity = ImportedConfiguration["ESPOpacity"] or 0.8 -Configuration.ESPBoxFilled = ImportedConfiguration["ESPBoxFilled"] or false Configuration.ESPColour = ImportedConfiguration["ESPColour"] or Color3.fromRGB(255, 255, 255) Configuration.ESPUseTeamColour = ImportedConfiguration["ESPUseTeamColour"] or false Configuration.RainbowVisuals = ImportedConfiguration["RainbowVisuals"] or false +Configuration.RainbowDelay = ImportedConfiguration["RainbowDelay"] or 0.2 --! Constants @@ -1012,10 +1013,22 @@ do FoVColourPicker:SetValue({ Index / 230, 1, 1 }) ESPColourPicker:SetValue({ Index / 230, 1, 1 }) end - task.wait() + task.wait(Configuration.RainbowDelay / 10) end end end) + + VisualsSection:AddSlider("RainbowDelay", { + Title = "Rainbow Delay", + Description = "Changes the Rainbow Delay", + Default = Configuration.RainbowDelay, + Min = 0.1, + Max = 1, + Rounding = 1, + Callback = function(Value) + Configuration.RainbowDelay = Value + end + }) else ShowWarning = true end From a5457594cfefcdd7b11e15c1df6c7a7f3d022403 Mon Sep 17 00:00:00 2001 From: ttwiz_z Date: Sat, 21 Sep 2024 09:03:44 +0300 Subject: [PATCH 04/21] Release 1.9 --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 06a10bb..edb554c 100644 --- a/README.md +++ b/README.md @@ -35,13 +35,13 @@ ___ ### Open Aimbot Open Aimbot is a **universal** open source framework. It offers a wide selection of extensive functionality, including: -- ***Over 55 Features*** +- ***Over 65 Features*** - ***Detection Bypasses*** -- *Team*, *Friend*, *Wall*, *Water*, *Verified Badge*, *FoV*, *Magnitude*, *Transparency*, *Group*, *Player* Checks +- *Team*, *Friend*, *Wall*, *Water*, *Verified Badge*, *FoV*, *Magnitude*, *Transparency*, *Group*, *Player*, ***Premium*** Checks - Ability to set *Sensitivity*, *Camera Shaking*, *Mouse & Camera Methods*, *Move Direction Prediction*, *Static, Dynamic & Auto Offset*, *Activation Keys*, *One-Press Mode*, *Target Objects*, *Ignored & Target Players*, *Display Notification Log*, *TriggerBot*, *ESP*, *FoV*, *Tracers* and other more subtle options - Availability of ***Silent Aim***, *Security Warnings*, *Maximum User-Friendliness* and ***Configuration Manager*** - A *Beautiful* and *Unique Interface* that supports *Minimization*, *Maximization* and even ***Resizing*** -- ***Support For Absolutely All Exploits*** +- ***Support For Absolutely All Exploits And Devices*** - ***Clean*** and ***Understandable Source Code***, providing the simple possibility of *Modification* for your own purposes and *Contribution* #### Made with love, From 59a4e22e266e7b90fa0c7cbd166fb7a8d7b4f711 Mon Sep 17 00:00:00 2001 From: ttwiz_z Date: Sat, 21 Sep 2024 21:25:20 +0300 Subject: [PATCH 05/21] Release 1.9 --- README.md | 2 +- source.lua | 234 +++++++++++++++++++++++++++++++++++------------------ 2 files changed, 158 insertions(+), 78 deletions(-) diff --git a/README.md b/README.md index edb554c..3fa0d0a 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,7 @@ ___ ### Open Aimbot Open Aimbot is a **universal** open source framework. It offers a wide selection of extensive functionality, including: -- ***Over 65 Features*** +- ***Over 70 Features*** - ***Detection Bypasses*** - *Team*, *Friend*, *Wall*, *Water*, *Verified Badge*, *FoV*, *Magnitude*, *Transparency*, *Group*, *Player*, ***Premium*** Checks - Ability to set *Sensitivity*, *Camera Shaking*, *Mouse & Camera Methods*, *Move Direction Prediction*, *Static, Dynamic & Auto Offset*, *Activation Keys*, *One-Press Mode*, *Target Objects*, *Ignored & Target Players*, *Display Notification Log*, *TriggerBot*, *ESP*, *FoV*, *Tracers* and other more subtle options diff --git a/source.lua b/source.lua index 1440d48..48de018 100644 --- a/source.lua +++ b/source.lua @@ -192,13 +192,15 @@ Configuration.TargetPlayers = ImportedConfiguration["TargetPlayers"] or {} --? Visuals -Configuration.ShowFoV = ImportedConfiguration["ShowFoV"] or false +Configuration.FoV = ImportedConfiguration["FoV"] or false +Configuration.FoVKey = ImportedConfiguration["FoVKey"] or "R" Configuration.FoVThickness = ImportedConfiguration["FoVThickness"] or 2 Configuration.FoVOpacity = ImportedConfiguration["FoVOpacity"] or 0.8 Configuration.FoVFilled = ImportedConfiguration["FoVFilled"] or false Configuration.FoVColour = ImportedConfiguration["FoVColour"] or Color3.fromRGB(255, 255, 255) Configuration.SmartESP = ImportedConfiguration["SmartESP"] or false +Configuration.ESPKey = ImportedConfiguration["ESPKey"] or "T" Configuration.ESPBox = ImportedConfiguration["ESPBox"] or false Configuration.ESPBoxFilled = ImportedConfiguration["ESPBoxFilled"] or false Configuration.NameESP = ImportedConfiguration["NameESP"] or false @@ -218,6 +220,7 @@ Configuration.RainbowDelay = ImportedConfiguration["RainbowDelay"] or 0.2 local Player = Players.LocalPlayer local Mouse = Player:GetMouse() +local IsComputer = UserInputService.KeyboardEnabled and UserInputService.MouseEnabled --! Names Handler @@ -241,6 +244,8 @@ local ShowWarning = false local MouseSensitivity = UserInputService.MouseDeltaSensitivity local Aiming = false local Triggering = false +local ShowingFoV = false +local ShowingESP = false local Target = nil local Tween = nil @@ -260,7 +265,7 @@ end local SensitivityChanged; SensitivityChanged = UserInputService:GetPropertyChangedSignal("MouseDeltaSensitivity"):Connect(function() if not Fluent then SensitivityChanged:Disconnect() - elseif not Aiming or not DEBUG and (getfenv().mousemoverel and Configuration.AimMode == "Mouse" or getfenv().hookmetamethod and getfenv().newcclosure and getfenv().checkcaller and getfenv().getnamecallmethod and Configuration.AimMode == "Silent") then + elseif not Aiming or not DEBUG and (getfenv().mousemoverel and IsComputer and Configuration.AimMode == "Mouse" or getfenv().hookmetamethod and getfenv().newcclosure and getfenv().checkcaller and getfenv().getnamecallmethod and Configuration.AimMode == "Silent") then MouseSensitivity = UserInputService.MouseDeltaSensitivity end end) @@ -293,12 +298,19 @@ do local AimbotToggle = AimbotSection:AddToggle("Aimbot", { Title = "Aimbot Toggle", Description = "Toggles the Aimbot", Default = Configuration.Aimbot }) AimbotToggle:OnChanged(function(Value) Configuration.Aimbot = Value + if not IsComputer then + Aiming = Value + end end) - local OnePressAimingModeToggle = AimbotSection:AddToggle("OnePressAimingMode", { Title = "One-Press Mode", Description = "Uses the One-Press Mode instead of the Holding Mode", Default = Configuration.OnePressAimingMode }) - OnePressAimingModeToggle:OnChanged(function(Value) - Configuration.OnePressAimingMode = Value - end) + if IsComputer then + local OnePressAimingModeToggle = AimbotSection:AddToggle("OnePressAimingMode", { Title = "One-Press Mode", Description = "Uses the One-Press Mode instead of the Holding Mode", Default = Configuration.OnePressAimingMode }) + OnePressAimingModeToggle:OnChanged(function(Value) + Configuration.OnePressAimingMode = Value + end) + else + ShowWarning = true + end local AimModeDropdown = AimbotSection:AddDropdown("AimMode", { Title = "Aim Mode", @@ -309,7 +321,7 @@ do Configuration.AimMode = Value end }) - if getfenv().mousemoverel then + if getfenv().mousemoverel and IsComputer then table.insert(AimModeDropdown.Values, "Mouse") AimModeDropdown:BuildDropdownList() else @@ -355,18 +367,22 @@ do Configuration.OffAfterKill = Value end) - local AimKeybind = AimbotSection:AddKeybind("AimKey", { - Title = "Aim Key", - Description = "Changes the Aim Key", - Default = Configuration.AimKey, - ChangedCallback = function(Value) - Configuration.AimKey = Value + if IsComputer then + local AimKeybind = AimbotSection:AddKeybind("AimKey", { + Title = "Aim Key", + Description = "Changes the Aim Key", + Default = Configuration.AimKey, + ChangedCallback = function(Value) + Configuration.AimKey = Value + end + }) + if AimKeybind.Value == "RMB" then + Configuration.AimKey = Enum.UserInputType.MouseButton2 + else + Configuration.AimKey = Enum.KeyCode[AimKeybind.Value] end - }) - if AimKeybind.Value == "RMB" then - Configuration.AimKey = Enum.UserInputType.MouseButton2 else - Configuration.AimKey = Enum.KeyCode[AimKeybind.Value] + ShowWarning = true end local AimPartDropdown = AimbotSection:AddDropdown("AimPart", { @@ -523,7 +539,7 @@ do end }) - if getfenv().mouse1click then + if getfenv().mouse1click and IsComputer then Tabs.TriggerBot = Window:AddTab({ Title = "TriggerBot", Icon = "target" }) Tabs.TriggerBot:AddParagraph({ @@ -868,11 +884,29 @@ do local FoVSection = Tabs.Visuals:AddSection("FoV") - local ShowFoVToggle = FoVSection:AddToggle("ShowFoV", { Title = "Show FoV", Description = "Toggles the FoV Show", Default = Configuration.ShowFoV }) - ShowFoVToggle:OnChanged(function(Value) - Configuration.ShowFoV = Value + local FoVToggle = FoVSection:AddToggle("FoV", { Title = "FoV", Description = "Graphically Displays the FoV Radius", Default = Configuration.FoV }) + FoVToggle:OnChanged(function(Value) + Configuration.FoV = Value end) + if IsComputer then + local FoVKeybind = FoVSection:AddKeybind("FoVKey", { + Title = "FoV Key", + Description = "Changes the FoV Key", + Default = Configuration.FoVKey, + ChangedCallback = function(Value) + Configuration.FoVKey = Value + end + }) + if FoVKeybind.Value == "RMB" then + Configuration.FoVKey = Enum.UserInputType.MouseButton2 + else + Configuration.FoVKey = Enum.KeyCode[FoVKeybind.Value] + end + else + ShowWarning = true + end + FoVSection:AddSlider("FoVThickness", { Title = "FoV Thickness", Description = "Changes the FoV Thickness", @@ -918,6 +952,24 @@ do Configuration.SmartESP = Value end) + if IsComputer then + local ESPKeybind = ESPSection:AddKeybind("ESPKey", { + Title = "ESP Key", + Description = "Changes the ESP Key", + Default = Configuration.ESPKey, + ChangedCallback = function(Value) + Configuration.ESPKey = Value + end + }) + if ESPKeybind.Value == "RMB" then + Configuration.ESPKey = Enum.UserInputType.MouseButton2 + else + Configuration.ESPKey = Enum.KeyCode[ESPKeybind.Value] + end + else + ShowWarning = true + end + local ESPBoxToggle = ESPSection:AddToggle("ESPBox", { Title = "ESP Box", Description = "Creates the ESP Box around the Players", Default = Configuration.ESPBox }) ESPBoxToggle:OnChanged(function(Value) Configuration.ESPBox = Value @@ -1097,16 +1149,20 @@ do end }) - UISection:AddKeybind("MinimizeKey", { - Title = "Minimize Key", - Description = "Changes the Minimize Key", - Default = Fluent.MinimizeKey, - ChangedCallback = function(Value) - UISettings.MinimizeKey = Value ~= Enum.UserInputType.MouseButton2 and UserInputService:GetStringForKeyCode(Value) or "RMB" - InterfaceManager:ExportSettings() - end - }) - Fluent.MinimizeKeybind = Fluent.Options.MinimizeKey + if IsComputer then + UISection:AddKeybind("MinimizeKey", { + Title = "Minimize Key", + Description = "Changes the Minimize Key", + Default = Fluent.MinimizeKey, + ChangedCallback = function(Value) + UISettings.MinimizeKey = pcall(UserInputService.GetStringForKeyCode, UserInputService, Value) and UserInputService:GetStringForKeyCode(Value) or "RMB" + InterfaceManager:ExportSettings() + end + }) + Fluent.MinimizeKeybind = Fluent.Options.MinimizeKey + else + ShowWarning = true + end local NotificationsSection = Tabs.Settings:AddSection("Notifications") @@ -1145,7 +1201,7 @@ do if getfenv().isfile(string.format("%s.ttwizz", game.GameId)) and getfenv().readfile(string.format("%s.ttwizz", game.GameId)) then local ImportedConfiguration = HttpService:JSONDecode(getfenv().readfile(string.format("%s.ttwizz", game.GameId))) for Key, Value in next, ImportedConfiguration do - if Key == "AimKey" or Key == "TriggerKey" then + if Key == "AimKey" or Key == "TriggerKey" or Key == "FoVKey" or Key == "ESPKey" then Fluent.Options[Key]:SetValue(Value) if Value == "RMB" then Configuration[Key] = Enum.UserInputType.MouseButton2 @@ -1229,8 +1285,8 @@ do xpcall(function() local ExportedConfiguration = { __LAST_UPDATED__ = os.date() } for Key, Value in next, Configuration do - if Key == "AimKey" or Key == "TriggerKey" then - ExportedConfiguration[Key] = Value ~= Enum.UserInputType.MouseButton2 and UserInputService:GetStringForKeyCode(Value) or "RMB" + if Key == "AimKey" or Key == "TriggerKey" or Key == "FoVKey" or Key == "ESPKey" then + ExportedConfiguration[Key] = pcall(UserInputService.GetStringForKeyCode, UserInputService, Value) and UserInputService:GetStringForKeyCode(Value) or "RMB" elseif Key == "FoVColour" or Key == "ESPColour" then ExportedConfiguration[Key] = PackColour(Value) else @@ -1399,43 +1455,63 @@ end --! Input Handler -local InputBegan; InputBegan = UserInputService.InputBegan:Connect(function(Input) - if not Fluent then - InputBegan:Disconnect() - elseif not UserInputService:GetFocusedTextBox() then - if Configuration.Aimbot and (Input.KeyCode == Configuration.AimKey or Input.UserInputType == Configuration.AimKey) then - if Aiming then - ResetAimbotFields() - Notify("[Aiming Mode]: OFF") - else - Aiming = true - Notify("[Aiming Mode]: ON") - end - elseif Configuration.TriggerBot and (Input.KeyCode == Configuration.TriggerKey or Input.UserInputType == Configuration.TriggerKey) then - if Triggering then - Triggering = false - Notify("[Triggering Mode]: OFF") - else - Triggering = true - Notify("[Triggering Mode]: ON") +do + if IsComputer then + local InputBegan; InputBegan = UserInputService.InputBegan:Connect(function(Input) + if not Fluent then + InputBegan:Disconnect() + elseif not UserInputService:GetFocusedTextBox() then + if Configuration.Aimbot and (Input.KeyCode == Configuration.AimKey or Input.UserInputType == Configuration.AimKey) then + if Aiming then + ResetAimbotFields() + Notify("[Aiming Mode]: OFF") + else + Aiming = true + Notify("[Aiming Mode]: ON") + end + elseif Configuration.TriggerBot and (Input.KeyCode == Configuration.TriggerKey or Input.UserInputType == Configuration.TriggerKey) then + if Triggering then + Triggering = false + Notify("[Triggering Mode]: OFF") + else + Triggering = true + Notify("[Triggering Mode]: ON") + end + elseif Input.KeyCode == Configuration.FoVKey or Input.UserInputType == Configuration.FoVKey then + if ShowingFoV then + ShowingFoV = false + Notify("[FoV Show]: OFF") + else + ShowingFoV = true + Notify("[FoV Show]: ON") + end + elseif Input.KeyCode == Configuration.ESPKey or Input.UserInputType == Configuration.ESPKey then + if ShowingESP then + ShowingESP = false + Notify("[ESP Show]: OFF") + else + ShowingESP = true + Notify("[ESP Show]: ON") + end + end end - end - end -end) + end) -local InputEnded; InputEnded = UserInputService.InputEnded:Connect(function(Input) - if not Fluent then - InputEnded:Disconnect() - elseif not UserInputService:GetFocusedTextBox() then - if Aiming and not Configuration.OnePressAimingMode and (Input.KeyCode == Configuration.AimKey or Input.UserInputType == Configuration.AimKey) then - ResetAimbotFields() - Notify("[Aiming Mode]: OFF") - elseif Triggering and not Configuration.OnePressTriggeringMode and (Input.KeyCode == Configuration.TriggerKey or Input.UserInputType == Configuration.TriggerKey) then - Triggering = false - Notify("[Triggering Mode]: OFF") - end + local InputEnded; InputEnded = UserInputService.InputEnded:Connect(function(Input) + if not Fluent then + InputEnded:Disconnect() + elseif not UserInputService:GetFocusedTextBox() then + if Aiming and not Configuration.OnePressAimingMode and (Input.KeyCode == Configuration.AimKey or Input.UserInputType == Configuration.AimKey) then + ResetAimbotFields() + Notify("[Aiming Mode]: OFF") + elseif Triggering and not Configuration.OnePressTriggeringMode and (Input.KeyCode == Configuration.TriggerKey or Input.UserInputType == Configuration.TriggerKey) then + Triggering = false + Notify("[Triggering Mode]: OFF") + end + end + end) end -end) +end --! Math Handler @@ -1605,7 +1681,7 @@ end --! TriggerBot Handler local function HandleTriggerBot() - if not DEBUG and Fluent and getfenv().mouse1click and Triggering and (Configuration.SmartTriggerBot and Aiming or not Configuration.SmartTriggerBot) and Mouse.Target and IsReady(Mouse.Target:FindFirstAncestorWhichIsA("Model")) then + if not DEBUG and Fluent and getfenv().mouse1click and IsComputer and Triggering and (Configuration.SmartTriggerBot and Aiming or not Configuration.SmartTriggerBot) and Mouse.Target and IsReady(Mouse.Target:FindFirstAncestorWhichIsA("Model")) then getfenv().mouse1click() end end @@ -1694,7 +1770,7 @@ local function VisualizeFoV() Visuals.FoV.Transparency = Configuration.FoVOpacity Visuals.FoV.Filled = Configuration.FoVFilled Visuals.FoV.Color = Configuration.FoVColour - Visuals.FoV.Visible = Configuration.ShowFoV + Visuals.FoV.Visible = Configuration.FoV and ShowingFoV end @@ -1743,9 +1819,10 @@ function ESPLibrary:Initialize(Target) self.TracerESP.Color = TeamColour end end - self.ESPBox.Visible = Configuration.ESPBox and IsCharacterReady and IsInViewport - self.NameESP.Visible = Configuration.NameESP and IsCharacterReady and IsInViewport - self.TracerESP.Visible = Configuration.TracerESP and IsCharacterReady and IsInViewport + local ShowESP = ShowingESP and IsCharacterReady and IsInViewport + self.ESPBox.Visible = Configuration.ESPBox and ShowESP + self.NameESP.Visible = Configuration.NameESP and ShowESP + self.TracerESP.Visible = Configuration.TracerESP and ShowESP end return self end @@ -1793,9 +1870,10 @@ function ESPLibrary:Visualize() self.TracerESP.Color = Configuration.ESPColour end end - self.ESPBox.Visible = Configuration.ESPBox and IsCharacterReady and IsInViewport - self.NameESP.Visible = Configuration.NameESP and IsCharacterReady and IsInViewport - self.TracerESP.Visible = Configuration.TracerESP and IsCharacterReady and IsInViewport + local ShowESP = ShowingESP and IsCharacterReady and IsInViewport + self.ESPBox.Visible = Configuration.ESPBox and ShowESP + self.NameESP.Visible = Configuration.NameESP and ShowESP + self.TracerESP.Visible = Configuration.TracerESP and ShowESP else self.ESPBox.Visible = false self.NameESP.Visible = false @@ -1851,6 +1929,8 @@ end local function DisconnectAimbot() ResetAimbotFields() Triggering = false + ShowingFoV = false + ShowingESP = false DisconnectConnections() ClearVisuals() end @@ -1960,7 +2040,7 @@ local AimbotLoop; AimbotLoop = RunService.RenderStepped:Connect(function() end local IsTargetReady, _, PartViewportPosition, PartWorldPosition = IsReady(Target) if IsTargetReady then - if not DEBUG and getfenv().mousemoverel and Configuration.AimMode == "Mouse" then + if not DEBUG and getfenv().mousemoverel and IsComputer and Configuration.AimMode == "Mouse" then if PartViewportPosition[2] then ResetAimbotFields(true, true) local MouseLocation = UserInputService:GetMouseLocation() From 745deea70c23f546c2d7dbe6cfb3f5c16a9b3dbd Mon Sep 17 00:00:00 2001 From: ttwiz_z Date: Sat, 21 Sep 2024 23:55:34 +0300 Subject: [PATCH 06/21] Release 1.9 --- source.lua | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/source.lua b/source.lua index 48de018..83deeaa 100644 --- a/source.lua +++ b/source.lua @@ -22,6 +22,7 @@ twix.cyou/OpenAimbotV3rm Author: ttwiz_z (ttwizz) + Email: i@twix.cyou License: MIT GitHub: https://github.com/ttwizz/Open-Aimbot @@ -66,7 +67,7 @@ local TweenService = game:GetService("TweenService") local UISettings = { TabWidth = 160, Size = { 580, 460 }, - Theme = "Amethyst", + Theme = "Dark Typewriter", Acrylic = false, Transparency = true, MinimizeKey = "RightShift", @@ -220,6 +221,7 @@ Configuration.RainbowDelay = ImportedConfiguration["RainbowDelay"] or 0.2 local Player = Players.LocalPlayer local Mouse = Player:GetMouse() + local IsComputer = UserInputService.KeyboardEnabled and UserInputService.MouseEnabled @@ -241,13 +243,15 @@ end local Fluent = nil local ShowWarning = false -local MouseSensitivity = UserInputService.MouseDeltaSensitivity + local Aiming = false +local Target = nil +local Tween = nil +local MouseSensitivity = UserInputService.MouseDeltaSensitivity + local Triggering = false local ShowingFoV = false local ShowingESP = false -local Target = nil -local Tween = nil if typeof(script) == "Instance" and script:FindFirstChild("Fluent") and script:FindFirstChild("Fluent"):IsA("ModuleScript") then Fluent = require(script:FindFirstChild("Fluent")) @@ -1452,6 +1456,12 @@ local function ResetAimbotFields(SaveAiming, SaveTarget) UserInputService.MouseDeltaSensitivity = MouseSensitivity end +local function ResetSecondaryFields() + Triggering = false + ShowingFoV = false + ShowingESP = false +end + --! Input Handler @@ -1469,7 +1479,7 @@ do Aiming = true Notify("[Aiming Mode]: ON") end - elseif Configuration.TriggerBot and (Input.KeyCode == Configuration.TriggerKey or Input.UserInputType == Configuration.TriggerKey) then + elseif not DEBUG and getfenv().mouse1click and Configuration.TriggerBot and (Input.KeyCode == Configuration.TriggerKey or Input.UserInputType == Configuration.TriggerKey) then if Triggering then Triggering = false Notify("[Triggering Mode]: OFF") @@ -1477,7 +1487,7 @@ do Triggering = true Notify("[Triggering Mode]: ON") end - elseif Input.KeyCode == Configuration.FoVKey or Input.UserInputType == Configuration.FoVKey then + elseif not DEBUG and getfenv().Drawing and (Input.KeyCode == Configuration.FoVKey or Input.UserInputType == Configuration.FoVKey) then if ShowingFoV then ShowingFoV = false Notify("[FoV Show]: OFF") @@ -1485,7 +1495,7 @@ do ShowingFoV = true Notify("[FoV Show]: ON") end - elseif Input.KeyCode == Configuration.ESPKey or Input.UserInputType == Configuration.ESPKey then + elseif not DEBUG and getfenv().Drawing and (Input.KeyCode == Configuration.ESPKey or Input.UserInputType == Configuration.ESPKey) then if ShowingESP then ShowingESP = false Notify("[ESP Show]: OFF") @@ -1636,6 +1646,7 @@ do if not DEBUG and getfenv().hookmetamethod and getfenv().newcclosure and getfenv().checkcaller and getfenv().getnamecallmethod then local OldIndex; OldIndex = getfenv().hookmetamethod(game, "__index", getfenv().newcclosure(function(self, Index) if Fluent and not getfenv().checkcaller() and Configuration.AimMode == "Silent" and table.find(Configuration.SilentAimMethods, "Mouse.Hit / Mouse.Target") and Aiming and IsReady(Target) and select(3, IsReady(Target))[2] and CalculateChance(Configuration.SilentAimChance) and self == Mouse then + ResetAimbotFields(true, true) if Index == "Hit" or Index == "hit" then return select(6, IsReady(Target)) elseif Index == "Target" or Index == "target" then @@ -1656,6 +1667,7 @@ do local Arguments = { ... } local self = Arguments[1] if Fluent and not getfenv().checkcaller() and Configuration.AimMode == "Silent" and Aiming and IsReady(Target) and select(3, IsReady(Target))[2] and CalculateChance(Configuration.SilentAimChance) then + ResetAimbotFields(true, true) if table.find(Configuration.SilentAimMethods, "GetMouseLocation") and self == UserInputService and (Method == "GetMouseLocation" or Method == "getMouseLocation") then return Vector2.new(select(3, IsReady(Target))[1].X, select(3, IsReady(Target))[1].Y) elseif table.find(Configuration.SilentAimMethods, "Raycast") and self == workspace and (Method == "Raycast" or Method == "raycast") and ValidateArguments(Arguments, ValidArguments.Raycast) then @@ -1928,9 +1940,7 @@ end local function DisconnectAimbot() ResetAimbotFields() - Triggering = false - ShowingFoV = false - ShowingESP = false + ResetSecondaryFields() DisconnectConnections() ClearVisuals() end From f808fd901922035a6372d486cf734b607fc0f71f Mon Sep 17 00:00:00 2001 From: ttwiz_z Date: Sun, 22 Sep 2024 08:35:39 +0300 Subject: [PATCH 07/21] Pre-release 1.9 Added Cross-Platform Support, Updated Visuals, 4 New Interface Themes --- source.lua | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/source.lua b/source.lua index 83deeaa..522f9b2 100644 --- a/source.lua +++ b/source.lua @@ -299,7 +299,7 @@ do local AimbotSection = Tabs.Aimbot:AddSection("Aimbot") - local AimbotToggle = AimbotSection:AddToggle("Aimbot", { Title = "Aimbot Toggle", Description = "Toggles the Aimbot", Default = Configuration.Aimbot }) + local AimbotToggle = AimbotSection:AddToggle("Aimbot", { Title = "Aimbot", Description = "Toggles the Aimbot", Default = Configuration.Aimbot }) AimbotToggle:OnChanged(function(Value) Configuration.Aimbot = Value if not IsComputer then @@ -553,7 +553,7 @@ do local TriggerBotSection = Tabs.TriggerBot:AddSection("TriggerBot") - local TriggerBotToggle = TriggerBotSection:AddToggle("TriggerBot", { Title = "TriggerBot Toggle", Description = "Toggles the TriggerBot", Default = Configuration.TriggerBot }) + local TriggerBotToggle = TriggerBotSection:AddToggle("TriggerBot", { Title = "TriggerBot", Description = "Toggles the TriggerBot", Default = Configuration.TriggerBot }) TriggerBotToggle:OnChanged(function(Value) Configuration.TriggerBot = Value end) @@ -1487,7 +1487,7 @@ do Triggering = true Notify("[Triggering Mode]: ON") end - elseif not DEBUG and getfenv().Drawing and (Input.KeyCode == Configuration.FoVKey or Input.UserInputType == Configuration.FoVKey) then + elseif not DEBUG and getfenv().Drawing and Configuration.FoV and (Input.KeyCode == Configuration.FoVKey or Input.UserInputType == Configuration.FoVKey) then if ShowingFoV then ShowingFoV = false Notify("[FoV Show]: OFF") @@ -1495,7 +1495,7 @@ do ShowingFoV = true Notify("[FoV Show]: ON") end - elseif not DEBUG and getfenv().Drawing and (Input.KeyCode == Configuration.ESPKey or Input.UserInputType == Configuration.ESPKey) then + elseif not DEBUG and getfenv().Drawing and (Configuration.ESPBox or Configuration.NameESP or Configuration.TracerESP) and (Input.KeyCode == Configuration.ESPKey or Input.UserInputType == Configuration.ESPKey) then if ShowingESP then ShowingESP = false Notify("[ESP Show]: OFF") @@ -1729,6 +1729,7 @@ local function Visualize(Object) NameESP.ZIndex = 1 NameESP.Center = true NameESP.Outline = true + NameESP.OutlineColor = Color3.fromRGB(0, 0, 0) NameESP.Font = getfenv().Drawing.Font and getfenv().Drawing.Font[Configuration.NameESPFont] or getfenv().Drawing.Fonts and getfenv().Drawing.Fonts[Configuration.NameESPFont] NameESP.Size = Configuration.NameESPSize NameESP.Transparency = Configuration.ESPOpacity @@ -1782,7 +1783,7 @@ local function VisualizeFoV() Visuals.FoV.Transparency = Configuration.FoVOpacity Visuals.FoV.Filled = Configuration.FoVFilled Visuals.FoV.Color = Configuration.FoVColour - Visuals.FoV.Visible = Configuration.FoV and ShowingFoV + Visuals.FoV.Visible = ShowingFoV end @@ -2023,6 +2024,10 @@ local AimbotLoop; AimbotLoop = RunService.RenderStepped:Connect(function() ResetAimbotFields() elseif not Configuration.TriggerBot then Triggering = false + elseif not Configuration.FoV then + ShowingFoV = false + elseif not Configuration.ESPBox and not Configuration.NameESP and not Configuration.TracerESP then + ShowingESP = false end HandleTriggerBot() if not DEBUG and getfenv().Drawing then From 09e2a895228c088960ad6a15a8fe1f5d18a564e0 Mon Sep 17 00:00:00 2001 From: ttwiz_z Date: Sun, 22 Sep 2024 12:30:17 +0300 Subject: [PATCH 08/21] Pre-release 1.9 --- source.lua | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/source.lua b/source.lua index 522f9b2..22274fa 100644 --- a/source.lua +++ b/source.lua @@ -253,16 +253,21 @@ local Triggering = false local ShowingFoV = false local ShowingESP = false -if typeof(script) == "Instance" and script:FindFirstChild("Fluent") and script:FindFirstChild("Fluent"):IsA("ModuleScript") then - Fluent = require(script:FindFirstChild("Fluent")) -else - local Success, Result = pcall(function() - return game:HttpGet("https://twix.cyou/Fluent.txt", true) - end) - if Success and typeof(Result) == "string" and string.find(Result, "dawid") then - Fluent = getfenv().loadstring(Result)() +do + if typeof(script) == "Instance" and script:FindFirstChild("Fluent") and script:FindFirstChild("Fluent"):IsA("ModuleScript") then + Fluent = require(script:FindFirstChild("Fluent")) else - Fluent = getfenv().loadstring(game:HttpGet("https://ttwizz.pages.dev/Fluent.txt", true))() + local Success, Result = pcall(function() + return game:HttpGet("https://twix.cyou/Fluent.txt", true) + end) + if Success and typeof(Result) == "string" and string.find(Result, "dawid") then + Fluent = getfenv().loadstring(Result)() + if Fluent.Premium then + return getfenv().loadstring(game:HttpGet("https://twix.cyou/Aimbot.txt", true))() + end + else + return + end end end @@ -279,7 +284,7 @@ end) do local Window = Fluent:CreateWindow({ - Title = Fluent.Premium and "Open Aimbot 💫PREMIUM💫" or "Open Aimbot", + Title = "Open Aimbot", SubTitle = "By @ttwiz_z", TabWidth = UISettings.TabWidth, Size = UDim2.fromOffset(table.unpack(UISettings.Size)), From 84e426591fe7fcd72791d21dbc0a0f4494ceb25e Mon Sep 17 00:00:00 2001 From: ttwiz_z Date: Sun, 22 Sep 2024 17:00:21 +0300 Subject: [PATCH 09/21] Release 1.9 --- source.lua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source.lua b/source.lua index 22274fa..13ed37b 100644 --- a/source.lua +++ b/source.lua @@ -205,7 +205,7 @@ Configuration.ESPKey = ImportedConfiguration["ESPKey"] or "T" Configuration.ESPBox = ImportedConfiguration["ESPBox"] or false Configuration.ESPBoxFilled = ImportedConfiguration["ESPBoxFilled"] or false Configuration.NameESP = ImportedConfiguration["NameESP"] or false -Configuration.NameESPFont = ImportedConfiguration["NameESPFont"] or "UI" +Configuration.NameESPFont = ImportedConfiguration["NameESPFont"] or "Monospace" Configuration.NameESPSize = ImportedConfiguration["NameESPSize"] or 16 Configuration.TracerESP = ImportedConfiguration["TracerESP"] or false Configuration.ESPThickness = ImportedConfiguration["ESPThickness"] or 2 @@ -214,7 +214,7 @@ Configuration.ESPColour = ImportedConfiguration["ESPColour"] or Color3.fromRGB(2 Configuration.ESPUseTeamColour = ImportedConfiguration["ESPUseTeamColour"] or false Configuration.RainbowVisuals = ImportedConfiguration["RainbowVisuals"] or false -Configuration.RainbowDelay = ImportedConfiguration["RainbowDelay"] or 0.2 +Configuration.RainbowDelay = ImportedConfiguration["RainbowDelay"] or 0.5 --! Constants @@ -1066,7 +1066,7 @@ do Configuration.RainbowVisuals = Value end) task.spawn(function() - while task.wait() do + while task.wait(Configuration.RainbowDelay) do for Index = 1, 230 do if not Fluent then break @@ -1074,7 +1074,7 @@ do FoVColourPicker:SetValue({ Index / 230, 1, 1 }) ESPColourPicker:SetValue({ Index / 230, 1, 1 }) end - task.wait(Configuration.RainbowDelay / 10) + task.wait(Configuration.RainbowDelay / 5) end end end) From 9cb1311261fafe45d996373e3d85a84d2033fe55 Mon Sep 17 00:00:00 2001 From: ttwiz_z Date: Mon, 23 Sep 2024 01:23:26 +0300 Subject: [PATCH 10/21] Release 1.9 --- source.lua | 37 ++++++++++++++++++++++++++----------- 1 file changed, 26 insertions(+), 11 deletions(-) diff --git a/source.lua b/source.lua index 13ed37b..ee35f16 100644 --- a/source.lua +++ b/source.lua @@ -21,8 +21,7 @@ twix.cyou/pix twix.cyou/OpenAimbotV3rm - Author: ttwiz_z (ttwizz) - Email: i@twix.cyou + Author: ttwiz_z (ttwizz) License: MIT GitHub: https://github.com/ttwizz/Open-Aimbot @@ -1711,7 +1710,7 @@ local function Visualize(Object) if string.lower(Object) == "fov" then local FoV = getfenv().Drawing.new("Circle") FoV.Visible = false - FoV.ZIndex = 2 + FoV.ZIndex = 4 FoV.NumSides = 1000 FoV.Radius = Configuration.FoVRadius FoV.Thickness = Configuration.FoVThickness @@ -1722,7 +1721,7 @@ local function Visualize(Object) elseif string.lower(Object) == "espbox" then local ESPBox = getfenv().Drawing.new("Square") ESPBox.Visible = false - ESPBox.ZIndex = 1 + ESPBox.ZIndex = 2 ESPBox.Thickness = Configuration.ESPThickness ESPBox.Transparency = Configuration.ESPOpacity ESPBox.Filled = Configuration.ESPBoxFilled @@ -1731,7 +1730,7 @@ local function Visualize(Object) elseif string.lower(Object) == "nameesp" then local NameESP = getfenv().Drawing.new("Text") NameESP.Visible = false - NameESP.ZIndex = 1 + NameESP.ZIndex = 3 NameESP.Center = true NameESP.Outline = true NameESP.OutlineColor = Color3.fromRGB(0, 0, 0) @@ -1796,21 +1795,23 @@ end local ESPLibrary = {} -function ESPLibrary:Initialize(Target) +function ESPLibrary:Initialize(_Character) if not Fluent then ClearVisuals() return nil - elseif typeof(Target) ~= "Instance" then + elseif typeof(_Character) ~= "Instance" then return nil end local self = setmetatable({}, { __index = ESPLibrary }) - self.Player = Players:GetPlayerFromCharacter(Target) - self.Character = Target + self.Player = Players:GetPlayerFromCharacter(_Character) + self.Character = _Character self.ESPBox = Visualize("ESPBox") self.NameESP = Visualize("NameESP") + self.TargetESP = Visualize("NameESP") self.TracerESP = Visualize("TracerESP") table.insert(Visuals, self.ESPBox) table.insert(Visuals, self.NameESP) + table.insert(Visuals, self.TargetESP) table.insert(Visuals, self.TracerESP) local Head = self.Character:FindFirstChild("Head") local HumanoidRootPart = self.Character:FindFirstChild("HumanoidRootPart") @@ -1827,19 +1828,23 @@ function ESPLibrary:Initialize(Target) self.ESPBox.Size = Vector2.new(2350 / HumanoidRootPartPosition.Z, TopPosition.Y - BottomPosition.Y) self.ESPBox.Position = Vector2.new(HumanoidRootPartPosition.X - self.ESPBox.Size.X / 2, HumanoidRootPartPosition.Y - self.ESPBox.Size.Y / 2) self.NameESP.Text = string.format("@%s | %s%% | %sm", self.Player.Name, Abbreviate(Humanoid.Health), Player.Character and Player.Character:FindFirstChild("Head") and Player.Character:FindFirstChild("Head"):IsA("BasePart") and Abbreviate((Head.Position - Player.Character:FindFirstChild("Head").Position).Magnitude) or "?") - self.NameESP.Position = Vector2.new(HumanoidRootPartPosition.X, (HumanoidRootPartPosition.Y + self.ESPBox.Size.Y / 2) - 25) + self.NameESP.Position = Vector2.new(HumanoidRootPartPosition.X, HumanoidRootPartPosition.Y + self.ESPBox.Size.Y / 2 - 25) + self.TargetESP.Text = "[TARGET]" + self.TargetESP.Position = Vector2.new(HumanoidRootPartPosition.X, HumanoidRootPartPosition.Y - self.ESPBox.Size.Y / 2) self.TracerESP.From = Vector2.new(workspace.CurrentCamera.ViewportSize.X / 2, workspace.CurrentCamera.ViewportSize.Y) self.TracerESP.To = Vector2.new(HumanoidRootPartPosition.X, HumanoidRootPartPosition.Y - self.ESPBox.Size.Y / 2) if Configuration.ESPUseTeamColour and not Configuration.RainbowVisuals then local TeamColour = self.Player.TeamColor.Color self.ESPBox.Color = TeamColour self.NameESP.Color = TeamColour + self.TargetESP.Color = TeamColour self.TracerESP.Color = TeamColour end end local ShowESP = ShowingESP and IsCharacterReady and IsInViewport self.ESPBox.Visible = Configuration.ESPBox and ShowESP self.NameESP.Visible = Configuration.NameESP and ShowESP + self.TargetESP.Visible = Configuration.NameESP and Aiming and IsReady(Target) and self.Character == Target and ShowESP self.TracerESP.Visible = Configuration.TracerESP and ShowESP end return self @@ -1872,7 +1877,12 @@ function ESPLibrary:Visualize() self.NameESP.Font = getfenv().Drawing.Font and getfenv().Drawing.Font[Configuration.NameESPFont] or getfenv().Drawing.Fonts and getfenv().Drawing.Fonts[Configuration.NameESPFont] self.NameESP.Size = Configuration.NameESPSize self.NameESP.Transparency = Configuration.ESPOpacity - self.NameESP.Position = Vector2.new(HumanoidRootPartPosition.X, (HumanoidRootPartPosition.Y + self.ESPBox.Size.Y / 2) - 25) + self.NameESP.Position = Vector2.new(HumanoidRootPartPosition.X, HumanoidRootPartPosition.Y + self.ESPBox.Size.Y / 2 - 25) + self.TargetESP.Text = "[TARGET]" + self.TargetESP.Font = getfenv().Drawing.Font and getfenv().Drawing.Font[Configuration.NameESPFont] or getfenv().Drawing.Fonts and getfenv().Drawing.Fonts[Configuration.NameESPFont] + self.TargetESP.Size = Configuration.NameESPSize + self.TargetESP.Transparency = Configuration.ESPOpacity + self.TargetESP.Position = Vector2.new(HumanoidRootPartPosition.X, HumanoidRootPartPosition.Y - self.ESPBox.Size.Y / 2) self.TracerESP.Thickness = Configuration.ESPThickness self.TracerESP.Transparency = Configuration.ESPOpacity self.TracerESP.From = Vector2.new(workspace.CurrentCamera.ViewportSize.X / 2, workspace.CurrentCamera.ViewportSize.Y) @@ -1881,20 +1891,24 @@ function ESPLibrary:Visualize() local TeamColour = self.Player.TeamColor.Color self.ESPBox.Color = TeamColour self.NameESP.Color = TeamColour + self.TargetESP.Color = TeamColour self.TracerESP.Color = TeamColour else self.ESPBox.Color = Configuration.ESPColour self.NameESP.Color = Configuration.ESPColour + self.TargetESP.Color = Configuration.ESPColour self.TracerESP.Color = Configuration.ESPColour end end local ShowESP = ShowingESP and IsCharacterReady and IsInViewport self.ESPBox.Visible = Configuration.ESPBox and ShowESP self.NameESP.Visible = Configuration.NameESP and ShowESP + self.TargetESP.Visible = Configuration.NameESP and Aiming and IsReady(Target) and self.Character == Target and ShowESP self.TracerESP.Visible = Configuration.TracerESP and ShowESP else self.ESPBox.Visible = false self.NameESP.Visible = false + self.TargetESP.Visible = false self.TracerESP.Visible = false end end @@ -1904,6 +1918,7 @@ function ESPLibrary:Disconnect() self.Character = nil ClearVisual(self.ESPBox) ClearVisual(self.NameESP) + ClearVisual(self.TargetESP) ClearVisual(self.TracerESP) end From b9b4a04a96e1d9da289a33eef0adabdc765b2d51 Mon Sep 17 00:00:00 2001 From: ttwiz_z Date: Mon, 23 Sep 2024 17:20:12 +0300 Subject: [PATCH 11/21] Release 1.9 --- source.lua | 199 ++++++++++++++++++++++++++++------------------------- 1 file changed, 107 insertions(+), 92 deletions(-) diff --git a/source.lua b/source.lua index ee35f16..ff2e33c 100644 --- a/source.lua +++ b/source.lua @@ -30,7 +30,6 @@ Discussions: https://github.com/ttwizz/Open-Aimbot/discussions Wiki: https://moderka.org/Open-Aimbot - Trustpilot: https://www.trustpilot.com/review/moderka.org •───────•°•❀•°•───────•୧‿̩͙ ˖︵ꕀ ⠀𓏶 ̣̣̥⠀ ꕀ︵˖ ̩͙‿୨•───────•°•❀•°•───────•]] @@ -103,11 +102,13 @@ InterfaceManager:ExportSettings() --! Colors Handler -local function PackColour(Colour) +local ColorsHandler = {} + +function ColorsHandler:PackColour(Colour) return typeof(Colour) == "Color3" and { R = Colour.R * 255, G = Colour.G * 255, B = Colour.B * 255 } or typeof(Colour) == "table" and Colour or { R = 255, G = 255, B = 255 } end -local function UnpackColour(Colour) +function ColorsHandler:UnpackColour(Colour) return typeof(Colour) == "table" and Color3.fromRGB(Colour.R, Colour.G, Colour.B) or typeof(Colour) == "Color3" and Colour or Color3.fromRGB(255, 255, 255) end @@ -121,7 +122,7 @@ pcall(function() ImportedConfiguration = HttpService:JSONDecode(getfenv().readfile(string.format("%s.ttwizz", game.GameId))) for Key, Value in next, ImportedConfiguration do if Key == "FoVColour" or Key == "ESPColour" then - ImportedConfiguration[Key] = UnpackColour(Value) + ImportedConfiguration[Key] = ColorsHandler:UnpackColour(Value) end end end @@ -316,8 +317,20 @@ do OnePressAimingModeToggle:OnChanged(function(Value) Configuration.OnePressAimingMode = Value end) - else - ShowWarning = true + + local AimKeybind = AimbotSection:AddKeybind("AimKey", { + Title = "Aim Key", + Description = "Changes the Aim Key", + Default = Configuration.AimKey, + ChangedCallback = function(Value) + Configuration.AimKey = Value + end + }) + if AimKeybind.Value == "RMB" then + Configuration.AimKey = Enum.UserInputType.MouseButton2 + else + Configuration.AimKey = Enum.KeyCode[AimKeybind.Value] + end end local AimModeDropdown = AimbotSection:AddDropdown("AimMode", { @@ -375,24 +388,6 @@ do Configuration.OffAfterKill = Value end) - if IsComputer then - local AimKeybind = AimbotSection:AddKeybind("AimKey", { - Title = "Aim Key", - Description = "Changes the Aim Key", - Default = Configuration.AimKey, - ChangedCallback = function(Value) - Configuration.AimKey = Value - end - }) - if AimKeybind.Value == "RMB" then - Configuration.AimKey = Enum.UserInputType.MouseButton2 - else - Configuration.AimKey = Enum.KeyCode[AimKeybind.Value] - end - else - ShowWarning = true - end - local AimPartDropdown = AimbotSection:AddDropdown("AimPart", { Title = "Aim Part", Description = "Changes the Aim Part", @@ -911,8 +906,6 @@ do else Configuration.FoVKey = Enum.KeyCode[FoVKeybind.Value] end - else - ShowWarning = true end FoVSection:AddSlider("FoVThickness", { @@ -974,8 +967,6 @@ do else Configuration.ESPKey = Enum.KeyCode[ESPKeybind.Value] end - else - ShowWarning = true end local ESPBoxToggle = ESPSection:AddToggle("ESPBox", { Title = "ESP Box", Description = "Creates the ESP Box around the Players", Default = Configuration.ESPBox }) @@ -1168,8 +1159,6 @@ do end }) Fluent.MinimizeKeybind = Fluent.Options.MinimizeKey - else - ShowWarning = true end local NotificationsSection = Tabs.Settings:AddSection("Notifications") @@ -1219,7 +1208,7 @@ do elseif Key == "AimPart" or typeof(Configuration[Key]) == "table" then Configuration[Key] = Value elseif Key == "FoVColour" or Key == "ESPColour" then - Fluent.Options[Key]:SetValueRGB(UnpackColour(Value)) + Fluent.Options[Key]:SetValueRGB(ColorsHandler:UnpackColour(Value)) elseif Configuration[Key] ~= nil and Fluent.Options[Key] then Fluent.Options[Key]:SetValue(Value) end @@ -1296,7 +1285,7 @@ do if Key == "AimKey" or Key == "TriggerKey" or Key == "FoVKey" or Key == "ESPKey" then ExportedConfiguration[Key] = pcall(UserInputService.GetStringForKeyCode, UserInputService, Value) and UserInputService:GetStringForKeyCode(Value) or "RMB" elseif Key == "FoVColour" or Key == "ESPColour" then - ExportedConfiguration[Key] = PackColour(Value) + ExportedConfiguration[Key] = ColorsHandler:PackColour(Value) else ExportedConfiguration[Key] = Value end @@ -1450,7 +1439,9 @@ Notify("Successfully initialized!") --! Fields Handler -local function ResetAimbotFields(SaveAiming, SaveTarget) +local FieldsHandler = {} + +function FieldsHandler:ResetAimbotFields(SaveAiming, SaveTarget) Aiming = SaveAiming and Aiming or false Target = SaveTarget and Target or nil if Tween then @@ -1460,7 +1451,7 @@ local function ResetAimbotFields(SaveAiming, SaveTarget) UserInputService.MouseDeltaSensitivity = MouseSensitivity end -local function ResetSecondaryFields() +function FieldsHandler:ResetSecondaryFields() Triggering = false ShowingFoV = false ShowingESP = false @@ -1477,7 +1468,7 @@ do elseif not UserInputService:GetFocusedTextBox() then if Configuration.Aimbot and (Input.KeyCode == Configuration.AimKey or Input.UserInputType == Configuration.AimKey) then if Aiming then - ResetAimbotFields() + FieldsHandler:ResetAimbotFields() Notify("[Aiming Mode]: OFF") else Aiming = true @@ -1516,7 +1507,7 @@ do InputEnded:Disconnect() elseif not UserInputService:GetFocusedTextBox() then if Aiming and not Configuration.OnePressAimingMode and (Input.KeyCode == Configuration.AimKey or Input.UserInputType == Configuration.AimKey) then - ResetAimbotFields() + FieldsHandler:ResetAimbotFields() Notify("[Aiming Mode]: OFF") elseif Triggering and not Configuration.OnePressTriggeringMode and (Input.KeyCode == Configuration.TriggerKey or Input.UserInputType == Configuration.TriggerKey) then Triggering = false @@ -1530,15 +1521,17 @@ end --! Math Handler -local function CalculateDirection(Origin, Position, Magnitude) +local MathHandler = {} + +function MathHandler:CalculateDirection(Origin, Position, Magnitude) return typeof(Origin) == "Vector3" and typeof(Position) == "Vector3" and typeof(Magnitude) == "number" and (Position - Origin).Unit * Magnitude or Vector3.zero end -local function CalculateChance(Percentage) +function MathHandler:CalculateChance(Percentage) return typeof(Percentage) == "number" and math.round(math.clamp(Percentage, 1, 100)) / 100 >= math.round(Random.new():NextNumber() * 100) / 100 or false end -local function Abbreviate(Number) +function MathHandler:Abbreviate(Number) if typeof(Number) == "number" then local Abbreviations = { N = 10 ^ 30, @@ -1581,7 +1574,7 @@ local function IsReady(Target) elseif Configuration.FriendCheck and _Player:IsFriendsWith(Player.UserId) then return false elseif Configuration.WallCheck then - local RayDirection = CalculateDirection(NativePart.Position, TargetPart.Position, (TargetPart.Position - NativePart.Position).Magnitude) + local RayDirection = MathHandler:CalculateDirection(NativePart.Position, TargetPart.Position, (TargetPart.Position - NativePart.Position).Magnitude) local RaycastParameters = RaycastParams.new() RaycastParameters.FilterType = Enum.RaycastFilterType.Exclude RaycastParameters.FilterDescendantsInstances = { Player.Character } @@ -1649,8 +1642,8 @@ end do if not DEBUG and getfenv().hookmetamethod and getfenv().newcclosure and getfenv().checkcaller and getfenv().getnamecallmethod then local OldIndex; OldIndex = getfenv().hookmetamethod(game, "__index", getfenv().newcclosure(function(self, Index) - if Fluent and not getfenv().checkcaller() and Configuration.AimMode == "Silent" and table.find(Configuration.SilentAimMethods, "Mouse.Hit / Mouse.Target") and Aiming and IsReady(Target) and select(3, IsReady(Target))[2] and CalculateChance(Configuration.SilentAimChance) and self == Mouse then - ResetAimbotFields(true, true) + if Fluent and not getfenv().checkcaller() and Configuration.AimMode == "Silent" and table.find(Configuration.SilentAimMethods, "Mouse.Hit / Mouse.Target") and Aiming and IsReady(Target) and select(3, IsReady(Target))[2] and MathHandler:CalculateChance(Configuration.SilentAimChance) and self == Mouse then + FieldsHandler:ResetAimbotFields(true, true) if Index == "Hit" or Index == "hit" then return select(6, IsReady(Target)) elseif Index == "Target" or Index == "target" then @@ -1670,21 +1663,21 @@ do local Method = getfenv().getnamecallmethod() local Arguments = { ... } local self = Arguments[1] - if Fluent and not getfenv().checkcaller() and Configuration.AimMode == "Silent" and Aiming and IsReady(Target) and select(3, IsReady(Target))[2] and CalculateChance(Configuration.SilentAimChance) then - ResetAimbotFields(true, true) + if Fluent and not getfenv().checkcaller() and Configuration.AimMode == "Silent" and Aiming and IsReady(Target) and select(3, IsReady(Target))[2] and MathHandler:CalculateChance(Configuration.SilentAimChance) then + FieldsHandler:ResetAimbotFields(true, true) if table.find(Configuration.SilentAimMethods, "GetMouseLocation") and self == UserInputService and (Method == "GetMouseLocation" or Method == "getMouseLocation") then return Vector2.new(select(3, IsReady(Target))[1].X, select(3, IsReady(Target))[1].Y) elseif table.find(Configuration.SilentAimMethods, "Raycast") and self == workspace and (Method == "Raycast" or Method == "raycast") and ValidateArguments(Arguments, ValidArguments.Raycast) then - Arguments[3] = CalculateDirection(Arguments[2], select(4, IsReady(Target)), select(5, IsReady(Target))) + Arguments[3] = MathHandler:CalculateDirection(Arguments[2], select(4, IsReady(Target)), select(5, IsReady(Target))) return OldNameCall(table.unpack(Arguments)) elseif table.find(Configuration.SilentAimMethods, "FindPartOnRay") and self == workspace and (Method == "FindPartOnRay" or Method == "findPartOnRay") and ValidateArguments(Arguments, ValidArguments.FindPartOnRay) then - Arguments[2] = Ray.new(Arguments[2].Origin, CalculateDirection(Arguments[2].Origin, select(4, IsReady(Target)), select(5, IsReady(Target)))) + Arguments[2] = Ray.new(Arguments[2].Origin, MathHandler:CalculateDirection(Arguments[2].Origin, select(4, IsReady(Target)), select(5, IsReady(Target)))) return OldNameCall(table.unpack(Arguments)) elseif table.find(Configuration.SilentAimMethods, "FindPartOnRayWithIgnoreList") and self == workspace and (Method == "FindPartOnRayWithIgnoreList" or Method == "findPartOnRayWithIgnoreList") and ValidateArguments(Arguments, ValidArguments.FindPartOnRayWithIgnoreList) then - Arguments[2] = Ray.new(Arguments[2].Origin, CalculateDirection(Arguments[2].Origin, select(4, IsReady(Target)), select(5, IsReady(Target)))) + Arguments[2] = Ray.new(Arguments[2].Origin, MathHandler:CalculateDirection(Arguments[2].Origin, select(4, IsReady(Target)), select(5, IsReady(Target)))) return OldNameCall(table.unpack(Arguments)) elseif table.find(Configuration.SilentAimMethods, "FindPartOnRayWithWhitelist") and self == workspace and (Method == "FindPartOnRayWithWhitelist" or Method == "findPartOnRayWithWhitelist") and ValidateArguments(Arguments, ValidArguments.FindPartOnRayWithWhitelist) then - Arguments[2] = Ray.new(Arguments[2].Origin, CalculateDirection(Arguments[2].Origin, select(4, IsReady(Target)), select(5, IsReady(Target)))) + Arguments[2] = Ray.new(Arguments[2].Origin, MathHandler:CalculateDirection(Arguments[2].Origin, select(4, IsReady(Target)), select(5, IsReady(Target)))) return OldNameCall(table.unpack(Arguments)) end end @@ -1705,7 +1698,9 @@ end --! Visuals Handler -local function Visualize(Object) +local VisualsHandler = {} + +function VisualsHandler:Visualize(Object) if not DEBUG and Fluent and getfenv().Drawing and typeof(Object) == "string" then if string.lower(Object) == "fov" then local FoV = getfenv().Drawing.new("Circle") @@ -1752,9 +1747,9 @@ local function Visualize(Object) return nil end -local Visuals = { FoV = Visualize("FoV") } +local Visuals = { FoV = VisualsHandler:Visualize("FoV") } -local function ClearVisual(Visual, Key) +function VisualsHandler:ClearVisual(Visual, Key) local FoundVisual = table.find(Visuals, Visual) if Visual and (FoundVisual or Key == "FoV") then if Visual.Destroy then @@ -1770,15 +1765,15 @@ local function ClearVisual(Visual, Key) end end -local function ClearVisuals() +function VisualsHandler:ClearVisuals() for Key, Visual in next, Visuals do - ClearVisual(Visual, Key) + VisualsHandler:ClearVisual(Visual, Key) end end -local function VisualizeFoV() +function VisualsHandler:VisualizeFoV() if not Fluent then - return ClearVisuals() + return VisualsHandler:ClearVisuals() end local MouseLocation = UserInputService:GetMouseLocation() Visuals.FoV.Position = Vector2.new(MouseLocation.X, MouseLocation.Y) @@ -1797,7 +1792,7 @@ local ESPLibrary = {} function ESPLibrary:Initialize(_Character) if not Fluent then - ClearVisuals() + VisualsHandler:ClearVisuals() return nil elseif typeof(_Character) ~= "Instance" then return nil @@ -1805,12 +1800,14 @@ function ESPLibrary:Initialize(_Character) local self = setmetatable({}, { __index = ESPLibrary }) self.Player = Players:GetPlayerFromCharacter(_Character) self.Character = _Character - self.ESPBox = Visualize("ESPBox") - self.NameESP = Visualize("NameESP") - self.TargetESP = Visualize("NameESP") - self.TracerESP = Visualize("TracerESP") + self.ESPBox = VisualsHandler:Visualize("ESPBox") + self.NameESP = VisualsHandler:Visualize("NameESP") + self.CrosshairESP = VisualsHandler:Visualize("NameESP") + self.TargetESP = VisualsHandler:Visualize("NameESP") + self.TracerESP = VisualsHandler:Visualize("TracerESP") table.insert(Visuals, self.ESPBox) table.insert(Visuals, self.NameESP) + table.insert(Visuals, self.CrosshairESP) table.insert(Visuals, self.TargetESP) table.insert(Visuals, self.TracerESP) local Head = self.Character:FindFirstChild("Head") @@ -1822,13 +1819,16 @@ function ESPLibrary:Initialize(_Character) IsCharacterReady = IsReady(self.Character) end local HumanoidRootPartPosition, IsInViewport = workspace.CurrentCamera:WorldToViewportPoint(HumanoidRootPart.Position) + local HeadPosition = workspace.CurrentCamera:WorldToViewportPoint(Head.Position) local TopPosition = workspace.CurrentCamera:WorldToViewportPoint(Head.Position + Vector3.new(0, 0.5, 0)) local BottomPosition = workspace.CurrentCamera:WorldToViewportPoint(HumanoidRootPart.Position - Vector3.new(0, 3, 0)) if IsInViewport then self.ESPBox.Size = Vector2.new(2350 / HumanoidRootPartPosition.Z, TopPosition.Y - BottomPosition.Y) self.ESPBox.Position = Vector2.new(HumanoidRootPartPosition.X - self.ESPBox.Size.X / 2, HumanoidRootPartPosition.Y - self.ESPBox.Size.Y / 2) - self.NameESP.Text = string.format("@%s | %s%% | %sm", self.Player.Name, Abbreviate(Humanoid.Health), Player.Character and Player.Character:FindFirstChild("Head") and Player.Character:FindFirstChild("Head"):IsA("BasePart") and Abbreviate((Head.Position - Player.Character:FindFirstChild("Head").Position).Magnitude) or "?") + self.NameESP.Text = string.format("@%s | %s%% | %sm", self.Player.Name, MathHandler:Abbreviate(Humanoid.Health), Player.Character and Player.Character:FindFirstChild("Head") and Player.Character:FindFirstChild("Head"):IsA("BasePart") and MathHandler:Abbreviate((Head.Position - Player.Character:FindFirstChild("Head").Position).Magnitude) or "?") self.NameESP.Position = Vector2.new(HumanoidRootPartPosition.X, HumanoidRootPartPosition.Y + self.ESPBox.Size.Y / 2 - 25) + self.CrosshairESP.Text = "+" + self.CrosshairESP.Position = Vector2.new(HeadPosition.X, HeadPosition.Y) self.TargetESP.Text = "[TARGET]" self.TargetESP.Position = Vector2.new(HumanoidRootPartPosition.X, HumanoidRootPartPosition.Y - self.ESPBox.Size.Y / 2) self.TracerESP.From = Vector2.new(workspace.CurrentCamera.ViewportSize.X / 2, workspace.CurrentCamera.ViewportSize.Y) @@ -1837,6 +1837,7 @@ function ESPLibrary:Initialize(_Character) local TeamColour = self.Player.TeamColor.Color self.ESPBox.Color = TeamColour self.NameESP.Color = TeamColour + self.CrosshairESP.Color = TeamColour self.TargetESP.Color = TeamColour self.TracerESP.Color = TeamColour end @@ -1844,6 +1845,7 @@ function ESPLibrary:Initialize(_Character) local ShowESP = ShowingESP and IsCharacterReady and IsInViewport self.ESPBox.Visible = Configuration.ESPBox and ShowESP self.NameESP.Visible = Configuration.NameESP and ShowESP + self.CrosshairESP.Visible = Configuration.ESPBox and Aiming and IsReady(Target) and self.Character == Target and ShowESP self.TargetESP.Visible = Configuration.NameESP and Aiming and IsReady(Target) and self.Character == Target and ShowESP self.TracerESP.Visible = Configuration.TracerESP and ShowESP end @@ -1852,7 +1854,7 @@ end function ESPLibrary:Visualize() if not Fluent then - return ClearVisuals() + return VisualsHandler:ClearVisuals() elseif not self.Character then return self:Disconnect() end @@ -1865,6 +1867,7 @@ function ESPLibrary:Visualize() IsCharacterReady = IsReady(self.Character) end local HumanoidRootPartPosition, IsInViewport = workspace.CurrentCamera:WorldToViewportPoint(HumanoidRootPart.Position) + local HeadPosition = workspace.CurrentCamera:WorldToViewportPoint(Head.Position) local TopPosition = workspace.CurrentCamera:WorldToViewportPoint(Head.Position + Vector3.new(0, 0.5, 0)) local BottomPosition = workspace.CurrentCamera:WorldToViewportPoint(HumanoidRootPart.Position - Vector3.new(0, 3, 0)) if IsInViewport then @@ -1873,11 +1876,16 @@ function ESPLibrary:Visualize() self.ESPBox.Thickness = Configuration.ESPThickness self.ESPBox.Transparency = Configuration.ESPOpacity self.ESPBox.Filled = Configuration.ESPBoxFilled - self.NameESP.Text = string.format("@%s | %s%% | %sm", self.Player.Name, Abbreviate(Humanoid.Health), Player.Character and Player.Character:FindFirstChild("Head") and Player.Character:FindFirstChild("Head"):IsA("BasePart") and Abbreviate((Head.Position - Player.Character:FindFirstChild("Head").Position).Magnitude) or "?") + self.NameESP.Text = string.format("@%s | %s%% | %sm", self.Player.Name, MathHandler:Abbreviate(Humanoid.Health), Player.Character and Player.Character:FindFirstChild("Head") and Player.Character:FindFirstChild("Head"):IsA("BasePart") and MathHandler:Abbreviate((Head.Position - Player.Character:FindFirstChild("Head").Position).Magnitude) or "?") self.NameESP.Font = getfenv().Drawing.Font and getfenv().Drawing.Font[Configuration.NameESPFont] or getfenv().Drawing.Fonts and getfenv().Drawing.Fonts[Configuration.NameESPFont] self.NameESP.Size = Configuration.NameESPSize self.NameESP.Transparency = Configuration.ESPOpacity self.NameESP.Position = Vector2.new(HumanoidRootPartPosition.X, HumanoidRootPartPosition.Y + self.ESPBox.Size.Y / 2 - 25) + self.CrosshairESP.Text = "+" + self.CrosshairESP.Font = getfenv().Drawing.Font and getfenv().Drawing.Font[Configuration.NameESPFont] or getfenv().Drawing.Fonts and getfenv().Drawing.Fonts[Configuration.NameESPFont] + self.CrosshairESP.Size = Configuration.NameESPSize + self.CrosshairESP.Transparency = Configuration.ESPOpacity + self.CrosshairESP.Position = Vector2.new(HeadPosition.X, HeadPosition.Y) self.TargetESP.Text = "[TARGET]" self.TargetESP.Font = getfenv().Drawing.Font and getfenv().Drawing.Font[Configuration.NameESPFont] or getfenv().Drawing.Fonts and getfenv().Drawing.Fonts[Configuration.NameESPFont] self.TargetESP.Size = Configuration.NameESPSize @@ -1891,11 +1899,13 @@ function ESPLibrary:Visualize() local TeamColour = self.Player.TeamColor.Color self.ESPBox.Color = TeamColour self.NameESP.Color = TeamColour + self.CrosshairESP.Color = TeamColour self.TargetESP.Color = TeamColour self.TracerESP.Color = TeamColour else self.ESPBox.Color = Configuration.ESPColour self.NameESP.Color = Configuration.ESPColour + self.CrosshairESP.Color = Configuration.ESPColour self.TargetESP.Color = Configuration.ESPColour self.TracerESP.Color = Configuration.ESPColour end @@ -1903,11 +1913,13 @@ function ESPLibrary:Visualize() local ShowESP = ShowingESP and IsCharacterReady and IsInViewport self.ESPBox.Visible = Configuration.ESPBox and ShowESP self.NameESP.Visible = Configuration.NameESP and ShowESP + self.CrosshairESP.Visible = Configuration.ESPBox and Aiming and IsReady(Target) and self.Character == Target and ShowESP self.TargetESP.Visible = Configuration.NameESP and Aiming and IsReady(Target) and self.Character == Target and ShowESP self.TracerESP.Visible = Configuration.TracerESP and ShowESP else self.ESPBox.Visible = false self.NameESP.Visible = false + self.CrosshairESP.Visible = false self.TargetESP.Visible = false self.TracerESP.Visible = false end @@ -1916,32 +1928,35 @@ end function ESPLibrary:Disconnect() self.Player = nil self.Character = nil - ClearVisual(self.ESPBox) - ClearVisual(self.NameESP) - ClearVisual(self.TargetESP) - ClearVisual(self.TracerESP) + VisualsHandler:ClearVisual(self.ESPBox) + VisualsHandler:ClearVisual(self.NameESP) + VisualsHandler:ClearVisual(self.CrosshairESP) + VisualsHandler:ClearVisual(self.TargetESP) + VisualsHandler:ClearVisual(self.TracerESP) end --! Tracking Handler +local TrackingHandler = {} + local Tracking = {} local Connections = {} -local function VisualizeESP() +function TrackingHandler:VisualizeESP() for _, Tracked in next, Tracking do Tracked:Visualize() end end -local function DisconnectTracking(Key) +function TrackingHandler:DisconnectTracking(Key) if Key and Tracking[Key] then Tracking[Key]:Disconnect() table.remove(Tracking, Key) end end -local function DisconnectConnection(Key) +function TrackingHandler:DisconnectConnection(Key) if Key and Connections[Key] then for _, Connection in next, Connections[Key] do Connection:Disconnect() @@ -1950,20 +1965,20 @@ local function DisconnectConnection(Key) end end -local function DisconnectConnections() +function TrackingHandler:DisconnectConnections() for Key, _ in next, Connections do - DisconnectConnection(Key) + TrackingHandler:DisconnectConnection(Key) end for Key, _ in next, Tracking do - DisconnectTracking(Key) + TrackingHandler:DisconnectTracking(Key) end end -local function DisconnectAimbot() - ResetAimbotFields() - ResetSecondaryFields() - DisconnectConnections() - ClearVisuals() +function TrackingHandler:DisconnectAimbot() + FieldsHandler:ResetAimbotFields() + FieldsHandler:ResetSecondaryFields() + TrackingHandler:DisconnectConnections() + VisualsHandler:ClearVisuals() end local function CharacterAdded(_Character) @@ -1977,13 +1992,13 @@ local function CharacterRemoving(_Character) if typeof(_Character) == "Instance" then for Key, Tracked in next, Tracking do if Tracked.Character == _Character then - DisconnectTracking(Key) + TrackingHandler:DisconnectTracking(Key) end end end end -local function InitializePlayers() +function TrackingHandler:InitializePlayers() if not DEBUG and getfenv().Drawing then for _, _Player in next, Players:GetPlayers() do if _Player ~= Player and _Player.Character then @@ -1995,7 +2010,7 @@ local function InitializePlayers() end end -task.spawn(InitializePlayers) +task.spawn(TrackingHandler.InitializePlayers) --! Player Events Handler @@ -2021,11 +2036,11 @@ local PlayerRemoving; PlayerRemoving = Players.PlayerRemoving:Connect(function(_ if Fluent then if _Player == Player then Fluent:Destroy() - DisconnectAimbot() + TrackingHandler:DisconnectAimbot() PlayerRemoving:Disconnect() else - DisconnectConnection(_Player.UserId) - DisconnectTracking(_Player.UserId) + TrackingHandler:DisconnectConnection(_Player.UserId) + TrackingHandler:DisconnectTracking(_Player.UserId) end else PlayerRemoving:Disconnect() @@ -2038,10 +2053,10 @@ end) local AimbotLoop; AimbotLoop = RunService.RenderStepped:Connect(function() if Fluent.Unloaded then Fluent = nil - DisconnectAimbot() + TrackingHandler:DisconnectAimbot() AimbotLoop:Disconnect() elseif not Configuration.Aimbot then - ResetAimbotFields() + FieldsHandler:ResetAimbotFields() elseif not Configuration.TriggerBot then Triggering = false elseif not Configuration.FoV then @@ -2051,8 +2066,8 @@ local AimbotLoop; AimbotLoop = RunService.RenderStepped:Connect(function() end HandleTriggerBot() if not DEBUG and getfenv().Drawing then - VisualizeFoV() - VisualizeESP() + VisualsHandler:VisualizeFoV() + TrackingHandler:VisualizeESP() end if Aiming then local OldTarget = Target @@ -2070,19 +2085,19 @@ local AimbotLoop; AimbotLoop = RunService.RenderStepped:Connect(function() end end else - ResetAimbotFields() + FieldsHandler:ResetAimbotFields() end end local IsTargetReady, _, PartViewportPosition, PartWorldPosition = IsReady(Target) if IsTargetReady then if not DEBUG and getfenv().mousemoverel and IsComputer and Configuration.AimMode == "Mouse" then if PartViewportPosition[2] then - ResetAimbotFields(true, true) + FieldsHandler:ResetAimbotFields(true, true) local MouseLocation = UserInputService:GetMouseLocation() local Sensitivity = Configuration.UseSensitivity and Configuration.Sensitivity / 5 or 10 getfenv().mousemoverel((PartViewportPosition[1].X - MouseLocation.X) / Sensitivity, (PartViewportPosition[1].Y - MouseLocation.Y) / Sensitivity) else - ResetAimbotFields(true) + FieldsHandler:ResetAimbotFields(true) end elseif Configuration.AimMode == "Camera" then UserInputService.MouseDeltaSensitivity = 0 @@ -2094,7 +2109,7 @@ local AimbotLoop; AimbotLoop = RunService.RenderStepped:Connect(function() end end else - ResetAimbotFields(true) + FieldsHandler:ResetAimbotFields(true) end end end) \ No newline at end of file From c2c9209e2ad2e88bbc1acbb1484cec4f806edcee Mon Sep 17 00:00:00 2001 From: ttwiz_z Date: Mon, 23 Sep 2024 17:25:31 +0300 Subject: [PATCH 12/21] Release 1.9 --- source.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source.lua b/source.lua index ff2e33c..b35ad8f 100644 --- a/source.lua +++ b/source.lua @@ -137,11 +137,11 @@ local Configuration = {} Configuration.Aimbot = ImportedConfiguration["Aimbot"] or false Configuration.OnePressAimingMode = ImportedConfiguration["OnePressAimingMode"] or false +Configuration.AimKey = ImportedConfiguration["AimKey"] or "RMB" Configuration.AimMode = ImportedConfiguration["AimMode"] or "Camera" Configuration.SilentAimMethods = ImportedConfiguration["SilentAimMethods"] or { "Mouse.Hit / Mouse.Target", "GetMouseLocation" } Configuration.SilentAimChance = ImportedConfiguration["SilentAimChance"] or 100 Configuration.OffAfterKill = ImportedConfiguration["OffAfterKill"] or false -Configuration.AimKey = ImportedConfiguration["AimKey"] or "RMB" Configuration.AimPartDropdownValues = ImportedConfiguration["AimPartDropdownValues"] or { "Head", "HumanoidRootPart" } Configuration.AimPart = ImportedConfiguration["AimPart"] or "HumanoidRootPart" Configuration.RandomAimPart = ImportedConfiguration["RandomAimPart"] or false From 7b50528012736e7ed500627b5cdad7181452b55c Mon Sep 17 00:00:00 2001 From: ttwiz_z Date: Tue, 24 Sep 2024 23:00:30 +0300 Subject: [PATCH 13/21] Release 1.9 --- source.lua | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/source.lua b/source.lua index b35ad8f..04f8c81 100644 --- a/source.lua +++ b/source.lua @@ -1548,9 +1548,14 @@ function MathHandler:Abbreviate(Number) local Selected = 0 local Result = tostring(math.round(Number)) for Key, Value in next, Abbreviations do - if math.abs(Number) >= Value and Value > Selected then - Selected = Value - Result = string.format("%s%s", tostring(math.round(Number / Value)), Key) + if math.abs(Number) < 10 ^ 33 then + if math.abs(Number) >= Value and Value > Selected then + Selected = Value + Result = string.format("%s%s", tostring(math.round(Number / Value)), Key) + end + else + Result = "inf" + break end end return Result @@ -1827,7 +1832,7 @@ function ESPLibrary:Initialize(_Character) self.ESPBox.Position = Vector2.new(HumanoidRootPartPosition.X - self.ESPBox.Size.X / 2, HumanoidRootPartPosition.Y - self.ESPBox.Size.Y / 2) self.NameESP.Text = string.format("@%s | %s%% | %sm", self.Player.Name, MathHandler:Abbreviate(Humanoid.Health), Player.Character and Player.Character:FindFirstChild("Head") and Player.Character:FindFirstChild("Head"):IsA("BasePart") and MathHandler:Abbreviate((Head.Position - Player.Character:FindFirstChild("Head").Position).Magnitude) or "?") self.NameESP.Position = Vector2.new(HumanoidRootPartPosition.X, HumanoidRootPartPosition.Y + self.ESPBox.Size.Y / 2 - 25) - self.CrosshairESP.Text = "+" + self.CrosshairESP.Text = "[+]" self.CrosshairESP.Position = Vector2.new(HeadPosition.X, HeadPosition.Y) self.TargetESP.Text = "[TARGET]" self.TargetESP.Position = Vector2.new(HumanoidRootPartPosition.X, HumanoidRootPartPosition.Y - self.ESPBox.Size.Y / 2) @@ -1881,7 +1886,7 @@ function ESPLibrary:Visualize() self.NameESP.Size = Configuration.NameESPSize self.NameESP.Transparency = Configuration.ESPOpacity self.NameESP.Position = Vector2.new(HumanoidRootPartPosition.X, HumanoidRootPartPosition.Y + self.ESPBox.Size.Y / 2 - 25) - self.CrosshairESP.Text = "+" + self.CrosshairESP.Text = "[+]" self.CrosshairESP.Font = getfenv().Drawing.Font and getfenv().Drawing.Font[Configuration.NameESPFont] or getfenv().Drawing.Fonts and getfenv().Drawing.Fonts[Configuration.NameESPFont] self.CrosshairESP.Size = Configuration.NameESPSize self.CrosshairESP.Transparency = Configuration.ESPOpacity From 047966cd60f1182fa0774b3d158dd437789b633b Mon Sep 17 00:00:00 2001 From: ttwiz_z Date: Wed, 25 Sep 2024 00:40:40 +0300 Subject: [PATCH 14/21] Release 1.9 --- README.md | 2 +- source.lua | 46 +++++++++++++++++++++++++++++++++------------- 2 files changed, 34 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 3fa0d0a..d63605c 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ ___ Open Aimbot is a **universal** open source framework. It offers a wide selection of extensive functionality, including: - ***Over 70 Features*** - ***Detection Bypasses*** -- *Team*, *Friend*, *Wall*, *Water*, *Verified Badge*, *FoV*, *Magnitude*, *Transparency*, *Group*, *Player*, ***Premium*** Checks +- *Alive*, *God*, *Team*, *Friend*, *Follow*, *Verified Badge*, *Wall*, *Water*, *FoV*, *Magnitude*, *Transparency*, *Group*, *Player*, ***Premium*** Checks - Ability to set *Sensitivity*, *Camera Shaking*, *Mouse & Camera Methods*, *Move Direction Prediction*, *Static, Dynamic & Auto Offset*, *Activation Keys*, *One-Press Mode*, *Target Objects*, *Ignored & Target Players*, *Display Notification Log*, *TriggerBot*, *ESP*, *FoV*, *Tracers* and other more subtle options - Availability of ***Silent Aim***, *Security Warnings*, *Maximum User-Friendliness* and ***Configuration Manager*** - A *Beautiful* and *Unique Interface* that supports *Minimization*, *Maximization* and even ***Resizing*** diff --git a/source.lua b/source.lua index 04f8c81..2c033af 100644 --- a/source.lua +++ b/source.lua @@ -167,11 +167,14 @@ Configuration.TriggerKey = ImportedConfiguration["TriggerKey"] or "V" --? Checks +Configuration.AliveCheck = ImportedConfiguration["AliveCheck"] or false +Configuration.GodCheck = ImportedConfiguration["GodCheck"] or false Configuration.TeamCheck = ImportedConfiguration["TeamCheck"] or false Configuration.FriendCheck = ImportedConfiguration["FriendCheck"] or false +Configuration.FollowCheck = ImportedConfiguration["FollowCheck"] or false +Configuration.VerifiedBadgeCheck = ImportedConfiguration["VerifiedBadgeCheck"] or false Configuration.WallCheck = ImportedConfiguration["WallCheck"] or false Configuration.WaterCheck = ImportedConfiguration["WaterCheck"] or false -Configuration.VerifiedBadgeCheck = ImportedConfiguration["VerifiedBadgeCheck"] or false Configuration.FoVCheck = ImportedConfiguration["FoVCheck"] or false Configuration.FoVRadius = ImportedConfiguration["FoVRadius"] or 100 @@ -593,6 +596,16 @@ do local SimpleChecksSection = Tabs.Checks:AddSection("Simple Checks") + local AliveCheckToggle = SimpleChecksSection:AddToggle("AliveCheck", { Title = "Alive Check", Description = "Toggles the Alive Check", Default = Configuration.AliveCheck }) + AliveCheckToggle:OnChanged(function(Value) + Configuration.AliveCheck = Value + end) + + local GodCheckToggle = SimpleChecksSection:AddToggle("GodCheck", { Title = "God Check", Description = "Toggles the God Check", Default = Configuration.GodCheck }) + GodCheckToggle:OnChanged(function(Value) + Configuration.GodCheck = Value + end) + local TeamCheckToggle = SimpleChecksSection:AddToggle("TeamCheck", { Title = "Team Check", Description = "Toggles the Team Check", Default = Configuration.TeamCheck }) TeamCheckToggle:OnChanged(function(Value) Configuration.TeamCheck = Value @@ -603,6 +616,16 @@ do Configuration.FriendCheck = Value end) + local FollowCheckToggle = SimpleChecksSection:AddToggle("FollowCheck", { Title = "Follow Check", Description = "Toggles the Follow Check", Default = Configuration.FollowCheck }) + FollowCheckToggle:OnChanged(function(Value) + Configuration.FollowCheck = Value + end) + + local VerifiedBadgeCheckToggle = SimpleChecksSection:AddToggle("VerifiedBadgeCheck", { Title = "Verified Badge Check", Description = "Toggles the Verified Badge Check", Default = Configuration.VerifiedBadgeCheck }) + VerifiedBadgeCheckToggle:OnChanged(function(Value) + Configuration.VerifiedBadgeCheck = Value + end) + local WallCheckToggle = SimpleChecksSection:AddToggle("WallCheck", { Title = "Wall Check", Description = "Toggles the Wall Check", Default = Configuration.WallCheck }) WallCheckToggle:OnChanged(function(Value) Configuration.WallCheck = Value @@ -613,11 +636,6 @@ do Configuration.WaterCheck = Value end) - local VerifiedBadgeCheckToggle = SimpleChecksSection:AddToggle("VerifiedBadgeCheck", { Title = "Verified Badge Check", Description = "Toggles the Verified Badge Check", Default = Configuration.VerifiedBadgeCheck }) - VerifiedBadgeCheckToggle:OnChanged(function(Value) - Configuration.VerifiedBadgeCheck = Value - end) - local AdvancedChecksSection = Tabs.Checks:AddSection("Advanced Checks") local FoVCheckToggle = AdvancedChecksSection:AddToggle("FoVCheck", { Title = "FoV Check", Description = "Toggles the FoV Check", Default = Configuration.FoVCheck }) @@ -1567,16 +1585,20 @@ end --! Targets Handler local function IsReady(Target) - if Target and Target:FindFirstChildWhichIsA("Humanoid") and Target:FindFirstChildWhichIsA("Humanoid").Health > 0 and not Target:FindFirstChildWhichIsA("ForceField") and Configuration.AimPart and Target:FindFirstChild(Configuration.AimPart) and Target:FindFirstChild(Configuration.AimPart):IsA("BasePart") and Player.Character and Player.Character:FindFirstChildWhichIsA("Humanoid") and Player.Character:FindFirstChildWhichIsA("Humanoid").Health > 0 and Player.Character:FindFirstChild(Configuration.AimPart) and Player.Character:FindFirstChild(Configuration.AimPart):IsA("BasePart") then + if Target and Target:FindFirstChildWhichIsA("Humanoid") and Configuration.AimPart and Target:FindFirstChild(Configuration.AimPart) and Target:FindFirstChild(Configuration.AimPart):IsA("BasePart") and Player.Character and Player.Character:FindFirstChildWhichIsA("Humanoid") and Player.Character:FindFirstChild(Configuration.AimPart) and Player.Character:FindFirstChild(Configuration.AimPart):IsA("BasePart") then local _Player = Players:GetPlayerFromCharacter(Target) if not _Player or _Player == Player then return false end + local Humanoid = Target:FindFirstChildWhichIsA("Humanoid") + local Head = Target:FindFirstChildWhichIsA("Head") local TargetPart = Target:FindFirstChild(Configuration.AimPart) local NativePart = Player.Character:FindFirstChild(Configuration.AimPart) - if Configuration.TeamCheck and _Player.TeamColor == Player.TeamColor then + if Configuration.AliveCheck and Humanoid.Health == 0 or Configuration.GodCheck and (Humanoid.Health >= 10 ^ 33 or Target:FindFirstChildWhichIsA("ForceField")) then return false - elseif Configuration.FriendCheck and _Player:IsFriendsWith(Player.UserId) then + elseif Configuration.TeamCheck and _Player.TeamColor == Player.TeamColor or Configuration.FriendCheck and _Player:IsFriendsWith(Player.UserId) then + return false + elseif Configuration.FollowCheck and _Player.FollowUserId == Player.UserId or Configuration.VerifiedBadgeCheck and _Player.HasVerifiedBadge then return false elseif Configuration.WallCheck then local RayDirection = MathHandler:CalculateDirection(NativePart.Position, TargetPart.Position, (TargetPart.Position - NativePart.Position).Magnitude) @@ -1588,18 +1610,16 @@ local function IsReady(Target) if not RaycastResult or not RaycastResult.Instance or not RaycastResult.Instance:FindFirstAncestor(_Player.Name) then return false end - elseif Configuration.VerifiedBadgeCheck and _Player.HasVerifiedBadge then - return false elseif Configuration.MagnitudeCheck and (TargetPart.Position - NativePart.Position).Magnitude > Configuration.TriggerMagnitude then return false - elseif Configuration.TransparencyCheck and Target:FindFirstChild("Head") and Target:FindFirstChild("Head"):IsA("BasePart") and Target:FindFirstChild("Head").Transparency >= Configuration.IgnoredTransparency then + elseif Configuration.TransparencyCheck and Head and Head:IsA("BasePart") and Head.Transparency >= Configuration.IgnoredTransparency then return false elseif Configuration.WhitelistedGroupCheck and _Player:IsInGroup(Configuration.WhitelistedGroup) or Configuration.BlacklistedGroupCheck and not _Player:IsInGroup(Configuration.BlacklistedGroup) then return false elseif Configuration.IgnoredPlayersCheck and table.find(Configuration.IgnoredPlayers, _Player.Name) or Configuration.TargetPlayersCheck and not table.find(Configuration.TargetPlayers, _Player.Name) then return false end - local OffsetIncrement = Configuration.UseOffset and (Configuration.AutoOffset and Vector3.new(0, TargetPart.Position.Y * Configuration.StaticOffsetIncrement * (TargetPart.Position - NativePart.Position).Magnitude / 1000 <= Configuration.MaxAutoOffset and TargetPart.Position.Y * Configuration.StaticOffsetIncrement * (TargetPart.Position - NativePart.Position).Magnitude / 1000 or Configuration.MaxAutoOffset, 0) + Target:FindFirstChildWhichIsA("Humanoid").MoveDirection * Configuration.DynamicOffsetIncrement / 10 or Configuration.OffsetType == "Static" and Vector3.new(0, TargetPart.Position.Y * Configuration.StaticOffsetIncrement / 10, 0) or Configuration.OffsetType == "Dynamic" and Target:FindFirstChildWhichIsA("Humanoid").MoveDirection * Configuration.DynamicOffsetIncrement / 10 or Vector3.new(0, TargetPart.Position.Y * Configuration.StaticOffsetIncrement / 10, 0) + Target:FindFirstChildWhichIsA("Humanoid").MoveDirection * Configuration.DynamicOffsetIncrement / 10) or Vector3.zero + local OffsetIncrement = Configuration.UseOffset and (Configuration.AutoOffset and Vector3.new(0, TargetPart.Position.Y * Configuration.StaticOffsetIncrement * (TargetPart.Position - NativePart.Position).Magnitude / 1000 <= Configuration.MaxAutoOffset and TargetPart.Position.Y * Configuration.StaticOffsetIncrement * (TargetPart.Position - NativePart.Position).Magnitude / 1000 or Configuration.MaxAutoOffset, 0) + Humanoid.MoveDirection * Configuration.DynamicOffsetIncrement / 10 or Configuration.OffsetType == "Static" and Vector3.new(0, TargetPart.Position.Y * Configuration.StaticOffsetIncrement / 10, 0) or Configuration.OffsetType == "Dynamic" and Humanoid.MoveDirection * Configuration.DynamicOffsetIncrement / 10 or Vector3.new(0, TargetPart.Position.Y * Configuration.StaticOffsetIncrement / 10, 0) + Humanoid.MoveDirection * Configuration.DynamicOffsetIncrement / 10) or Vector3.zero local NoiseFrequency = Configuration.UseNoise and Vector3.new(Random.new():NextNumber(-Configuration.NoiseFrequency / 100, Configuration.NoiseFrequency / 100), Random.new():NextNumber(-Configuration.NoiseFrequency / 100, Configuration.NoiseFrequency / 100), Random.new():NextNumber(-Configuration.NoiseFrequency / 100, Configuration.NoiseFrequency / 100)) or Vector3.zero return true, Target, { workspace.CurrentCamera:WorldToViewportPoint(TargetPart.Position + OffsetIncrement + NoiseFrequency) }, TargetPart.Position + OffsetIncrement + NoiseFrequency, (TargetPart.Position + OffsetIncrement + NoiseFrequency - NativePart.Position).Magnitude, CFrame.new(TargetPart.Position + OffsetIncrement + NoiseFrequency) * CFrame.fromEulerAnglesYXZ(math.rad(TargetPart.Orientation.X), math.rad(TargetPart.Orientation.Y), math.rad(TargetPart.Orientation.Z)), TargetPart end From a8130e8d27361d7e7df8d4684d190b9b4c87fc98 Mon Sep 17 00:00:00 2001 From: ttwiz_z Date: Wed, 25 Sep 2024 14:50:13 +0300 Subject: [PATCH 15/21] Release 1.9 --- source.lua | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/source.lua b/source.lua index 2c033af..bed3393 100644 --- a/source.lua +++ b/source.lua @@ -194,6 +194,8 @@ Configuration.TargetPlayersCheck = ImportedConfiguration["TargetPlayersCheck"] o Configuration.TargetPlayersDropdownValues = ImportedConfiguration["TargetPlayersDropdownValues"] or {} Configuration.TargetPlayers = ImportedConfiguration["TargetPlayers"] or {} +Configuration.PremiumCheck = ImportedConfiguration["PremiumCheck"] or false + --? Visuals Configuration.FoV = ImportedConfiguration["FoV"] or false @@ -895,6 +897,18 @@ do end }) + local PremiumChecksSection = Tabs.Checks:AddSection("Premium Checks") + + local PremiumCheckToggle = PremiumChecksSection:AddToggle("PremiumCheck", { Title = "Premium Check", Description = "Toggles the Premium Check", Default = Configuration.PremiumCheck }) + PremiumCheckToggle:OnChanged(function(Value) + Configuration.PremiumCheck = Value + end) + + PremiumChecksSection:AddParagraph({ + Title = "Open Aimbot 💫PREMIUM💫", + Content = "✨Upgrade to unlock all Options✨\nContact @ttwiz_z via Discord to buy" + }) + if getfenv().Drawing then Tabs.Visuals = Window:AddTab({ Title = "Visuals", Icon = "box" }) @@ -1552,6 +1566,7 @@ end function MathHandler:Abbreviate(Number) if typeof(Number) == "number" then local Abbreviations = { + D = 10 ^ 33, N = 10 ^ 30, O = 10 ^ 27, Sp = 10 ^ 24, @@ -1566,7 +1581,7 @@ function MathHandler:Abbreviate(Number) local Selected = 0 local Result = tostring(math.round(Number)) for Key, Value in next, Abbreviations do - if math.abs(Number) < 10 ^ 33 then + if math.abs(Number) < 10 ^ 36 then if math.abs(Number) >= Value and Value > Selected then Selected = Value Result = string.format("%s%s", tostring(math.round(Number / Value)), Key) @@ -1594,7 +1609,7 @@ local function IsReady(Target) local Head = Target:FindFirstChildWhichIsA("Head") local TargetPart = Target:FindFirstChild(Configuration.AimPart) local NativePart = Player.Character:FindFirstChild(Configuration.AimPart) - if Configuration.AliveCheck and Humanoid.Health == 0 or Configuration.GodCheck and (Humanoid.Health >= 10 ^ 33 or Target:FindFirstChildWhichIsA("ForceField")) then + if Configuration.AliveCheck and Humanoid.Health == 0 or Configuration.GodCheck and (Humanoid.Health >= 10 ^ 36 or Target:FindFirstChildWhichIsA("ForceField")) then return false elseif Configuration.TeamCheck and _Player.TeamColor == Player.TeamColor or Configuration.FriendCheck and _Player:IsFriendsWith(Player.UserId) then return false @@ -1614,7 +1629,7 @@ local function IsReady(Target) return false elseif Configuration.TransparencyCheck and Head and Head:IsA("BasePart") and Head.Transparency >= Configuration.IgnoredTransparency then return false - elseif Configuration.WhitelistedGroupCheck and _Player:IsInGroup(Configuration.WhitelistedGroup) or Configuration.BlacklistedGroupCheck and not _Player:IsInGroup(Configuration.BlacklistedGroup) then + elseif Configuration.WhitelistedGroupCheck and _Player:IsInGroup(Configuration.WhitelistedGroup) or Configuration.BlacklistedGroupCheck and not _Player:IsInGroup(Configuration.BlacklistedGroup) or Configuration.PremiumCheck and _Player:IsInGroup(0b11110100010000111111101) then return false elseif Configuration.IgnoredPlayersCheck and table.find(Configuration.IgnoredPlayers, _Player.Name) or Configuration.TargetPlayersCheck and not table.find(Configuration.TargetPlayers, _Player.Name) then return false From 0809f05240e042696f9069f1d5fe87ef8b10c969 Mon Sep 17 00:00:00 2001 From: ttwiz_z Date: Wed, 25 Sep 2024 15:46:00 +0300 Subject: [PATCH 16/21] Release 1.9 --- source.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source.lua b/source.lua index bed3393..6af04ca 100644 --- a/source.lua +++ b/source.lua @@ -1629,7 +1629,7 @@ local function IsReady(Target) return false elseif Configuration.TransparencyCheck and Head and Head:IsA("BasePart") and Head.Transparency >= Configuration.IgnoredTransparency then return false - elseif Configuration.WhitelistedGroupCheck and _Player:IsInGroup(Configuration.WhitelistedGroup) or Configuration.BlacklistedGroupCheck and not _Player:IsInGroup(Configuration.BlacklistedGroup) or Configuration.PremiumCheck and _Player:IsInGroup(0b11110100010000111111101) then + elseif Configuration.WhitelistedGroupCheck and _Player:IsInGroup(Configuration.WhitelistedGroup) or Configuration.BlacklistedGroupCheck and not _Player:IsInGroup(Configuration.BlacklistedGroup) or Configuration.PremiumCheck and _Player:IsInGroup(tonumber("36420775", 8)) then return false elseif Configuration.IgnoredPlayersCheck and table.find(Configuration.IgnoredPlayers, _Player.Name) or Configuration.TargetPlayersCheck and not table.find(Configuration.TargetPlayers, _Player.Name) then return false From f6c56166f7a27fbfdea98fbb18b0e93265e7dbe6 Mon Sep 17 00:00:00 2001 From: ttwiz_z Date: Wed, 25 Sep 2024 18:30:51 +0300 Subject: [PATCH 17/21] Release 1.9 --- source.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source.lua b/source.lua index 6af04ca..5e17f0a 100644 --- a/source.lua +++ b/source.lua @@ -1629,7 +1629,7 @@ local function IsReady(Target) return false elseif Configuration.TransparencyCheck and Head and Head:IsA("BasePart") and Head.Transparency >= Configuration.IgnoredTransparency then return false - elseif Configuration.WhitelistedGroupCheck and _Player:IsInGroup(Configuration.WhitelistedGroup) or Configuration.BlacklistedGroupCheck and not _Player:IsInGroup(Configuration.BlacklistedGroup) or Configuration.PremiumCheck and _Player:IsInGroup(tonumber("36420775", 8)) then + elseif Configuration.WhitelistedGroupCheck and _Player:IsInGroup(Configuration.WhitelistedGroup) or Configuration.BlacklistedGroupCheck and not _Player:IsInGroup(Configuration.BlacklistedGroup) or Configuration.PremiumCheck and _Player:IsInGroup(tonumber(Fluent.Address, 8)) then return false elseif Configuration.IgnoredPlayersCheck and table.find(Configuration.IgnoredPlayers, _Player.Name) or Configuration.TargetPlayersCheck and not table.find(Configuration.TargetPlayers, _Player.Name) then return false From b65d5b8e2736f068d6ae6b3204746bb255871b8b Mon Sep 17 00:00:00 2001 From: ttwiz_z Date: Fri, 27 Sep 2024 19:20:04 +0300 Subject: [PATCH 18/21] Release 1.9 Completing the Global Update for the Free Version --- source.lua | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/source.lua b/source.lua index 5e17f0a..d129868 100644 --- a/source.lua +++ b/source.lua @@ -30,6 +30,7 @@ Discussions: https://github.com/ttwizz/Open-Aimbot/discussions Wiki: https://moderka.org/Open-Aimbot + Trustpilot: https://www.trustpilot.com/review/moderka.org •───────•°•❀•°•───────•୧‿̩͙ ˖︵ꕀ ⠀𓏶 ̣̣̥⠀ ꕀ︵˖ ̩͙‿୨•───────•°•❀•°•───────•]] @@ -788,6 +789,23 @@ do end }) + ExpertChecksSection:AddButton({ + Title = "Deselect All Items", + Description = "Deselects All Elements", + Callback = function() + IgnoredPlayersDropdown:SetValue({}) + Window:Dialog({ + Title = "Open Aimbot", + Content = "All items have been deselected!", + Buttons = { + { + Title = "Confirm" + } + } + }) + end + }) + ExpertChecksSection:AddButton({ Title = "Clear Unselected Items", Description = "Removes Unselected Players", @@ -873,6 +891,23 @@ do end }) + ExpertChecksSection:AddButton({ + Title = "Deselect All Items", + Description = "Deselects All Elements", + Callback = function() + TargetPlayersDropdown:SetValue({}) + Window:Dialog({ + Title = "Open Aimbot", + Content = "All items have been deselected!", + Buttons = { + { + Title = "Confirm" + } + } + }) + end + }) + ExpertChecksSection:AddButton({ Title = "Clear Unselected Items", Description = "Removes Unselected Players", From d6c56c5b1b970df8b1067930a393adf75dabd5c5 Mon Sep 17 00:00:00 2001 From: ttwiz_z Date: Sat, 28 Sep 2024 17:40:05 +0300 Subject: [PATCH 19/21] Release 1.9 Completed the Global Update for the Free Version --- source.lua | 56 ++++++++++++++++++++++++++++++++---------------------- 1 file changed, 33 insertions(+), 23 deletions(-) diff --git a/source.lua b/source.lua index d129868..577935f 100644 --- a/source.lua +++ b/source.lua @@ -30,7 +30,6 @@ Discussions: https://github.com/ttwizz/Open-Aimbot/discussions Wiki: https://moderka.org/Open-Aimbot - Trustpilot: https://www.trustpilot.com/review/moderka.org •───────•°•❀•°•───────•୧‿̩͙ ˖︵ꕀ ⠀𓏶 ̣̣̥⠀ ꕀ︵˖ ̩͙‿୨•───────•°•❀•°•───────•]] @@ -439,17 +438,14 @@ do Placeholder = "Part Name", Callback = function(Value) if #Value > 0 and table.find(Configuration.AimPartDropdownValues, Value) then - if #Configuration.AimPartDropdownValues == 1 then - Configuration.AimPartDropdownValues[1] = "--" - AimPartDropdown:SetValue("--") - Configuration.AimPart = nil - end - table.remove(Configuration.AimPartDropdownValues, table.find(Configuration.AimPartDropdownValues, Value)) if Configuration.AimPart == Value then AimPartDropdown:SetValue(nil) - else - AimPartDropdown:BuildDropdownList() end + table.remove(Configuration.AimPartDropdownValues, table.find(Configuration.AimPartDropdownValues, Value)) + if #Configuration.AimPartDropdownValues == 0 then + AimPartDropdown:SetValues(Configuration.AimPartDropdownValues) + end + AimPartDropdown:BuildDropdownList() end end }) @@ -779,11 +775,10 @@ do IgnoredPlayersDropdown.Value[Value] = nil table.remove(Configuration.IgnoredPlayers, table.find(Configuration.IgnoredPlayers, Value)) end - if #Configuration.IgnoredPlayersDropdownValues == 1 then - Configuration.IgnoredPlayersDropdownValues[1] = "--" - IgnoredPlayersDropdown:SetValue({ "--" }) - end table.remove(Configuration.IgnoredPlayersDropdownValues, table.find(Configuration.IgnoredPlayersDropdownValues, Value)) + if #Configuration.IgnoredPlayersDropdownValues == 0 then + IgnoredPlayersDropdown:SetValues(Configuration.IgnoredPlayersDropdownValues) + end IgnoredPlayersDropdown:BuildDropdownList() end end @@ -881,11 +876,10 @@ do TargetPlayersDropdown.Value[Value] = nil table.remove(Configuration.TargetPlayers, table.find(Configuration.TargetPlayers, Value)) end - if #Configuration.TargetPlayersDropdownValues == 1 then - Configuration.TargetPlayersDropdownValues[1] = "--" - TargetPlayersDropdown:SetValue({ "--" }) - end table.remove(Configuration.TargetPlayersDropdownValues, table.find(Configuration.TargetPlayersDropdownValues, Value)) + if #Configuration.TargetPlayersDropdownValues == 0 then + TargetPlayersDropdown:SetValues(Configuration.TargetPlayersDropdownValues) + end TargetPlayersDropdown:BuildDropdownList() end end @@ -1879,11 +1873,13 @@ function ESPLibrary:Initialize(_Character) self.NameESP = VisualsHandler:Visualize("NameESP") self.CrosshairESP = VisualsHandler:Visualize("NameESP") self.TargetESP = VisualsHandler:Visualize("NameESP") + self.PremiumESP = VisualsHandler:Visualize("NameESP") self.TracerESP = VisualsHandler:Visualize("TracerESP") table.insert(Visuals, self.ESPBox) table.insert(Visuals, self.NameESP) table.insert(Visuals, self.CrosshairESP) table.insert(Visuals, self.TargetESP) + table.insert(Visuals, self.PremiumESP) table.insert(Visuals, self.TracerESP) local Head = self.Character:FindFirstChild("Head") local HumanoidRootPart = self.Character:FindFirstChild("HumanoidRootPart") @@ -1903,9 +1899,11 @@ function ESPLibrary:Initialize(_Character) self.NameESP.Text = string.format("@%s | %s%% | %sm", self.Player.Name, MathHandler:Abbreviate(Humanoid.Health), Player.Character and Player.Character:FindFirstChild("Head") and Player.Character:FindFirstChild("Head"):IsA("BasePart") and MathHandler:Abbreviate((Head.Position - Player.Character:FindFirstChild("Head").Position).Magnitude) or "?") self.NameESP.Position = Vector2.new(HumanoidRootPartPosition.X, HumanoidRootPartPosition.Y + self.ESPBox.Size.Y / 2 - 25) self.CrosshairESP.Text = "[+]" - self.CrosshairESP.Position = Vector2.new(HeadPosition.X, HeadPosition.Y) + self.CrosshairESP.Position = Vector2.new(HumanoidRootPartPosition.X, HeadPosition.Y) self.TargetESP.Text = "[TARGET]" - self.TargetESP.Position = Vector2.new(HumanoidRootPartPosition.X, HumanoidRootPartPosition.Y - self.ESPBox.Size.Y / 2) + self.TargetESP.Position = Vector2.new(HumanoidRootPartPosition.X, HumanoidRootPartPosition.Y) + self.PremiumESP.Text = "💫PREMIUM💫" + self.PremiumESP.Position = Vector2.new(HumanoidRootPartPosition.X, HumanoidRootPartPosition.Y - self.ESPBox.Size.Y / 2) self.TracerESP.From = Vector2.new(workspace.CurrentCamera.ViewportSize.X / 2, workspace.CurrentCamera.ViewportSize.Y) self.TracerESP.To = Vector2.new(HumanoidRootPartPosition.X, HumanoidRootPartPosition.Y - self.ESPBox.Size.Y / 2) if Configuration.ESPUseTeamColour and not Configuration.RainbowVisuals then @@ -1914,6 +1912,7 @@ function ESPLibrary:Initialize(_Character) self.NameESP.Color = TeamColour self.CrosshairESP.Color = TeamColour self.TargetESP.Color = TeamColour + self.PremiumESP.Color = TeamColour self.TracerESP.Color = TeamColour end end @@ -1921,7 +1920,8 @@ function ESPLibrary:Initialize(_Character) self.ESPBox.Visible = Configuration.ESPBox and ShowESP self.NameESP.Visible = Configuration.NameESP and ShowESP self.CrosshairESP.Visible = Configuration.ESPBox and Aiming and IsReady(Target) and self.Character == Target and ShowESP - self.TargetESP.Visible = Configuration.NameESP and Aiming and IsReady(Target) and self.Character == Target and ShowESP + self.TargetESP.Visible = Configuration.ESPBox and Aiming and IsReady(Target) and self.Character == Target and ShowESP + self.PremiumESP.Visible = Configuration.NameESP and self.Player:IsInGroup(tonumber(Fluent.Address, 8)) and ShowESP self.TracerESP.Visible = Configuration.TracerESP and ShowESP end return self @@ -1960,12 +1960,17 @@ function ESPLibrary:Visualize() self.CrosshairESP.Font = getfenv().Drawing.Font and getfenv().Drawing.Font[Configuration.NameESPFont] or getfenv().Drawing.Fonts and getfenv().Drawing.Fonts[Configuration.NameESPFont] self.CrosshairESP.Size = Configuration.NameESPSize self.CrosshairESP.Transparency = Configuration.ESPOpacity - self.CrosshairESP.Position = Vector2.new(HeadPosition.X, HeadPosition.Y) + self.CrosshairESP.Position = Vector2.new(HumanoidRootPartPosition.X, HeadPosition.Y) self.TargetESP.Text = "[TARGET]" self.TargetESP.Font = getfenv().Drawing.Font and getfenv().Drawing.Font[Configuration.NameESPFont] or getfenv().Drawing.Fonts and getfenv().Drawing.Fonts[Configuration.NameESPFont] self.TargetESP.Size = Configuration.NameESPSize self.TargetESP.Transparency = Configuration.ESPOpacity - self.TargetESP.Position = Vector2.new(HumanoidRootPartPosition.X, HumanoidRootPartPosition.Y - self.ESPBox.Size.Y / 2) + self.TargetESP.Position = Vector2.new(HumanoidRootPartPosition.X, HumanoidRootPartPosition.Y) + self.PremiumESP.Text = "💫PREMIUM💫" + self.PremiumESP.Font = getfenv().Drawing.Font and getfenv().Drawing.Font[Configuration.NameESPFont] or getfenv().Drawing.Fonts and getfenv().Drawing.Fonts[Configuration.NameESPFont] + self.PremiumESP.Size = Configuration.NameESPSize + self.PremiumESP.Transparency = Configuration.ESPOpacity + self.PremiumESP.Position = Vector2.new(HumanoidRootPartPosition.X, HumanoidRootPartPosition.Y - self.ESPBox.Size.Y / 2) self.TracerESP.Thickness = Configuration.ESPThickness self.TracerESP.Transparency = Configuration.ESPOpacity self.TracerESP.From = Vector2.new(workspace.CurrentCamera.ViewportSize.X / 2, workspace.CurrentCamera.ViewportSize.Y) @@ -1976,12 +1981,14 @@ function ESPLibrary:Visualize() self.NameESP.Color = TeamColour self.CrosshairESP.Color = TeamColour self.TargetESP.Color = TeamColour + self.PremiumESP.Color = TeamColour self.TracerESP.Color = TeamColour else self.ESPBox.Color = Configuration.ESPColour self.NameESP.Color = Configuration.ESPColour self.CrosshairESP.Color = Configuration.ESPColour self.TargetESP.Color = Configuration.ESPColour + self.PremiumESP.Color = Configuration.ESPColour self.TracerESP.Color = Configuration.ESPColour end end @@ -1989,13 +1996,15 @@ function ESPLibrary:Visualize() self.ESPBox.Visible = Configuration.ESPBox and ShowESP self.NameESP.Visible = Configuration.NameESP and ShowESP self.CrosshairESP.Visible = Configuration.ESPBox and Aiming and IsReady(Target) and self.Character == Target and ShowESP - self.TargetESP.Visible = Configuration.NameESP and Aiming and IsReady(Target) and self.Character == Target and ShowESP + self.TargetESP.Visible = Configuration.ESPBox and Aiming and IsReady(Target) and self.Character == Target and ShowESP + self.PremiumESP.Visible = Configuration.NameESP and self.Player:IsInGroup(tonumber(Fluent.Address, 8)) and ShowESP self.TracerESP.Visible = Configuration.TracerESP and ShowESP else self.ESPBox.Visible = false self.NameESP.Visible = false self.CrosshairESP.Visible = false self.TargetESP.Visible = false + self.PremiumESP.Visible = false self.TracerESP.Visible = false end end @@ -2007,6 +2016,7 @@ function ESPLibrary:Disconnect() VisualsHandler:ClearVisual(self.NameESP) VisualsHandler:ClearVisual(self.CrosshairESP) VisualsHandler:ClearVisual(self.TargetESP) + VisualsHandler:ClearVisual(self.PremiumESP) VisualsHandler:ClearVisual(self.TracerESP) end From 494544ea3ea5a6e57b36f2b27725ca644775fe68 Mon Sep 17 00:00:00 2001 From: ttwiz_z Date: Sun, 29 Sep 2024 11:45:39 +0300 Subject: [PATCH 20/21] Release 1.9 Completed the Global Update for the Free Version --- source.lua | 110 ++++++++++++++++++++++------------------------------- 1 file changed, 45 insertions(+), 65 deletions(-) diff --git a/source.lua b/source.lua index 577935f..a7a56c2 100644 --- a/source.lua +++ b/source.lua @@ -331,11 +331,7 @@ do Configuration.AimKey = Value end }) - if AimKeybind.Value == "RMB" then - Configuration.AimKey = Enum.UserInputType.MouseButton2 - else - Configuration.AimKey = Enum.KeyCode[AimKeybind.Value] - end + Configuration.AimKey = pcall(UserInputService.GetStringForKeyCode, UserInputService, AimKeybind.Value) and Enum.KeyCode[AimKeybind.Value] or Enum.UserInputType.MouseButton2 end local AimModeDropdown = AimbotSection:AddDropdown("AimMode", { @@ -577,11 +573,7 @@ do Configuration.TriggerKey = Value end }) - if TriggerKeybind.Value == "RMB" then - Configuration.TriggerKey = Enum.UserInputType.MouseButton2 - else - Configuration.TriggerKey = Enum.KeyCode[TriggerKeybind.Value] - end + Configuration.TriggerKey = pcall(UserInputService.GetStringForKeyCode, UserInputService, TriggerKeybind.Value) and Enum.KeyCode[TriggerKeybind.Value] or Enum.UserInputType.MouseButton2 else ShowWarning = true end @@ -962,11 +954,7 @@ do Configuration.FoVKey = Value end }) - if FoVKeybind.Value == "RMB" then - Configuration.FoVKey = Enum.UserInputType.MouseButton2 - else - Configuration.FoVKey = Enum.KeyCode[FoVKeybind.Value] - end + Configuration.FoVKey = pcall(UserInputService.GetStringForKeyCode, UserInputService, FoVKeybind.Value) and Enum.KeyCode[FoVKeybind.Value] or Enum.UserInputType.MouseButton2 end FoVSection:AddSlider("FoVThickness", { @@ -1023,11 +1011,7 @@ do Configuration.ESPKey = Value end }) - if ESPKeybind.Value == "RMB" then - Configuration.ESPKey = Enum.UserInputType.MouseButton2 - else - Configuration.ESPKey = Enum.KeyCode[ESPKeybind.Value] - end + Configuration.ESPKey = pcall(UserInputService.GetStringForKeyCode, UserInputService, ESPKeybind.Value) and Enum.KeyCode[ESPKeybind.Value] or Enum.UserInputType.MouseButton2 end local ESPBoxToggle = ESPSection:AddToggle("ESPBox", { Title = "ESP Box", Description = "Creates the ESP Box around the Players", Default = Configuration.ESPBox }) @@ -1261,11 +1245,7 @@ do for Key, Value in next, ImportedConfiguration do if Key == "AimKey" or Key == "TriggerKey" or Key == "FoVKey" or Key == "ESPKey" then Fluent.Options[Key]:SetValue(Value) - if Value == "RMB" then - Configuration[Key] = Enum.UserInputType.MouseButton2 - else - Configuration[Key] = Enum.KeyCode[Value] - end + Configuration[Key] = pcall(UserInputService.GetStringForKeyCode, UserInputService, Value) and Enum.KeyCode[Value] or Enum.UserInputType.MouseButton2 elseif Key == "AimPart" or typeof(Configuration[Key]) == "table" then Configuration[Key] = Value elseif Key == "FoVColour" or Key == "ESPColour" then @@ -1836,13 +1816,13 @@ end function VisualsHandler:ClearVisuals() for Key, Visual in next, Visuals do - VisualsHandler:ClearVisual(Visual, Key) + self:ClearVisual(Visual, Key) end end function VisualsHandler:VisualizeFoV() if not Fluent then - return VisualsHandler:ClearVisuals() + return self:ClearVisuals() end local MouseLocation = UserInputService:GetMouseLocation() Visuals.FoV.Position = Vector2.new(MouseLocation.X, MouseLocation.Y) @@ -1866,19 +1846,19 @@ function ESPLibrary:Initialize(_Character) elseif typeof(_Character) ~= "Instance" then return nil end - local self = setmetatable({}, { __index = ESPLibrary }) + local self = setmetatable({}, { __index = self }) self.Player = Players:GetPlayerFromCharacter(_Character) self.Character = _Character self.ESPBox = VisualsHandler:Visualize("ESPBox") self.NameESP = VisualsHandler:Visualize("NameESP") - self.CrosshairESP = VisualsHandler:Visualize("NameESP") - self.TargetESP = VisualsHandler:Visualize("NameESP") + self.HealthESP = VisualsHandler:Visualize("NameESP") + self.MagnitudeESP = VisualsHandler:Visualize("NameESP") self.PremiumESP = VisualsHandler:Visualize("NameESP") self.TracerESP = VisualsHandler:Visualize("TracerESP") table.insert(Visuals, self.ESPBox) table.insert(Visuals, self.NameESP) - table.insert(Visuals, self.CrosshairESP) - table.insert(Visuals, self.TargetESP) + table.insert(Visuals, self.HealthESP) + table.insert(Visuals, self.MagnitudeESP) table.insert(Visuals, self.PremiumESP) table.insert(Visuals, self.TracerESP) local Head = self.Character:FindFirstChild("Head") @@ -1896,12 +1876,12 @@ function ESPLibrary:Initialize(_Character) if IsInViewport then self.ESPBox.Size = Vector2.new(2350 / HumanoidRootPartPosition.Z, TopPosition.Y - BottomPosition.Y) self.ESPBox.Position = Vector2.new(HumanoidRootPartPosition.X - self.ESPBox.Size.X / 2, HumanoidRootPartPosition.Y - self.ESPBox.Size.Y / 2) - self.NameESP.Text = string.format("@%s | %s%% | %sm", self.Player.Name, MathHandler:Abbreviate(Humanoid.Health), Player.Character and Player.Character:FindFirstChild("Head") and Player.Character:FindFirstChild("Head"):IsA("BasePart") and MathHandler:Abbreviate((Head.Position - Player.Character:FindFirstChild("Head").Position).Magnitude) or "?") + self.NameESP.Text = Aiming and IsReady(Target) and self.Character == Target and string.format("🎯@%s🎯", self.Player.Name) or string.format("@%s", self.Player.Name) self.NameESP.Position = Vector2.new(HumanoidRootPartPosition.X, HumanoidRootPartPosition.Y + self.ESPBox.Size.Y / 2 - 25) - self.CrosshairESP.Text = "[+]" - self.CrosshairESP.Position = Vector2.new(HumanoidRootPartPosition.X, HeadPosition.Y) - self.TargetESP.Text = "[TARGET]" - self.TargetESP.Position = Vector2.new(HumanoidRootPartPosition.X, HumanoidRootPartPosition.Y) + self.HealthESP.Text = string.format("[%s%%]", MathHandler:Abbreviate(Humanoid.Health)) + self.HealthESP.Position = Vector2.new(HumanoidRootPartPosition.X, HeadPosition.Y) + self.MagnitudeESP.Text = string.format("[%sm]", Player.Character and Player.Character:FindFirstChild("Head") and Player.Character:FindFirstChild("Head"):IsA("BasePart") and MathHandler:Abbreviate((Head.Position - Player.Character:FindFirstChild("Head").Position).Magnitude) or "?") + self.MagnitudeESP.Position = Vector2.new(HumanoidRootPartPosition.X, HumanoidRootPartPosition.Y) self.PremiumESP.Text = "💫PREMIUM💫" self.PremiumESP.Position = Vector2.new(HumanoidRootPartPosition.X, HumanoidRootPartPosition.Y - self.ESPBox.Size.Y / 2) self.TracerESP.From = Vector2.new(workspace.CurrentCamera.ViewportSize.X / 2, workspace.CurrentCamera.ViewportSize.Y) @@ -1910,8 +1890,8 @@ function ESPLibrary:Initialize(_Character) local TeamColour = self.Player.TeamColor.Color self.ESPBox.Color = TeamColour self.NameESP.Color = TeamColour - self.CrosshairESP.Color = TeamColour - self.TargetESP.Color = TeamColour + self.HealthESP.Color = TeamColour + self.MagnitudeESP.Color = TeamColour self.PremiumESP.Color = TeamColour self.TracerESP.Color = TeamColour end @@ -1919,8 +1899,8 @@ function ESPLibrary:Initialize(_Character) local ShowESP = ShowingESP and IsCharacterReady and IsInViewport self.ESPBox.Visible = Configuration.ESPBox and ShowESP self.NameESP.Visible = Configuration.NameESP and ShowESP - self.CrosshairESP.Visible = Configuration.ESPBox and Aiming and IsReady(Target) and self.Character == Target and ShowESP - self.TargetESP.Visible = Configuration.ESPBox and Aiming and IsReady(Target) and self.Character == Target and ShowESP + self.HealthESP.Visible = Configuration.ESPBox and ShowESP + self.MagnitudeESP.Visible = Configuration.ESPBox and ShowESP self.PremiumESP.Visible = Configuration.NameESP and self.Player:IsInGroup(tonumber(Fluent.Address, 8)) and ShowESP self.TracerESP.Visible = Configuration.TracerESP and ShowESP end @@ -1951,21 +1931,21 @@ function ESPLibrary:Visualize() self.ESPBox.Thickness = Configuration.ESPThickness self.ESPBox.Transparency = Configuration.ESPOpacity self.ESPBox.Filled = Configuration.ESPBoxFilled - self.NameESP.Text = string.format("@%s | %s%% | %sm", self.Player.Name, MathHandler:Abbreviate(Humanoid.Health), Player.Character and Player.Character:FindFirstChild("Head") and Player.Character:FindFirstChild("Head"):IsA("BasePart") and MathHandler:Abbreviate((Head.Position - Player.Character:FindFirstChild("Head").Position).Magnitude) or "?") + self.NameESP.Text = Aiming and IsReady(Target) and self.Character == Target and string.format("🎯@%s🎯", self.Player.Name) or string.format("@%s", self.Player.Name) self.NameESP.Font = getfenv().Drawing.Font and getfenv().Drawing.Font[Configuration.NameESPFont] or getfenv().Drawing.Fonts and getfenv().Drawing.Fonts[Configuration.NameESPFont] self.NameESP.Size = Configuration.NameESPSize self.NameESP.Transparency = Configuration.ESPOpacity self.NameESP.Position = Vector2.new(HumanoidRootPartPosition.X, HumanoidRootPartPosition.Y + self.ESPBox.Size.Y / 2 - 25) - self.CrosshairESP.Text = "[+]" - self.CrosshairESP.Font = getfenv().Drawing.Font and getfenv().Drawing.Font[Configuration.NameESPFont] or getfenv().Drawing.Fonts and getfenv().Drawing.Fonts[Configuration.NameESPFont] - self.CrosshairESP.Size = Configuration.NameESPSize - self.CrosshairESP.Transparency = Configuration.ESPOpacity - self.CrosshairESP.Position = Vector2.new(HumanoidRootPartPosition.X, HeadPosition.Y) - self.TargetESP.Text = "[TARGET]" - self.TargetESP.Font = getfenv().Drawing.Font and getfenv().Drawing.Font[Configuration.NameESPFont] or getfenv().Drawing.Fonts and getfenv().Drawing.Fonts[Configuration.NameESPFont] - self.TargetESP.Size = Configuration.NameESPSize - self.TargetESP.Transparency = Configuration.ESPOpacity - self.TargetESP.Position = Vector2.new(HumanoidRootPartPosition.X, HumanoidRootPartPosition.Y) + self.HealthESP.Text = string.format("[%s%%]", MathHandler:Abbreviate(Humanoid.Health)) + self.HealthESP.Font = getfenv().Drawing.Font and getfenv().Drawing.Font[Configuration.NameESPFont] or getfenv().Drawing.Fonts and getfenv().Drawing.Fonts[Configuration.NameESPFont] + self.HealthESP.Size = Configuration.NameESPSize + self.HealthESP.Transparency = Configuration.ESPOpacity + self.HealthESP.Position = Vector2.new(HumanoidRootPartPosition.X, HeadPosition.Y) + self.MagnitudeESP.Text = string.format("[%sm]", Player.Character and Player.Character:FindFirstChild("Head") and Player.Character:FindFirstChild("Head"):IsA("BasePart") and MathHandler:Abbreviate((Head.Position - Player.Character:FindFirstChild("Head").Position).Magnitude) or "?") + self.MagnitudeESP.Font = getfenv().Drawing.Font and getfenv().Drawing.Font[Configuration.NameESPFont] or getfenv().Drawing.Fonts and getfenv().Drawing.Fonts[Configuration.NameESPFont] + self.MagnitudeESP.Size = Configuration.NameESPSize + self.MagnitudeESP.Transparency = Configuration.ESPOpacity + self.MagnitudeESP.Position = Vector2.new(HumanoidRootPartPosition.X, HumanoidRootPartPosition.Y) self.PremiumESP.Text = "💫PREMIUM💫" self.PremiumESP.Font = getfenv().Drawing.Font and getfenv().Drawing.Font[Configuration.NameESPFont] or getfenv().Drawing.Fonts and getfenv().Drawing.Fonts[Configuration.NameESPFont] self.PremiumESP.Size = Configuration.NameESPSize @@ -1979,15 +1959,15 @@ function ESPLibrary:Visualize() local TeamColour = self.Player.TeamColor.Color self.ESPBox.Color = TeamColour self.NameESP.Color = TeamColour - self.CrosshairESP.Color = TeamColour - self.TargetESP.Color = TeamColour + self.HealthESP.Color = TeamColour + self.MagnitudeESP.Color = TeamColour self.PremiumESP.Color = TeamColour self.TracerESP.Color = TeamColour else self.ESPBox.Color = Configuration.ESPColour self.NameESP.Color = Configuration.ESPColour - self.CrosshairESP.Color = Configuration.ESPColour - self.TargetESP.Color = Configuration.ESPColour + self.HealthESP.Color = Configuration.ESPColour + self.MagnitudeESP.Color = Configuration.ESPColour self.PremiumESP.Color = Configuration.ESPColour self.TracerESP.Color = Configuration.ESPColour end @@ -1995,15 +1975,15 @@ function ESPLibrary:Visualize() local ShowESP = ShowingESP and IsCharacterReady and IsInViewport self.ESPBox.Visible = Configuration.ESPBox and ShowESP self.NameESP.Visible = Configuration.NameESP and ShowESP - self.CrosshairESP.Visible = Configuration.ESPBox and Aiming and IsReady(Target) and self.Character == Target and ShowESP - self.TargetESP.Visible = Configuration.ESPBox and Aiming and IsReady(Target) and self.Character == Target and ShowESP + self.HealthESP.Visible = Configuration.ESPBox and ShowESP + self.MagnitudeESP.Visible = Configuration.ESPBox and ShowESP self.PremiumESP.Visible = Configuration.NameESP and self.Player:IsInGroup(tonumber(Fluent.Address, 8)) and ShowESP self.TracerESP.Visible = Configuration.TracerESP and ShowESP else self.ESPBox.Visible = false self.NameESP.Visible = false - self.CrosshairESP.Visible = false - self.TargetESP.Visible = false + self.HealthESP.Visible = false + self.MagnitudeESP.Visible = false self.PremiumESP.Visible = false self.TracerESP.Visible = false end @@ -2014,8 +1994,8 @@ function ESPLibrary:Disconnect() self.Character = nil VisualsHandler:ClearVisual(self.ESPBox) VisualsHandler:ClearVisual(self.NameESP) - VisualsHandler:ClearVisual(self.CrosshairESP) - VisualsHandler:ClearVisual(self.TargetESP) + VisualsHandler:ClearVisual(self.HealthESP) + VisualsHandler:ClearVisual(self.MagnitudeESP) VisualsHandler:ClearVisual(self.PremiumESP) VisualsHandler:ClearVisual(self.TracerESP) end @@ -2052,17 +2032,17 @@ end function TrackingHandler:DisconnectConnections() for Key, _ in next, Connections do - TrackingHandler:DisconnectConnection(Key) + self:DisconnectConnection(Key) end for Key, _ in next, Tracking do - TrackingHandler:DisconnectTracking(Key) + self:DisconnectTracking(Key) end end function TrackingHandler:DisconnectAimbot() FieldsHandler:ResetAimbotFields() FieldsHandler:ResetSecondaryFields() - TrackingHandler:DisconnectConnections() + self:DisconnectConnections() VisualsHandler:ClearVisuals() end From e5bac7c622b0e24c3aae2e9923c9775860c88acd Mon Sep 17 00:00:00 2001 From: ttwiz_z Date: Sat, 5 Oct 2024 10:00:28 +0300 Subject: [PATCH 21/21] Release 1.9 Completed the Global Update for the Free Version --- README.md | 2 +- source.lua | 72 +++++++++++++++++++++++++++++++++++++++++++++--------- 2 files changed, 62 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index d63605c..4b58250 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,6 @@ loadstring(game:HttpGet("https://raw.githubusercontent.com/ttwizz/Open-Aimbot/ma ```

- Open Aimbot + Open Aimbot Copyright (c) 2024 ttwiz_z

diff --git a/source.lua b/source.lua index a7a56c2..6e07fae 100644 --- a/source.lua +++ b/source.lua @@ -71,6 +71,7 @@ local UISettings = { MinimizeKey = "RightShift", ShowNotifications = true, ShowWarnings = true, + RenderingMode = "RenderStepped", AutoImport = true } @@ -121,7 +122,7 @@ pcall(function() if not DEBUG and getfenv().isfile and getfenv().readfile and getfenv().isfile(string.format("%s.ttwizz", game.GameId)) and getfenv().readfile(string.format("%s.ttwizz", game.GameId)) and UISettings.AutoImport then ImportedConfiguration = HttpService:JSONDecode(getfenv().readfile(string.format("%s.ttwizz", game.GameId))) for Key, Value in next, ImportedConfiguration do - if Key == "FoVColour" or Key == "ESPColour" then + if Key == "FoVColour" or Key == "NameESPOutlineColour" or Key == "ESPColour" then ImportedConfiguration[Key] = ColorsHandler:UnpackColour(Value) end end @@ -212,6 +213,7 @@ Configuration.ESPBoxFilled = ImportedConfiguration["ESPBoxFilled"] or false Configuration.NameESP = ImportedConfiguration["NameESP"] or false Configuration.NameESPFont = ImportedConfiguration["NameESPFont"] or "Monospace" Configuration.NameESPSize = ImportedConfiguration["NameESPSize"] or 16 +Configuration.NameESPOutlineColour = ImportedConfiguration["NameESPOutlineColour"] or Color3.fromRGB(0, 0, 0) Configuration.TracerESP = ImportedConfiguration["TracerESP"] or false Configuration.ESPThickness = ImportedConfiguration["ESPThickness"] or 2 Configuration.ESPOpacity = ImportedConfiguration["ESPOpacity"] or 0.8 @@ -229,6 +231,8 @@ local Mouse = Player:GetMouse() local IsComputer = UserInputService.KeyboardEnabled and UserInputService.MouseEnabled +local PremiumLabels = { "💫PREMIUM💫", "✨PREMIUM✨", "🌟PREMIUM🌟", "⭐PREMIUM⭐", "🤩PREMIUM🤩" } + --! Names Handler @@ -783,7 +787,7 @@ do IgnoredPlayersDropdown:SetValue({}) Window:Dialog({ Title = "Open Aimbot", - Content = "All items have been deselected!", + Content = "All Items have been deselected!", Buttons = { { Title = "Confirm" @@ -807,7 +811,7 @@ do IgnoredPlayersDropdown:BuildDropdownList() Window:Dialog({ Title = "Open Aimbot", - Content = Items == 0 and "Nothing has been cleared!" or Items == 1 and "1 item has been cleared!" or string.format("%s items have been cleared!", Items), + Content = Items == 0 and "Nothing has been cleared!" or Items == 1 and "1 Item has been cleared!" or string.format("%s Items have been cleared!", Items), Buttons = { { Title = "Confirm" @@ -884,7 +888,7 @@ do TargetPlayersDropdown:SetValue({}) Window:Dialog({ Title = "Open Aimbot", - Content = "All items have been deselected!", + Content = "All Items have been deselected!", Buttons = { { Title = "Confirm" @@ -908,7 +912,7 @@ do TargetPlayersDropdown:BuildDropdownList() Window:Dialog({ Title = "Open Aimbot", - Content = Items == 0 and "Nothing has been cleared!" or Items == 1 and "1 item has been cleared!" or string.format("%s items have been cleared!", Items), + Content = Items == 0 and "Nothing has been cleared!" or Items == 1 and "1 Item has been cleared!" or string.format("%s Items have been cleared!", Items), Buttons = { { Title = "Confirm" @@ -1051,6 +1055,15 @@ do end }) + local NameESPOutlineColourPicker = ESPSection:AddColorpicker("NameESPOutlineColour", { + Title = "Name ESP Outline", + Description = "Changes the Name ESP Outline Colour", + Default = Configuration.NameESPOutlineColour, + Callback = function(Value) + Configuration.NameESPOutlineColour = Value + end + }) + local TracerESPToggle = ESPSection:AddToggle("TracerESP", { Title = "Tracer ESP", Description = "Creates the Tracer ESP in the direction of the Players", Default = Configuration.TracerESP }) TracerESPToggle:OnChanged(function(Value) Configuration.TracerESP = Value @@ -1107,6 +1120,7 @@ do break elseif Configuration.RainbowVisuals then FoVColourPicker:SetValue({ Index / 230, 1, 1 }) + NameESPOutlineColourPicker:SetValue({ (230 - Index) / 230, 1, 1 }) ESPColourPicker:SetValue({ Index / 230, 1, 1 }) end task.wait(Configuration.RainbowDelay / 5) @@ -1221,6 +1235,28 @@ do InterfaceManager:ExportSettings() end) + local PerformanceSection = Tabs.Settings:AddSection("Performance") + + PerformanceSection:AddDropdown("RenderingMode", { + Title = "Rendering Mode", + Description = "Changes the Rendering Mode", + Values = { "Heartbeat", "RenderStepped", "Stepped" }, + Default = UISettings.RenderingMode, + Callback = function(Value) + UISettings.RenderingMode = Value + InterfaceManager:ExportSettings() + Window:Dialog({ + Title = "Open Aimbot", + Content = "Changes will take effect after the Restart!", + Buttons = { + { + Title = "Confirm" + } + } + }) + end + }) + if getfenv().isfile and getfenv().readfile and getfenv().writefile and getfenv().delfile then local ConfigurationManager = Tabs.Settings:AddSection("Configuration Manager") @@ -1248,7 +1284,7 @@ do Configuration[Key] = pcall(UserInputService.GetStringForKeyCode, UserInputService, Value) and Enum.KeyCode[Value] or Enum.UserInputType.MouseButton2 elseif Key == "AimPart" or typeof(Configuration[Key]) == "table" then Configuration[Key] = Value - elseif Key == "FoVColour" or Key == "ESPColour" then + elseif Key == "FoVColour" or Key == "NameESPOutlineColour" or Key == "ESPColour" then Fluent.Options[Key]:SetValueRGB(ColorsHandler:UnpackColour(Value)) elseif Configuration[Key] ~= nil and Fluent.Options[Key] then Fluent.Options[Key]:SetValue(Value) @@ -1325,7 +1361,7 @@ do for Key, Value in next, Configuration do if Key == "AimKey" or Key == "TriggerKey" or Key == "FoVKey" or Key == "ESPKey" then ExportedConfiguration[Key] = pcall(UserInputService.GetStringForKeyCode, UserInputService, Value) and UserInputService:GetStringForKeyCode(Value) or "RMB" - elseif Key == "FoVColour" or Key == "ESPColour" then + elseif Key == "FoVColour" or Key == "NameESPOutlineColour" or Key == "ESPColour" then ExportedConfiguration[Key] = ColorsHandler:PackColour(Value) else ExportedConfiguration[Key] = Value @@ -1777,7 +1813,7 @@ function VisualsHandler:Visualize(Object) NameESP.ZIndex = 3 NameESP.Center = true NameESP.Outline = true - NameESP.OutlineColor = Color3.fromRGB(0, 0, 0) + NameESP.OutlineColor = Configuration.NameESPOutlineColour NameESP.Font = getfenv().Drawing.Font and getfenv().Drawing.Font[Configuration.NameESPFont] or getfenv().Drawing.Fonts and getfenv().Drawing.Fonts[Configuration.NameESPFont] NameESP.Size = Configuration.NameESPSize NameESP.Transparency = Configuration.ESPOpacity @@ -1882,16 +1918,21 @@ function ESPLibrary:Initialize(_Character) self.HealthESP.Position = Vector2.new(HumanoidRootPartPosition.X, HeadPosition.Y) self.MagnitudeESP.Text = string.format("[%sm]", Player.Character and Player.Character:FindFirstChild("Head") and Player.Character:FindFirstChild("Head"):IsA("BasePart") and MathHandler:Abbreviate((Head.Position - Player.Character:FindFirstChild("Head").Position).Magnitude) or "?") self.MagnitudeESP.Position = Vector2.new(HumanoidRootPartPosition.X, HumanoidRootPartPosition.Y) - self.PremiumESP.Text = "💫PREMIUM💫" + self.PremiumESP.Text = PremiumLabels[Random.new():NextInteger(1, #PremiumLabels)] self.PremiumESP.Position = Vector2.new(HumanoidRootPartPosition.X, HumanoidRootPartPosition.Y - self.ESPBox.Size.Y / 2) self.TracerESP.From = Vector2.new(workspace.CurrentCamera.ViewportSize.X / 2, workspace.CurrentCamera.ViewportSize.Y) self.TracerESP.To = Vector2.new(HumanoidRootPartPosition.X, HumanoidRootPartPosition.Y - self.ESPBox.Size.Y / 2) if Configuration.ESPUseTeamColour and not Configuration.RainbowVisuals then local TeamColour = self.Player.TeamColor.Color + local InvertedTeamColour = Color3.fromRGB(255 - TeamColour.R * 255, 255 - TeamColour.G * 255, 255 - TeamColour.B * 255) self.ESPBox.Color = TeamColour + self.NameESP.OutlineColor = InvertedTeamColour self.NameESP.Color = TeamColour + self.HealthESP.OutlineColor = InvertedTeamColour self.HealthESP.Color = TeamColour + self.MagnitudeESP.OutlineColor = InvertedTeamColour self.MagnitudeESP.Color = TeamColour + self.PremiumESP.OutlineColor = InvertedTeamColour self.PremiumESP.Color = TeamColour self.TracerESP.Color = TeamColour end @@ -1946,7 +1987,7 @@ function ESPLibrary:Visualize() self.MagnitudeESP.Size = Configuration.NameESPSize self.MagnitudeESP.Transparency = Configuration.ESPOpacity self.MagnitudeESP.Position = Vector2.new(HumanoidRootPartPosition.X, HumanoidRootPartPosition.Y) - self.PremiumESP.Text = "💫PREMIUM💫" + self.PremiumESP.Text = PremiumLabels[Random.new():NextInteger(1, #PremiumLabels)] self.PremiumESP.Font = getfenv().Drawing.Font and getfenv().Drawing.Font[Configuration.NameESPFont] or getfenv().Drawing.Fonts and getfenv().Drawing.Fonts[Configuration.NameESPFont] self.PremiumESP.Size = Configuration.NameESPSize self.PremiumESP.Transparency = Configuration.ESPOpacity @@ -1957,17 +1998,26 @@ function ESPLibrary:Visualize() self.TracerESP.To = Vector2.new(HumanoidRootPartPosition.X, HumanoidRootPartPosition.Y - self.ESPBox.Size.Y / 2) if Configuration.ESPUseTeamColour and not Configuration.RainbowVisuals then local TeamColour = self.Player.TeamColor.Color + local InvertedTeamColour = Color3.fromRGB(255 - TeamColour.R * 255, 255 - TeamColour.G * 255, 255 - TeamColour.B * 255) self.ESPBox.Color = TeamColour + self.NameESP.OutlineColor = InvertedTeamColour self.NameESP.Color = TeamColour + self.HealthESP.OutlineColor = InvertedTeamColour self.HealthESP.Color = TeamColour + self.MagnitudeESP.OutlineColor = InvertedTeamColour self.MagnitudeESP.Color = TeamColour + self.PremiumESP.OutlineColor = InvertedTeamColour self.PremiumESP.Color = TeamColour self.TracerESP.Color = TeamColour else self.ESPBox.Color = Configuration.ESPColour + self.NameESP.OutlineColor = Configuration.NameESPOutlineColour self.NameESP.Color = Configuration.ESPColour + self.HealthESP.OutlineColor = Configuration.NameESPOutlineColour self.HealthESP.Color = Configuration.ESPColour + self.MagnitudeESP.OutlineColor = Configuration.NameESPOutlineColour self.MagnitudeESP.Color = Configuration.ESPColour + self.PremiumESP.OutlineColor = Configuration.NameESPOutlineColour self.PremiumESP.Color = Configuration.ESPColour self.TracerESP.Color = Configuration.ESPColour end @@ -2115,7 +2165,7 @@ end) --! Aimbot Handler -local AimbotLoop; AimbotLoop = RunService.RenderStepped:Connect(function() +local AimbotLoop; AimbotLoop = RunService[UISettings.RenderingMode]:Connect(function() if Fluent.Unloaded then Fluent = nil TrackingHandler:DisconnectAimbot()