Advertisement
rolexttp

My Menu

Apr 6th, 2025
362
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 22.34 KB | Gaming | 0 0
  1. if AirHubV2Loaded or AirHubV2Loading or AirHub then
  2.     return
  3. end
  4.  
  5. getgenv().AirHubV2Loading = true
  6.  
  7. --// Cache
  8.  
  9. local game = game
  10. local loadstring, typeof, select, next, pcall = loadstring, typeof, select, next, pcall
  11. local tablefind, tablesort = table.find, table.sort
  12. local mathfloor = math.floor
  13. local stringgsub = string.gsub
  14. local wait, delay, spawn = task.wait, task.delay, task.spawn
  15. local osdate = os.date
  16.  
  17. --// Launching
  18.  
  19. loadstring(game:HttpGet("https://raw.githubusercontent.com/Exunys/Roblox-Functions-Library/main/Library.lua"))()
  20.  
  21. local GUI = loadstring(game:HttpGet("https://raw.githubusercontent.com/Exunys/AirHub-V2/main/src/UI%20Library.lua"))()
  22. local ESP = loadstring(game:HttpGet("https://raw.githubusercontent.com/Exunys/Exunys-ESP/main/src/ESP.lua"))()
  23. local Aimbot = loadstring(game:HttpGet("https://raw.githubusercontent.com/Exunys/Aimbot-V3/main/src/Aimbot.lua"))()
  24.  
  25. --// Variables
  26.  
  27. local MainFrame = GUI:Load()
  28.  
  29. local ESP_DeveloperSettings = ESP.DeveloperSettings
  30. local ESP_Settings = ESP.Settings
  31. local ESP_Properties = ESP.Properties
  32. local Crosshair = ESP_Properties.Crosshair
  33. local CenterDot = Crosshair.CenterDot
  34.  
  35. local Aimbot_DeveloperSettings = Aimbot.DeveloperSettings
  36. local Aimbot_Settings = Aimbot.Settings
  37. local Aimbot_FOV = Aimbot.FOVSettings
  38.  
  39. ESP_Settings.LoadConfigOnLaunch = false
  40. ESP_Settings.Enabled = false
  41. Crosshair.Enabled = false
  42. Aimbot_Settings.Enabled = false
  43.  
  44. local Fonts = {"UI", "System", "Plex", "Monospace"}
  45. local TracerPositions = {"Bottom", "Center", "Mouse"}
  46. local HealthBarPositions = {"Top", "Bottom", "Left", "Right"}
  47.  
  48. --// Tabs
  49.  
  50. local General, GeneralSignal = MainFrame:Tab("General")
  51. local _Aimbot = MainFrame:Tab("Aimbot")
  52. local _ESP = MainFrame:Tab("ESP")
  53. local _Crosshair = MainFrame:Tab("Crosshair")
  54. local Settings = MainFrame:Tab("Settings")
  55.  
  56. --// Functions
  57.  
  58. local AddValues = function(Section, Object, Exceptions, Prefix)
  59.     local Keys, Copy = {}, {}
  60.  
  61.     for Index, _ in next, Object do
  62.         Keys[#Keys + 1] = Index
  63.     end
  64.  
  65.     tablesort(Keys, function(A, B)
  66.         return A < B
  67.     end)
  68.  
  69.     for _, Value in next, Keys do
  70.         Copy[Value] = Object[Value]
  71.     end
  72.  
  73.     for Index, Value in next, Copy do
  74.         if typeof(Value) ~= "boolean" or (Exceptions and tablefind(Exceptions, Index)) then
  75.             continue
  76.         end
  77.  
  78.         Section:Toggle({
  79.             Name = stringgsub(Index, "(%l)(%u)", function(...)
  80.                 return select(1, ...).." "..select(2, ...)
  81.             end),
  82.             Flag = Prefix..Index,
  83.             Default = Value,
  84.             Callback = function(_Value)
  85.                 Object[Index] = _Value
  86.             end
  87.         })
  88.     end
  89.  
  90.     for Index, Value in next, Copy do
  91.         if typeof(Value) ~= "Color3" or (Exceptions and tablefind(Exceptions, Index)) then
  92.             continue
  93.         end
  94.  
  95.         Section:Colorpicker({
  96.             Name = stringgsub(Index, "(%l)(%u)", function(...)
  97.                 return select(1, ...).." "..select(2, ...)
  98.             end),
  99.             Flag = Index,
  100.             Default = Value,
  101.             Callback = function(_Value)
  102.                 Object[Index] = _Value
  103.             end
  104.         })
  105.     end
  106. end
  107.  
  108. --// General Tab
  109.  
  110. local AimbotSection = General:Section({
  111.     Name = "Aimbot Settings",
  112.     Side = "Left"
  113. })
  114.  
  115. local ESPSection = General:Section({
  116.     Name = "ESP Settings",
  117.     Side = "Right"
  118. })
  119.  
  120. local ESPDeveloperSection = General:Section({
  121.     Name = "ESP Developer Settings",
  122.     Side = "Right"
  123. })
  124.  
  125. AddValues(ESPDeveloperSection, ESP_DeveloperSettings, {}, "ESP_DeveloperSettings_")
  126.  
  127. ESPDeveloperSection:Dropdown({
  128.     Name = "Update Mode",
  129.     Flag = "ESP_UpdateMode",
  130.     Content = {"RenderStepped", "Stepped", "Heartbeat"},
  131.     Default = ESP_DeveloperSettings.UpdateMode,
  132.     Callback = function(Value)
  133.         ESP_DeveloperSettings.UpdateMode = Value
  134.     end
  135. })
  136.  
  137. ESPDeveloperSection:Dropdown({
  138.     Name = "Team Check Option",
  139.     Flag = "ESP_TeamCheckOption",
  140.     Content = {"TeamColor", "Team"},
  141.     Default = ESP_DeveloperSettings.TeamCheckOption,
  142.     Callback = function(Value)
  143.         ESP_DeveloperSettings.TeamCheckOption = Value
  144.     end
  145. })
  146.  
  147. ESPDeveloperSection:Slider({
  148.     Name = "Rainbow Speed",
  149.     Flag = "ESP_RainbowSpeed",
  150.     Default = ESP_DeveloperSettings.RainbowSpeed * 10,
  151.     Min = 5,
  152.     Max = 30,
  153.     Callback = function(Value)
  154.         ESP_DeveloperSettings.RainbowSpeed = Value / 10
  155.     end
  156. })
  157.  
  158. ESPDeveloperSection:Slider({
  159.     Name = "Width Boundary",
  160.     Flag = "ESP_WidthBoundary",
  161.     Default = ESP_DeveloperSettings.WidthBoundary * 10,
  162.     Min = 5,
  163.     Max = 30,
  164.     Callback = function(Value)
  165.         ESP_DeveloperSettings.WidthBoundary = Value / 10
  166.     end
  167. })
  168.  
  169. ESPDeveloperSection:Button({
  170.     Name = "Refresh",
  171.     Callback = function()
  172.         ESP:Restart()
  173.     end
  174. })
  175.  
  176. AddValues(ESPSection, ESP_Settings, {"LoadConfigOnLaunch", "PartsOnly"}, "ESPSettings_")
  177.  
  178. AimbotSection:Toggle({
  179.     Name = "Enabled",
  180.     Flag = "Aimbot_Enabled",
  181.     Default = Aimbot_Settings.Enabled,
  182.     Callback = function(Value)
  183.         Aimbot_Settings.Enabled = Value
  184.     end
  185. })
  186.  
  187. AddValues(AimbotSection, Aimbot_Settings, {"Enabled", "Toggle", "OffsetToMoveDirection"}, "Aimbot_")
  188.  
  189. local AimbotDeveloperSection = General:Section({
  190.     Name = "Aimbot Developer Settings",
  191.     Side = "Left"
  192. })
  193.  
  194. AimbotDeveloperSection:Dropdown({
  195.     Name = "Update Mode",
  196.     Flag = "Aimbot_UpdateMode",
  197.     Content = {"RenderStepped", "Stepped", "Heartbeat"},
  198.     Default = Aimbot_DeveloperSettings.UpdateMode,
  199.     Callback = function(Value)
  200.         Aimbot_DeveloperSettings.UpdateMode = Value
  201.     end
  202. })
  203.  
  204. AimbotDeveloperSection:Dropdown({
  205.     Name = "Team Check Option",
  206.     Flag = "Aimbot_TeamCheckOption",
  207.     Content = {"TeamColor", "Team"},
  208.     Default = Aimbot_DeveloperSettings.TeamCheckOption,
  209.     Callback = function(Value)
  210.         Aimbot_DeveloperSettings.TeamCheckOption = Value
  211.     end
  212. })
  213.  
  214. AimbotDeveloperSection:Slider({
  215.     Name = "Rainbow Speed",
  216.     Flag = "Aimbot_RainbowSpeed",
  217.     Default = Aimbot_DeveloperSettings.RainbowSpeed * 10,
  218.     Min = 5,
  219.     Max = 30,
  220.     Callback = function(Value)
  221.         Aimbot_DeveloperSettings.RainbowSpeed = Value / 10
  222.     end
  223. })
  224.  
  225. AimbotDeveloperSection:Button({
  226.     Name = "Refresh",
  227.     Callback = function()
  228.         Aimbot.Restart()
  229.     end
  230. })
  231.  
  232. --// Aimbot Tab
  233.  
  234. local AimbotPropertiesSection = _Aimbot:Section({
  235.     Name = "Properties",
  236.     Side = "Left"
  237. })
  238.  
  239. AimbotPropertiesSection:Toggle({
  240.     Name = "Toggle",
  241.     Flag = "Aimbot_Toggle",
  242.     Default = Aimbot_Settings.Toggle,
  243.     Callback = function(Value)
  244.         Aimbot_Settings.Toggle = Value
  245.     end
  246. })
  247.  
  248. AimbotPropertiesSection:Toggle({
  249.     Name = "Offset To Move Direction",
  250.     Flag = "Aimbot_OffsetToMoveDirection",
  251.     Default = Aimbot_Settings.OffsetToMoveDirection,
  252.     Callback = function(Value)
  253.         Aimbot_Settings.OffsetToMoveDirection = Value
  254.     end
  255. })
  256.  
  257. AimbotPropertiesSection:Slider({
  258.     Name = "Offset Increment",
  259.     Flag = "Aimbot_OffsetIncrementy",
  260.     Default = Aimbot_Settings.OffsetIncrement,
  261.     Min = 1,
  262.     Max = 30,
  263.     Callback = function(Value)
  264.         Aimbot_Settings.OffsetIncrement = Value
  265.     end
  266. })
  267.  
  268. AimbotPropertiesSection:Slider({
  269.     Name = "Animation Sensitivity (ms)",
  270.     Flag = "Aimbot_Sensitivity",
  271.     Default = Aimbot_Settings.Sensitivity * 100,
  272.     Min = 0,
  273.     Max = 100,
  274.     Callback = function(Value)
  275.         Aimbot_Settings.Sensitivity = Value / 100
  276.     end
  277. })
  278.  
  279. AimbotPropertiesSection:Slider({
  280.     Name = "mousemoverel Sensitivity",
  281.     Flag = "Aimbot_Sensitivity2",
  282.     Default = Aimbot_Settings.Sensitivity2 * 100,
  283.     Min = 0,
  284.     Max = 500,
  285.     Callback = function(Value)
  286.         Aimbot_Settings.Sensitivity2 = Value / 100
  287.     end
  288. })
  289.  
  290. AimbotPropertiesSection:Dropdown({
  291.     Name = "Lock Mode",
  292.     Flag = "Aimbot_Settings_LockMode",
  293.     Content = {"CFrame", "mousemoverel"},
  294.     Default = Aimbot_Settings.LockMode == 1 and "CFrame" or "mousemoverel",
  295.     Callback = function(Value)
  296.         Aimbot_Settings.LockMode = Value == "CFrame" and 1 or 2
  297.     end
  298. })
  299.  
  300. AimbotPropertiesSection:Dropdown({
  301.     Name = "Lock Part",
  302.     Flag = "Aimbot_LockPart",
  303.     Content = {"Head", "HumanoidRootPart", "Torso", "Left Arm", "Right Arm", "Left Leg", "Right Leg", "LeftHand", "RightHand", "LeftLowerArm", "RightLowerArm", "LeftUpperArm", "RightUpperArm", "LeftFoot", "LeftLowerLeg", "UpperTorso", "LeftUpperLeg", "RightFoot", "RightLowerLeg", "LowerTorso", "RightUpperLeg"},
  304.     Default = Aimbot_Settings.LockPart,
  305.     Callback = function(Value)
  306.         Aimbot_Settings.LockPart = Value
  307.     end
  308. })
  309.  
  310. AimbotPropertiesSection:Keybind({
  311.     Name = "Trigger Key",
  312.     Flag = "Aimbot_TriggerKey",
  313.     Default = Aimbot_Settings.TriggerKey,
  314.     Callback = function(Keybind)
  315.         Aimbot_Settings.TriggerKey = Keybind
  316.     end
  317. })
  318.  
  319. local UserBox = AimbotPropertiesSection:Box({
  320.     Name = "Player Name (shortened allowed)",
  321.     Flag = "Aimbot_PlayerName",
  322.     Placeholder = "Username"
  323. })
  324.  
  325. AimbotPropertiesSection:Button({
  326.     Name = "Blacklist (Ignore) Player",
  327.     Callback = function()
  328.         pcall(Aimbot.Blacklist, Aimbot, GUI.flags["Aimbot_PlayerName"])
  329.         UserBox:Set("")
  330.     end
  331. })
  332.  
  333. AimbotPropertiesSection:Button({
  334.     Name = "Whitelist Player",
  335.     Callback = function()
  336.         pcall(Aimbot.Whitelist, Aimbot, GUI.flags["Aimbot_PlayerName"])
  337.         UserBox:Set("")
  338.     end
  339. })
  340.  
  341. local AimbotFOVSection = _Aimbot:Section({
  342.     Name = "Field Of View Settings",
  343.     Side = "Right"
  344. })
  345.  
  346. AddValues(AimbotFOVSection, Aimbot_FOV, {}, "Aimbot_FOV_")
  347.  
  348. AimbotFOVSection:Slider({
  349.     Name = "Field Of View",
  350.     Flag = "Aimbot_FOV_Radius",
  351.     Default = Aimbot_FOV.Radius,
  352.     Min = 0,
  353.     Max = 720,
  354.     Callback = function(Value)
  355.         Aimbot_FOV.Radius = Value
  356.     end
  357. })
  358.  
  359. AimbotFOVSection:Slider({
  360.     Name = "Sides",
  361.     Flag = "Aimbot_FOV_NumSides",
  362.     Default = Aimbot_FOV.NumSides,
  363.     Min = 3,
  364.     Max = 60,
  365.     Callback = function(Value)
  366.         Aimbot_FOV.NumSides = Value
  367.     end
  368. })
  369.  
  370. AimbotFOVSection:Slider({
  371.     Name = "Transparency",
  372.     Flag = "Aimbot_FOV_Transparency",
  373.     Default = Aimbot_FOV.Transparency * 10,
  374.     Min = 1,
  375.     Max = 10,
  376.     Callback = function(Value)
  377.         Aimbot_FOV.Transparency = Value / 10
  378.     end
  379. })
  380.  
  381. AimbotFOVSection:Slider({
  382.     Name = "Thickness",
  383.     Flag = "Aimbot_FOV_Thickness",
  384.     Default = Aimbot_FOV.Thickness,
  385.     Min = 1,
  386.     Max = 5,
  387.     Callback = function(Value)
  388.         Aimbot_FOV.Thickness = Value
  389.     end
  390. })
  391.  
  392. --// ESP Tab
  393.  
  394. local ESP_Properties_Section = _ESP:Section({
  395.     Name = "ESP Properties",
  396.     Side = "Left"
  397. })
  398.  
  399. AddValues(ESP_Properties_Section, ESP_Properties.ESP, {}, "ESP_Propreties_")
  400.  
  401. ESP_Properties_Section:Dropdown({
  402.     Name = "Text Font",
  403.     Flag = "ESP_TextFont",
  404.     Content = Fonts,
  405.     Default = Fonts[ESP_Properties.ESP.Font + 1],
  406.     Callback = function(Value)
  407.         ESP_Properties.ESP.Font = Drawing.Fonts[Value]
  408.     end
  409. })
  410.  
  411. ESP_Properties_Section:Slider({
  412.     Name = "Transparency",
  413.     Flag = "ESP_TextTransparency",
  414.     Default = ESP_Properties.ESP.Transparency * 10,
  415.     Min = 1,
  416.     Max = 10,
  417.     Callback = function(Value)
  418.         ESP_Properties.ESP.Transparency = Value / 10
  419.     end
  420. })
  421.  
  422. ESP_Properties_Section:Slider({
  423.     Name = "Font Size",
  424.     Flag = "ESP_FontSize",
  425.     Default = ESP_Properties.ESP.Size,
  426.     Min = 1,
  427.     Max = 20,
  428.     Callback = function(Value)
  429.         ESP_Properties.ESP.Size = Value
  430.     end
  431. })
  432.  
  433. ESP_Properties_Section:Slider({
  434.     Name = "Offset",
  435.     Flag = "ESP_Offset",
  436.     Default = ESP_Properties.ESP.Offset,
  437.     Min = 10,
  438.     Max = 30,
  439.     Callback = function(Value)
  440.         ESP_Properties.ESP.Offset = Value
  441.     end
  442. })
  443.  
  444. local Tracer_Properties_Section = _ESP:Section({
  445.     Name = "Tracer Properties",
  446.     Side = "Right"
  447. })
  448.  
  449. AddValues(Tracer_Properties_Section, ESP_Properties.Tracer, {}, "Tracer_Properties_")
  450.  
  451. Tracer_Properties_Section:Dropdown({
  452.     Name = "Position",
  453.     Flag = "Tracer_Position",
  454.     Content = TracerPositions,
  455.     Default = TracerPositions[ESP_Properties.Tracer.Position],
  456.     Callback = function(Value)
  457.         ESP_Properties.Tracer.Position = tablefind(TracerPositions, Value)
  458.     end
  459. })
  460.  
  461. Tracer_Properties_Section:Slider({
  462.     Name = "Transparency",
  463.     Flag = "Tracer_Transparency",
  464.     Default = ESP_Properties.Tracer.Transparency * 10,
  465.     Min = 1,
  466.     Max = 10,
  467.     Callback = function(Value)
  468.         ESP_Properties.Tracer.Transparency = Value / 10
  469.     end
  470. })
  471.  
  472. Tracer_Properties_Section:Slider({
  473.     Name = "Thickness",
  474.     Flag = "Tracer_Thickness",
  475.     Default = ESP_Properties.Tracer.Thickness,
  476.     Min = 1,
  477.     Max = 5,
  478.     Callback = function(Value)
  479.         ESP_Properties.Tracer.Thickness = Value
  480.     end
  481. })
  482.  
  483. local HeadDot_Properties_Section = _ESP:Section({
  484.     Name = "Head Dot Properties",
  485.     Side = "Left"
  486. })
  487.  
  488. AddValues(HeadDot_Properties_Section, ESP_Properties.HeadDot, {}, "HeadDot_Properties_")
  489.  
  490. HeadDot_Properties_Section:Slider({
  491.     Name = "Transparency",
  492.     Flag = "HeadDot_Transparency",
  493.     Default = ESP_Properties.HeadDot.Transparency * 10,
  494.     Min = 1,
  495.     Max = 10,
  496.     Callback = function(Value)
  497.         ESP_Properties.HeadDot.Transparency = Value / 10
  498.     end
  499. })
  500.  
  501. HeadDot_Properties_Section:Slider({
  502.     Name = "Thickness",
  503.     Flag = "HeadDot_Thickness",
  504.     Default = ESP_Properties.HeadDot.Thickness,
  505.     Min = 1,
  506.     Max = 5,
  507.     Callback = function(Value)
  508.         ESP_Properties.HeadDot.Thickness = Value
  509.     end
  510. })
  511.  
  512. HeadDot_Properties_Section:Slider({
  513.     Name = "Sides",
  514.     Flag = "HeadDot_Sides",
  515.     Default = ESP_Properties.HeadDot.NumSides,
  516.     Min = 3,
  517.     Max = 30,
  518.     Callback = function(Value)
  519.         ESP_Properties.HeadDot.NumSides = Value
  520.     end
  521. })
  522.  
  523. local Box_Properties_Section = _ESP:Section({
  524.     Name = "Box Properties",
  525.     Side = "Left"
  526. })
  527.  
  528. AddValues(Box_Properties_Section, ESP_Properties.Box, {}, "Box_Properties_")
  529.  
  530. Box_Properties_Section:Slider({
  531.     Name = "Transparency",
  532.     Flag = "Box_Transparency",
  533.     Default = ESP_Properties.Box.Transparency * 10,
  534.     Min = 1,
  535.     Max = 10,
  536.     Callback = function(Value)
  537.         ESP_Properties.Box.Transparency = Value / 10
  538.     end
  539. })
  540.  
  541. Box_Properties_Section:Slider({
  542.     Name = "Thickness",
  543.     Flag = "Box_Thickness",
  544.     Default = ESP_Properties.Box.Thickness,
  545.     Min = 1,
  546.     Max = 5,
  547.     Callback = function(Value)
  548.         ESP_Properties.Box.Thickness = Value
  549.     end
  550. })
  551.  
  552. local HealthBar_Properties_Section = _ESP:Section({
  553.     Name = "Health Bar Properties",
  554.     Side = "Right"
  555. })
  556.  
  557. AddValues(HealthBar_Properties_Section, ESP_Properties.HealthBar, {}, "HealthBar_Properties_")
  558.  
  559. HealthBar_Properties_Section:Dropdown({
  560.     Name = "Position",
  561.     Flag = "HealthBar_Position",
  562.     Content = HealthBarPositions,
  563.     Default = HealthBarPositions[ESP_Properties.HealthBar.Position],
  564.     Callback = function(Value)
  565.         ESP_Properties.HealthBar.Position = tablefind(HealthBarPositions, Value)
  566.     end
  567. })
  568.  
  569. HealthBar_Properties_Section:Slider({
  570.     Name = "Transparency",
  571.     Flag = "HealthBar_Transparency",
  572.     Default = ESP_Properties.HealthBar.Transparency * 10,
  573.     Min = 1,
  574.     Max = 10,
  575.     Callback = function(Value)
  576.         ESP_Properties.HealthBar.Transparency = Value / 10
  577.     end
  578. })
  579.  
  580. HealthBar_Properties_Section:Slider({
  581.     Name = "Thickness",
  582.     Flag = "HealthBar_Thickness",
  583.     Default = ESP_Properties.HealthBar.Thickness,
  584.     Min = 1,
  585.     Max = 5,
  586.     Callback = function(Value)
  587.         ESP_Properties.HealthBar.Thickness = Value
  588.     end
  589. })
  590.  
  591. HealthBar_Properties_Section:Slider({
  592.     Name = "Offset",
  593.     Flag = "HealthBar_Offset",
  594.     Default = ESP_Properties.HealthBar.Offset,
  595.     Min = 4,
  596.     Max = 12,
  597.     Callback = function(Value)
  598.         ESP_Properties.HealthBar.Offset = Value
  599.     end
  600. })
  601.  
  602. HealthBar_Properties_Section:Slider({
  603.     Name = "Blue",
  604.     Flag = "HealthBar_Blue",
  605.     Default = ESP_Properties.HealthBar.Blue,
  606.     Min = 0,
  607.     Max = 255,
  608.     Callback = function(Value)
  609.         ESP_Properties.HealthBar.Blue = Value
  610.     end
  611. })
  612.  
  613. local Chams_Properties_Section = _ESP:Section({
  614.     Name = "Chams Properties",
  615.     Side = "Right"
  616. })
  617.  
  618. AddValues(Chams_Properties_Section, ESP_Properties.Chams, {}, "Chams_Properties_")
  619.  
  620. Chams_Properties_Section:Slider({
  621.     Name = "Transparency",
  622.     Flag = "Chams_Transparency",
  623.     Default = ESP_Properties.Chams.Transparency * 10,
  624.     Min = 1,
  625.     Max = 10,
  626.     Callback = function(Value)
  627.         ESP_Properties.Chams.Transparency = Value / 10
  628.     end
  629. })
  630.  
  631. Chams_Properties_Section:Slider({
  632.     Name = "Thickness",
  633.     Flag = "Chams_Thickness",
  634.     Default = ESP_Properties.Chams.Thickness,
  635.     Min = 1,
  636.     Max = 5,
  637.     Callback = function(Value)
  638.         ESP_Properties.Chams.Thickness = Value
  639.     end
  640. })
  641.  
  642. --// Crosshair Tab
  643.  
  644. local Crosshair_Settings = _Crosshair:Section({
  645.     Name = "Crosshair Settings (1 / 2)",
  646.     Side = "Left"
  647. })
  648.  
  649. Crosshair_Settings:Toggle({
  650.     Name = "Enabled",
  651.     Flag = "Crosshair_Enabled",
  652.     Default = Crosshair.Enabled,
  653.     Callback = function(Value)
  654.         Crosshair.Enabled = Value
  655.     end
  656. })
  657.  
  658. Crosshair_Settings:Toggle({
  659.     Name = "Enable ROBLOX Cursor",
  660.     Flag = "Cursor_Enabled",
  661.     Default = UserInputService.MouseIconEnabled,
  662.     Callback = SetMouseIconVisibility
  663. })
  664.  
  665. AddValues(Crosshair_Settings, Crosshair, {"Enabled"}, "Crosshair_")
  666.  
  667. Crosshair_Settings:Dropdown({
  668.     Name = "Position",
  669.     Flag = "Crosshair_Position",
  670.     Content = {"Mouse", "Center"},
  671.     Default = ({"Mouse", "Center"})[Crosshair.Position],
  672.     Callback = function(Value)
  673.         Crosshair.Position = Value == "Mouse" and 1 or 2
  674.     end
  675. })
  676.  
  677. Crosshair_Settings:Slider({
  678.     Name = "Size",
  679.     Flag = "Crosshair_Size",
  680.     Default = Crosshair.Size,
  681.     Min = 1,
  682.     Max = 24,
  683.     Callback = function(Value)
  684.         Crosshair.Size = Value
  685.     end
  686. })
  687.  
  688. Crosshair_Settings:Slider({
  689.     Name = "Gap Size",
  690.     Flag = "Crosshair_GapSize",
  691.     Default = Crosshair.GapSize,
  692.     Min = 0,
  693.     Max = 24,
  694.     Callback = function(Value)
  695.         Crosshair.GapSize = Value
  696.     end
  697. })
  698.  
  699. Crosshair_Settings:Slider({
  700.     Name = "Rotation (Degrees)",
  701.     Flag = "Crosshair_Rotation",
  702.     Default = Crosshair.Rotation,
  703.     Min = -180,
  704.     Max = 180,
  705.     Callback = function(Value)
  706.         Crosshair.Rotation = Value
  707.     end
  708. })
  709.  
  710. Crosshair_Settings:Slider({
  711.     Name = "Rotation Speed",
  712.     Flag = "Crosshair_RotationSpeed",
  713.     Default = Crosshair.RotationSpeed,
  714.     Min = 1,
  715.     Max = 20,
  716.     Callback = function(Value)
  717.         Crosshair.RotationSpeed = Value
  718.     end
  719. })
  720.  
  721. Crosshair_Settings:Slider({
  722.     Name = "Pulsing Step",
  723.     Flag = "Crosshair_PulsingStep",
  724.     Default = Crosshair.PulsingStep,
  725.     Min = 0,
  726.     Max = 24,
  727.     Callback = function(Value)
  728.         Crosshair.PulsingStep = Value
  729.     end
  730. })
  731.  
  732. local _Crosshair_Settings = _Crosshair:Section({
  733.     Name = "Crosshair Settings (2 / 2)",
  734.     Side = "Left"
  735. })
  736.  
  737. _Crosshair_Settings:Slider({
  738.     Name = "Pulsing Speed",
  739.     Flag = "Crosshair_PulsingSpeed",
  740.     Default = Crosshair.PulsingSpeed,
  741.     Min = 1,
  742.     Max = 20,
  743.     Callback = function(Value)
  744.         Crosshair.PulsingSpeed = Value
  745.     end
  746. })
  747.  
  748. _Crosshair_Settings:Slider({
  749.     Name = "Pulsing Boundary (Min)",
  750.     Flag = "Crosshair_Pulse_Min",
  751.     Default = Crosshair.PulsingBounds[1],
  752.     Min = 0,
  753.     Max = 24,
  754.     Callback = function(Value)
  755.         Crosshair.PulsingBounds[1] = Value
  756.     end
  757. })
  758.  
  759. _Crosshair_Settings:Slider({
  760.     Name = "Pulsing Boundary (Max)",
  761.     Flag = "Crosshair_Pulse_Max",
  762.     Default = Crosshair.PulsingBounds[2],
  763.     Min = 0,
  764.     Max = 24,
  765.     Callback = function(Value)
  766.         Crosshair.PulsingBounds[2] = Value
  767.     end
  768. })
  769.  
  770. _Crosshair_Settings:Slider({
  771.     Name = "Transparency",
  772.     Flag = "Crosshair_Transparency",
  773.     Default = Crosshair.Transparency * 10,
  774.     Min = 1,
  775.     Max = 10,
  776.     Callback = function(Value)
  777.         Crosshair.Transparency = Value / 10
  778.     end
  779. })
  780.  
  781. _Crosshair_Settings:Slider({
  782.     Name = "Thickness",
  783.     Flag = "Crosshair_Thickness",
  784.     Default = Crosshair.Thickness,
  785.     Min = 1,
  786.     Max = 5,
  787.     Callback = function(Value)
  788.         Crosshair.Thickness = Value
  789.     end
  790. })
  791.  
  792. local Crosshair_CenterDot = _Crosshair:Section({
  793.     Name = "Center Dot Settings",
  794.     Side = "Right"
  795. })
  796.  
  797. Crosshair_CenterDot:Toggle({
  798.     Name = "Enabled",
  799.     Flag = "Crosshair_CenterDot_Enabled",
  800.     Default = CenterDot.Enabled,
  801.     Callback = function(Value)
  802.         CenterDot.Enabled = Value
  803.     end
  804. })
  805.  
  806. AddValues(Crosshair_CenterDot, CenterDot, {"Enabled"}, "Crosshair_CenterDot_")
  807.  
  808. Crosshair_CenterDot:Slider({
  809.     Name = "Size / Radius",
  810.     Flag = "Crosshair_CenterDot_Radius",
  811.     Default = CenterDot.Radius,
  812.     Min = 2,
  813.     Max = 8,
  814.     Callback = function(Value)
  815.         CenterDot.Radius = Value
  816.     end
  817. })
  818.  
  819. Crosshair_CenterDot:Slider({
  820.     Name = "Sides",
  821.     Flag = "Crosshair_CenterDot_Sides",
  822.     Default = CenterDot.NumSides,
  823.     Min = 3,
  824.     Max = 30,
  825.     Callback = function(Value)
  826.         CenterDot.NumSides = Value
  827.     end
  828. })
  829.  
  830. Crosshair_CenterDot:Slider({
  831.     Name = "Transparency",
  832.     Flag = "Crosshair_CenterDot_Transparency",
  833.     Default = CenterDot.Transparency * 10,
  834.     Min = 1,
  835.     Max = 10,
  836.     Callback = function(Value)
  837.         CenterDot.Transparency = Value / 10
  838.     end
  839. })
  840.  
  841. Crosshair_CenterDot:Slider({
  842.     Name = "Thickness",
  843.     Flag = "Crosshair_CenterDot_Thickness",
  844.     Default = CenterDot.Thickness,
  845.     Min = 1,
  846.     Max = 5,
  847.     Callback = function(Value)
  848.         CenterDot.Thickness = Value
  849.     end
  850. })
  851.  
  852. --// Settings Tab
  853.  
  854. local SettingsSection = Settings:Section({
  855.     Name = "Settings",
  856.     Side = "Left"
  857. })
  858.  
  859. local ProfilesSection = Settings:Section({
  860.     Name = "Profiles",
  861.     Side = "Left"
  862. })
  863.  
  864. local InformationSection = Settings:Section({
  865.     Name = "Information",
  866.     Side = "Right"
  867. })
  868.  
  869. SettingsSection:Keybind({
  870.     Name = "Show / Hide GUI",
  871.     Flag = "UI Toggle",
  872.     Default = Enum.KeyCode.RightShift,
  873.     Blacklist = {Enum.UserInputType.MouseButton1, Enum.UserInputType.MouseButton2, Enum.UserInputType.MouseButton3},
  874.     Callback = function(_, NewKeybind)
  875.         if not NewKeybind then
  876.             GUI:Close()
  877.         end
  878.     end
  879. })
  880.  
  881. SettingsSection:Button({
  882.     Name = "Unload Script",
  883.     Callback = function()
  884.         GUI:Unload()
  885.         ESP:Exit()
  886.         Aimbot:Exit()
  887.         getgenv().AirHubV2Loaded = nil
  888.     end
  889. })
  890.  
  891. local ConfigList = ProfilesSection:Dropdown({
  892.     Name = "Configurations",
  893.     Flag = "Config Dropdown",
  894.     Content = GUI:GetConfigs()
  895. })
  896.  
  897. ProfilesSection:Box({
  898.     Name = "Configuration Name",
  899.     Flag = "Config Name",
  900.     Placeholder = "Config Name"
  901. })
  902.  
  903. ProfilesSection:Button({
  904.     Name = "Load Configuration",
  905.     Callback = function()
  906.         GUI:LoadConfig(GUI.flags["Config Dropdown"])
  907.     end
  908. })
  909.  
  910. ProfilesSection:Button({
  911.     Name = "Delete Configuration",
  912.     Callback = function()
  913.         GUI:DeleteConfig(GUI.flags["Config Dropdown"])
  914.         ConfigList:Refresh(GUI:GetConfigs())
  915.     end
  916. })
  917.  
  918. ProfilesSection:Button({
  919.     Name = "Save Configuration",
  920.     Callback = function()
  921.         GUI:SaveConfig(GUI.flags["Config Dropdown"] or GUI.flags["Config Name"])
  922.         ConfigList:Refresh(GUI:GetConfigs())
  923.     end
  924. })
  925.  
  926. InformationSection:Label("Made by Exunys")
  927.  
  928. InformationSection:Button({
  929.     Name = "Copy GitHub",
  930.     Callback = function()
  931.         setclipboard("https://github.com/Exunys")
  932.     end
  933. })
  934.  
  935. InformationSection:Label("AirTeam © 2022 - "..osdate("%Y"))
  936.  
  937. InformationSection:Button({
  938.     Name = "Copy Discord Invite",
  939.     Callback = function()
  940.         setclipboard("https://discord.gg/Ncz3H3quUZ")
  941.     end
  942. })
  943.  
  944. --[=[
  945. local MiscellaneousSection = Settings:Section({
  946.     Name = "Miscellaneous",
  947.     Side = "Right"
  948. })
  949.  
  950. local TimeLabel = MiscellaneousSection:Label("...")
  951. local FPSLabel = MiscellaneousSection:Label("...")
  952. local PlayersLabel = MiscellaneousSection:Label("...")
  953.  
  954. MiscellaneousSection:Button({
  955.     Name = "Rejoin",
  956.     Callback = Rejoin
  957. })
  958.  
  959. delay(2, function()
  960.     spawn(function()
  961.         while wait(1) do
  962.             TimeLabel:Set(osdate("%c"))
  963.             PlayersLabel:Set(#Players:GetPlayers())
  964.         end
  965.     end)
  966.  
  967.     RunService.RenderStepped:Connect(function(FPS)
  968.         FPSLabel:Set("FPS: "..mathfloor(1 / FPS))
  969.     end)
  970. end)
  971. ]=]
  972.  
  973. --//
  974.  
  975. ESP.Load()
  976. Aimbot.Load()
  977. getgenv().AirHubV2Loaded = true
  978. getgenv().AirHubV2Loading = nil
  979.  
  980. GeneralSignal:Fire()
  981. GUI:Close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement