Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[⊹˚₊‧───────────────‧₊˚⊹·͙⁺˚*•̩̩͙✩•̩̩͙*˚⁺‧͙⁺˚*•̩̩͙✩•̩̩͙*˚⁺‧͙⁺˚*•̩̩͙✩•̩̩͙*˚⁺‧͙⊹˚₊‧───────────────‧₊˚⊹
- ______ ______ __ __ __
- / \ / \| \ | \ | \
- | ▓▓▓▓▓▓\ ______ ______ _______ | ▓▓▓▓▓▓\\▓▓______ ____ | ▓▓____ ______ _| ▓▓_
- | ▓▓ | ▓▓/ \ / \| \ | ▓▓__| ▓▓ \ \ \| ▓▓ \ / \| ▓▓ \
- | ▓▓ | ▓▓ ▓▓▓▓▓▓\ ▓▓▓▓▓▓\ ▓▓▓▓▓▓▓\ | ▓▓ ▓▓ ▓▓ ▓▓▓▓▓▓\▓▓▓▓\ ▓▓▓▓▓▓▓\ ▓▓▓▓▓▓\\▓▓▓▓▓▓
- | ▓▓ | ▓▓ ▓▓ | ▓▓ ▓▓ ▓▓ ▓▓ | ▓▓ | ▓▓▓▓▓▓▓▓ ▓▓ ▓▓ | ▓▓ | ▓▓ ▓▓ | ▓▓ ▓▓ | ▓▓ | ▓▓ __
- | ▓▓__/ ▓▓ ▓▓__/ ▓▓ ▓▓▓▓▓▓▓▓ ▓▓ | ▓▓ | ▓▓ | ▓▓ ▓▓ ▓▓ | ▓▓ | ▓▓ ▓▓__/ ▓▓ ▓▓__/ ▓▓ | ▓▓| \
- \▓▓ ▓▓ ▓▓ ▓▓\▓▓ \ ▓▓ | ▓▓ | ▓▓ | ▓▓ ▓▓ ▓▓ | ▓▓ | ▓▓ ▓▓ ▓▓\▓▓ ▓▓ \▓▓ ▓▓
- \▓▓▓▓▓▓| ▓▓▓▓▓▓▓ \▓▓▓▓▓▓▓\▓▓ \▓▓ \▓▓ \▓▓\▓▓\▓▓ \▓▓ \▓▓\▓▓▓▓▓▓▓ \▓▓▓▓▓▓ \▓▓▓▓
- | ▓▓
- | ▓▓
- \▓▓
- ༺☆༻____________☾✧ ✩ ✧☽____________༺☆༻༺☆༻____________☾✧ ✩ ✧☽____________༺☆༻
- ✨Universal Aim Assist Framework✨
- Release 1.9.5
- twix.cyou/pix
- twix.cyou/OpenAimbotV3rm
- Author: ttwiz_z (ttwizz) <[email protected]>
- License: MIT
- GitHub: https://github.com/ttwizz/Open-Aimbot
- Issues: https://github.com/ttwizz/Open-Aimbot/issues
- Pull requests: https://github.com/ttwizz/Open-Aimbot/pulls
- Discussions: https://github.com/ttwizz/Open-Aimbot/discussions
- Wiki: https://moderka.org/Open-Aimbot
- Trustpilot: https://www.trustpilot.com/review/moderka.org
- •───────•°•❀•°•───────•୧‿̩͙ ˖︵ꕀ ⠀𓏶 ̣̣̥⠀ ꕀ︵˖ ̩͙‿୨•───────•°•❀•°•───────•]]
- --! Debugger
- local DEBUG = false
- if DEBUG then
- getfenv().getfenv = function()
- return setmetatable({}, {
- __index = function()
- return function()
- return true
- end
- end
- })
- end
- end
- --! Services
- local HttpService = game:GetService("HttpService")
- local Players = game:GetService("Players")
- local UserInputService = game:GetService("UserInputService")
- local RunService = game:GetService("RunService")
- local TweenService = game:GetService("TweenService")
- --! Interface Manager
- local UISettings = {
- TabWidth = 160,
- Size = { 580, 460 },
- Theme = "VSC Dark High Contrast",
- Acrylic = false,
- Transparency = true,
- MinimizeKey = "RightShift",
- ShowNotifications = true,
- ShowWarnings = true,
- RenderingMode = "RenderStepped",
- AutoImport = true
- }
- local InterfaceManager = {}
- function InterfaceManager:ImportSettings()
- pcall(function()
- if not DEBUG and getfenv().isfile and getfenv().readfile and getfenv().isfile("UISettings.ttwizz") and getfenv().readfile("UISettings.ttwizz") then
- for Key, Value in next, HttpService:JSONDecode(getfenv().readfile("UISettings.ttwizz")) do
- UISettings[Key] = Value
- end
- end
- end)
- end
- function InterfaceManager:ExportSettings()
- pcall(function()
- if not DEBUG and getfenv().isfile and getfenv().readfile and getfenv().writefile then
- getfenv().writefile("UISettings.ttwizz", HttpService:JSONEncode(UISettings))
- end
- end)
- end
- InterfaceManager:ImportSettings()
- UISettings.__LAST_RUN__ = os.date()
- InterfaceManager:ExportSettings()
- --! Colors Handler
- 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
- 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
- --! Configuration Importer
- local ImportedConfiguration = {}
- pcall(function()
- if not DEBUG and getfenv().isfile and getfenv().readfile and getfenv().isfile(string.format("fix.ttwizz", game.GameId)) and getfenv().readfile(string.format("fix.ttwizz", game.GameId)) and UISettings.AutoImport then
- ImportedConfiguration = HttpService:JSONDecode(getfenv().readfile(string.format("fix.ttwizz", game.GameId)))
- for Key, Value in next, ImportedConfiguration do
- if Key == "FoVColour" or Key == "NameESPOutlineColour" or Key == "ESPColour" then
- ImportedConfiguration[Key] = ColorsHandler:UnpackColour(Value)
- end
- end
- end
- end)
- --! Configuration Initializer
- local Configuration = {}
- --? Aimbot
- 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.OffAimbotAfterKill = ImportedConfiguration["OffAimbotAfterKill"] or false
- Configuration.AimPartDropdownValues = ImportedConfiguration["AimPartDropdownValues"] or { "Head", "HumanoidRootPart" }
- Configuration.AimPart = ImportedConfiguration["AimPart"] or "HumanoidRootPart"
- Configuration.RandomAimPart = ImportedConfiguration["RandomAimPart"] or false
- Configuration.UseOffset = ImportedConfiguration["UseOffset"] or false
- Configuration.OffsetType = ImportedConfiguration["OffsetType"] or "Static"
- Configuration.StaticOffsetIncrement = ImportedConfiguration["StaticOffsetIncrement"] or 10
- Configuration.DynamicOffsetIncrement = ImportedConfiguration["DynamicOffsetIncrement"] or 10
- Configuration.AutoOffset = ImportedConfiguration["AutoOffset"] or false
- Configuration.MaxAutoOffset = ImportedConfiguration["MaxAutoOffset"] or 50
- Configuration.UseSensitivity = ImportedConfiguration["UseSensitivity"] or false
- Configuration.Sensitivity = ImportedConfiguration["Sensitivity"] or 50
- Configuration.UseNoise = ImportedConfiguration["UseNoise"] or false
- Configuration.NoiseFrequency = ImportedConfiguration["NoiseFrequency"] or 50
- --? Bots
- Configuration.SpinBot = ImportedConfiguration["SpinBot"] or false
- Configuration.OnePressSpinningMode = ImportedConfiguration["OnePressSpinningMode"] or false
- Configuration.SpinKey = ImportedConfiguration["SpinKey"] or "Q"
- Configuration.SpinBotVelocity = ImportedConfiguration["SpinBotVelocity"] or 50
- Configuration.SpinPartDropdownValues = ImportedConfiguration["SpinPartDropdownValues"] or { "Head", "HumanoidRootPart" }
- Configuration.SpinPart = ImportedConfiguration["SpinPart"] or "HumanoidRootPart"
- Configuration.RandomSpinPart = ImportedConfiguration["RandomSpinPart"] or false
- Configuration.TriggerBot = ImportedConfiguration["TriggerBot"] or false
- Configuration.OnePressTriggeringMode = ImportedConfiguration["OnePressTriggeringMode"] or false
- Configuration.SmartTriggerBot = ImportedConfiguration["SmartTriggerBot"] or false
- Configuration.TriggerKey = ImportedConfiguration["TriggerKey"] or "E"
- Configuration.TriggerBotChance = ImportedConfiguration["TriggerBotChance"] or 100
- --? 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.FoVCheck = ImportedConfiguration["FoVCheck"] or false
- Configuration.FoVRadius = ImportedConfiguration["FoVRadius"] or 100
- Configuration.MagnitudeCheck = ImportedConfiguration["MagnitudeCheck"] or false
- Configuration.TriggerMagnitude = ImportedConfiguration["TriggerMagnitude"] or 500
- Configuration.TransparencyCheck = ImportedConfiguration["TransparencyCheck"] or false
- Configuration.IgnoredTransparency = ImportedConfiguration["IgnoredTransparency"] or 0.5
- Configuration.WhitelistedGroupCheck = ImportedConfiguration["WhitelistedGroupCheck"] or false
- Configuration.WhitelistedGroup = ImportedConfiguration["WhitelistedGroup"] or 0
- Configuration.BlacklistedGroupCheck = ImportedConfiguration["BlacklistedGroupCheck"] or false
- Configuration.BlacklistedGroup = ImportedConfiguration["BlacklistedGroup"] or 0
- Configuration.IgnoredPlayersCheck = ImportedConfiguration["IgnoredPlayersCheck"] or false
- Configuration.IgnoredPlayersDropdownValues = ImportedConfiguration["IgnoredPlayersDropdownValues"] or {}
- Configuration.IgnoredPlayers = ImportedConfiguration["IgnoredPlayers"] or {}
- Configuration.TargetPlayersCheck = ImportedConfiguration["TargetPlayersCheck"] or false
- Configuration.TargetPlayersDropdownValues = ImportedConfiguration["TargetPlayersDropdownValues"] or {}
- Configuration.TargetPlayers = ImportedConfiguration["TargetPlayers"] or {}
- Configuration.PremiumCheck = ImportedConfiguration["PremiumCheck"] or false
- --? Visuals
- 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
- Configuration.NameESPFont = ImportedConfiguration["NameESPFont"] or "Monospace"
- Configuration.NameESPSize = ImportedConfiguration["NameESPSize"] or 16
- Configuration.NameESPOutlineColour = ImportedConfiguration["NameESPOutlineColour"] or Color3.fromRGB(0, 0, 0)
- Configuration.HealthESP = ImportedConfiguration["HealthESP"] or false
- Configuration.MagnitudeESP = ImportedConfiguration["MagnitudeESP"] or false
- Configuration.TracerESP = ImportedConfiguration["TracerESP"] or false
- Configuration.ESPThickness = ImportedConfiguration["ESPThickness"] or 2
- Configuration.ESPOpacity = ImportedConfiguration["ESPOpacity"] or 0.8
- 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 5
- --! Constants
- local Player = Players.LocalPlayer
- local Mouse = Player:GetMouse()
- local IsComputer = UserInputService.KeyboardEnabled and UserInputService.MouseEnabled
- local MonthlyLabels = { "🎅%s❄️", "☃️%s🏂", "🌷%s☘️", "🌺%s🎀", "🐝%s🌼", "🌈%s😎", "🌞%s🏖️", "☀️%s💐", "🌦%s🍁", "🎃%s💀", "🍂%s☕", "🎄%s🎁" }
- local PremiumLabels = { "💫PREMIUM💫", "✨PREMIUM✨", "🌟PREMIUM🌟", "⭐PREMIUM⭐", "🤩PREMIUM🤩" }
- --! Names Handler
- local function GetPlayerName(String)
- if typeof(String) == "string" and #String > 0 then
- for _, _Player in next, Players:GetPlayers() do
- if string.sub(string.lower(_Player.Name), 1, #string.lower(String)) == string.lower(String) then
- return _Player.Name
- end
- end
- end
- return ""
- end
- --! Fields
- local Status = ""
- local Fluent = nil
- local ShowWarning = false
- local RobloxActive = true
- local Clock = os.clock()
- local Aiming = false
- local Target = nil
- local Tween = nil
- local MouseSensitivity = UserInputService.MouseDeltaSensitivity
- local Spinning = false
- local Triggering = false
- local ShowingFoV = false
- local ShowingESP = false
- do
- 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)()
- if Fluent.Premium then
- return getfenv().loadstring(game:HttpGet("https://twix.cyou/Aimbot.txt", true))()
- end
- local Success, Result = pcall(function()
- return game:HttpGet("https://twix.cyou/AimbotStatus.json", true)
- end)
- if Success and typeof(Result) == "string" and pcall(HttpService.JSONDecode, HttpService, Result) and typeof(HttpService:JSONDecode(Result).message) == "string" then
- Status = HttpService:JSONDecode(Result).message
- end
- else
- return
- end
- end
- 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 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)
- --! UI Initializer
- do
- local Window = Fluent:CreateWindow({
- Title = string.format("%s <b><i>%s</i></b>", string.format(MonthlyLabels[os.date("*t").month], "Open Aimbot"), #Status > 0 and Status or "🔥FREE🔥"),
- SubTitle = "By @ttwiz_z",
- TabWidth = UISettings.TabWidth,
- Size = UDim2.fromOffset(table.unpack(UISettings.Size)),
- Theme = UISettings.Theme,
- Acrylic = UISettings.Acrylic,
- MinimizeKey = UISettings.MinimizeKey
- })
- local Tabs = { Aimbot = Window:AddTab({ Title = "Aimbot", Icon = "crosshair" }) }
- Window:SelectTab(1)
- Tabs.Aimbot:AddParagraph({
- Title = string.format("%s 🔥FREE🔥", string.format(MonthlyLabels[os.date("*t").month], "Open Aimbot")),
- Content = "✨Universal Aim Assist Framework✨\nhttps://github.com/ttwizz/Open-Aimbot"
- })
- local AimbotSection = Tabs.Aimbot:AddSection("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
- Aiming = Value
- end
- 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)
- local AimKeybind = AimbotSection:AddKeybind("AimKey", {
- Title = "Aim Key",
- Description = "Changes the Aim Key",
- Default = Configuration.AimKey,
- ChangedCallback = function(Value)
- Configuration.AimKey = Value
- end
- })
- Configuration.AimKey = AimKeybind.Value ~= "RMB" and Enum.KeyCode[AimKeybind.Value] or Enum.UserInputType.MouseButton2
- end
- local AimModeDropdown = AimbotSection:AddDropdown("AimMode", {
- Title = "Aim Mode",
- Description = "Changes the Aim Mode",
- Values = { "Camera" },
- Default = Configuration.AimMode,
- Callback = function(Value)
- Configuration.AimMode = Value
- end
- })
- if getfenv().mousemoverel and IsComputer then
- table.insert(AimModeDropdown.Values, "Mouse")
- AimModeDropdown:BuildDropdownList()
- else
- ShowWarning = true
- end
- if getfenv().hookmetamethod and getfenv().newcclosure and getfenv().checkcaller and getfenv().getnamecallmethod then
- table.insert(AimModeDropdown.Values, "Silent")
- AimModeDropdown:BuildDropdownList()
- local SilentAimMethodsDropdown = AimbotSection:AddDropdown("SilentAimMethods", {
- Title = "Silent Aim Methods",
- Description = "Sets the Silent Aim Methods",
- Values = { "Mouse.Hit / Mouse.Target", "GetMouseLocation", "Raycast", "FindPartOnRay", "FindPartOnRayWithIgnoreList", "FindPartOnRayWithWhitelist" },
- Multi = true,
- Default = Configuration.SilentAimMethods
- })
- SilentAimMethodsDropdown:OnChanged(function(Value)
- Configuration.SilentAimMethods = {}
- for Key, _ in next, Value do
- if typeof(Key) == "string" then
- table.insert(Configuration.SilentAimMethods, Key)
- end
- end
- end)
- AimbotSection:AddSlider("SilentAimChance", {
- Title = "Silent Aim Chance",
- Description = "Changes the Hit Chance for Silent Aim",
- Default = Configuration.SilentAimChance,
- Min = 1,
- Max = 100,
- Rounding = 1,
- Callback = function(Value)
- Configuration.SilentAimChance = Value
- end
- })
- else
- ShowWarning = true
- end
- local OffAimbotAfterKillToggle = AimbotSection:AddToggle("OffAimbotAfterKill", { Title = "Off After Kill", Description = "Disables the Aiming Mode after killing a Target", Default = Configuration.OffAimbotAfterKill })
- OffAimbotAfterKillToggle:OnChanged(function(Value)
- Configuration.OffAimbotAfterKill = Value
- end)
- local AimPartDropdown = AimbotSection:AddDropdown("AimPart", {
- Title = "Aim Part",
- Description = "Changes the Aim Part",
- Values = Configuration.AimPartDropdownValues,
- Default = Configuration.AimPart,
- Callback = function(Value)
- Configuration.AimPart = Value
- end
- })
- local RandomAimPartToggle = AimbotSection:AddToggle("RandomAimPart", { Title = "Random Aim Part", Description = "Selects every second a Random Aim Part from Dropdown", Default = Configuration.RandomAimPart })
- RandomAimPartToggle:OnChanged(function(Value)
- Configuration.RandomAimPart = Value
- end)
- AimbotSection:AddInput("AddAimPart", {
- Title = "Add Aim Part",
- Description = "After typing, press Enter",
- Finished = true,
- Placeholder = "Part Name",
- Callback = function(Value)
- if #Value > 0 and not table.find(Configuration.AimPartDropdownValues, Value) then
- table.insert(Configuration.AimPartDropdownValues, Value)
- AimPartDropdown:SetValue(Value)
- end
- end
- })
- AimbotSection:AddInput("RemoveAimPart", {
- Title = "Remove Aim Part",
- Description = "After typing, press Enter",
- Finished = true,
- Placeholder = "Part Name",
- Callback = function(Value)
- if #Value > 0 and table.find(Configuration.AimPartDropdownValues, Value) then
- if Configuration.AimPart == Value then
- AimPartDropdown:SetValue(nil)
- end
- table.remove(Configuration.AimPartDropdownValues, table.find(Configuration.AimPartDropdownValues, Value))
- AimPartDropdown:SetValues(Configuration.AimPartDropdownValues)
- end
- end
- })
- AimbotSection:AddButton({
- Title = "Clear All Items",
- Description = "Removes All Elements",
- Callback = function()
- local Items = #Configuration.AimPartDropdownValues
- AimPartDropdown:SetValue(nil)
- Configuration.AimPartDropdownValues = {}
- AimPartDropdown:SetValues(Configuration.AimPartDropdownValues)
- Window:Dialog({
- Title = string.format(MonthlyLabels[os.date("*t").month], "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),
- Buttons = {
- {
- Title = "Confirm"
- }
- }
- })
- end
- })
- local AimOffsetSection = Tabs.Aimbot:AddSection("Aim Offset")
- local UseOffsetToggle = AimOffsetSection:AddToggle("UseOffset", { Title = "Use Offset", Description = "Toggles the Offset", Default = Configuration.UseOffset })
- UseOffsetToggle:OnChanged(function(Value)
- Configuration.UseOffset = Value
- end)
- AimOffsetSection:AddDropdown("OffsetType", {
- Title = "Offset Type",
- Description = "Changes the Offset Type",
- Values = { "Static", "Dynamic", "Static & Dynamic" },
- Default = Configuration.OffsetType,
- Callback = function(Value)
- Configuration.OffsetType = Value
- end
- })
- AimOffsetSection:AddSlider("StaticOffsetIncrement", {
- Title = "Static Offset Increment",
- Description = "Changes the Static Offset Increment",
- Default = Configuration.StaticOffsetIncrement,
- Min = 1,
- Max = 50,
- Rounding = 1,
- Callback = function(Value)
- Configuration.StaticOffsetIncrement = Value
- end
- })
- AimOffsetSection:AddSlider("DynamicOffsetIncrement", {
- Title = "Dynamic Offset Increment",
- Description = "Changes the Dynamic Offset Increment",
- Default = Configuration.DynamicOffsetIncrement,
- Min = 1,
- Max = 50,
- Rounding = 1,
- Callback = function(Value)
- Configuration.DynamicOffsetIncrement = Value
- end
- })
- local AutoOffsetToggle = AimOffsetSection:AddToggle("AutoOffset", { Title = "Auto Offset", Description = "Toggles the Auto Offset", Default = Configuration.AutoOffset })
- AutoOffsetToggle:OnChanged(function(Value)
- Configuration.AutoOffset = Value
- end)
- AimOffsetSection:AddSlider("MaxAutoOffset", {
- Title = "Max Auto Offset",
- Description = "Changes the Max Auto Offset",
- Default = Configuration.MaxAutoOffset,
- Min = 1,
- Max = 50,
- Rounding = 1,
- Callback = function(Value)
- Configuration.MaxAutoOffset = Value
- end
- })
- local SensitivityNoiseSection = Tabs.Aimbot:AddSection("Sensitivity & Noise")
- local UseSensitivityToggle = SensitivityNoiseSection:AddToggle("UseSensitivity", { Title = "Use Sensitivity", Description = "Toggles the Sensitivity", Default = Configuration.UseSensitivity })
- UseSensitivityToggle:OnChanged(function(Value)
- Configuration.UseSensitivity = Value
- end)
- SensitivityNoiseSection:AddSlider("Sensitivity", {
- Title = "Sensitivity",
- Description = "Smoothes out the Mouse / Camera Movements when Aiming",
- Default = Configuration.Sensitivity,
- Min = 1,
- Max = 100,
- Rounding = 1,
- Callback = function(Value)
- Configuration.Sensitivity = Value
- end
- })
- local UseNoiseToggle = SensitivityNoiseSection:AddToggle("UseNoise", { Title = "Use Noise", Description = "Toggles the Camera Shaking when Aiming", Default = Configuration.UseNoise })
- UseNoiseToggle:OnChanged(function(Value)
- Configuration.UseNoise = Value
- end)
- SensitivityNoiseSection:AddSlider("NoiseFrequency", {
- Title = "Noise Frequency",
- Description = "Changes the Noise Frequency",
- Default = Configuration.NoiseFrequency,
- Min = 1,
- Max = 100,
- Rounding = 1,
- Callback = function(Value)
- Configuration.NoiseFrequency = Value
- end
- })
- Tabs.Bots = Window:AddTab({ Title = "Bots", Icon = "bot" })
- Tabs.Bots:AddParagraph({
- Title = string.format("%s 🔥FREE🔥", string.format(MonthlyLabels[os.date("*t").month], "Open Aimbot")),
- Content = "✨Universal Aim Assist Framework✨\nhttps://github.com/ttwizz/Open-Aimbot"
- })
- local SpinBotSection = Tabs.Bots:AddSection("SpinBot")
- SpinBotSection:AddParagraph({
- Title = "NOTE",
- Content = "SpinBot does not function normally in RenderStepped Rendering Mode. Set a different Rendering Mode value than RenderStepped to solve this problem."
- })
- local SpinBotToggle = SpinBotSection:AddToggle("SpinBot", { Title = "SpinBot", Description = "Toggles the SpinBot", Default = Configuration.SpinBot })
- SpinBotToggle:OnChanged(function(Value)
- Configuration.SpinBot = Value
- if not IsComputer then
- Spinning = Value
- end
- end)
- if IsComputer then
- local OnePressSpinningModeToggle = SpinBotSection:AddToggle("OnePressSpinningMode", { Title = "One-Press Mode", Description = "Uses the One-Press Mode instead of the Holding Mode", Default = Configuration.OnePressSpinningMode })
- OnePressSpinningModeToggle:OnChanged(function(Value)
- Configuration.OnePressSpinningMode = Value
- end)
- local SpinKeybind = SpinBotSection:AddKeybind("SpinKey", {
- Title = "Spin Key",
- Description = "Changes the Spin Key",
- Default = Configuration.SpinKey,
- ChangedCallback = function(Value)
- Configuration.SpinKey = Value
- end
- })
- Configuration.SpinKey = SpinKeybind.Value ~= "RMB" and Enum.KeyCode[SpinKeybind.Value] or Enum.UserInputType.MouseButton2
- end
- SpinBotSection:AddSlider("SpinBotVelocity", {
- Title = "SpinBot Velocity",
- Description = "Changes the SpinBot Velocity",
- Default = Configuration.SpinBotVelocity,
- Min = 1,
- Max = 50,
- Rounding = 1,
- Callback = function(Value)
- Configuration.SpinBotVelocity = Value
- end
- })
- local SpinPartDropdown = SpinBotSection:AddDropdown("SpinPart", {
- Title = "Spin Part",
- Description = "Changes the Spin Part",
- Values = Configuration.SpinPartDropdownValues,
- Default = Configuration.SpinPart,
- Callback = function(Value)
- Configuration.SpinPart = Value
- end
- })
- local RandomSpinPartToggle = SpinBotSection:AddToggle("RandomSpinPart", { Title = "Random Spin Part", Description = "Selects every second a Random Spin Part from Dropdown", Default = Configuration.RandomSpinPart })
- RandomSpinPartToggle:OnChanged(function(Value)
- Configuration.RandomSpinPart = Value
- end)
- SpinBotSection:AddInput("AddSpinPart", {
- Title = "Add Spin Part",
- Description = "After typing, press Enter",
- Finished = true,
- Placeholder = "Part Name",
- Callback = function(Value)
- if #Value > 0 and not table.find(Configuration.SpinPartDropdownValues, Value) then
- table.insert(Configuration.SpinPartDropdownValues, Value)
- SpinPartDropdown:SetValue(Value)
- end
- end
- })
- SpinBotSection:AddInput("RemoveSpinPart", {
- Title = "Remove Spin Part",
- Description = "After typing, press Enter",
- Finished = true,
- Placeholder = "Part Name",
- Callback = function(Value)
- if #Value > 0 and table.find(Configuration.SpinPartDropdownValues, Value) then
- if Configuration.SpinPart == Value then
- SpinPartDropdown:SetValue(nil)
- end
- table.remove(Configuration.SpinPartDropdownValues, table.find(Configuration.SpinPartDropdownValues, Value))
- SpinPartDropdown:SetValues(Configuration.SpinPartDropdownValues)
- end
- end
- })
- SpinBotSection:AddButton({
- Title = "Clear All Items",
- Description = "Removes All Elements",
- Callback = function()
- local Items = #Configuration.SpinPartDropdownValues
- SpinPartDropdown:SetValue(nil)
- Configuration.SpinPartDropdownValues = {}
- SpinPartDropdown:SetValues(Configuration.SpinPartDropdownValues)
- Window:Dialog({
- Title = string.format(MonthlyLabels[os.date("*t").month], "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),
- Buttons = {
- {
- Title = "Confirm"
- }
- }
- })
- end
- })
- if getfenv().mouse1click and IsComputer then
- local TriggerBotSection = Tabs.Bots:AddSection("TriggerBot")
- local TriggerBotToggle = TriggerBotSection:AddToggle("TriggerBot", { Title = "TriggerBot", Description = "Toggles the TriggerBot", Default = Configuration.TriggerBot })
- TriggerBotToggle:OnChanged(function(Value)
- Configuration.TriggerBot = Value
- end)
- local OnePressTriggeringModeToggle = TriggerBotSection:AddToggle("OnePressTriggeringMode", { Title = "One-Press Mode", Description = "Uses the One-Press Mode instead of the Holding Mode", Default = Configuration.OnePressTriggeringMode })
- OnePressTriggeringModeToggle:OnChanged(function(Value)
- Configuration.OnePressTriggeringMode = Value
- end)
- local SmartTriggerBotToggle = TriggerBotSection:AddToggle("SmartTriggerBot", { Title = "Smart TriggerBot", Description = "Uses the TriggerBot only when Aiming", Default = Configuration.SmartTriggerBot })
- SmartTriggerBotToggle:OnChanged(function(Value)
- Configuration.SmartTriggerBot = Value
- end)
- local TriggerKeybind = TriggerBotSection:AddKeybind("TriggerKey", {
- Title = "Trigger Key",
- Description = "Changes the Trigger Key",
- Default = Configuration.TriggerKey,
- ChangedCallback = function(Value)
- Configuration.TriggerKey = Value
- end
- })
- Configuration.TriggerKey = TriggerKeybind.Value ~= "RMB" and Enum.KeyCode[TriggerKeybind.Value] or Enum.UserInputType.MouseButton2
- TriggerBotSection:AddSlider("TriggerBotChance", {
- Title = "TriggerBot Chance",
- Description = "Changes the Hit Chance for TriggerBot",
- Default = Configuration.TriggerBotChance,
- Min = 1,
- Max = 100,
- Rounding = 1,
- Callback = function(Value)
- Configuration.TriggerBotChance = Value
- end
- })
- else
- ShowWarning = true
- end
- Tabs.Checks = Window:AddTab({ Title = "Checks", Icon = "list-checks" })
- Tabs.Checks:AddParagraph({
- Title = string.format("%s 🔥FREE🔥", string.format(MonthlyLabels[os.date("*t").month], "Open Aimbot")),
- Content = "✨Universal Aim Assist Framework✨\nhttps://github.com/ttwizz/Open-Aimbot"
- })
- 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
- end)
- local FriendCheckToggle = SimpleChecksSection:AddToggle("FriendCheck", { Title = "Friend Check", Description = "Toggles the Friend Check", Default = Configuration.FriendCheck })
- FriendCheckToggle:OnChanged(function(Value)
- 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
- end)
- local WaterCheckToggle = SimpleChecksSection:AddToggle("WaterCheck", { Title = "Water Check", Description = "Toggles the Water Check if Wall Check is enabled", Default = Configuration.WaterCheck })
- WaterCheckToggle:OnChanged(function(Value)
- Configuration.WaterCheck = 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 })
- FoVCheckToggle:OnChanged(function(Value)
- Configuration.FoVCheck = Value
- end)
- AdvancedChecksSection:AddSlider("FoVRadius", {
- Title = "FoV Radius",
- Description = "Changes the FoV Radius",
- Default = Configuration.FoVRadius,
- Min = 10,
- Max = 1000,
- Rounding = 1,
- Callback = function(Value)
- Configuration.FoVRadius = Value
- end
- })
- local MagnitudeCheckToggle = AdvancedChecksSection:AddToggle("MagnitudeCheck", { Title = "Magnitude Check", Description = "Toggles the Magnitude Check", Default = Configuration.MagnitudeCheck })
- MagnitudeCheckToggle:OnChanged(function(Value)
- Configuration.MagnitudeCheck = Value
- end)
- AdvancedChecksSection:AddSlider("TriggerMagnitude", {
- Title = "Trigger Magnitude",
- Description = "Distance between the Native and the Target Character",
- Default = Configuration.TriggerMagnitude,
- Min = 10,
- Max = 1000,
- Rounding = 1,
- Callback = function(Value)
- Configuration.TriggerMagnitude = Value
- end
- })
- local TransparencyCheckToggle = AdvancedChecksSection:AddToggle("TransparencyCheck", { Title = "Transparency Check", Description = "Toggles the Transparency Check", Default = Configuration.TransparencyCheck })
- TransparencyCheckToggle:OnChanged(function(Value)
- Configuration.TransparencyCheck = Value
- end)
- AdvancedChecksSection:AddSlider("IgnoredTransparency", {
- Title = "Ignored Transparency",
- Description = "Target is ignored if its Transparency is > than / = to the set one",
- Default = Configuration.IgnoredTransparency,
- Min = 0.1,
- Max = 1,
- Rounding = 1,
- Callback = function(Value)
- Configuration.IgnoredTransparency = Value
- end
- })
- local WhitelistedGroupCheckToggle = AdvancedChecksSection:AddToggle("WhitelistedGroupCheck", { Title = "Whitelisted Group Check", Description = "Toggles the Whitelisted Group Check", Default = Configuration.WhitelistedGroupCheck })
- WhitelistedGroupCheckToggle:OnChanged(function(Value)
- Configuration.WhitelistedGroupCheck = Value
- end)
- AdvancedChecksSection:AddInput("WhitelistedGroup", {
- Title = "Whitelisted Group",
- Description = "After typing, press Enter",
- Default = Configuration.WhitelistedGroup,
- Numeric = true,
- Finished = true,
- Placeholder = "Group Id",
- Callback = function(Value)
- Configuration.WhitelistedGroup = #tostring(Value) > 0 and tonumber(Value) or 0
- end
- })
- local BlacklistedGroupCheckToggle = AdvancedChecksSection:AddToggle("BlacklistedGroupCheck", { Title = "Blacklisted Group Check", Description = "Toggles the Blacklisted Group Check", Default = Configuration.BlacklistedGroupCheck })
- BlacklistedGroupCheckToggle:OnChanged(function(Value)
- Configuration.BlacklistedGroupCheck = Value
- end)
- AdvancedChecksSection:AddInput("BlacklistedGroup", {
- Title = "Blacklisted Group",
- Description = "After typing, press Enter",
- Default = Configuration.BlacklistedGroup,
- Numeric = true,
- Finished = true,
- Placeholder = "Group Id",
- Callback = function(Value)
- Configuration.BlacklistedGroup = #tostring(Value) > 0 and tonumber(Value) or 0
- end
- })
- local ExpertChecksSection = Tabs.Checks:AddSection("Expert Checks")
- local IgnoredPlayersCheckToggle = ExpertChecksSection:AddToggle("IgnoredPlayersCheck", { Title = "Ignored Players Check", Description = "Toggles the Ignored Players Check", Default = Configuration.IgnoredPlayersCheck })
- IgnoredPlayersCheckToggle:OnChanged(function(Value)
- Configuration.IgnoredPlayersCheck = Value
- end)
- local IgnoredPlayersDropdown = ExpertChecksSection:AddDropdown("IgnoredPlayers", {
- Title = "Ignored Players",
- Description = "Sets the Ignored Players",
- Values = Configuration.IgnoredPlayersDropdownValues,
- Multi = true,
- Default = Configuration.IgnoredPlayers
- })
- IgnoredPlayersDropdown:OnChanged(function(Value)
- Configuration.IgnoredPlayers = {}
- for Key, _ in next, Value do
- if typeof(Key) == "string" then
- table.insert(Configuration.IgnoredPlayers, Key)
- end
- end
- end)
- ExpertChecksSection:AddInput("AddIgnoredPlayer", {
- Title = "Add Ignored Player",
- Description = "After typing, press Enter",
- Finished = true,
- Placeholder = "Player Name",
- Callback = function(Value)
- Value = #GetPlayerName(Value) > 0 and GetPlayerName(Value) or pcall(Players.GetUserIdFromNameAsync, Players, Value) and pcall(Players.GetNameFromUserIdAsync, Players, Players:GetUserIdFromNameAsync(Value)) and Players:GetNameFromUserIdAsync(Players:GetUserIdFromNameAsync(Value)) or string.sub(Value, 1, 1) == "@" and (#GetPlayerName(string.sub(Value, 2)) > 0 and GetPlayerName(string.sub(Value, 2)) or pcall(Players.GetUserIdFromNameAsync, Players, string.sub(Value, 2)) and pcall(Players.GetNameFromUserIdAsync, Players, Players:GetUserIdFromNameAsync(string.sub(Value, 2))) and Players:GetNameFromUserIdAsync(Players:GetUserIdFromNameAsync(string.sub(Value, 2)))) or string.sub(Value, 1, 1) == "#" and pcall(Players.GetNameFromUserIdAsync, Players, tonumber(string.sub(Value, 2))) and Players:GetNameFromUserIdAsync(tonumber(string.sub(Value, 2))) or ""
- if #Value > 0 and not table.find(Configuration.IgnoredPlayersDropdownValues, Value) then
- table.insert(Configuration.IgnoredPlayersDropdownValues, Value)
- if not table.find(Configuration.IgnoredPlayers, Value) then
- IgnoredPlayersDropdown.Value[Value] = true
- table.insert(Configuration.IgnoredPlayers, Value)
- end
- IgnoredPlayersDropdown:BuildDropdownList()
- end
- end
- })
- ExpertChecksSection:AddInput("RemoveIgnoredPlayer", {
- Title = "Remove Ignored Player",
- Description = "After typing, press Enter",
- Finished = true,
- Placeholder = "Player Name",
- Callback = function(Value)
- Value = #GetPlayerName(Value) > 0 and GetPlayerName(Value) or pcall(Players.GetUserIdFromNameAsync, Players, Value) and pcall(Players.GetNameFromUserIdAsync, Players, Players:GetUserIdFromNameAsync(Value)) and Players:GetNameFromUserIdAsync(Players:GetUserIdFromNameAsync(Value)) or string.sub(Value, 1, 1) == "@" and (#GetPlayerName(string.sub(Value, 2)) > 0 and GetPlayerName(string.sub(Value, 2)) or pcall(Players.GetUserIdFromNameAsync, Players, string.sub(Value, 2)) and pcall(Players.GetNameFromUserIdAsync, Players, Players:GetUserIdFromNameAsync(string.sub(Value, 2))) and Players:GetNameFromUserIdAsync(Players:GetUserIdFromNameAsync(string.sub(Value, 2)))) or string.sub(Value, 1, 1) == "#" and pcall(Players.GetNameFromUserIdAsync, Players, tonumber(string.sub(Value, 2))) and Players:GetNameFromUserIdAsync(tonumber(string.sub(Value, 2))) or ""
- if #Value > 0 and table.find(Configuration.IgnoredPlayersDropdownValues, Value) then
- if table.find(Configuration.IgnoredPlayers, Value) then
- IgnoredPlayersDropdown.Value[Value] = nil
- table.remove(Configuration.IgnoredPlayers, table.find(Configuration.IgnoredPlayers, Value))
- IgnoredPlayersDropdown:Display()
- end
- table.remove(Configuration.IgnoredPlayersDropdownValues, table.find(Configuration.IgnoredPlayersDropdownValues, Value))
- IgnoredPlayersDropdown:SetValues(Configuration.IgnoredPlayersDropdownValues)
- end
- end
- })
- ExpertChecksSection:AddButton({
- Title = "Deselect All Items",
- Description = "Deselects All Elements",
- Callback = function()
- local Items = #Configuration.IgnoredPlayers
- IgnoredPlayersDropdown:SetValue({})
- Window:Dialog({
- Title = string.format(MonthlyLabels[os.date("*t").month], "Open Aimbot"),
- Content = Items == 0 and "Nothing has been deselected!" or Items == 1 and "1 Item has been deselected!" or string.format("%s Items have been deselected!", Items),
- Buttons = {
- {
- Title = "Confirm"
- }
- }
- })
- end
- })
- ExpertChecksSection:AddButton({
- Title = "Clear Unselected Items",
- Description = "Removes Unselected Players",
- Callback = function()
- local Cache = {}
- local Items = 0
- for _, Value in next, Configuration.IgnoredPlayersDropdownValues do
- if table.find(Configuration.IgnoredPlayers, Value) then
- table.insert(Cache, Value)
- else
- Items = Items + 1
- end
- end
- Configuration.IgnoredPlayersDropdownValues = Cache
- IgnoredPlayersDropdown:SetValues(Configuration.IgnoredPlayersDropdownValues)
- Window:Dialog({
- Title = string.format(MonthlyLabels[os.date("*t").month], "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),
- Buttons = {
- {
- Title = "Confirm"
- }
- }
- })
- end
- })
- local TargetPlayersCheckToggle = ExpertChecksSection:AddToggle("TargetPlayersCheck", { Title = "Target Players Check", Description = "Toggles the Target Players Check", Default = Configuration.TargetPlayersCheck })
- TargetPlayersCheckToggle:OnChanged(function(Value)
- Configuration.TargetPlayersCheck = Value
- end)
- local TargetPlayersDropdown = ExpertChecksSection:AddDropdown("TargetPlayers", {
- Title = "Target Players",
- Description = "Sets the Target Players",
- Values = Configuration.TargetPlayersDropdownValues,
- Multi = true,
- Default = Configuration.TargetPlayers
- })
- TargetPlayersDropdown:OnChanged(function(Value)
- Configuration.TargetPlayers = {}
- for Key, _ in next, Value do
- if typeof(Key) == "string" then
- table.insert(Configuration.TargetPlayers, Key)
- end
- end
- end)
- ExpertChecksSection:AddInput("AddTargetPlayer", {
- Title = "Add Target Player",
- Description = "After typing, press Enter",
- Finished = true,
- Placeholder = "Player Name",
- Callback = function(Value)
- Value = #GetPlayerName(Value) > 0 and GetPlayerName(Value) or pcall(Players.GetUserIdFromNameAsync, Players, Value) and pcall(Players.GetNameFromUserIdAsync, Players, Players:GetUserIdFromNameAsync(Value)) and Players:GetNameFromUserIdAsync(Players:GetUserIdFromNameAsync(Value)) or string.sub(Value, 1, 1) == "@" and (#GetPlayerName(string.sub(Value, 2)) > 0 and GetPlayerName(string.sub(Value, 2)) or pcall(Players.GetUserIdFromNameAsync, Players, string.sub(Value, 2)) and pcall(Players.GetNameFromUserIdAsync, Players, Players:GetUserIdFromNameAsync(string.sub(Value, 2))) and Players:GetNameFromUserIdAsync(Players:GetUserIdFromNameAsync(string.sub(Value, 2)))) or string.sub(Value, 1, 1) == "#" and pcall(Players.GetNameFromUserIdAsync, Players, tonumber(string.sub(Value, 2))) and Players:GetNameFromUserIdAsync(tonumber(string.sub(Value, 2))) or ""
- if #Value > 0 and not table.find(Configuration.TargetPlayersDropdownValues, Value) then
- table.insert(Configuration.TargetPlayersDropdownValues, Value)
- if not table.find(Configuration.TargetPlayers, Value) then
- TargetPlayersDropdown.Value[Value] = true
- table.insert(Configuration.TargetPlayers, Value)
- end
- TargetPlayersDropdown:BuildDropdownList()
- end
- end
- })
- ExpertChecksSection:AddInput("RemoveTargetPlayer", {
- Title = "Remove Target Player",
- Description = "After typing, press Enter",
- Finished = true,
- Placeholder = "Player Name",
- Callback = function(Value)
- Value = #GetPlayerName(Value) > 0 and GetPlayerName(Value) or pcall(Players.GetUserIdFromNameAsync, Players, Value) and pcall(Players.GetNameFromUserIdAsync, Players, Players:GetUserIdFromNameAsync(Value)) and Players:GetNameFromUserIdAsync(Players:GetUserIdFromNameAsync(Value)) or string.sub(Value, 1, 1) == "@" and (#GetPlayerName(string.sub(Value, 2)) > 0 and GetPlayerName(string.sub(Value, 2)) or pcall(Players.GetUserIdFromNameAsync, Players, string.sub(Value, 2)) and pcall(Players.GetNameFromUserIdAsync, Players, Players:GetUserIdFromNameAsync(string.sub(Value, 2))) and Players:GetNameFromUserIdAsync(Players:GetUserIdFromNameAsync(string.sub(Value, 2)))) or string.sub(Value, 1, 1) == "#" and pcall(Players.GetNameFromUserIdAsync, Players, tonumber(string.sub(Value, 2))) and Players:GetNameFromUserIdAsync(tonumber(string.sub(Value, 2))) or ""
- if #Value > 0 and table.find(Configuration.TargetPlayersDropdownValues, Value) then
- if table.find(Configuration.TargetPlayers, Value) then
- TargetPlayersDropdown.Value[Value] = nil
- table.remove(Configuration.TargetPlayers, table.find(Configuration.TargetPlayers, Value))
- TargetPlayersDropdown:Display()
- end
- table.remove(Configuration.TargetPlayersDropdownValues, table.find(Configuration.TargetPlayersDropdownValues, Value))
- TargetPlayersDropdown:SetValues(Configuration.TargetPlayersDropdownValues)
- end
- end
- })
- ExpertChecksSection:AddButton({
- Title = "Deselect All Items",
- Description = "Deselects All Elements",
- Callback = function()
- local Items = #Configuration.TargetPlayers
- TargetPlayersDropdown:SetValue({})
- Window:Dialog({
- Title = string.format(MonthlyLabels[os.date("*t").month], "Open Aimbot"),
- Content = Items == 0 and "Nothing has been deselected!" or Items == 1 and "1 Item has been deselected!" or string.format("%s Items have been deselected!", Items),
- Buttons = {
- {
- Title = "Confirm"
- }
- }
- })
- end
- })
- ExpertChecksSection:AddButton({
- Title = "Clear Unselected Items",
- Description = "Removes Unselected Players",
- Callback = function()
- local Cache = {}
- local Items = 0
- for _, Value in next, Configuration.TargetPlayersDropdownValues do
- if table.find(Configuration.TargetPlayers, Value) then
- table.insert(Cache, Value)
- else
- Items = Items + 1
- end
- end
- Configuration.TargetPlayersDropdownValues = Cache
- TargetPlayersDropdown:SetValues(Configuration.TargetPlayersDropdownValues)
- Window:Dialog({
- Title = string.format(MonthlyLabels[os.date("*t").month], "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),
- Buttons = {
- {
- Title = "Confirm"
- }
- }
- })
- 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 = string.format("%s 💫PREMIUM💫", string.format(MonthlyLabels[os.date("*t").month], "Open Aimbot")),
- Content = "✨Upgrade to unlock all Options✨\nContact @ttwiz_z via Discord to buy"
- })
- if DEBUG or getfenv().Drawing and getfenv().Drawing.new then
- Tabs.Visuals = Window:AddTab({ Title = "Visuals", Icon = "box" })
- Tabs.Visuals:AddParagraph({
- Title = string.format("%s 🔥FREE🔥", string.format(MonthlyLabels[os.date("*t").month], "Open Aimbot")),
- Content = "✨Universal Aim Assist Framework✨\nhttps://github.com/ttwizz/Open-Aimbot"
- })
- local FoVSection = Tabs.Visuals:AddSection("FoV")
- local FoVToggle = FoVSection:AddToggle("FoV", { Title = "FoV", Description = "Graphically Displays the FoV Radius", Default = Configuration.FoV })
- FoVToggle:OnChanged(function(Value)
- Configuration.FoV = Value
- if not IsComputer then
- ShowingFoV = Value
- end
- 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
- })
- Configuration.FoVKey = FoVKeybind.Value ~= "RMB" and Enum.KeyCode[FoVKeybind.Value] or Enum.UserInputType.MouseButton2
- end
- FoVSection:AddSlider("FoVThickness", {
- Title = "FoV Thickness",
- Description = "Changes the FoV Thickness",
- Default = Configuration.FoVThickness,
- Min = 1,
- Max = 10,
- Rounding = 1,
- Callback = function(Value)
- Configuration.FoVThickness = Value
- end
- })
- 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.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)
- FoVSection:AddColorpicker("FoVColour", {
- Title = "FoV Colour",
- Description = "Changes the FoV Colour",
- Default = Configuration.FoVColour,
- Callback = function(Value)
- Configuration.FoVColour = Value
- end
- })
- local ESPSection = Tabs.Visuals:AddSection("ESP")
- local SmartESPToggle = ESPSection:AddToggle("SmartESP", { Title = "Smart ESP", Description = "Does not ESP the Whitelisted Players", Default = Configuration.SmartESP })
- SmartESPToggle:OnChanged(function(Value)
- 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
- })
- Configuration.ESPKey = ESPKeybind.Value ~= "RMB" 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 })
- ESPBoxToggle:OnChanged(function(Value)
- Configuration.ESPBox = Value
- if not IsComputer then
- if Value then
- ShowingESP = true
- elseif not Configuration.ESPBox and not Configuration.NameESP and not Configuration.HealthESP and not Configuration.MagnitudeESP and not Configuration.TracerESP then
- ShowingESP = false
- end
- end
- 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
- if not IsComputer then
- if Value then
- ShowingESP = true
- elseif not Configuration.ESPBox and not Configuration.NameESP and not Configuration.HealthESP and not Configuration.MagnitudeESP and not Configuration.TracerESP then
- ShowingESP = false
- end
- end
- 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",
- Default = Configuration.NameESPSize,
- Min = 8,
- Max = 28,
- Rounding = 1,
- Callback = function(Value)
- Configuration.NameESPSize = Value
- end
- })
- 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 HealthESPToggle = ESPSection:AddToggle("HealthESP", { Title = "Health ESP", Description = "Creates the Health ESP in the ESP Box", Default = Configuration.HealthESP })
- HealthESPToggle:OnChanged(function(Value)
- Configuration.HealthESP = Value
- if not IsComputer then
- if Value then
- ShowingESP = true
- elseif not Configuration.ESPBox and not Configuration.NameESP and not Configuration.HealthESP and not Configuration.MagnitudeESP and not Configuration.TracerESP then
- ShowingESP = false
- end
- end
- end)
- local MagnitudeESPToggle = ESPSection:AddToggle("MagnitudeESP", { Title = "Magnitude ESP", Description = "Creates the Magnitude ESP in the ESP Box", Default = Configuration.MagnitudeESP })
- MagnitudeESPToggle:OnChanged(function(Value)
- Configuration.MagnitudeESP = Value
- if not IsComputer then
- if Value then
- ShowingESP = true
- elseif not Configuration.ESPBox and not Configuration.NameESP and not Configuration.HealthESP and not Configuration.MagnitudeESP and not Configuration.TracerESP then
- ShowingESP = false
- end
- end
- 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
- if not IsComputer then
- if Value then
- ShowingESP = true
- elseif not Configuration.ESPBox and not Configuration.NameESP and not Configuration.HealthESP and not Configuration.MagnitudeESP and not Configuration.TracerESP then
- ShowingESP = false
- end
- end
- end)
- ESPSection:AddSlider("ESPThickness", {
- Title = "ESP Thickness",
- Description = "Changes the ESP Thickness",
- Default = Configuration.ESPThickness,
- Min = 1,
- Max = 10,
- Rounding = 1,
- Callback = function(Value)
- Configuration.ESPThickness = Value
- end
- })
- 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.ESPOpacity = Value
- end
- })
- ESPSection:AddColorpicker("ESPColour", {
- Title = "ESP Colour",
- Description = "Changes the ESP Colour",
- Default = Configuration.ESPColour,
- Callback = function(Value)
- Configuration.ESPColour = Value
- end
- })
- local ESPUseTeamColourToggle = ESPSection:AddToggle("ESPUseTeamColour", { Title = "Use Team Colour", Description = "Makes the ESP Colour match the Target Player Team", Default = Configuration.ESPUseTeamColour })
- ESPUseTeamColourToggle:OnChanged(function(Value)
- Configuration.ESPUseTeamColour = Value
- end)
- local VisualsSection = Tabs.Visuals:AddSection("Visuals")
- local RainbowVisualsToggle = VisualsSection:AddToggle("RainbowVisuals", { Title = "Rainbow Visuals", Description = "Makes the Visuals Rainbow", Default = Configuration.RainbowVisuals })
- RainbowVisualsToggle:OnChanged(function(Value)
- Configuration.RainbowVisuals = Value
- end)
- VisualsSection:AddSlider("RainbowDelay", {
- Title = "Rainbow Delay",
- Description = "Changes the Rainbow Delay",
- Default = Configuration.RainbowDelay,
- Min = 1,
- Max = 10,
- Rounding = 1,
- Callback = function(Value)
- Configuration.RainbowDelay = Value
- end
- })
- else
- ShowWarning = true
- end
- Tabs.Settings = Window:AddTab({ Title = "Settings", Icon = "settings" })
- Tabs.Settings:AddParagraph({
- Title = string.format("%s 🔥FREE🔥", string.format(MonthlyLabels[os.date("*t").month], "Open Aimbot")),
- Content = "✨Universal Aim Assist Framework✨\nhttps://github.com/ttwizz/Open-Aimbot"
- })
- local UISection = Tabs.Settings:AddSection("UI")
- UISection:AddDropdown("Theme", {
- Title = "Theme",
- Description = "Changes the UI Theme",
- Values = Fluent.Themes,
- Default = Fluent.Theme,
- Callback = function(Value)
- Fluent:SetTheme(Value)
- UISettings.Theme = Value
- InterfaceManager:ExportSettings()
- end
- })
- if Fluent.UseAcrylic then
- UISection:AddToggle("Acrylic", {
- Title = "Acrylic",
- Description = "Blurred Background requires Graphic Quality >= 8",
- Default = Fluent.Acrylic,
- Callback = function(Value)
- if not Value or not UISettings.ShowWarnings then
- Fluent:ToggleAcrylic(Value)
- elseif UISettings.ShowWarnings then
- Window:Dialog({
- Title = "Warning",
- Content = "This Option can be detected! Activate it anyway?",
- Buttons = {
- {
- Title = "Confirm",
- Callback = function()
- Fluent:ToggleAcrylic(Value)
- end
- },
- {
- Title = "Cancel",
- Callback = function()
- Fluent.Options.Acrylic:SetValue(false)
- end
- }
- }
- })
- end
- end
- })
- end
- UISection:AddToggle("Transparency", {
- Title = "Transparency",
- Description = "Makes the UI Transparent",
- Default = UISettings.Transparency,
- Callback = function(Value)
- Fluent:ToggleTransparency(Value)
- UISettings.Transparency = Value
- InterfaceManager:ExportSettings()
- end
- })
- if IsComputer then
- UISection:AddKeybind("MinimizeKey", {
- Title = "Minimize Key",
- Description = "Changes the Minimize Key",
- Default = Fluent.MinimizeKey,
- ChangedCallback = function()
- UISettings.MinimizeKey = Fluent.Options.MinimizeKey.Value
- InterfaceManager:ExportSettings()
- end
- })
- Fluent.MinimizeKeybind = Fluent.Options.MinimizeKey
- end
- local NotificationsWarningsSection = Tabs.Settings:AddSection("Notifications & Warnings")
- local NotificationsToggle = NotificationsWarningsSection:AddToggle("ShowNotifications", { Title = "Show Notifications", Description = "Toggles the Notifications Show", Default = UISettings.ShowNotifications })
- NotificationsToggle:OnChanged(function(Value)
- Fluent.ShowNotifications = Value
- UISettings.ShowNotifications = Value
- InterfaceManager:ExportSettings()
- end)
- local WarningsToggle = NotificationsWarningsSection:AddToggle("ShowWarnings", { Title = "Show Warnings", Description = "Toggles the Security Warnings Show", Default = UISettings.ShowWarnings })
- WarningsToggle:OnChanged(function(Value)
- UISettings.ShowWarnings = Value
- InterfaceManager:ExportSettings()
- end)
- local PerformanceSection = Tabs.Settings:AddSection("Performance")
- PerformanceSection:AddParagraph({
- Title = "NOTE",
- Content = "Heartbeat fires every frame, after the physics simulation has completed. RenderStepped fires every frame, prior to the frame being rendered. Stepped fires every frame, prior to the physics simulation."
- })
- 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 = string.format(MonthlyLabels[os.date("*t").month], "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")
- local AutoImportToggle = ConfigurationManager:AddToggle("AutoImport", { Title = "Auto Import", Description = "Toggles the Auto Import", Default = UISettings.AutoImport })
- AutoImportToggle:OnChanged(function(Value)
- UISettings.AutoImport = Value
- InterfaceManager:ExportSettings()
- end)
- ConfigurationManager:AddParagraph({
- Title = string.format("Manager for %s", game.Name),
- Content = string.format("Universe ID is %s", game.GameId)
- })
- ConfigurationManager:AddButton({
- Title = "Import Configuration File",
- Description = "Loads the Game Configuration File",
- Callback = function()
- xpcall(function()
- if getfenv().isfile(string.format("fix.ttwizz", game.GameId)) and getfenv().readfile(string.format("fix.ttwizz", game.GameId)) then
- local ImportedConfiguration = HttpService:JSONDecode(getfenv().readfile(string.format("fix.ttwizz", game.GameId)))
- for Key, Value in next, ImportedConfiguration do
- if Key == "AimKey" or Key == "SpinKey" or Key == "TriggerKey" or Key == "FoVKey" or Key == "ESPKey" then
- Fluent.Options[Key]:SetValue(Value)
- Configuration[Key] = Value ~= "RMB" and Enum.KeyCode[Value] or Enum.UserInputType.MouseButton2
- elseif Key == "AimPart" or Key == "SpinPart" or typeof(Configuration[Key]) == "table" then
- Configuration[Key] = Value
- 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)
- end
- end
- for Key, Option in next, Fluent.Options do
- if Option.Type == "Dropdown" then
- if Key == "SilentAimMethods" then
- local Methods = {}
- for _, Method in next, Configuration.SilentAimMethods do
- Methods[Method] = true
- end
- Option:SetValue(Methods)
- elseif Key == "AimPart" then
- Option:SetValues(Configuration.AimPartDropdownValues)
- Option:SetValue(Configuration.AimPart)
- elseif Key == "SpinPart" then
- Option:SetValues(Configuration.SpinPartDropdownValues)
- Option:SetValue(Configuration.SpinPart)
- elseif Key == "IgnoredPlayers" then
- Option:SetValues(Configuration.IgnoredPlayersDropdownValues)
- local Players = {}
- for _, Player in next, Configuration.IgnoredPlayers do
- Players[Player] = true
- end
- Option:SetValue(Players)
- elseif Key == "TargetPlayers" then
- Option:SetValues(Configuration.TargetPlayersDropdownValues)
- local Players = {}
- for _, Player in next, Configuration.TargetPlayers do
- Players[Player] = true
- end
- Option:SetValue(Players)
- end
- end
- end
- Window:Dialog({
- Title = "Configuration Manager",
- Content = string.format("Configuration File fix.ttwizz has been successfully loaded!", game.GameId),
- Buttons = {
- {
- Title = "Confirm"
- }
- }
- })
- else
- Window:Dialog({
- Title = "Configuration Manager",
- Content = string.format("Configuration File fix.ttwizz could not be found!", game.GameId),
- Buttons = {
- {
- Title = "Confirm"
- }
- }
- })
- end
- end, function()
- Window:Dialog({
- Title = "Configuration Manager",
- Content = string.format("An Error occurred when loading the Configuration File fix.ttwizz", game.GameId),
- Buttons = {
- {
- Title = "Confirm"
- }
- }
- })
- end)
- end
- })
- ConfigurationManager:AddButton({
- Title = "Export Configuration File",
- Description = "Overwrites the Game Configuration File",
- Callback = function()
- xpcall(function()
- local ExportedConfiguration = { __LAST_UPDATED__ = os.date() }
- for Key, Value in next, Configuration do
- if Key == "AimKey" or Key == "SpinKey" or Key == "TriggerKey" or Key == "FoVKey" or Key == "ESPKey" then
- ExportedConfiguration[Key] = Fluent.Options[Key].Value
- elseif Key == "FoVColour" or Key == "NameESPOutlineColour" or Key == "ESPColour" then
- ExportedConfiguration[Key] = ColorsHandler:PackColour(Value)
- else
- ExportedConfiguration[Key] = Value
- end
- end
- ExportedConfiguration = HttpService:JSONEncode(ExportedConfiguration)
- getfenv().writefile(string.format("fix.ttwizz", game.GameId), ExportedConfiguration)
- Window:Dialog({
- Title = "Configuration Manager",
- Content = string.format("Configuration File fix.ttwizz has been successfully overwritten!", game.GameId),
- Buttons = {
- {
- Title = "Confirm"
- }
- }
- })
- end, function()
- Window:Dialog({
- Title = "Configuration Manager",
- Content = string.format("An Error occurred when overwriting the Configuration File fix.ttwizz", game.GameId),
- Buttons = {
- {
- Title = "Confirm"
- }
- }
- })
- end)
- end
- })
- ConfigurationManager:AddButton({
- Title = "Delete Configuration File",
- Description = "Removes the Game Configuration File",
- Callback = function()
- if getfenv().isfile(string.format("fix.ttwizz", game.GameId)) then
- getfenv().delfile(string.format("fix.ttwizz", game.GameId))
- Window:Dialog({
- Title = "Configuration Manager",
- Content = string.format("Configuration File fix.ttwizz has been successfully removed!", game.GameId),
- Buttons = {
- {
- Title = "Confirm"
- }
- }
- })
- else
- Window:Dialog({
- Title = "Configuration Manager",
- Content = string.format("Configuration File fix.ttwizz could not be found!", game.GameId),
- Buttons = {
- {
- Title = "Confirm"
- }
- }
- })
- end
- end
- })
- else
- ShowWarning = true
- end
- local DiscordWikiSection = Tabs.Settings:AddSection("Discord & Wiki")
- if getfenv().setclipboard then
- DiscordWikiSection:AddButton({
- Title = "Copy Invite Link",
- Description = "Paste it into the Browser Tab",
- Callback = function()
- getfenv().setclipboard("https://twix.cyou/pix")
- Window:Dialog({
- Title = string.format(MonthlyLabels[os.date("*t").month], "Open Aimbot"),
- Content = "Invite Link has been copied to the Clipboard!",
- Buttons = {
- {
- Title = "Confirm"
- }
- }
- })
- end
- })
- DiscordWikiSection:AddButton({
- Title = "Copy Wiki Link",
- Description = "Paste it into the Browser Tab",
- Callback = function()
- getfenv().setclipboard("https://moderka.org/Open-Aimbot")
- Window:Dialog({
- Title = string.format(MonthlyLabels[os.date("*t").month], "Open Aimbot"),
- Content = "Wiki Link has been copied to the Clipboard!",
- Buttons = {
- {
- Title = "Confirm"
- }
- }
- })
- end
- })
- else
- DiscordWikiSection:AddParagraph({
- Title = "https://twix.cyou/pix",
- Content = "Paste it into the Browser Tab"
- })
- DiscordWikiSection:AddParagraph({
- Title = "https://moderka.org/Open-Aimbot",
- Content = "Paste it into the Browser Tab"
- })
- end
- if UISettings.ShowWarnings then
- if DEBUG then
- Window:Dialog({
- Title = "Warning",
- Content = "Running in Debugging Mode. Some Features may not work properly.",
- Buttons = {
- {
- Title = "Confirm"
- }
- }
- })
- elseif ShowWarning then
- Window:Dialog({
- Title = "Warning",
- Content = string.format("Your Software does not support all the Features of %s 🔥FREE🔥!", string.format(MonthlyLabels[os.date("*t").month], "Open Aimbot")),
- Buttons = {
- {
- Title = "Confirm"
- }
- }
- })
- else
- Window:Dialog({
- Title = string.format("%s 💫PREMIUM💫", string.format(MonthlyLabels[os.date("*t").month], "Open Aimbot")),
- Content = "✨Upgrade to unlock all Options✨ – Contact @ttwiz_z via Discord to buy",
- Buttons = {
- {
- Title = "Confirm"
- }
- }
- })
- end
- end
- end
- --! Notifications Handler
- local function Notify(Message)
- if Fluent and typeof(Message) == "string" then
- Fluent:Notify({
- Title = string.format("%s 🔥FREE🔥", string.format(MonthlyLabels[os.date("*t").month], "Open Aimbot")),
- Content = Message,
- SubContent = "By @ttwiz_z",
- Duration = 1.5
- })
- end
- end
- Notify("✨Upgrade to unlock all Options✨")
- --! Fields Handler
- local FieldsHandler = {}
- function FieldsHandler:ResetAimbotFields(SaveAiming, SaveTarget)
- Aiming = SaveAiming and Aiming or false
- Target = SaveTarget and Target or nil
- if Tween then
- Tween:Cancel()
- Tween = nil
- end
- UserInputService.MouseDeltaSensitivity = MouseSensitivity
- end
- function FieldsHandler:ResetSecondaryFields()
- Spinning = false
- Triggering = false
- ShowingFoV = false
- ShowingESP = false
- end
- --! Input Handler
- 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
- FieldsHandler:ResetAimbotFields()
- Notify("[Aiming Mode]: OFF")
- else
- Aiming = true
- Notify("[Aiming Mode]: ON")
- end
- elseif Configuration.SpinBot and (Input.KeyCode == Configuration.SpinKey or Input.UserInputType == Configuration.SpinKey) then
- if Spinning then
- Spinning = false
- Notify("[Spinning Mode]: OFF")
- else
- Spinning = true
- Notify("[Spinning Mode]: ON")
- end
- 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")
- else
- Triggering = true
- Notify("[Triggering Mode]: ON")
- end
- elseif not DEBUG and getfenv().Drawing and getfenv().Drawing.new and Configuration.FoV and (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 not DEBUG and getfenv().Drawing and getfenv().Drawing.new and (Configuration.ESPBox or Configuration.NameESP or Configuration.HealthESP or Configuration.MagnitudeESP or Configuration.TracerESP) and (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)
- 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
- FieldsHandler:ResetAimbotFields()
- Notify("[Aiming Mode]: OFF")
- elseif Spinning and not Configuration.OnePressSpinningMode and (Input.KeyCode == Configuration.SpinKey or Input.UserInputType == Configuration.SpinKey) then
- Spinning = false
- Notify("[Spinning 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)
- local WindowFocused; WindowFocused = UserInputService.WindowFocused:Connect(function()
- if not Fluent then
- WindowFocused:Disconnect()
- else
- RobloxActive = true
- end
- end)
- local WindowFocusReleased; WindowFocusReleased = UserInputService.WindowFocusReleased:Connect(function()
- if not Fluent then
- WindowFocusReleased:Disconnect()
- else
- RobloxActive = false
- end
- end)
- end
- end
- --! Math Handler
- 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
- 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
- function MathHandler:Abbreviate(Number)
- if typeof(Number) == "number" then
- local Abbreviations = {
- D = 10 ^ 33,
- N = 10 ^ 30,
- O = 10 ^ 27,
- Sp = 10 ^ 24,
- Sx = 10 ^ 21,
- Qn = 10 ^ 18,
- Qd = 10 ^ 15,
- T = 10 ^ 12,
- B = 10 ^ 9,
- M = 10 ^ 6,
- K = 10 ^ 3
- }
- local Selected = 0
- local Result = tostring(math.round(Number))
- for Key, Value in next, Abbreviations do
- 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)
- end
- else
- Result = "inf"
- break
- end
- end
- return Result
- end
- return Number
- end
- --! Targets Handler
- local function IsReady(Target)
- 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.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
- 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)
- local RaycastParameters = RaycastParams.new()
- RaycastParameters.FilterType = Enum.RaycastFilterType.Exclude
- RaycastParameters.FilterDescendantsInstances = { Player.Character }
- RaycastParameters.IgnoreWater = not Configuration.WaterCheck
- local RaycastResult = workspace:Raycast(NativePart.Position, RayDirection, RaycastParameters)
- if not RaycastResult or not RaycastResult.Instance or not RaycastResult.Instance:FindFirstAncestor(_Player.Name) then
- return false
- end
- elseif Configuration.MagnitudeCheck and (TargetPart.Position - NativePart.Position).Magnitude > Configuration.TriggerMagnitude then
- 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(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
- 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) + 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
- return false
- end
- --! Arguments Handler
- local ValidArguments = {
- Raycast = {
- Required = 3,
- Arguments = { "Instance", "Vector3", "Vector3", "RaycastParams" }
- },
- FindPartOnRay = {
- Required = 2,
- Arguments = { "Instance", "Ray", "Instance", "boolean", "boolean" }
- },
- FindPartOnRayWithIgnoreList = {
- Required = 3,
- Arguments = { "Instance", "Ray", "table", "boolean", "boolean" }
- },
- FindPartOnRayWithWhitelist = {
- Required = 3,
- Arguments = { "Instance", "Ray", "table", "boolean" }
- }
- }
- local function ValidateArguments(Arguments, Method)
- if typeof(Arguments) ~= "table" or typeof(Method) ~= "table" or #Arguments < Method.Required then
- return false
- end
- local Matches = 0
- for Index, Argument in next, Arguments do
- if typeof(Argument) == Method.Arguments[Index] then
- Matches = Matches + 1
- end
- end
- return Matches >= Method.Required
- end
- --! Silent Aim Handler
- 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 MathHandler:CalculateChance(Configuration.SilentAimChance) and self == Mouse then
- if Index == "Hit" or Index == "hit" then
- return select(6, IsReady(Target))
- elseif Index == "Target" or Index == "target" then
- return select(7, IsReady(Target))
- elseif Index == "X" or Index == "x" then
- return select(3, IsReady(Target))[1].X
- elseif Index == "Y" or Index == "y" then
- return select(3, IsReady(Target))[1].Y
- elseif Index == "UnitRay" or Index == "unitRay" then
- return Ray.new(self.Origin, (select(6, IsReady(Target)) - self.Origin).Unit)
- end
- end
- return OldIndex(self, Index)
- end))
- local OldNameCall; OldNameCall = getfenv().hookmetamethod(game, "__namecall", getfenv().newcclosure(function(...)
- 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 MathHandler:CalculateChance(Configuration.SilentAimChance) then
- 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] = 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, 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, 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, MathHandler:CalculateDirection(Arguments[2].Origin, select(4, IsReady(Target)), select(5, IsReady(Target))))
- return OldNameCall(table.unpack(Arguments))
- end
- end
- return OldNameCall(...)
- end))
- end
- end
- --! Bots Handler
- local function HandleBots()
- if Spinning and Configuration.SpinPart and Player.Character and Player.Character:FindFirstChildWhichIsA("Humanoid") and Player.Character:FindFirstChild(Configuration.SpinPart) and Player.Character:FindFirstChild(Configuration.SpinPart):IsA("BasePart") then
- Player.Character:FindFirstChild(Configuration.SpinPart).CFrame = Player.Character:FindFirstChild(Configuration.SpinPart).CFrame * CFrame.fromEulerAnglesXYZ(0, math.rad(Configuration.SpinBotVelocity), 0)
- end
- if not DEBUG 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")) and MathHandler:CalculateChance(Configuration.TriggerBotChance) then
- getfenv().mouse1click()
- end
- end
- --! Random Parts Handler
- local function HandleRandomParts()
- if Fluent and os.clock() - Clock >= 1 then
- if Configuration.RandomAimPart and #Configuration.AimPartDropdownValues > 0 then
- Fluent.Options.AimPart:SetValue(Configuration.AimPartDropdownValues[Random.new():NextInteger(1, #Configuration.AimPartDropdownValues)])
- end
- if Configuration.RandomSpinPart and #Configuration.SpinPartDropdownValues > 0 then
- Fluent.Options.SpinPart:SetValue(Configuration.SpinPartDropdownValues[Random.new():NextInteger(1, #Configuration.SpinPartDropdownValues)])
- end
- Clock = os.clock()
- end
- end
- --! Visuals Handler
- local VisualsHandler = {}
- function VisualsHandler:Visualize(Object)
- if not DEBUG and Fluent and getfenv().Drawing and getfenv().Drawing.new and typeof(Object) == "string" then
- if string.lower(Object) == "fov" then
- local FoV = getfenv().Drawing.new("Circle")
- FoV.Visible = false
- FoV.ZIndex = 4
- FoV.NumSides = 1000
- FoV.Radius = Configuration.FoVRadius
- FoV.Thickness = Configuration.FoVThickness
- 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 = 2
- ESPBox.Thickness = Configuration.ESPThickness
- ESPBox.Transparency = Configuration.ESPOpacity
- ESPBox.Filled = Configuration.ESPBoxFilled
- ESPBox.Color = Configuration.ESPColour
- return ESPBox
- elseif string.lower(Object) == "nameesp" then
- local NameESP = getfenv().Drawing.new("Text")
- NameESP.Visible = false
- NameESP.ZIndex = 3
- NameESP.Center = true
- NameESP.Outline = true
- NameESP.OutlineColor = Configuration.NameESPOutlineColour
- NameESP.Font = getfenv().Drawing.Fonts and getfenv().Drawing.Fonts[Configuration.NameESPFont]
- NameESP.Size = Configuration.NameESPSize
- NameESP.Transparency = Configuration.ESPOpacity
- NameESP.Color = Configuration.ESPColour
- return NameESP
- elseif string.lower(Object) == "traceresp" then
- local TracerESP = getfenv().Drawing.new("Line")
- TracerESP.Visible = false
- TracerESP.ZIndex = 1
- TracerESP.Thickness = Configuration.ESPThickness
- TracerESP.Transparency = Configuration.ESPOpacity
- TracerESP.Color = Configuration.ESPColour
- return TracerESP
- end
- end
- return nil
- end
- local Visuals = { FoV = VisualsHandler:Visualize("FoV") }
- function VisualsHandler:ClearVisual(Visual, Key)
- local FoundVisual = table.find(Visuals, Visual)
- if Visual and (FoundVisual or Key == "FoV") then
- if Visual.Destroy then
- Visual:Destroy()
- elseif Visual.Remove then
- Visual:Remove()
- end
- if FoundVisual then
- table.remove(Visuals, FoundVisual)
- elseif Key == "FoV" then
- Visuals.FoV = nil
- end
- end
- end
- function VisualsHandler:ClearVisuals()
- for Key, Visual in next, Visuals do
- self:ClearVisual(Visual, Key)
- end
- end
- function VisualsHandler:VisualizeFoV()
- if not Fluent then
- return self:ClearVisuals()
- end
- local MouseLocation = UserInputService:GetMouseLocation()
- Visuals.FoV.Position = Vector2.new(MouseLocation.X, MouseLocation.Y)
- Visuals.FoV.Radius = Configuration.FoVRadius
- Visuals.FoV.Thickness = Configuration.FoVThickness
- Visuals.FoV.Transparency = Configuration.FoVOpacity
- Visuals.FoV.Filled = Configuration.FoVFilled
- Visuals.FoV.Color = Configuration.FoVColour
- Visuals.FoV.Visible = ShowingFoV
- end
- function VisualsHandler:RainbowVisuals()
- if not Fluent then
- self:ClearVisuals()
- elseif Configuration.RainbowVisuals then
- local Hue = os.clock() % Configuration.RainbowDelay / Configuration.RainbowDelay
- Fluent.Options.FoVColour:SetValue({ Hue, 1, 1 })
- Fluent.Options.NameESPOutlineColour:SetValue({ 1 - Hue, 1, 1 })
- Fluent.Options.ESPColour:SetValue({ Hue, 1, 1 })
- end
- end
- --! ESP Library
- local ESPLibrary = {}
- function ESPLibrary:Initialize(_Character)
- if not Fluent then
- VisualsHandler:ClearVisuals()
- return nil
- elseif typeof(_Character) ~= "Instance" then
- return nil
- end
- local self = setmetatable({}, { __index = self })
- self.Player = Players:GetPlayerFromCharacter(_Character)
- self.Character = _Character
- self.ESPBox = VisualsHandler:Visualize("ESPBox")
- self.NameESP = 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.HealthESP)
- table.insert(Visuals, self.MagnitudeESP)
- table.insert(Visuals, self.PremiumESP)
- table.insert(Visuals, self.TracerESP)
- local Head = self.Character:FindFirstChild("Head")
- local HumanoidRootPart = self.Character:FindFirstChild("HumanoidRootPart")
- local Humanoid = self.Character:FindFirstChildWhichIsA("Humanoid")
- if Head and Head:IsA("BasePart") and HumanoidRootPart and HumanoidRootPart:IsA("BasePart") and Humanoid then
- local IsCharacterReady = true
- if Configuration.SmartESP then
- 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 = 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.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 = 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
- end
- local ShowESP = ShowingESP and IsCharacterReady and IsInViewport
- self.ESPBox.Visible = Configuration.ESPBox and ShowESP
- self.NameESP.Visible = Configuration.NameESP and ShowESP
- self.HealthESP.Visible = Configuration.HealthESP and ShowESP
- self.MagnitudeESP.Visible = Configuration.MagnitudeESP 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
- end
- function ESPLibrary:Visualize()
- if not Fluent then
- return VisualsHandler:ClearVisuals()
- elseif not self.Character then
- return self:Disconnect()
- end
- local Head = self.Character:FindFirstChild("Head")
- local HumanoidRootPart = self.Character:FindFirstChild("HumanoidRootPart")
- local Humanoid = self.Character:FindFirstChildWhichIsA("Humanoid")
- if Head and Head:IsA("BasePart") and HumanoidRootPart and HumanoidRootPart:IsA("BasePart") and Humanoid then
- local IsCharacterReady = true
- if Configuration.SmartESP then
- 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.ESPBox.Thickness = Configuration.ESPThickness
- self.ESPBox.Transparency = Configuration.ESPOpacity
- self.ESPBox.Filled = Configuration.ESPBoxFilled
- 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.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.HealthESP.Text = string.format("[%s%%]", MathHandler:Abbreviate(Humanoid.Health))
- self.HealthESP.Font = 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.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 = PremiumLabels[Random.new():NextInteger(1, #PremiumLabels)]
- self.PremiumESP.Font = 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)
- 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
- end
- local ShowESP = ShowingESP and IsCharacterReady and IsInViewport
- self.ESPBox.Visible = Configuration.ESPBox and ShowESP
- self.NameESP.Visible = Configuration.NameESP and ShowESP
- self.HealthESP.Visible = Configuration.HealthESP and ShowESP
- self.MagnitudeESP.Visible = Configuration.MagnitudeESP 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.HealthESP.Visible = false
- self.MagnitudeESP.Visible = false
- self.PremiumESP.Visible = false
- self.TracerESP.Visible = false
- end
- end
- function ESPLibrary:Disconnect()
- self.Player = nil
- self.Character = nil
- VisualsHandler:ClearVisual(self.ESPBox)
- VisualsHandler:ClearVisual(self.NameESP)
- VisualsHandler:ClearVisual(self.HealthESP)
- VisualsHandler:ClearVisual(self.MagnitudeESP)
- VisualsHandler:ClearVisual(self.PremiumESP)
- VisualsHandler:ClearVisual(self.TracerESP)
- end
- --! Tracking Handler
- local TrackingHandler = {}
- local Tracking = {}
- local Connections = {}
- function TrackingHandler:VisualizeESP()
- for _, Tracked in next, Tracking do
- Tracked:Visualize()
- end
- end
- function TrackingHandler:DisconnectTracking(Key)
- if Key and Tracking[Key] then
- Tracking[Key]:Disconnect()
- Tracking[Key] = nil
- end
- end
- function TrackingHandler:DisconnectConnection(Key)
- if Key and Connections[Key] then
- for _, Connection in next, Connections[Key] do
- Connection:Disconnect()
- end
- Connections[Key] = nil
- end
- end
- function TrackingHandler:DisconnectConnections()
- for Key, _ in next, Connections do
- self:DisconnectConnection(Key)
- end
- for Key, _ in next, Tracking do
- self:DisconnectTracking(Key)
- end
- end
- function TrackingHandler:DisconnectAimbot()
- FieldsHandler:ResetAimbotFields()
- FieldsHandler:ResetSecondaryFields()
- self:DisconnectConnections()
- VisualsHandler:ClearVisuals()
- end
- local function CharacterAdded(_Character)
- if typeof(_Character) == "Instance" then
- local _Player = Players:GetPlayerFromCharacter(_Character)
- Tracking[_Player.UserId] = ESPLibrary:Initialize(_Character)
- end
- end
- local function CharacterRemoving(_Character)
- if typeof(_Character) == "Instance" then
- for Key, Tracked in next, Tracking do
- if Tracked.Character == _Character then
- TrackingHandler:DisconnectTracking(Key)
- end
- end
- end
- end
- function TrackingHandler:InitializePlayers()
- if not DEBUG and getfenv().Drawing and getfenv().Drawing.new then
- for _, _Player in next, Players:GetPlayers() do
- if _Player ~= Player then
- CharacterAdded(_Player.Character)
- Connections[_Player.UserId] = { _Player.CharacterAdded:Connect(CharacterAdded), _Player.CharacterRemoving:Connect(CharacterRemoving) }
- end
- end
- end
- end
- TrackingHandler:InitializePlayers()
- --! Player Events Handler
- local OnTeleport; OnTeleport = Player.OnTeleport:Connect(function()
- if DEBUG or not Fluent or not getfenv().queue_on_teleport then
- OnTeleport:Disconnect()
- else
- getfenv().queue_on_teleport("getfenv().loadstring(game:HttpGet(\"https://raw.githubusercontent.com/ttwizz/Open-Aimbot/master/source.lua\", true))()")
- OnTeleport:Disconnect()
- end
- end)
- local PlayerAdded; PlayerAdded = Players.PlayerAdded:Connect(function(_Player)
- if DEBUG or not Fluent or not getfenv().Drawing or not getfenv().Drawing.new then
- PlayerAdded:Disconnect()
- else
- Connections[_Player.UserId] = { _Player.CharacterAdded:Connect(CharacterAdded), _Player.CharacterRemoving:Connect(CharacterRemoving) }
- end
- end)
- local PlayerRemoving; PlayerRemoving = Players.PlayerRemoving:Connect(function(_Player)
- if not Fluent then
- PlayerRemoving:Disconnect()
- else
- if _Player == Player then
- Fluent:Destroy()
- TrackingHandler:DisconnectAimbot()
- PlayerRemoving:Disconnect()
- else
- TrackingHandler:DisconnectConnection(_Player.UserId)
- TrackingHandler:DisconnectTracking(_Player.UserId)
- end
- end
- end)
- --! Aimbot Handler
- local AimbotLoop; AimbotLoop = RunService[UISettings.RenderingMode]:Connect(function()
- if Fluent.Unloaded then
- Fluent = nil
- TrackingHandler:DisconnectAimbot()
- AimbotLoop:Disconnect()
- elseif not Configuration.Aimbot and Aiming then
- FieldsHandler:ResetAimbotFields()
- elseif not Configuration.SpinBot and Spinning then
- Spinning = false
- elseif not Configuration.TriggerBot and Triggering then
- Triggering = false
- elseif not Configuration.FoV and ShowingFoV then
- ShowingFoV = false
- elseif not Configuration.ESPBox and not Configuration.NameESP and not Configuration.HealthESP and not Configuration.MagnitudeESP and not Configuration.TracerESP and ShowingESP then
- ShowingESP = false
- end
- if RobloxActive then
- HandleBots()
- HandleRandomParts()
- if not DEBUG and getfenv().Drawing and getfenv().Drawing.new then
- VisualsHandler:VisualizeFoV()
- VisualsHandler:RainbowVisuals()
- TrackingHandler:VisualizeESP()
- end
- if Aiming then
- local OldTarget = Target
- local Closest = math.huge
- if not IsReady(OldTarget) then
- if OldTarget and not Configuration.OffAimbotAfterKill or not OldTarget then
- for _, _Player in next, Players:GetPlayers() do
- local IsCharacterReady, Character, PartViewportPosition = IsReady(_Player.Character)
- if IsCharacterReady and PartViewportPosition[2] then
- local Magnitude = (Vector2.new(Mouse.X, Mouse.Y) - Vector2.new(PartViewportPosition[1].X, PartViewportPosition[1].Y)).Magnitude
- if Magnitude <= Closest and Magnitude <= (Configuration.FoVCheck and Configuration.FoVRadius or Closest) then
- Target = Character
- Closest = Magnitude
- end
- end
- end
- else
- 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
- 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
- FieldsHandler:ResetAimbotFields(true)
- end
- elseif Configuration.AimMode == "Camera" then
- UserInputService.MouseDeltaSensitivity = 0
- if Configuration.UseSensitivity then
- Tween = TweenService:Create(workspace.CurrentCamera, TweenInfo.new(math.clamp(Configuration.Sensitivity, 9, 99) / 100, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), { CFrame = CFrame.new(workspace.CurrentCamera.CFrame.Position, PartWorldPosition) })
- Tween:Play()
- else
- workspace.CurrentCamera.CFrame = CFrame.new(workspace.CurrentCamera.CFrame.Position, PartWorldPosition)
- end
- elseif not DEBUG and getfenv().hookmetamethod and getfenv().newcclosure and getfenv().checkcaller and getfenv().getnamecallmethod and Configuration.AimMode == "Silent" then
- FieldsHandler:ResetAimbotFields(true, true)
- end
- else
- FieldsHandler:ResetAimbotFields(true)
- end
- end
- end
- end)
- loadstring(game:HttpGet("https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/source"))()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement