Mr_3242

Murder vs Sherif Duels (game)

Jul 31st, 2026 (edited)
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 81.25 KB | Gaming | 0 0
  1. if getgenv().TFjhJhggCUo then
  2.     print("you have already executed this script!")
  3.     return
  4. end
  5. getgenv().TFjhJhggCUo = true
  6.  
  7. local wind = loadstring(game:HttpGet("https://github.com/Footagesus/WindUI/releases/latest/download/main.lua"))()
  8. local window = wind:CreateWindow({
  9.     Title = "Murder vs Sheriff Duels",
  10.     Icon = "rbxassetid://139687752061139",
  11.     Author = "Follow me on TikTok Mr_3242",
  12.     Folder = "QuantumXMvsdScript",
  13.     Size = UDim2.fromOffset(650, 430),
  14.     MinSize = Vector2.new(450, 250),
  15.     MaxSize = Vector2.new(850, 560),
  16.     Transparent = true,
  17.     Theme = "Dark",
  18.     Resizable = true,
  19.     SideBarWidth = 200,
  20.     BackgroundImageTransparency = 0.42,
  21.     HideSearchBar = true,
  22.     ScrollBarEnabled = false,
  23.     User = {
  24.         Enabled = true,
  25.         Anonymous = true,
  26.         Callback = function()
  27.         end,
  28.     },
  29. })
  30. window:EditOpenButton({
  31.     Title = "QuantumX",
  32.     Icon = "rbxassetid://139687752061139",
  33.     CornerRadius = UDim.new(0, 16),
  34.     StrokeThickness = 2,
  35.     Color = ColorSequence.new(
  36.         Color3.fromHex("0A1128"),
  37.         Color3.fromHex("4B0082")
  38.     ),
  39.     OnlyMobile = false,
  40.     Enabled = true,
  41.     Draggable = true,
  42. })
  43. window:Tag({
  44.     Title = "NEW UPDATE",
  45.     Icon = "shield-check",
  46.     Color = Color3.fromHex("#30aaff"),
  47.     Radius = 5,
  48. })
  49. local Welcome = window:Tab({
  50.     Title = "Welcome",
  51.     Icon = "shield-user",
  52.     Locked = false,
  53. })
  54. Welcome:Paragraph({
  55.     Title = "Welcome to QuantumX Scripts",
  56.     Desc =
  57.     "We hope you find this script useful, thank you for using this script!",
  58.     Color = Color3.fromHex("#1756B8"),
  59.     Thumbnail = "rbxassetid://139687752061139",
  60.     ThumbnailSize = 150,
  61.     Buttons = {
  62.     {
  63.         Icon = "copy",
  64.         Title = "Copy Our Discord",
  65.         Callback = function()
  66.             setclipboard("https://discord.gg/eZn9Yt6ECK")
  67.             wind:Notify({
  68.                 Title = "Discord Copied!",
  69.                 Content = "Discord link copied to clipboard.",
  70.                 Duration = 3,
  71.                 Icon = "rbxassetid://139687752061139",
  72.             })
  73.         end,
  74.     },
  75.     {
  76.         Icon = "copy",
  77.         Title = "TikTok",
  78.         Callback = function()
  79.             setclipboard("https://www.tiktok.com/@Mr_3242")
  80.             wind:Notify({
  81.                 Title = "TikTok Copied!",
  82.                 Content = "TikTok link copied to clipboard.",
  83.                 Duration = 3,
  84.                 Icon = "rbxassetid://139687752061139",
  85.             })
  86.         end,
  87.     },
  88.     {
  89.         Icon = "copy",
  90.         Title = "YouTube",
  91.         Callback = function()
  92.             setclipboard("https://www.youtube.com/@Mr_3242.")
  93.             wind:Notify({
  94.                 Title = "YouTube Copied!",
  95.                 Content = "YouTube link copied to clipboard.",
  96.                 Duration = 3,
  97.                 Icon = "rbxassetid://139687752061139",
  98.             })
  99.         end,
  100.     },
  101.     {
  102.         Icon = "copy",
  103.         Title = "Twitch",
  104.         Callback = function()
  105.             setclipboard("https://www.twitch.tv/QuantumX_42")
  106.             wind:Notify({
  107.                 Title = "Twitch Copied!",
  108.                 Content = "Twitch link copied to clipboard.",
  109.                 Duration = 3,
  110.                 Icon = "rbxassetid://139687752061139",
  111.             })
  112.         end,
  113.     }
  114. }
  115. })
  116. local lockedParagraph = Welcome:Paragraph({
  117.     Title = "Unsupported Executor",
  118.     Desc =
  119.     "You are currently using an unsupported executor (Solara/Xeno). Certain features have been restricted by our automated system to ensure stability. To unlock full functionality and access all available tools, please switch to a recommended executor (Velocity/Madium)!",
  120.     Color = "Red",
  121.     Locked = false
  122. })
  123.  
  124. Welcome:Select()
  125.  
  126. local Players = game:GetService("Players")
  127. local CoreGui = game:GetService("CoreGui")
  128. local ReplicatedStorage = game:GetService("ReplicatedStorage")
  129. local Workspace = game:GetService("Workspace")
  130. local Collection = game:GetService("CollectionService")
  131. local RunService = game:GetService("RunService")
  132. local UserInputService = game:GetService("UserInputService")
  133. local TweenService = game:GetService("TweenService")
  134. local Debris = game:GetService("Debris")
  135. local Camera = Workspace.CurrentCamera
  136. local Player = Players.LocalPlayer
  137.  
  138. getgenv().match = false
  139. local canShoot = true
  140. local matchEnemies = {}
  141.  
  142. task.spawn(function()
  143.     while true do
  144.         if Player then
  145.             if Player:GetAttribute("Match") then
  146.                 getgenv().match = true
  147.             else
  148.                 getgenv().match = false
  149.             end
  150.         end
  151.         task.wait(0.1)
  152.     end
  153. end)
  154. task.spawn(function() -- match players tracking
  155.     while task.wait(0.1) do
  156.         local currentMatch = Player:GetAttribute("Match")
  157.         local tempTable = {}
  158.         if currentMatch then
  159.             for _, v in ipairs(Players:GetPlayers()) do
  160.                 if v ~= Player and v:GetAttribute("Match") == currentMatch then
  161.                     local char = v.Character
  162.                     if char and char:FindFirstChild("Humanoid") and char.Humanoid.Health > 0 then
  163.                         table.insert(tempTable, v)
  164.                     end
  165.                 end
  166.             end
  167.         end
  168.         matchEnemies = tempTable
  169.     end
  170. end)
  171. task.spawn(function() -- gun cooldown tracking
  172.     local lastGunTracked = nil
  173.     local soundConnection = nil
  174.     while task.wait(0.1) do
  175.         local character = Player.Character
  176.         local gun = nil
  177.         local locations = { Player:FindFirstChild("Backpack") }
  178.         if character then table.insert(locations, character) end
  179.         for _, container in ipairs(locations) do
  180.             if container then
  181.                 for _, tool in ipairs(container:GetChildren()) do
  182.                     if tool:IsA("Tool") and tool:FindFirstChild("Fire") and tool:FindFirstChild("Reload") then
  183.                         gun = tool
  184.                         break
  185.                     end
  186.                 end
  187.             end
  188.             if gun then break end
  189.         end
  190.         if gun then
  191.             if gun ~= lastGunTracked then
  192.                 lastGunTracked = gun
  193.                 if soundConnection then soundConnection:Disconnect() end
  194.                 local fireSound = gun:FindFirstChild("Fire")
  195.                 if fireSound and fireSound:IsA("Sound") then
  196.                     soundConnection = fireSound.Played:Connect(function()
  197.                         lastFiredTime = tick()
  198.                     end)
  199.                 end
  200.             end
  201.         else
  202.             lastGunTracked = nil
  203.             if soundConnection then
  204.                 soundConnection:Disconnect()
  205.                 soundConnection = nil
  206.             end
  207.         end
  208.     end
  209. end)
  210.  
  211. local function getGun() -- returns your gun tool
  212.     local character = Player.Character
  213.     local locations = { Player:FindFirstChild("Backpack") }
  214.     if character then table.insert(locations, character) end
  215.     for _, container in ipairs(locations) do
  216.         if container then
  217.             for _, tool in ipairs(container:GetChildren()) do
  218.                 if tool:IsA("Tool") and tool:FindFirstChild("Fire") and tool:FindFirstChild("Reload") then
  219.                     return tool
  220.                 end
  221.             end
  222.         end
  223.     end
  224.     return nil
  225. end
  226. local function equipGun()
  227.     local character = Player.Character
  228.     local backpack = Player:FindFirstChildOfClass("Backpack")
  229.     if not character or not backpack then
  230.         return false
  231.     end
  232.     local humanoid = character:FindFirstChildOfClass("Humanoid")
  233.     if not humanoid or humanoid.Health <= 0 then
  234.         return false
  235.     end
  236.     if getgenv().match then
  237.         local gun = getGun()
  238.         if gun then
  239.             humanoid:EquipTool(gun)
  240.             return true
  241.         end
  242.     end
  243.     return false
  244. end
  245. local function equipKnife()
  246.     local character = Player.Character
  247.     local backpack = Player:FindFirstChildOfClass("Backpack")
  248.     if not character or not backpack then
  249.         return false
  250.     end
  251.     local humanoid = character:FindFirstChildOfClass("Humanoid")
  252.     if not humanoid or humanoid.Health <= 0 then
  253.         return false
  254.     end
  255.     if getgenv().match then
  256.         for _, tool in ipairs(backpack:GetChildren()) do
  257.             if tool:IsA("Tool") and tool:GetAttribute("EquipAnimation") == "Knife_Equip" then
  258.                 humanoid:EquipTool(tool)
  259.                 return true
  260.             end
  261.         end
  262.     end
  263.     return false
  264. end
  265. local BulletRendererColor = Color3.fromRGB(255, 255, 255)
  266. local function BulletRenderer(origin, targetPos)
  267.     local function CreatePseudoPart(cf)
  268.         local p = Instance.new("Part")
  269.         p.Size = Vector3.new(0.1, 0.1, 0.1)
  270.         p.Transparency = 1
  271.         p.CanCollide = false
  272.         p.CanQuery = false
  273.         p.CanTouch = false
  274.         p.Anchored = true
  275.         p.CFrame = cf
  276.         p.Parent = workspace
  277.         return p
  278.     end
  279.     local startPart = CreatePseudoPart(CFrame.lookAt(origin, targetPos) * CFrame.new(0, 0, -1))
  280.     local endPart = CreatePseudoPart(CFrame.new(targetPos))
  281.     local beam = Instance.new("Beam")
  282.     beam.Texture = ""
  283.     beam.TextureLength = 1
  284.     beam.TextureMode = Enum.TextureMode.Stretch
  285.     beam.TextureSpeed = 0
  286.     beam.Color = ColorSequence.new(BulletRendererColor)
  287.     beam.LightEmission = 1
  288.     beam.LightInfluence = 0
  289.     beam.Brightness = 5
  290.     beam.Width0 = 0
  291.     beam.Width1 = 0
  292.     local att0 = Instance.new("Attachment", startPart)
  293.     local att1 = Instance.new("Attachment", endPart)
  294.     beam.Attachment0 = att0
  295.     beam.Attachment1 = att1
  296.     beam.Parent = startPart
  297.     local fadeIn = TweenService:Create(beam, TweenInfo.new(0.05, Enum.EasingStyle.Cubic, Enum.EasingDirection.In), {
  298.         Width0 = 0.3,
  299.         Width1 = 0.6
  300.     })
  301.     local fadeOut = TweenService:Create(beam, TweenInfo.new(0.1, Enum.EasingStyle.Cubic, Enum.EasingDirection.Out), {
  302.         Width0 = 0,
  303.         Width1 = 0
  304.     })
  305.     fadeIn:Play()
  306.     fadeIn.Completed:Connect(function()
  307.         fadeOut:Play()
  308.     end)
  309.     Debris:AddItem(startPart, 0.3)
  310.     Debris:AddItem(endPart, 0.3)
  311. end
  312. local function CharacterRayOrigin(char)
  313.     local hrp = char and char:FindFirstChild("HumanoidRootPart")
  314.     if not hrp then return end
  315.     return (hrp.CFrame * CFrame.new(0, 0, hrp.Size.Z / 2)).Position
  316. end
  317. local function ShootGun(target) -- target: player instance
  318.     local myChar = Player.Character
  319.     if not myChar then return end
  320.     local origin = CharacterRayOrigin(myChar)
  321.     if not origin then return end
  322.     local hitPart = target.Character:FindFirstChild("Head") or target.Character:FindFirstChild("HumanoidRootPart")
  323.     local tool = getGun()
  324.     if not tool then return end
  325.     if hitPart then
  326.         canShoot = false
  327.         local targetPos = hitPart.Position
  328.         local muzzle = tool:FindFirstChild("Muzzle", true)
  329.         local startPos = muzzle and muzzle.WorldPosition or origin
  330.         BulletRenderer(startPos, targetPos)
  331.         ReplicatedStorage.Remotes.ShootGun:FireServer(origin, targetPos, hitPart, targetPos)
  332.         local sound = tool and tool:FindFirstChild("Fire")
  333.         if sound and sound:IsA("Sound") then
  334.             sound:Play()
  335.         end
  336.         task.delay(2.5, function()
  337.             canShoot = true
  338.         end)
  339.     end
  340. end
  341. local lastNotify = 0
  342. local function NotSupportedFeature()
  343.     local currentTime = tick()
  344.     if currentTime - lastNotify >= 5 then
  345.         lastNotify = currentTime
  346.  
  347.         wind:Notify({
  348.             Title = "Uh Oh! Executor not supported!",
  349.             Content =
  350.             "Sorry! Your executor isn't supported to run this feature, we have made sure of that by running simple checks once you loaded this script!",
  351.             Duration = 3,
  352.             Icon = "rbxassetid://139687752061139",
  353.         })
  354.  
  355.         wind:Notify({
  356.             Title = "Notice!",
  357.             Content = "If your on PC/Laptop, try using Velocity (its free!), on Android/Ios please try using Delta!",
  358.             Duration = 3,
  359.             Icon = "rbxassetid://139687752061139",
  360.         })
  361.     end
  362. end
  363. local function FeatureActivated(boolean)
  364.     if boolean then
  365.         wind:Notify({
  366.             Title = "Activated Feature!!",
  367.             Content =
  368.             "Enjoying QuantumX Scripts? Join our discord server located in the Welcome tab for even better stuff!",
  369.             Duration = 3,
  370.             Icon = "rbxassetid://139687752061139",
  371.         })
  372.     else
  373.         wind:Notify({
  374.             Title = "Disabled Feature!!",
  375.             Content =
  376.             "Enjoying QuantumX Scripts? Join our discord server located in the Welcome tab for even better stuff!",
  377.             Duration = 3,
  378.             Icon = "rbxassetid://139687752061139",
  379.         })
  380.     end
  381. end
  382.  
  383. local Main = window:Tab({
  384.     Title = "Main",
  385.     Icon = "house",
  386.     Locked = false,
  387. })
  388. local ConfigurationSection = Main:Section({
  389.     Title = "Configuration",
  390.     Opened = true,
  391. })
  392. local autounanchor = false
  393. ConfigurationSection:Toggle({ -- Auto UnAnchor Character
  394.     Title = "Auto UnAnchor Character",
  395.     Desc = "Lets you bypass the 5 second wait before the match starts",
  396.     Icon = "check",
  397.     Default = false,
  398.     Flag = "AutoAunacnchorToggle",
  399.     Callback = function(Value)
  400.         autounanchor = Value
  401.         local function monitorCharacter(character)
  402.             local rootPart = character:WaitForChild("HumanoidRootPart", 5)
  403.             local humanoid = character:WaitForChild("Humanoid", 5)
  404.             if not rootPart or not humanoid then return end
  405.             local connection
  406.             connection = RunService.Heartbeat:Connect(function()
  407.                 if not character.Parent or humanoid.Health <= 0 then
  408.                     connection:Disconnect()
  409.                     return
  410.                 end
  411.                 if rootPart.Anchored and autounanchor then
  412.                     rootPart.Anchored = false
  413.                 end
  414.             end)
  415.         end
  416.         if Player.Character then
  417.             task.spawn(monitorCharacter, Player.Character)
  418.         end
  419.         Player.CharacterAdded:Connect(monitorCharacter)
  420.     end
  421. })
  422. ConfigurationSection:Colorpicker({ -- Bullet Tracer Color
  423.     Title = "Bullet Tracer Color",
  424.     Desc = "Changes the color of your bullet tracer",
  425.     Flag = "BulletTracerColorPicker",
  426.     Default = BulletRendererColor,
  427.     Locked = false,
  428.     Callback = function(color)
  429.         BulletRendererColor = color
  430.     end
  431. })
  432. Main:Space()
  433.  
  434. getgenv().autoshoot_enabled = false
  435. getgenv().max_distance = 300
  436. getgenv().autoshoot_cooldown = 2
  437. local autoshoot_thread = nil
  438. Main:Toggle({ -- Enable Autoshoot
  439.     Title = "Enable Autoshoot",
  440.     Desc = "This will automatically shoot enemies for you blatantly.",
  441.     Icon = "check",
  442.     Default = false,
  443.     Flag = "EnableAutoShootToggle",
  444.     Callback = function(Value)
  445.         getgenv().autoshoot_enabled = Value
  446.         FeatureActivated(Value)
  447.         if autoshoot_thread then
  448.             task.cancel(autoshoot_thread)
  449.             autoshoot_thread = nil
  450.         end
  451.         if getgenv().autoshoot_enabled then
  452.             local function has_clear_los(fromPos, toPos, myCharacter, targetCharacter)
  453.                 local params = RaycastParams.new()
  454.                 params.FilterDescendantsInstances = { myCharacter, targetCharacter }
  455.                 params.FilterType = Enum.RaycastFilterType.Exclude
  456.                 local result = workspace:Raycast(fromPos, (toPos - fromPos), params)
  457.                 if result then
  458.                     if not result.Instance:IsDescendantOf(targetCharacter) then
  459.                         return false
  460.                     end
  461.                 end
  462.                 return true
  463.             end
  464.             autoshoot_thread = task.spawn(function()
  465.                 while getgenv().autoshoot_enabled do
  466.                     local myChar = Player.Character
  467.                     local myRoot = myChar and myChar:FindFirstChild("HumanoidRootPart")
  468.                     local myHum = myChar and myChar:FindFirstChild("Humanoid")
  469.                     if getgenv().match and myRoot and myHum and myHum.Health > 0 then
  470.                         local closestTarget = nil
  471.                         local closestDistance = getgenv().max_distance or 1000
  472.                         for _, enemy in ipairs(matchEnemies) do
  473.                             local char = enemy.Character
  474.                             local hrp = char and char:FindFirstChild("HumanoidRootPart")
  475.                             local hum = char and char:FindFirstChild("Humanoid")
  476.                             if enemy ~= Player and hum and hum.Health > 0 and hrp then
  477.                                 local dist = (hrp.Position - myRoot.Position).Magnitude
  478.                                 if dist < closestDistance then
  479.                                     local onDifferentTeam = (not enemy.Team or enemy.Team ~= Player.Team)
  480.                                     local isVisibleInFov = (Camera.CFrame.LookVector:Dot((hrp.Position - Camera.CFrame.Position).Unit) >= 0.9)
  481.                                     if onDifferentTeam and isVisibleInFov then
  482.                                         closestDistance = dist
  483.                                         closestTarget = enemy
  484.                                     end
  485.                                 end
  486.                             end
  487.                         end
  488.                         if closestTarget and canShoot then
  489.                             local targetChar = closestTarget.Character
  490.                             local targetHrp = targetChar and targetChar:FindFirstChild("HumanoidRootPart")
  491.                             if targetHrp and has_clear_los(myRoot.Position, targetHrp.Position, myChar, targetChar) then
  492.                                 ShootGun(closestTarget)
  493.                             end
  494.                         end
  495.                     end
  496.                     task.wait(0.03)
  497.                 end
  498.             end)
  499.         end
  500.     end
  501. })
  502. Main:Slider({ -- Autoshoot Max Distance
  503.     Title = "Autoshoot Max Distance",
  504.     Step = 1,
  505.     Flag = "AutoshootMaxDistanceSlider",
  506.     Value = {
  507.         Min = 0,
  508.         Max = 1000,
  509.         Default = 300,
  510.     },
  511.     Callback = function(value)
  512.         getgenv().max_distance = value
  513.     end
  514. })
  515. Main:Slider({ -- Cooldown
  516.     Title = "Cooldown",
  517.     Step = 0.5,
  518.     Flag = "AutoshootCooldownSlider",
  519.     Value = {
  520.         Min = 0.5,
  521.         Max = 10,
  522.         Default = 2,
  523.     },
  524.     Callback = function(value)
  525.         getgenv().autoshoot_cooldown = value
  526.     end
  527. })
  528. Main:Space()
  529.  
  530. getgenv().auto_throw_enabled = false
  531. getgenv().max_distance = 300
  532. getgenv().throw_cooldown = 2
  533. local autoThrowThread = nil
  534. local lastThrowTime = 0
  535. local function throwKnife(targetChar)
  536.     local tool = game.Players.LocalPlayer.Character:FindFirstChildOfClass("Tool")
  537.     if not tool or not tool:FindFirstChild("RightHandle") then return end
  538.     local targetHrp = targetChar:FindFirstChild("HumanoidRootPart")
  539.     if not targetHrp then return end
  540.     local origin = CharacterRayOrigin(game.Players.LocalPlayer.Character)
  541.     local direction = (targetHrp.Position - origin).Unit
  542.     ReplicatedStorage.Remotes.ThrowStart:FireServer(origin, direction)
  543.     require(ReplicatedStorage.Modules.KnifeProjectileController)({
  544.         Speed = tool:GetAttribute("ThrowSpeed"),
  545.         KnifeProjectile = tool.RightHandle:Clone(),
  546.         Direction = direction,
  547.         Origin = origin
  548.     }, function(raycastResult)
  549.         ReplicatedStorage.Remotes.ThrowHit:FireServer(raycastResult and raycastResult.Instance,
  550.             raycastResult and raycastResult.Position)
  551.     end)
  552.     lastThrowTime = tick()
  553. end
  554. local uteuirhguh = Main:Toggle({ -- Enable auto throw knife
  555.     Title = "Enable auto throw knife",
  556.     Desc = "Automatically throws your knife at enemies",
  557.     Default = false,
  558.     Callback = function(Value)
  559.         getgenv().auto_throw_enabled = Value
  560.         if autoThrowThread then
  561.             task.cancel(autoThrowThread)
  562.             autoThrowThread = nil
  563.         end
  564.         if Value then
  565.             autoThrowThread = task.spawn(function()
  566.                 while getgenv().auto_throw_enabled do
  567.                     if (tick() - lastThrowTime) >= getgenv().throw_cooldown then
  568.                         local myChar = game.Players.LocalPlayer.Character
  569.                         local myRoot = myChar and myChar:FindFirstChild("HumanoidRootPart")
  570.  
  571.                         if myRoot then
  572.                             local closestTarget = nil
  573.                             local shortestDist = getgenv().max_distance
  574.                             for _, player in matchEnemies do
  575.                                 if player ~= game.Players.LocalPlayer and player.Character and player.Team ~= Player.Team then
  576.                                     local enemyHrp = player.Character:FindFirstChild("HumanoidRootPart")
  577.                                     local enemyHum = player.Character:FindFirstChild("Humanoid")
  578.  
  579.                                     if enemyHrp and enemyHum and enemyHum.Health > 0 then
  580.                                         local dist = (enemyHrp.Position - myRoot.Position).Magnitude
  581.                                         local params = RaycastParams.new()
  582.                                         params.FilterDescendantsInstances = { myChar, player.Character }
  583.                                         params.FilterType = Enum.RaycastFilterType.Exclude
  584.                                         local result = workspace:Raycast(myRoot.Position,
  585.                                             (enemyHrp.Position - myRoot.Position), params)
  586.  
  587.                                         if dist < shortestDist and not result then
  588.                                             shortestDist = dist
  589.                                             closestTarget = player.Character
  590.                                         end
  591.                                     end
  592.                                 end
  593.                             end
  594.  
  595.                             if closestTarget then
  596.                                 throwKnife(closestTarget)
  597.                             end
  598.                         end
  599.                     end
  600.                     task.wait(0.1)
  601.                 end
  602.             end)
  603.         end
  604.     end
  605. })
  606. Main:Slider({ -- Max throw distance
  607.     Title = "Max Throw Distance",
  608.     Value = { Min = 0, Max = 1000, Default = 300 },
  609.     Callback = function(v) getgenv().max_distance = v end
  610. })
  611. Main:Slider({ -- Throw cooldown
  612.     Title = "Cooldown",
  613.     Value = { Min = 0.5, Max = 10, Default = 2 },
  614.     Callback = function(v) getgenv().throw_cooldown = v end
  615. })
  616. Main:Space()
  617.  
  618. getgenv().triggerbot_enabled = false
  619. getgenv().triggerbot_firing = false
  620. getgenv().triggerbot_cooldown = 1
  621. local function triggerbot_valid_enemy(enemy)
  622.     if not enemy or enemy == Player then return false end
  623.     local character = enemy.Character
  624.     if not character or character.Parent ~= Workspace then return false end
  625.     if enemy.Team and enemy.Team == Player.Team then return false end
  626.     local humanoid = character:FindFirstChild("Humanoid")
  627.     local hrp = character:FindFirstChild("HumanoidRootPart")
  628.     local my_hrp = Player.Character and Player.Character:FindFirstChild("HumanoidRootPart")
  629.     if not (humanoid and hrp and my_hrp) then return false end
  630.     if humanoid.Health <= 0 then return false end
  631.     if Collection:HasTag(character, "Invulnerable") or Collection:HasTag(character, "SpeedTrail") then return false end
  632.     return true
  633. end
  634. local function triggerbot_shoot(target)
  635.     local my_char = Player.Character
  636.     local my_root = my_char and my_char:FindFirstChild("HumanoidRootPart")
  637.     local target_hrp = target.Character and target.Character:FindFirstChild("HumanoidRootPart")
  638.     if not (my_root and target_hrp) then
  639.         getgenv().triggerbot_firing = false
  640.         return
  641.     end
  642.     local hit_part = target.Character:FindFirstChild("LowerTorso")
  643.         or target.Character:FindFirstChild("UpperTorso")
  644.         or target.Character:FindFirstChild("Head")
  645.     if hit_part then
  646.         ShootGun(target)
  647.     else
  648.         getgenv().triggerbot_firing = false
  649.     end
  650. end
  651. RunService.Heartbeat:Connect(function()
  652.     if not getgenv().triggerbot_enabled then return end
  653.     if not getgenv().match then return end
  654.     if getgenv().triggerbot_firing then return end -- if locked then exit
  655.     local character = Player.Character
  656.     if not character then return end
  657.     if not getgenv().match then return end
  658.     local mousePos = UserInputService:GetMouseLocation()
  659.     local ray = Camera:ViewportPointToRay(mousePos.X, mousePos.Y)
  660.     local rayParams = RaycastParams.new()
  661.     rayParams.FilterType = Enum.RaycastFilterType.Exclude
  662.     rayParams.FilterDescendantsInstances = { character }
  663.     rayParams.IgnoreWater = true
  664.     local result = Workspace:Raycast(ray.Origin, ray.Direction * 2000, rayParams)
  665.     if not result then return end
  666.     local hitCharacter = result.Instance:FindFirstAncestorOfClass("Model")
  667.     if not hitCharacter then return end
  668.     local hitPlayer = Players:GetPlayerFromCharacter(hitCharacter)
  669.     if not hitPlayer then return end
  670.     if triggerbot_valid_enemy(hitPlayer) then
  671.         getgenv().triggerbot_firing = true -- lock from shooting
  672.         triggerbot_shoot(hitPlayer)
  673.         -- wait cooldown then unlock
  674.         task.delay(getgenv().triggerbot_cooldown, function()
  675.             getgenv().triggerbot_firing = false
  676.         end)
  677.     end
  678. end)
  679. Main:Toggle({ -- trigger bot toggle
  680.     Title = "Trigger Bot",
  681.     Desc = "Automatically shoots when your mouse hovers over an enemy",
  682.     Icon = "check",
  683.     Default = false,
  684.     Flag = "TriggerBotToggle",
  685.     Callback = function(Value)
  686.         getgenv().triggerbot_enabled = Value
  687.         if getgenv().triggerbot_enabled then
  688.             FeatureActivated(true)
  689.         else
  690.             FeatureActivated(false)
  691.         end
  692.     end
  693. })
  694. Main:Slider({ -- triggerbot cooldown
  695.     Title = "Trigger Bot Cooldown",
  696.     Step = 0.1,
  697.     Flag = "TriggerBotCooldownSlider",
  698.     Value = {
  699.         Min = 0,
  700.         Max = 3,
  701.         Default = 1,
  702.     },
  703.     Callback = function(value)
  704.         getgenv().triggerbot_cooldown = value
  705.     end
  706. })
  707. Main:Space()
  708.  
  709. getgenv().hitbox_expander = false
  710. getgenv().hitbox_size = 13
  711. getgenv().hitbox_color = Color3.fromRGB(255, 0, 0)
  712. Main:Toggle({ -- hitbox toggle
  713.     Title = "Enable Hitbox Expander",
  714.     Desc = "Adds hitbox to all enemies",
  715.     Icon = "check",
  716.     Default = false,
  717.     Flag = "HitboxEnableToggle",
  718.     Callback = function(Value)
  719.         getgenv().hitbox_expander = Value
  720.         if getgenv().hitbox_expander then
  721.             FeatureActivated(true)
  722.         else
  723.             FeatureActivated(false)
  724.         end
  725.         if not getgenv().hitbox_expander then
  726.             for _, player in matchEnemies do
  727.                 if player ~= Player then
  728.                     local character = player.Character
  729.                     local hrp = character and character:FindFirstChild("HumanoidRootPart")
  730.                     if hrp then
  731.                         hrp.Size = Vector3.new(2, 2, 1)
  732.                         hrp.CanCollide = false
  733.                         local hit_box = hrp:FindFirstChild("hit_box")
  734.                         if hit_box then
  735.                             hit_box:Destroy()
  736.                         end
  737.                     end
  738.                 end
  739.             end
  740.             return
  741.         end
  742.         task.spawn(function()
  743.             while getgenv().hitbox_expander and task.wait(0.1) do
  744.                 for _, player in pairs(Players:GetPlayers()) do
  745.                     if player ~= Player and player.Character then
  746.                         local character = player.Character
  747.                         local hrp = character:FindFirstChild("HumanoidRootPart")
  748.                         if hrp then
  749.                             local enemy = player.Team ~= Player.Team
  750.                             if enemy then
  751.                                 hrp.Size = Vector3.new(getgenv().hitbox_size, getgenv().hitbox_size,
  752.                                     getgenv().hitbox_size)
  753.                                 hrp.CanCollide = true
  754.                                 local hit_box = hrp:FindFirstChild("hit_box")
  755.                                 if not hit_box then
  756.                                     local box_handle = Instance.new("BoxHandleAdornment")
  757.                                     box_handle.Name = "hit_box"
  758.                                     box_handle.Adornee = hrp
  759.                                     box_handle.AlwaysOnTop = true
  760.                                     box_handle.ZIndex = 10
  761.                                     box_handle.Size = hrp.Size
  762.                                     box_handle.Color3 = getgenv().hitbox_color
  763.                                     box_handle.Transparency = 0.8
  764.                                     box_handle.Parent = hrp
  765.                                 else
  766.                                     hit_box.Size = hrp.Size
  767.                                 end
  768.                             else
  769.                                 hrp.Size = Vector3.new(2, 2, 1)
  770.                                 hrp.CanCollide = false
  771.                                 local hit_box = hrp:FindFirstChild("hit_box")
  772.                                 if hit_box then
  773.                                     hit_box:Destroy()
  774.                                 end
  775.                             end
  776.                         end
  777.                     end
  778.                 end
  779.             end
  780.         end)
  781.     end
  782. })
  783. Main:Slider({ -- hitbox size
  784.     Title = "Hitbox Size",
  785.     Step = 1,
  786.     Flag = "HitboxSizeSlider",
  787.     Value = {
  788.         Min = 5,
  789.         Max = 100,
  790.         Default = 13,
  791.     },
  792.     Callback = function(size)
  793.         getgenv().hitbox_size = size
  794.     end
  795. })
  796. Main:Colorpicker({ -- hitbox color
  797.     Title = "Hitbox Color",
  798.     Default = Color3.fromRGB(255, 0, 0),
  799.     Transparency = 0,
  800.     Locked = false,
  801.     Flag = "HitboxColorPicker",
  802.     Callback = function(color)
  803.         getgenv().hitbox_color = color
  804.     end
  805. })
  806.  
  807. Main:Space()
  808. getgenv().original_cooldowns = {}
  809. Main:Toggle({ -- remove gun cooldown
  810.     Title = "Remove Gun Cooldown",
  811.     Desc = "You may need to re-equip your weapon for changes to apply",
  812.     Icon = "check",
  813.     Default = false,
  814.     Flag = "RemoveGunCooldownToggle",
  815.     Callback = function(Value)
  816.         getgenv().remove_gun_cooldown = Value
  817.         if getgenv().remove_gun_cooldown then
  818.             FeatureActivated(true)
  819.         else
  820.             FeatureActivated(false)
  821.         end
  822.         if Value then
  823.             getgenv().original_cooldowns = {}
  824.             task.spawn(function()
  825.                 while getgenv().remove_gun_cooldown do
  826.                     task.wait(0.1)
  827.                     local tools = {}
  828.                     for _, container in ipairs({ Player:FindFirstChild("Backpack"), Player.Character }) do
  829.                         if container then
  830.                             for _, tool in ipairs(container:GetChildren()) do
  831.                                 if tool:IsA("Tool") and tool:FindFirstChild("Fire") then
  832.                                     table.insert(tools, tool)
  833.                                 end
  834.                             end
  835.                         end
  836.                     end
  837.                     for _, tool in ipairs(tools) do
  838.                         if getgenv().original_cooldowns[tool] == nil then
  839.                             getgenv().original_cooldowns[tool] = tool:GetAttribute("Cooldown")
  840.                         end
  841.                         if tool:GetAttribute("Cooldown") ~= 0 then
  842.                             tool:SetAttribute("Cooldown", 0)
  843.                         end
  844.                     end
  845.                 end
  846.             end)
  847.         else
  848.             for tool, cooldown in pairs(getgenv().original_cooldowns) do
  849.                 if tool and tool.Parent then
  850.                     tool:SetAttribute("Cooldown", cooldown)
  851.                 end
  852.             end
  853.             getgenv().original_cooldowns = {}
  854.         end
  855.     end,
  856. })
  857.  
  858. local Esp = window:Tab({
  859.     Title = "Esp Highlights",
  860.     Icon = "eye",
  861.     Locked = false,
  862. })
  863. getgenv().esp_team_color = Color3.fromRGB(0, 255, 0)
  864. getgenv().esp_enemy_color = Color3.fromRGB(255, 0, 0)
  865. getgenv().esp_charms_highlighter = false
  866. local charms_esp = CoreGui:FindFirstChild("Highlights") or Instance.new("Folder")
  867. charms_esp.Name = "CharmsESP"
  868. charms_esp.Parent = CoreGui
  869. Esp:Toggle({ -- Enable Charms Highlighte
  870.     Title = "Enable Charms Highlighter",
  871.     Desc = "Highlights players full body",
  872.     Icon = "check",
  873.     Default = false,
  874.     Flag = "EspCharmsToggle",
  875.     Callback = function(Value)
  876.         getgenv().esp_charms_highlighter = Value
  877.         -- remove all highlight on false
  878.         if not getgenv().esp_charms_highlighter then
  879.             FeatureActivated(false)
  880.             for _, esp_players in ipairs(charms_esp:GetChildren()) do
  881.                 esp_players:Destroy()
  882.             end
  883.             return
  884.         else
  885.             FeatureActivated(true)
  886.         end
  887.         task.spawn(function()
  888.             while getgenv().esp_charms_highlighter do
  889.                 task.wait(0.1)
  890.                 for _, v in matchEnemies do
  891.                     if not getgenv().esp_charms_highlighter then break end
  892.                     if v ~= Player then
  893.                         local character = v.Character
  894.                         if character then
  895.                             local highlight = charms_esp:FindFirstChild(v.Name)
  896.                             if not highlight then
  897.                                 highlight = Instance.new("Highlight")
  898.                                 highlight.Name = v.Name
  899.                                 highlight.FillTransparency = 0.6
  900.                                 highlight.OutlineTransparency = 0.4
  901.                                 highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
  902.                                 highlight.Parent = charms_esp
  903.                             end
  904.                             local teamColor = (v.Team == Player.Team)
  905.                                 and getgenv().esp_team_color
  906.                                 or getgenv().esp_enemy_color
  907.                             highlight.FillColor = teamColor
  908.                             highlight.OutlineColor = teamColor
  909.                             highlight.Adornee = character
  910.                         end
  911.                     end
  912.                 end
  913.             end
  914.         end)
  915.     end
  916. })
  917. getgenv().esp_skeleton = false
  918. local skeleton_folder = CoreGui:FindFirstChild("Skeletons") or Instance.new("Folder")
  919. skeleton_folder.Name = "Skeletons"
  920. skeleton_folder.Parent = CoreGui
  921. Esp:Toggle({ -- Enable Skeletal Highlighter
  922.     Title = "Enable Skeletal Highlighter",
  923.     Desc = "Highlights players skeleton",
  924.     Icon = "check",
  925.     Default = false,
  926.     Flag = "EspSkeletonToggle",
  927.     Callback = function(Value)
  928.         getgenv().esp_skeleton = Value
  929.         local function cleanup()
  930.             for _, child in ipairs(skeleton_folder:GetChildren()) do
  931.                 child:Destroy()
  932.             end
  933.         end
  934.         if not Value then
  935.             cleanup()
  936.             FeatureActivated(false)
  937.             return
  938.         else
  939.             FeatureActivated(true)
  940.         end
  941.         task.spawn(function()
  942.             local function createLine()
  943.                 local line = Instance.new("LineHandleAdornment")
  944.                 line.Thickness = 2
  945.                 line.ZIndex = 10
  946.                 line.AlwaysOnTop = true
  947.                 return line
  948.             end
  949.             local bones = {
  950.                 { "Head",       "UpperTorso" }, { "UpperTorso", "LowerTorso" },
  951.                 { "UpperTorso", "LeftUpperArm" }, { "LeftUpperArm", "LeftLowerArm" }, { "LeftLowerArm", "LeftHand" },
  952.                 { "UpperTorso", "RightUpperArm" }, { "RightUpperArm", "RightLowerArm" }, { "RightLowerArm", "RightHand" },
  953.                 { "LowerTorso", "LeftUpperLeg" }, { "LeftUpperLeg", "LeftLowerLeg" }, { "LeftLowerLeg", "LeftFoot" },
  954.                 { "LowerTorso", "RightUpperLeg" }, { "RightUpperLeg", "RightLowerLeg" }, { "RightLowerLeg", "RightFoot" }
  955.             }
  956.             while getgenv().esp_skeleton do
  957.                 task.wait(0.1)
  958.                 for _, v in matchEnemies do
  959.                     local char = v.Character
  960.                     local holder = skeleton_folder:FindFirstChild(v.Name)
  961.                     if char and char:FindFirstChild("HumanoidRootPart") and char:FindFirstChild("Humanoid") and char.Humanoid.Health > 0 then
  962.                         if not holder then
  963.                             holder = Instance.new("Folder")
  964.                             holder.Name = v.Name
  965.                             holder.Parent = skeleton_folder
  966.                         end
  967.                         local color = (v.Team == Player.Team) and getgenv().esp_team_color or getgenv().esp_enemy_color
  968.                         for i, bonePair in ipairs(bones) do
  969.                             local p1, p2 = char:FindFirstChild(bonePair[1]), char:FindFirstChild(bonePair[2])
  970.                             if p1 and p2 then
  971.                                 local line = holder:FindFirstChild(tostring(i)) or createLine()
  972.                                 line.Name = tostring(i)
  973.                                 line.Color3 = color
  974.                                 line.Adornee = p1
  975.                                 line.CFrame = CFrame.new(Vector3.zero, p1.CFrame:PointToObjectSpace(p2.Position))
  976.                                 line.Length = (p1.Position - p2.Position).Magnitude
  977.                                 line.Parent = holder
  978.                             end
  979.                         end
  980.                     elseif holder then
  981.                         holder:Destroy()
  982.                     end
  983.                 end
  984.                 for _, child in ipairs(skeleton_folder:GetChildren()) do
  985.                     if not Players:FindFirstChild(child.Name) then
  986.                         child:Destroy()
  987.                     end
  988.                 end
  989.             end
  990.             cleanup()
  991.         end)
  992.     end
  993. })
  994. getgenv().esp_tracers = false
  995. local tracers_folder = CoreGui:FindFirstChild("Tracers") or Instance.new("Folder")
  996. tracers_folder.Name = "Tracers"
  997. tracers_folder.Parent = CoreGui
  998. local RunService = game:GetService("RunService")
  999. local tracerConnection = nil -- Variable to hold our RenderStepped loop
  1000.  
  1001. Esp:Toggle({
  1002.     Title = "Enable Tracers Highlighter",
  1003.     Desc = "Draws lines from your character to others smoothly.",
  1004.     Icon = "check",
  1005.     Default = false,
  1006.     Flag = "EspTracersToggle",
  1007.     Callback = function(Value)
  1008.         getgenv().esp_tracers = Value
  1009.  
  1010.         local function cleanup()
  1011.             for _, child in ipairs(tracers_folder:GetChildren()) do
  1012.                 child:Destroy()
  1013.             end
  1014.         end
  1015.  
  1016.         -- Disconnect existing RenderStepped connection if toggled off
  1017.         if tracerConnection then
  1018.             tracerConnection:Disconnect()
  1019.             tracerConnection = nil
  1020.         end
  1021.  
  1022.         if not Value then
  1023.             cleanup()
  1024.             if FeatureActivated then FeatureActivated(false) end
  1025.             return
  1026.         else
  1027.             if FeatureActivated then FeatureActivated(true) end
  1028.         end
  1029.  
  1030.         -- FIXED: Run on every single frame render for flawless fluidity
  1031.         tracerConnection = RunService.RenderStepped:Connect(function()
  1032.             if not getgenv().esp_tracers then
  1033.                 if tracerConnection then
  1034.                     tracerConnection:Disconnect()
  1035.                     tracerConnection = nil
  1036.                 end
  1037.                 cleanup()
  1038.                 return
  1039.             end
  1040.  
  1041.             local myChar = Player.Character
  1042.             local myRoot = myChar and myChar:FindFirstChild("HumanoidRootPart")
  1043.  
  1044.             if myRoot then
  1045.                 for _, v in ipairs(matchEnemies) do
  1046.                     if v ~= Player and v.Parent then
  1047.                         local char = v.Character
  1048.                         local tracer = tracers_folder:FindFirstChild(v.Name)
  1049.  
  1050.                         if char and char:FindFirstChild("HumanoidRootPart") and char:FindFirstChild("Humanoid") and char.Humanoid.Health > 0 then
  1051.                             if not tracer then
  1052.                                 tracer = Instance.new("LineHandleAdornment")
  1053.                                 tracer.Name = v.Name
  1054.                                 tracer.Thickness = 1.5
  1055.                                 tracer.ZIndex = 10
  1056.                                 tracer.AlwaysOnTop = true
  1057.                                 tracer.Parent = tracers_folder
  1058.                             end
  1059.  
  1060.                             local targetRoot = char.HumanoidRootPart
  1061.                             local color = (v.Team == Player.Team) and getgenv().esp_team_color or
  1062.                             getgenv().esp_enemy_color
  1063.  
  1064.                             -- FIXED MATH: Adorn to Terrain and trace directly through World Space coordinates
  1065.                             tracer.Color3 = color
  1066.                             tracer.Adornee = workspace.Terrain
  1067.                             tracer.CFrame = CFrame.lookAt(myRoot.Position, targetRoot.Position)
  1068.                             tracer.Length = (myRoot.Position - targetRoot.Position).Magnitude
  1069.                         elseif tracer then
  1070.                             tracer:Destroy()
  1071.                         end
  1072.                     end
  1073.                 end
  1074.             else
  1075.                 cleanup()
  1076.             end
  1077.  
  1078.             -- Keep the folder clean of disconnected/left players
  1079.             for _, child in ipairs(tracers_folder:GetChildren()) do
  1080.                 if not Players:FindFirstChild(child.Name) then
  1081.                     child:Destroy()
  1082.                 end
  1083.             end
  1084.         end)
  1085.     end
  1086. })
  1087. Esp:Colorpicker({ -- Team Color Highlight
  1088.     Title = "Team Color Highlight",
  1089.     Desc = "Esp color for teammates",
  1090.     Default = Color3.fromRGB(0, 255, 0),
  1091.     Transparency = 0,
  1092.     Locked = false,
  1093.     Flag = "EspTeamColorPicker",
  1094.     Callback = function(color)
  1095.         getgenv().esp_team_color = color
  1096.     end
  1097. })
  1098. Esp:Colorpicker({ -- Enemy Color Highlight
  1099.     Title = "Enemy Color Highlight",
  1100.     Desc = "Esp color for enemies",
  1101.     Default = Color3.fromRGB(255, 0, 0),
  1102.     Transparency = 0,
  1103.     Locked = false,
  1104.     Flag = "EspEnemyColorPicker",
  1105.     Callback = function(color)
  1106.         getgenv().esp_enemy_color = color
  1107.     end
  1108. })
  1109.  
  1110. local Killing = window:Tab({
  1111.     Title = "Kill All",
  1112.     Icon = "skull",
  1113.     Locked = false,
  1114. })
  1115. getgenv().autoKillGun = false
  1116. Killing:Button({ -- [GUN] Kill all players once
  1117.     Title = "[GUN] Kill all players once",
  1118.     Desc = "Kills all players in your server once",
  1119.     Locked = false,
  1120.     Callback = function()
  1121.         if getgenv().match then
  1122.             local players = game:GetService("Players")
  1123.             local player = players.LocalPlayer
  1124.             local myMatch = player:GetAttribute("Match")
  1125.             if myMatch then
  1126.                 equipGun()
  1127.                 wind:Notify({
  1128.                     Title = "Killing all players!",
  1129.                     Content =
  1130.                     "Enjoying Vexal Scripts? Join our discord server located in the Welcome tab for even better stuff!",
  1131.                     Duration = 3,
  1132.                     Icon = "rbxassetid://139687752061139",
  1133.                 })
  1134.                 for _, plr in matchEnemies do
  1135.                     if plr.Team ~= player.Team and plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") then
  1136.                         local target = plr.Character.HumanoidRootPart
  1137.                         local origin = player.Character and player.Character:FindFirstChild("HumanoidRootPart")
  1138.                         if origin then
  1139.                             local ShootGun = ReplicatedStorage:WaitForChild("Remotes"):WaitForChild("ShootGun")
  1140.                             ShootGun:FireServer(origin.Position, target.Position, target, target.Position)
  1141.                         end
  1142.                     end
  1143.                     task.wait(0.1)
  1144.                 end
  1145.             end
  1146.         end
  1147.     end
  1148. })
  1149. Killing:Toggle({ -- [GUN] Auto kill all players
  1150.     Title = "[GUN] Auto kill all players",
  1151.     Desc = "Kills everyone constantly in your server with gun",
  1152.     Value = false,
  1153.     Callback = function(state)
  1154.         getgenv().autoKillGun = state
  1155.         if state then
  1156.             FeatureActivated(true)
  1157.         else
  1158.             FeatureActivated(false)
  1159.         end
  1160.     end
  1161. })
  1162. task.spawn(function() -- [GUN] auto kill all loop
  1163.     local players = game:GetService("Players")
  1164.     local player = players.LocalPlayer
  1165.     while true do
  1166.         if getgenv().autoKillGun then
  1167.             local myMatch = player:GetAttribute("Match")
  1168.             if myMatch then
  1169.                 equipGun()
  1170.                 for _, plr in matchEnemies do
  1171.                     if plr.Team ~= player.Team and plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") then
  1172.                         local target = plr.Character.HumanoidRootPart
  1173.                         local origin = player.Character and player.Character:FindFirstChild("HumanoidRootPart")
  1174.                         if origin then
  1175.                             local ShootGun = ReplicatedStorage:WaitForChild("Remotes"):WaitForChild("ShootGun")
  1176.                             ShootGun:FireServer(origin.Position, target.Position, target, target.Position)
  1177.                         end
  1178.                     end
  1179.                 end
  1180.             end
  1181.         end
  1182.         task.wait(0.1)
  1183.     end
  1184. end)
  1185. getgenv().autoKillKnife = false
  1186. Killing:Button({ -- [KNIFE] Kill all players once
  1187.     Title = "[KNIFE] Kill all players once",
  1188.     Desc = "Kills all players in your server once",
  1189.     Locked = false,
  1190.     Callback = function()
  1191.         if getgenv().match then
  1192.             local players = game:GetService("Players")
  1193.             local player = players.LocalPlayer
  1194.             local myMatch = player:GetAttribute("Match")
  1195.             if myMatch then
  1196.                 equipKnife()
  1197.                 wind:Notify({
  1198.                     Title = "Killing all players!",
  1199.                     Content =
  1200.                     "Enjoying QuantumX Scripts? Join our discord server located in the Welcome tab for even better stuff!",
  1201.                     Duration = 3,
  1202.                     Icon = "rbxassetid://139687752061139",
  1203.                 })
  1204.                 for _, target in ipairs(Players:GetPlayers()) do
  1205.                     if target ~= player and target.Character then
  1206.                         local humanoid = target.Character:FindFirstChild("Humanoid")
  1207.                         local rootPart = target.Character:FindFirstChild("HumanoidRootPart")
  1208.                         if humanoid and humanoid.Health > 0 and rootPart then
  1209.                             local knifeRemote = ReplicatedStorage:WaitForChild("Remotes"):WaitForChild("ThrowHit")
  1210.                             knifeRemote:FireServer(rootPart, rootPart.Position)
  1211.                         end
  1212.                     end
  1213.                     task.wait(0.1)
  1214.                 end
  1215.             end
  1216.         end
  1217.     end
  1218. })
  1219. Killing:Toggle({ -- [KNIFE] Auto kill all players
  1220.     Title = "[KNIFE] Auto kill all players",
  1221.     Desc = "Kills everyone constantly in your server with knife",
  1222.     Value = false,
  1223.     Callback = function(state)
  1224.         getgenv().autoKillKnife = state
  1225.         if state then
  1226.             FeatureActivated(true)
  1227.         else
  1228.             FeatureActivated(false)
  1229.         end
  1230.     end
  1231. })
  1232. task.spawn(function() -- [KNIFE] auto kill all loop
  1233.     local players = game:GetService("Players")
  1234.     local player = players.LocalPlayer
  1235.     while true do
  1236.         if getgenv().autoKillKnife then
  1237.             local myMatch = player:GetAttribute("Match")
  1238.             if myMatch then
  1239.                 equipKnife()
  1240.                 for _, target in matchEnemies do
  1241.                     if target ~= player and target.Character then
  1242.                         local humanoid = target.Character:FindFirstChild("Humanoid")
  1243.                         local rootPart = target.Character:FindFirstChild("HumanoidRootPart")
  1244.                         if humanoid and humanoid.Health > 0 and rootPart then
  1245.                             local knifeRemote = ReplicatedStorage:WaitForChild("Remotes"):WaitForChild("ThrowHit")
  1246.                             knifeRemote:FireServer(rootPart, rootPart.Position)
  1247.                         end
  1248.                     end
  1249.                 end
  1250.             end
  1251.         end
  1252.         task.wait(0.1)
  1253.     end
  1254. end)
  1255.  
  1256. local Ability = window:Tab({
  1257.     Title = "Abilitys",
  1258.     Icon = "zap",
  1259.     Locked = false,
  1260. })
  1261. getgenv().autoShroud = false
  1262. getgenv().lowExecutorsShroud = false
  1263. getgenv().shroudRate = 1
  1264. local ConfigSuccess, Config = pcall(function()
  1265.     return require(game:GetService("ReplicatedStorage").Ability.AbilityConfig)
  1266. end)
  1267. local ActivateShroud = ReplicatedStorage.Ability:WaitForChild("ActivateShroud")
  1268. local isLocked = (not ConfigSuccess)
  1269. local originals = {
  1270.     SprintCooldown = not isLocked and Config.SprintCooldown or 15,
  1271.     DashCooldown = not isLocked and Config.DashCooldown or 6,
  1272.     ShroudCooldown = not isLocked and Config.ShroudCooldown or 7,
  1273.     SoulReapCombatDelay = not isLocked and Config.SoulReapCombatDelay or 0.35
  1274. }
  1275. if isLocked then
  1276.     uteuirhguh:Lock()
  1277. end
  1278. local function blind(targetPlayer)
  1279.     local character = Players.LocalPlayer.Character
  1280.     if targetPlayer and targetPlayer.Character and character then
  1281.         local targetPart = targetPlayer.Character:FindFirstChild("HumanoidRootPart")
  1282.         local root = character:FindFirstChild("HumanoidRootPart")
  1283.  
  1284.         if targetPart and root then
  1285.             local origin
  1286.             local direction
  1287.  
  1288.             if getgenv().lowExecutorsShroud then
  1289.                 origin = root.Position
  1290.                 direction = (targetPart.Position - origin).Unit
  1291.                 ActivateShroud:FireServer(origin, direction)
  1292.             else
  1293.                 local s1, CharacterRayOrigin = pcall(function()
  1294.                     return require(ReplicatedStorage.Modules
  1295.                         .CharacterRayOrigin)
  1296.                 end)
  1297.                 local s2, ShroudProjectileController = pcall(function()
  1298.                     return require(ReplicatedStorage.Ability
  1299.                         .ShroudProjectileController)
  1300.                 end)
  1301.                 if s1 and s2 then
  1302.                     origin = CharacterRayOrigin(character)
  1303.                     direction = (targetPart.Position - origin).Unit
  1304.                     ActivateShroud:FireServer(origin, direction)
  1305.                     ShroudProjectileController(origin, direction)
  1306.                 else
  1307.                     getgenv().lowExecutorsShroud = true
  1308.                     origin = root.Position
  1309.                     direction = (targetPart.Position - origin).Unit
  1310.                     ActivateShroud:FireServer(origin, direction)
  1311.                 end
  1312.             end
  1313.         end
  1314.     end
  1315. end
  1316.  
  1317. Ability:Toggle({ -- Auto Shroud All
  1318.     Title = "Auto Shroud All",
  1319.     Desc = "Automatically blinds all enemies in match",
  1320.     Value = false,
  1321.     Callback = function(state)
  1322.         getgenv().autoShroud = state
  1323.     end
  1324. })
  1325. Ability:Toggle({ -- Low Executor Mode
  1326.     Title = "Low Executor Mode",
  1327.     Desc = "Supports all executors, may not notice shroud box/sound but blinds enemy and saves FPS",
  1328.     Value = false,
  1329.     Callback = function(state)
  1330.         getgenv().lowExecutorsShroud = state
  1331.     end
  1332. })
  1333. Ability:Slider({ -- Shrouds firing to enemies
  1334.     Title = "Amount of Shrouds per Enemy",
  1335.     Desc = "Adjust firing rate per enemy, a high number increases fps for entire game",
  1336.     Step = 0.1,
  1337.     Value = {
  1338.         Min = 1,
  1339.         Max = 10000,
  1340.         Default = 1,
  1341.     },
  1342.     Callback = function(value)
  1343.         getgenv().shroudRate = value
  1344.     end
  1345. })
  1346. task.spawn(function() -- auto shoot shroud
  1347.     while true do
  1348.         if getgenv().autoShroud then
  1349.             local matchId = Players.LocalPlayer:GetAttribute("Match")
  1350.             for _, p in matchEnemies do
  1351.                 blind(p)
  1352.             end
  1353.             task.wait(1 / getgenv().shroudRate)
  1354.         else
  1355.             task.wait(0.5)
  1356.         end
  1357.     end
  1358. end)
  1359.  
  1360. Ability:Space()
  1361. task.spawn(function()
  1362.     if not isLocked then
  1363.         lockedParagraph:Destroy()
  1364.     end
  1365. end)
  1366. Ability:Toggle({ -- Remove Sprint Cooldown
  1367.     Title = "Remove Sprint Cooldown",
  1368.     Locked = isLocked,
  1369.     Value = false,
  1370.     Callback = function(state)
  1371.         if state then
  1372.             FeatureActivated(true)
  1373.         else
  1374.             FeatureActivated(false)
  1375.         end
  1376.         if not isLocked then
  1377.             Config.SprintCooldown = state and 0 or originals.SprintCooldown
  1378.         else
  1379.             NotSupportedFeature()
  1380.         end
  1381.     end
  1382. })
  1383. Ability:Toggle({ -- Remove Dash Cooldown
  1384.     Title = "Remove Dash Cooldown",
  1385.     Locked = isLocked,
  1386.     Value = false,
  1387.     Callback = function(state)
  1388.         if state then
  1389.             FeatureActivated(true)
  1390.         else
  1391.             FeatureActivated(false)
  1392.         end
  1393.         if not isLocked then
  1394.             Config.DashCooldown = state and 0 or originals.DashCooldown
  1395.         else
  1396.             NotSupportedFeature()
  1397.         end
  1398.     end
  1399. })
  1400. Ability:Toggle({ -- Remove Shroud Cooldown
  1401.     Title = "Remove Shroud Cooldown",
  1402.     Locked = isLocked,
  1403.     Value = false,
  1404.     Callback = function(state)
  1405.         if state then
  1406.             FeatureActivated(true)
  1407.         else
  1408.             FeatureActivated(false)
  1409.         end
  1410.         if not isLocked then
  1411.             Config.ShroudCooldown = state and 0 or originals.ShroudCooldown
  1412.         else
  1413.             NotSupportedFeature()
  1414.         end
  1415.     end
  1416. })
  1417. Ability:Toggle({ -- Remove Soul Reap Combat Delay
  1418.     Title = "Remove Soul Reap Combat Delay",
  1419.     Locked = isLocked,
  1420.     Value = false,
  1421.     Callback = function(state)
  1422.         if state then
  1423.             FeatureActivated(true)
  1424.         else
  1425.             FeatureActivated(false)
  1426.         end
  1427.         if not isLocked then
  1428.             Config.SoulReapCombatDelay = state and 0 or originals.SoulReapCombatDelay
  1429.         else
  1430.             NotSupportedFeature()
  1431.         end
  1432.     end
  1433. })
  1434.  
  1435. Ability:Space()
  1436. Ability:Slider({ -- Sprint Time
  1437.     Title = "Sprint Time",
  1438.     Step = 0.5,
  1439.     Locked = isLocked,
  1440.     Value = {
  1441.         Min = 0.5,
  1442.         Max = 10,
  1443.         Default = not isLocked and Config.SprintTime or 0,
  1444.     },
  1445.     Callback = function(value)
  1446.         if not isLocked then
  1447.             Config.SprintTime = value
  1448.         else
  1449.             NotSupportedFeature()
  1450.         end
  1451.     end
  1452. })
  1453. Ability:Slider({ -- Sprint Boost
  1454.     Title = "Sprint Boost",
  1455.     Step = 0.1,
  1456.     Locked = isLocked,
  1457.     Value = {
  1458.         Min = 0,
  1459.         Max = 5,
  1460.         Default = not isLocked and Config.SprintBoost or 0,
  1461.     },
  1462.     Callback = function(value)
  1463.         if not isLocked then
  1464.             Config.SprintBoost = value
  1465.         else
  1466.             NotSupportedFeature()
  1467.         end
  1468.     end
  1469. })
  1470. Ability:Slider({ -- Soul Reap Time
  1471.     Title = "Soul Reap Time",
  1472.     Step = 0.5,
  1473.     Locked = isLocked,
  1474.     Value = {
  1475.         Min = 0.5,
  1476.         Max = 10,
  1477.         Default = not isLocked and Config.SoulReapTime,
  1478.     },
  1479.     Callback = function(value)
  1480.         if not isLocked then
  1481.             Config.SoulReapTime = value
  1482.         else
  1483.             NotSupportedFeature()
  1484.         end
  1485.     end
  1486. })
  1487. Ability:Slider({ -- Soul Reap Speed Boost
  1488.     Title = "Soul Reap Speed Boost",
  1489.     Step = 0.1,
  1490.     Locked = isLocked,
  1491.     Value = {
  1492.         Min = 0.1,
  1493.         Max = 10,
  1494.         Default = not isLocked and Config.SoulReapSpeedBoost or 0,
  1495.     },
  1496.     Callback = function(value)
  1497.         if not isLocked then
  1498.             Config.SoulReapSpeedBoost = value
  1499.         else
  1500.             NotSupportedFeature()
  1501.         end
  1502.     end
  1503. })
  1504. Ability:Slider({ -- Propeller Jump Boost
  1505.     Title = "Propeller Jump Boost",
  1506.     Step = 0.1,
  1507.     Locked = isLocked,
  1508.     Value = {
  1509.         Min = 0.1,
  1510.         Max = 5,
  1511.         Default = not isLocked and Config.PropellerJumpBoost or 0,
  1512.     },
  1513.     Callback = function(value)
  1514.         if not isLocked then
  1515.             Config.PropellerJumpBoost = value
  1516.         else
  1517.             NotSupportedFeature()
  1518.         end
  1519.     end
  1520. })
  1521. Ability:Slider({ -- Shroud Time
  1522.     Title = "Shroud Time",
  1523.     Step = 0.5,
  1524.     Locked = isLocked,
  1525.     Value = {
  1526.         Min = 0.5,
  1527.         Max = 10,
  1528.         Default = not isLocked and Config.ShroudTime or 0,
  1529.     },
  1530.     Callback = function(value)
  1531.         if not isLocked then
  1532.             Config.ShroudTime = value
  1533.         else
  1534.             NotSupportedFeature()
  1535.         end
  1536.     end
  1537. })
  1538. Ability:Slider({ -- Shroud Projectile Speed
  1539.     Title = "Shroud Projectile Speed",
  1540.     Step = 2.5,
  1541.     Locked = isLocked,
  1542.     Value = {
  1543.         Min = 2.5,
  1544.         Max = 100,
  1545.         Default = not isLocked and Config.ShroudProjectileSpeed or 0,
  1546.     },
  1547.     Callback = function(value)
  1548.         if not isLocked then
  1549.             Config.ShroudProjectileSpeed = value
  1550.         else
  1551.             NotSupportedFeature()
  1552.         end
  1553.     end
  1554. })
  1555. Ability:Slider({ -- Shroud Projectile Range
  1556.     Title = "Shroud Projectile Range",
  1557.     Step = 5,
  1558.     Locked = isLocked,
  1559.     Value = {
  1560.         Min = 5,
  1561.         Max = 1000,
  1562.         Default = not isLocked and Config.ShroudProjectileRange or 0,
  1563.     },
  1564.     Callback = function(value)
  1565.         if not isLocked then
  1566.             Config.ShroudProjectileRange = value
  1567.         else
  1568.             NotSupportedFeature()
  1569.         end
  1570.     end
  1571. })
  1572.  
  1573. local Teleport = window:Tab({
  1574.     Title = "Teleport",
  1575.     Icon = "map-pin",
  1576.     Locked = false,
  1577. })
  1578.  
  1579. local lobby = workspace:WaitForChild("Lobby")
  1580. local groups = { DuelRing_1v1 = 1, DuelRing_2v2 = 2, DuelRing_3v3 = 3, DuelRing_4v4 = 4 }
  1581. local autoWalkToDuelPad = false
  1582. local currentPadModel = nil
  1583. local lastJumpTime = 0
  1584. local function walkTo(model)
  1585.     local character = Player.Character
  1586.     if not character then return end
  1587.     local humanoid = character:FindFirstChildOfClass("Humanoid")
  1588.     local rootPart = character:FindFirstChild("HumanoidRootPart")
  1589.     if humanoid and rootPart and model and model.PrimaryPart then
  1590.         local targetPosition = model.PrimaryPart.Position
  1591.         local distance = (rootPart.Position - targetPosition).Magnitude
  1592.         if distance <= 6 then
  1593.             getgenv().noclip = false
  1594.             for _, part in ipairs(character:GetDescendants()) do
  1595.                 if part:IsA("BasePart") then
  1596.                     part.CanCollide = true
  1597.                 end
  1598.             end
  1599.             return
  1600.         end
  1601.         humanoid.WalkSpeed = 35
  1602.         humanoid:MoveTo(targetPosition)
  1603.         if os.clock() - lastJumpTime >= 2 then
  1604.             humanoid.Jump = true
  1605.             lastJumpTime = os.clock()
  1606.         end
  1607.         getgenv().noclip = true
  1608.         for _, part in ipairs(character:GetDescendants()) do
  1609.             if part:IsA("BasePart") then
  1610.                 part.CanCollide = false
  1611.             end
  1612.         end
  1613.     end
  1614. end
  1615. Teleport:Toggle({
  1616.     Title = "Enable auto walk to duel pads",
  1617.     Desc = "Automatically walks to an available duel pad accurately",
  1618.     Default = false,
  1619.     Flag = "AutoWalkDuelPadToggle",
  1620.     Callback = function(value)
  1621.         autoWalkToDuelPad = value
  1622.     end
  1623. })
  1624. Teleport:Space()
  1625. task.spawn(function()
  1626.     while true do
  1627.         if executionID ~= _G.executionID then break end
  1628.         if not Player:GetAttribute("Match") then
  1629.             if autoWalkToDuelPad then
  1630.                 local character = Player.Character
  1631.                 local rootPart = character and character:FindFirstChild("HumanoidRootPart")
  1632.                 if currentPadModel and rootPart then
  1633.                     local currentMaxCount = 1
  1634.                     for groupName, maxCount in pairs(groups) do
  1635.                         if lobby:FindFirstChild("DuelRingsGroup") and lobby.DuelRingsGroup:FindFirstChild(groupName) then
  1636.                             if lobby.DuelRingsGroup[groupName]:FindFirstChild(currentPadModel.Name) then
  1637.                                 currentMaxCount = maxCount
  1638.                                 break
  1639.                             end
  1640.                         end
  1641.                     end
  1642.                     if currentMaxCount == 1 then
  1643.                         local opponentFound = false
  1644.                         for _, otherPlayer in ipairs(game:GetService("Players"):GetPlayers()) do
  1645.                             if otherPlayer ~= Player and otherPlayer.Character then
  1646.                                 local otherRoot = otherPlayer.Character:FindFirstChild("HumanoidRootPart")
  1647.                                 if otherRoot then
  1648.                                     local dist = (rootPart.Position - otherRoot.Position).Magnitude
  1649.                                     if dist <= 8 then
  1650.                                         opponentFound = true
  1651.                                         break
  1652.                                     end
  1653.                                 end
  1654.                             end
  1655.                         end
  1656.                         if not opponentFound then
  1657.                             currentPadModel = nil
  1658.                         end
  1659.                     end
  1660.                 end
  1661.                 if currentPadModel and rootPart then
  1662.                     local stillValid = false
  1663.                     for _, groupFolder in ipairs(lobby:GetChildren()) do
  1664.                         if groupFolder.Name == "DuelRingsGroup" then
  1665.                             for groupName, maxCount in pairs(groups) do
  1666.                                 local ringFolder = groupFolder:FindFirstChild(groupName)
  1667.                                 if ringFolder and ringFolder:FindFirstChild(currentPadModel.Name) then
  1668.                                     local totalPlayersInGroup = 0
  1669.                                     local maxPlayersForGroup = maxCount * 2
  1670.                                     local targetedPadStillNeedsPlayer = false
  1671.                                     for _, model in ipairs(ringFolder:GetChildren()) do
  1672.                                         if model:IsA("Model") and model.Name == "DuelPad" then
  1673.                                             local count = model:GetAttribute("CharacterCount") or 0
  1674.                                             totalPlayersInGroup = totalPlayersInGroup + count
  1675.                                             if model == currentPadModel and count < maxCount then
  1676.                                                 targetedPadStillNeedsPlayer = true
  1677.                                             end
  1678.                                         end
  1679.                                     end
  1680.                                     if (totalPlayersInGroup == maxPlayersForGroup - 1 and targetedPadStillNeedsPlayer) or (totalPlayersInGroup == maxPlayersForGroup) then
  1681.                                         stillValid = true
  1682.                                     end
  1683.                                     break
  1684.                                 end
  1685.                             end
  1686.                         end
  1687.                         if stillValid then break end
  1688.                     end
  1689.                     if not stillValid then currentPadModel = nil end
  1690.                 end
  1691.                 if not currentPadModel then
  1692.                     local foundNewPad = false
  1693.                     for _, groupFolder in ipairs(lobby:GetChildren()) do
  1694.                         if groupFolder.Name == "DuelRingsGroup" then
  1695.                             for groupName, maxCount in pairs(groups) do
  1696.                                 local ringFolder = groupFolder:FindFirstChild(groupName)
  1697.                                 if ringFolder then
  1698.                                     local pads = {}
  1699.                                     local totalPlayersInGroup = 0
  1700.                                     local maxPlayersForGroup = maxCount * 2
  1701.                                     for _, model in ipairs(ringFolder:GetChildren()) do
  1702.                                         if model:IsA("Model") and model.Name == "DuelPad" then
  1703.                                             local count = model:GetAttribute("CharacterCount") or 0
  1704.                                             totalPlayersInGroup = totalPlayersInGroup + count
  1705.                                             table.insert(pads, { model = model, count = count })
  1706.                                         end
  1707.                                     end
  1708.                                     if totalPlayersInGroup == maxPlayersForGroup - 1 then
  1709.                                         for _, pad in ipairs(pads) do
  1710.                                             if pad.count < maxCount then
  1711.                                                 local opponentReady = true
  1712.                                                 if maxCount == 1 then
  1713.                                                     opponentReady = false
  1714.                                                     for _, otherPlayer in ipairs(game:GetService("Players"):GetPlayers()) do
  1715.                                                         if otherPlayer ~= Player and otherPlayer.Character then
  1716.                                                             local otherRoot = otherPlayer.Character:FindFirstChild(
  1717.                                                                 "HumanoidRootPart")
  1718.                                                             if otherRoot and pad.model.PrimaryPart then
  1719.                                                                 local dist = (otherRoot.Position - pad.model.PrimaryPart.Position)
  1720.                                                                     .Magnitude
  1721.                                                                 if dist <= 8 then -- Opponent is waiting at the pad
  1722.                                                                     opponentReady = true
  1723.                                                                     break
  1724.                                                                 end
  1725.                                                             end
  1726.                                                         end
  1727.                                                     end
  1728.                                                 end
  1729.                                                 if opponentReady then
  1730.                                                     walkTo(pad.model)
  1731.                                                     if rootPart and pad.model.PrimaryPart then
  1732.                                                         local distance = (rootPart.Position - pad.model.PrimaryPart.Position)
  1733.                                                             .Magnitude
  1734.                                                         if distance <= 6 then currentPadModel = pad.model end
  1735.                                                     end
  1736.                                                     foundNewPad = true
  1737.                                                     task.wait(0.5)
  1738.                                                     break
  1739.                                                 end
  1740.                                             end
  1741.                                         end
  1742.                                     end
  1743.                                 end
  1744.                                 if foundNewPad then break end
  1745.                             end
  1746.                         end
  1747.                         if foundNewPad then break end
  1748.                     end
  1749.                 end
  1750.             else
  1751.                 currentPadModel = nil
  1752.             end
  1753.         else
  1754.             currentPadModel = nil
  1755.         end
  1756.         task.wait(0.2)
  1757.     end
  1758. end)
  1759. if lobby and lobby:FindFirstChild("DuelRingsGroup") then
  1760.     for groupName, _ in pairs(groups) do
  1761.         local ringFolder = lobby.DuelRingsGroup:FindFirstChild(groupName)
  1762.         if ringFolder then
  1763.             local padIndex = 1
  1764.             for _, model in ipairs(ringFolder:GetChildren()) do
  1765.                 if model:IsA("Model") and model.Name == "DuelPad" then
  1766.                     local sideName = (padIndex % 2 == 1) and "Right" or "Left"
  1767.                     local cleanTitle = "Walk to " .. groupName .. " " .. sideName
  1768.  
  1769.                     Teleport:Button({
  1770.                         Title = cleanTitle,
  1771.                         Locked = false,
  1772.                         Callback = function()
  1773.                             wind:Notify({
  1774.                                 Title = "Walking to position!",
  1775.                                 Content =
  1776.                                 "Enjoying QuantumX Scripts? Join our discord server located in the Welcome tab for even better stuff!",
  1777.                                 Duration = 3,
  1778.                                 Icon = "rbxassetid://139687752061139",
  1779.                             })
  1780.  
  1781.                             walkTo(model)
  1782.                         end
  1783.                     })
  1784.                     padIndex = padIndex + 1
  1785.                 end
  1786.             end
  1787.         end
  1788.     end
  1789. end
  1790. local fov = window:Tab({
  1791.     Title = "FOV Shooting",
  1792.     Icon = "crosshair",
  1793.     Locked = false,
  1794. })
  1795. local fov_autoshoot_enabled = false
  1796. local fov_manualShoot_enabled = false
  1797. local fov_circle_enabled = false
  1798. local fov_radius = 100
  1799. local fov_shoot_cooldown = 1
  1800. local fov_last_shot = 0
  1801. local fov_circle = nil
  1802. local fov_gunController = nil
  1803. local fov_autoshoot_toggle = nil
  1804. local fov_manual_toggle = nil
  1805. local function createFovCircle()
  1806.     if fov_circle then
  1807.         fov_circle:Remove()
  1808.     end
  1809.     fov_circle = Drawing.new("Circle")
  1810.     fov_circle.Thickness = 2
  1811.     fov_circle.NumSides = 64
  1812.     fov_circle.Radius = fov_radius
  1813.     fov_circle.Color = Color3.fromRGB(255, 255, 255)
  1814.     fov_circle.Transparency = 1
  1815.     fov_circle.Visible = false
  1816.     fov_circle.Filled = false
  1817. end
  1818. createFovCircle()
  1819. local function update_fov_circle()
  1820.     if fov_circle and (fov_circle_enabled or fov_autoshoot_enabled or fov_manualShoot_enabled) then
  1821.         local mouse_pos = UserInputService:GetMouseLocation()
  1822.         fov_circle.Position = Vector2.new(mouse_pos.X, mouse_pos.Y)
  1823.         fov_circle.Radius = fov_radius
  1824.         fov_circle.Visible = true
  1825.     elseif fov_circle then
  1826.         fov_circle.Visible = false
  1827.     end
  1828. end
  1829. local function is_in_fov(target_position)
  1830.     local screen_pos, on_screen = Camera:WorldToViewportPoint(target_position)
  1831.     if not on_screen then
  1832.         return false
  1833.     end
  1834.     local mouse_pos = UserInputService:GetMouseLocation()
  1835.     local distance = math.sqrt((screen_pos.X - mouse_pos.X) ^ 2 + (screen_pos.Y - mouse_pos.Y) ^ 2)
  1836.     return distance <= fov_radius
  1837. end
  1838. local function has_clear_los(from_pos, to_pos, target_character)
  1839.     local params = RaycastParams.new()
  1840.     params.FilterDescendantsInstances = { Player.Character, target_character }
  1841.     params.FilterType = Enum.RaycastFilterType.Exclude
  1842.     local result = Workspace:Raycast(from_pos, (to_pos - from_pos), params)
  1843.     if result then
  1844.         if not result.Instance:IsDescendantOf(target_character) then
  1845.             return false
  1846.         end
  1847.     end
  1848.     return true
  1849. end
  1850. local function valid_enemy(enemy)
  1851.     if not enemy or enemy == Player then
  1852.         return false
  1853.     end
  1854.     local character = enemy.Character
  1855.     if not character or character.Parent ~= Workspace then
  1856.         return false
  1857.     end
  1858.     if enemy.Team and enemy.Team == Player.Team then
  1859.         return false
  1860.     end
  1861.     local humanoid = character:FindFirstChild("Humanoid")
  1862.     local hrp = character:FindFirstChild("HumanoidRootPart")
  1863.     local my_hrp = Player.Character and Player.Character:FindFirstChild("HumanoidRootPart")
  1864.     if not (humanoid and hrp and my_hrp) then
  1865.         return false
  1866.     end
  1867.     if humanoid.Health <= 0 then
  1868.         return false
  1869.     end
  1870.     if Collection:HasTag(character, "Invulnerable") or Collection:HasTag(character, "SpeedTrail") then
  1871.         return false
  1872.     end
  1873.     return true
  1874. end
  1875. local function shoot_enemy(target)
  1876.     local my_char = Player.Character
  1877.     local my_root = my_char and my_char:FindFirstChild("HumanoidRootPart")
  1878.     local target_hrp = target.Character and target.Character:FindFirstChild("HumanoidRootPart")
  1879.     if not (my_root and target_hrp) then
  1880.         return false
  1881.     end
  1882.     if not has_clear_los(my_root.Position, target_hrp.Position, target.Character) then
  1883.         return false
  1884.     end
  1885.     if not is_in_fov(target_hrp.Position) then
  1886.         return false
  1887.     end
  1888.     local current_time = tick()
  1889.     if current_time - fov_last_shot < fov_shoot_cooldown then
  1890.         return false
  1891.     end
  1892.  
  1893.     local hit_part = target.Character:FindFirstChild("LowerTorso") or
  1894.         target.Character:FindFirstChild("UpperTorso") or
  1895.         target.Character:FindFirstChild("Head")
  1896.  
  1897.     if hit_part then
  1898.         ShootGun(target)
  1899.         fov_last_shot = current_time
  1900.         return true
  1901.     end
  1902.     return false
  1903. end
  1904. RunService.Heartbeat:Connect(function()
  1905.     update_fov_circle()
  1906.     if not fov_autoshoot_enabled then
  1907.         return
  1908.     end
  1909.     local my_char = Player.Character
  1910.     if not my_char then
  1911.         return
  1912.     end
  1913.     for _, enemy in pairs(Players:GetPlayers()) do
  1914.         if valid_enemy(enemy) then
  1915.             if shoot_enemy(enemy) then
  1916.                 break
  1917.             end
  1918.         end
  1919.     end
  1920. end)
  1921. UserInputService.InputBegan:Connect(function(input, gameProcessed)
  1922.     if gameProcessed then return end
  1923.     if fov_manualShoot_enabled and input.UserInputType == Enum.UserInputType.MouseButton1 then
  1924.         local current_time = tick()
  1925.         if current_time - fov_last_shot < fov_shoot_cooldown then
  1926.             return
  1927.         end
  1928.         local my_char = Player.Character
  1929.         if not my_char then
  1930.             return
  1931.         end
  1932.         for _, enemy in pairs(Players:GetPlayers()) do
  1933.             if valid_enemy(enemy) then
  1934.                 if shoot_enemy(enemy) then
  1935.                     break
  1936.                 end
  1937.             end
  1938.         end
  1939.     end
  1940. end)
  1941. local function start_gun_controller_loop()
  1942.     if fov_gunController then
  1943.         task.cancel(fov_gunController)
  1944.     end
  1945.     fov_gunController = task.spawn(function()
  1946.         while fov_manualShoot_enabled do
  1947.             task.wait()
  1948.             local gun_controller = Workspace:FindFirstChild(Player.Name)
  1949.             if gun_controller then
  1950.                 local controller = gun_controller:FindFirstChild("GunController")
  1951.                 if controller then
  1952.                     controller.Parent = nil
  1953.                 end
  1954.             end
  1955.         end
  1956.     end)
  1957. end
  1958. local function stop_gun_controller_loop()
  1959.     if fov_gunController then
  1960.         task.cancel(fov_gunController)
  1961.         fov_gunController = nil
  1962.     end
  1963. end
  1964. fov:Toggle({ -- enable fov circle
  1965.     Title = "Enable FOV Circle",
  1966.     Desc = "Show FOV circle around your mouse",
  1967.     Default = false,
  1968.     Flag = "EnableFovCircle",
  1969.     Callback = function(value)
  1970.         fov_circle_enabled = value
  1971.     end
  1972. })
  1973. fov_autoshoot_toggle = fov:Toggle({ -- autoshoot fov
  1974.     Title = "Autoshoot FOV",
  1975.     Desc = "Automatically shoots enemies in your FOV circle",
  1976.     Default = false,
  1977.     Flag = "EnableAutoshootFov",
  1978.     Callback = function(value)
  1979.         fov_autoshoot_enabled = value
  1980.         if value then
  1981.             if fov_manual_toggle then
  1982.                 fov_manual_toggle:Lock()
  1983.             end
  1984.         else
  1985.             if fov_manual_toggle then
  1986.                 fov_manual_toggle:Unlock()
  1987.             end
  1988.         end
  1989.     end
  1990. })
  1991. fov_manual_toggle = fov:Toggle({ -- fov manual shoot
  1992.     Title = "FOV Manual Shoot",
  1993.     Desc = "Click to shoot enemies in FOV circle",
  1994.     Default = false,
  1995.     Flag = "EnableManualShootToggle",
  1996.     Callback = function(value)
  1997.         fov_manualShoot_enabled = value
  1998.  
  1999.         if value then
  2000.             if fov_autoshoot_toggle then
  2001.                 fov_autoshoot_toggle:Lock()
  2002.             end
  2003.             start_gun_controller_loop()
  2004.         else
  2005.             if fov_autoshoot_toggle then
  2006.                 fov_autoshoot_toggle:Unlock()
  2007.             end
  2008.             stop_gun_controller_loop()
  2009.         end
  2010.     end
  2011. })
  2012. fov:Slider({ -- fov circle size
  2013.     Title = "FOV Circle Size",
  2014.     Step = 5,
  2015.     Flag = "FovCircleSizeSlider",
  2016.     Value = {
  2017.         Min = 35,
  2018.         Max = 300,
  2019.         Default = 100,
  2020.     },
  2021.     Callback = function(value)
  2022.         fov_radius = value
  2023.     end
  2024. })
  2025. fov:Slider({ -- fov shoot cooldown
  2026.     Title = "FOV Autoshoot Cooldown",
  2027.     Step = 0.1,
  2028.     Flag = "FovAutoshootCooldownSlider",
  2029.     Value = {
  2030.         Min = 0,
  2031.         Max = 5,
  2032.         Default = 2,
  2033.     },
  2034.     Callback = function(value)
  2035.         fov_shoot_cooldown = value
  2036.     end
  2037. })
  2038.  
  2039. local Misc = window:Tab({
  2040.     Title = "Misc",
  2041.     Icon = "folder",
  2042.     Locked = false,
  2043. })
  2044. getgenv().original_speed = 16
  2045. getgenv().speed_enabled = false
  2046. getgenv().current_speed = 16
  2047. getgenv().remove_gun_cooldown = false
  2048. Misc:Toggle({ -- auto spin
  2049.     Title = "Auto Spin",
  2050.     Desc = "Auto spins for you when not in match",
  2051.     Default = false,
  2052.     Callback = function(state)
  2053.         getgenv().autoSpin = state
  2054.         task.spawn(function()
  2055.             while getgenv().autoSpin do
  2056.                 if not Player:GetAttribute("Match") then
  2057.                     local SpinnerService = require(game:GetService("ReplicatedStorage").Dailies.SpinnerService)
  2058.                     SpinnerService.Spin()
  2059.                 end
  2060.                 task.wait(0.1)
  2061.             end
  2062.         end)
  2063.     end,
  2064. })
  2065. Misc:Toggle({ -- noclip
  2066.     Title = "Noclip",
  2067.     Desc = "Allows you to walk through walls",
  2068.     Default = false,
  2069.     Callback = function(state)
  2070.         getgenv().noclip = state
  2071.         if state then
  2072.             FeatureActivated(true)
  2073.             local noclipLoop
  2074.             noclipLoop = game:GetService("RunService").Stepped:Connect(function()
  2075.                 if not getgenv().noclip then
  2076.                     noclipLoop:Disconnect()
  2077.                     return
  2078.                 end
  2079.                 local char = Player.Character
  2080.                 if char then
  2081.                     for _, part in ipairs(char:GetDescendants()) do
  2082.                         if part:IsA("BasePart") then
  2083.                             part.CanCollide = false
  2084.                         end
  2085.                     end
  2086.                 end
  2087.             end)
  2088.         else
  2089.             FeatureActivated(false)
  2090.         end
  2091.     end,
  2092. })
  2093. Misc:Toggle({ -- speed toggle
  2094.     Title = "Enable Speed Changer",
  2095.     Desc = "Changes your walk speed",
  2096.     Icon = "check",
  2097.     Default = false,
  2098.     Flag = "SpeedChangerToggle",
  2099.     Callback = function(Value)
  2100.         getgenv().speed_enabled = Value
  2101.         if Value then
  2102.             task.spawn(function()
  2103.                 while getgenv().speed_enabled do
  2104.                     local character = Player.Character
  2105.                     local humanoid = character and character:FindFirstChild("Humanoid")
  2106.                     if humanoid and humanoid.WalkSpeed ~= getgenv().current_speed then
  2107.                         humanoid.WalkSpeed = getgenv().current_speed
  2108.                     end
  2109.                     task.wait(0.1)
  2110.                 end
  2111.             end)
  2112.         else
  2113.             local character = Player.Character
  2114.             local humanoid = character and character:FindFirstChild("Humanoid")
  2115.             if humanoid then
  2116.                 humanoid.WalkSpeed = getgenv().original_speed
  2117.             end
  2118.         end
  2119.     end
  2120. })
  2121. Misc:Slider({ -- speed slider
  2122.     Title = "Walk Speed",
  2123.     Step = 1,
  2124.     Value = {
  2125.         Min = 16,
  2126.         Max = 200,
  2127.         Default = 16,
  2128.     },
  2129.     Flag = "SpeedChangerSlider",
  2130.     Callback = function(speed)
  2131.         getgenv().current_speed = speed
  2132.         if getgenv().speed_enabled then
  2133.             local character = Player.Character
  2134.             local humanoid = character and character:FindFirstChild("Humanoid")
  2135.             if humanoid then
  2136.                 humanoid.WalkSpeed = speed
  2137.             end
  2138.         end
  2139.     end
  2140. })
  2141. Player.CharacterAdded:Connect(function(character)
  2142.     task.wait(0.2)
  2143.     if getgenv().speed_enabled then
  2144.         local humanoid = character:WaitForChild("Humanoid")
  2145.         humanoid.WalkSpeed = getgenv().current_speed
  2146.     end
  2147. end)
  2148.  
  2149. local Settings = window:Tab({
  2150.     Title = "Settings",
  2151.     Icon = "settings",
  2152.     Locked = false,
  2153. })
  2154. local themeNames = {}
  2155. for name in pairs(wind.Themes) do
  2156.     table.insert(themeNames, name)
  2157. end
  2158. table.sort(themeNames)
  2159. Settings:Dropdown({
  2160.     Title = "Themes",
  2161.     Desc = "Select a theme",
  2162.     Flag = "SelectedTheme",
  2163.     Values = themeNames,
  2164.     Value = "Dark",
  2165.     Callback = function(option)
  2166.         wind:SetTheme(option)
  2167.     end
  2168. })
  2169. Settings:Keybind({
  2170.     Title = "Keybind",
  2171.     Desc = "Keybind to open ui",
  2172.     Value = "LeftControl",
  2173.     Flag = "KeybindOpenWindow",
  2174.     Callback = function(v)
  2175.         window:SetToggleKey(Enum.KeyCode[v])
  2176.     end
  2177. })
  2178. Settings:Space()
  2179. local ConfigManager = window.ConfigManager
  2180. local CurrentConfigName = "default"
  2181. local ConfigNameInput = Settings:Input({
  2182.     Title = "Config Name",
  2183.     Value = CurrentConfigName,
  2184.     Callback = function(value)
  2185.         CurrentConfigName = value
  2186.     end
  2187. })
  2188. local ConfigDropdown = Settings:Dropdown({
  2189.     Title = "All Configs",
  2190.     Values = ConfigManager:AllConfigs(),
  2191.     Callback = function(value)
  2192.         CurrentConfigName = value
  2193.         ConfigNameInput:Set(value)
  2194.     end
  2195. })
  2196. Settings:Button({
  2197.     Title = "Save Config",
  2198.     Callback = function()
  2199.         local config = ConfigManager:CreateConfig(CurrentConfigName)
  2200.         if config:Save() then
  2201.             ConfigDropdown:Refresh(ConfigManager:AllConfigs())
  2202.         end
  2203.     end
  2204. })
  2205. Settings:Button({
  2206.     Title = "Load Config",
  2207.     Callback = function()
  2208.         local config = ConfigManager:CreateConfig(CurrentConfigName)
  2209.         if config:Load() then
  2210.         end
  2211.     end
  2212. })
  2213. Settings:Button({
  2214.     Title = "Delete Config",
  2215.     Callback = function()
  2216.         local config = ConfigManager:CreateConfig(CurrentConfigName)
  2217.         config:Delete()
  2218.         ConfigDropdown:Refresh(ConfigManager:AllConfigs())
  2219.     end
  2220. })
Tags: delta
Advertisement
Add Comment
Please, Sign In to add comment