Advertisement
TheAssassin4776

UVS SCRIPT

Feb 11th, 2025 (edited)
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 27.83 KB | None | 0 0
  1. -- Load the ArrayField library
  2. local ArrayField = loadstring(game:HttpGet('https://pastebin.com/raw/myjL4srU'))()
  3.  
  4. -- Debugging to check if ArrayField loaded successfully
  5. if not ArrayField then
  6.     warn("ArrayField failed to load!")
  7. else
  8.     print("ArrayField loaded successfully!")
  9. end
  10.  
  11. -- Create a window using ArrayField if the library is loaded
  12. if ArrayField then
  13.     -- Delay for 6 seconds
  14.     wait(6)
  15.    
  16.     local Window = ArrayField:CreateWindow({
  17.         Name = "UNIVERSAL STUDIOS (UVS)",
  18.         LoadingTitle = "Universal Studios Aimbot",
  19.         LoadingSubtitle = "Coastal, Body, Shadow, and 3ZF",
  20.         ConfigurationSaving = {
  21.             Enabled = true,
  22.             FolderName = nil,
  23.             FileName = "UVSCHEATS"
  24.         },
  25.         Discord = {
  26.             Enabled = true,
  27.             Invite = "zG3MKeEkaG",
  28.             RememberJoins = true
  29.         },
  30.         KeySystem = true,
  31.         KeySettings = {
  32.             Title = "UVS KEY VALIDATION",
  33.             Subtitle = "Universal KeyChecker",
  34.             Note = "You Can Find The Key On Our Discord Server, .gg/zG3MKeEkaG, Or You Can Click 'Click Here To Get A Key' To Copy Our Link",
  35.             FileName = "UVSKEYS",
  36.             SaveKey = true,
  37.             GrabKeyFromSite = true,
  38.             Actions = {
  39.                 [1] = {
  40.                     Text = 'Click Here To Get A Key <--',
  41.                     OnPress = function()
  42.                         -- Set the Discord invite link to the clipboard
  43.                         setclipboard("https://discord.gg/rEcANSH4BD")
  44.                         print("Discord invite link copied to clipboard!")
  45.                     end,
  46.                 }
  47.             },
  48.             Key = {"https://pastebin.com/raw/Ntkh7CG0"}
  49.         }
  50.     })
  51.    
  52.     -- Create a Tab in the window
  53.     local CheatsTab = Window:CreateTab("AIMBOT FEATURES", 4483362458) -- Title, Image
  54.  
  55.     -- Create a Section under the Tab
  56.     local CheatsSection = CheatsTab:CreateSection("Aimbot Hacks", false) -- The 2nd argument is to tell if it's only a Title and doesn't contain elements
  57.  
  58.     local aimbotEnabled = false
  59.     local aimbotSpeed = 5
  60.     local teamCheckEnabled = false
  61.     local currentTarget = nil
  62.     local aimbotAlwaysOn = false
  63.     local aimbotPreference = "Off"
  64.     local perspectivePreference = "Off"
  65.     local bypassEnabled = false
  66.     local superAimbotEnabled = false
  67.     local targetPart = "Off"
  68.  
  69.     -- Aimbot Toggle
  70.     local AimbotToggle = CheatsTab:CreateToggle({
  71.         Name = "Aimbot On / Off",
  72.         CurrentValue = false,
  73.         Flag = "AimbotToggle",
  74.         Callback = function(Value)
  75.             aimbotEnabled = Value
  76.         end,
  77.     })
  78.  
  79.     -- Aimbot Always On Toggle
  80.     local AimbotAlwaysOnToggle = CheatsTab:CreateToggle({
  81.         Name = "Aimbot Always On",
  82.         CurrentValue = false,
  83.         Flag = "AimbotAlwaysOnToggle",
  84.         Callback = function(Value)
  85.             aimbotAlwaysOn = Value
  86.         end,
  87.     })
  88.  
  89.     -- Aimbot Speed Slider
  90.     local AimbotSpeedSlider = CheatsTab:CreateSlider({
  91.         Name = "Aimbot Response",
  92.         Range = {1, 10},
  93.         Increment = 1,
  94.         Suffix = "Speed",
  95.         CurrentValue = 5,
  96.         Flag = "AimbotSpeedSlider",
  97.         Callback = function(Value)
  98.             aimbotSpeed = Value
  99.         end,
  100.     })
  101.  
  102.     -- Team Check Toggle
  103.     local TeamCheckToggle = CheatsTab:CreateToggle({
  104.         Name = "Team Checker",
  105.         CurrentValue = false,
  106.         Flag = "TeamCheckToggle",
  107.         Callback = function(Value)
  108.             teamCheckEnabled = Value
  109.         end,
  110.     })
  111.  
  112.     -- Aimbot Keybind
  113.     local AimbotKeybind = CheatsTab:CreateKeybind({
  114.         Name = "Quick Toggle On/Off",
  115.         CurrentKeybind = "E",
  116.         HoldToInteract = false,
  117.         Flag = "AimbotKeybind",
  118.         Callback = function(Keybind)
  119.             if aimbotEnabled then
  120.                 aimbotEnabled = false
  121.             elseif AimbotToggle.CurrentValue then
  122.                 aimbotEnabled = true
  123.             end
  124.         end,
  125.     })
  126.  
  127.     -- Aimbot Preference Dropdown
  128.     local AimbotPreferenceDropdown = CheatsTab:CreateDropdown({
  129.         Name = "Lock Choice",
  130.         Options = {"Off", "Default", "Lowest Health", "Highest Health", "Closest Player"},
  131.         CurrentOption = "Off",
  132.         Flag = "AimbotPreferenceDropdown",
  133.         Callback = function(Option)
  134.             aimbotPreference = Option
  135.         end,
  136.     })
  137.  
  138.     -- Perspective Preference Dropdown
  139.     local PerspectivePreferenceDropdown = CheatsTab:CreateDropdown({
  140.         Name = "Perspective Preference",
  141.         Options = {"Off", "1st Person", "3rd Person"},
  142.         CurrentOption = "Off",
  143.         Flag = "PerspectivePreferenceDropdown",
  144.         Callback = function(Option)
  145.             perspectivePreference = Option
  146.         end,
  147.     })
  148.  
  149.     -- Target Part Preference Dropdown
  150.     local TargetPartPreferenceDropdown = CheatsTab:CreateDropdown({
  151.         Name = "Player Section Lock",
  152.         Options = {"Off", "Head", "Body"},
  153.         CurrentOption = "Off",
  154.         Flag = "TargetPartPreferenceDropdown",
  155.         Callback = function(Option)
  156.             targetPart = Option
  157.         end,
  158.     })
  159.  
  160.     -- Bypass Toggle
  161.     local BypassToggle = CheatsTab:CreateToggle({
  162.         Name = "Anticheat Bypasser",
  163.         CurrentValue = false,
  164.         Flag = "BypassToggle",
  165.         Callback = function(Value)
  166.             bypassEnabled = Value
  167.             if Value then
  168.                 superAimbotEnabled = false
  169.             end
  170.         end,
  171.     })
  172.  
  173.     -- Super Aimbot Toggle
  174.     local SuperAimbotToggle = CheatsTab:CreateToggle({
  175.         Name = "Super Aimbot",
  176.         CurrentValue = false,
  177.         Flag = "SuperAimbotToggle",
  178.         Callback = function(Value)
  179.             superAimbotEnabled = Value
  180.             if Value then
  181.                 bypassEnabled = false
  182.             end
  183.         end,
  184.     })
  185.  
  186.     -- Function to get the nearest player's target part (head or body) that is not on the same team (if team check is enabled) and is not a bot
  187.     local function getTargetPart(targetPlayer)
  188.         if targetPart == "Head" then
  189.             return targetPlayer.Character and targetPlayer.Character:FindFirstChild("Head")
  190.         elseif targetPart == "Body" then
  191.             return targetPlayer.Character and targetPlayer.Character:FindFirstChild("HumanoidRootPart")
  192.         end
  193.         return nil
  194.     end
  195.  
  196.     -- Function to get the nearest player's part that is not on the same team (if team check is enabled) and is not a bot
  197.     local function getNearestPlayerPart()
  198.         local Players = game:GetService("Players")
  199.         local player = Players.LocalPlayer
  200.         local nearestPlayer = nil
  201.         local shortestDistance = math.huge
  202.  
  203.         for _, targetPlayer in pairs(Players:GetPlayers()) do
  204.             if targetPlayer ~= player and targetPlayer.Character and getTargetPart(targetPlayer) then
  205.                 if not teamCheckEnabled or targetPlayer.Team ~= player.Team then
  206.                     if not targetPlayer:IsA("Bot") then
  207.                         local targetPart = getTargetPart(targetPlayer)
  208.                         local distance = (player.Character.Head.Position - targetPart.Position).Magnitude
  209.  
  210.                         if distance < shortestDistance then
  211.                             shortestDistance = distance
  212.                             nearestPlayer = targetPart
  213.                         end
  214.                     end
  215.                 end
  216.             end
  217.         end
  218.  
  219.         return nearestPlayer
  220.     end
  221.  
  222.     -- Function to get the player with the lowest health part
  223.     local function getLowestHealthPlayerPart()
  224.         local Players = game:GetService("Players")
  225.         local player = Players.LocalPlayer
  226.         local lowestHealthPlayer = nil
  227.         local lowestHealth = math.huge
  228.  
  229.         for _, targetPlayer in pairs(Players:GetPlayers()) do
  230.             if targetPlayer ~= player and targetPlayer.Character and getTargetPart(targetPlayer) then
  231.                 if not teamCheckEnabled or targetPlayer.Team ~= player.Team then
  232.                     if not targetPlayer:IsA("Bot") then
  233.                         local targetPart = getTargetPart(targetPlayer)
  234.                         local health = targetPlayer.Character.Humanoid.Health
  235.  
  236.                         if health < lowestHealth then
  237.                             lowestHealth = health
  238.                             lowestHealthPlayer = targetPart
  239.                         end
  240.                     end
  241.                 end
  242.             end
  243.         end
  244.  
  245.         return lowestHealthPlayer
  246.     end
  247.  
  248.     -- Function to get the player with the highest health part
  249.     local function getHighestHealthPlayerPart()
  250.         local Players = game:GetService("Players")
  251.         local player = Players.LocalPlayer
  252.         local highestHealthPlayer = nil
  253.         local highestHealth = 0
  254.  
  255.         for _, targetPlayer in pairs(Players:GetPlayers()) do
  256.             if targetPlayer ~= player and targetPlayer.Character and getTargetPart(targetPlayer) then
  257.                 if not teamCheckEnabled or targetPlayer.Team ~= player.Team then
  258.                     if not targetPlayer:IsA("Bot") then
  259.                         local targetPart = getTargetPart(targetPlayer)
  260.                         local health = targetPlayer.Character.Humanoid.Health
  261.  
  262.                         if health > highestHealth then
  263.                             highestHealth = health
  264.                             highestHealthPlayer = targetPart
  265.                         end
  266.                     end
  267.                 end
  268.             end
  269.         end
  270.  
  271.         return highestHealthPlayer
  272.     end
  273.  
  274.     -- Function to get the closest player's part
  275.     local function getClosestPlayerPart()
  276.         local Players = game:GetService("Players")
  277.         local player = Players.LocalPlayer
  278.         local closestPlayer = nil
  279.         local shortestDistance = math.huge
  280.  
  281.         for _, targetPlayer in pairs(Players:GetPlayers()) do
  282.             if targetPlayer ~= player and targetPlayer.Character and getTargetPart(targetPlayer) then
  283.                 if not teamCheckEnabled or targetPlayer.Team ~= player.Team then
  284.                     if not targetPlayer:IsA("Bot") then
  285.                         local targetPart = getTargetPart(targetPlayer)
  286.                         local distance = (player.Character.Head.Position - targetPart.Position).Magnitude
  287.  
  288.                         if distance < shortestDistance then
  289.                             shortestDistance = distance
  290.                             closestPlayer = targetPart
  291.                         end
  292.                     end
  293.                 end
  294.             end
  295.         end
  296.  
  297.         return closestPlayer
  298.     end
  299.  
  300.     -- Function to rotate the player to face the target
  301.     local function rotatePlayerToTarget(targetPosition)
  302.         local Players = game:GetService("Players")
  303.         local player = Players.LocalPlayer
  304.         local character = player.Character
  305.         if character then
  306.             local humanoidRootPart = character:FindFirstChild("HumanoidRootPart")
  307.             if humanoidRootPart then
  308.                 local direction = (targetPosition - humanoidRootPart.Position).unit
  309.                 humanoidRootPart.CFrame = CFrame.new(humanoidRootPart.Position, humanoidRootPart.Position + direction)
  310.             end
  311.         end
  312.     end
  313.  
  314.     -- Aimbot Loop
  315.     game:GetService("RunService").RenderStepped:Connect(function()
  316.         local UserInputService = game:GetService("UserInputService")
  317.         if aimbotEnabled and (aimbotAlwaysOn or UserInputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton2)) then
  318.             if aimbotPreference == "Off" or perspectivePreference == "Off" or targetPart == "Off" then
  319.                 return -- Do nothing if any dropdown is set to "Off"
  320.             end
  321.  
  322.             if aimbotPreference == "Closest Player" then
  323.                 currentTarget = getClosestPlayerPart()
  324.             end
  325.  
  326.             if currentTarget and currentTarget.Parent and currentTarget.Parent:FindFirstChild("Humanoid") and currentTarget.Parent.Humanoid.Health > 0 then
  327.                 -- Rotate player to face target
  328.                 rotatePlayerToTarget(currentTarget.Position)
  329.  
  330.                 -- Continue targeting the current player
  331.                 local camera = game.Workspace.CurrentCamera
  332.                 local targetPosition = camera:WorldToViewportPoint(currentTarget.Position)
  333.                 local mouse = UserInputService:GetMouseLocation()
  334.                 local delta = Vector2.new((targetPosition.X - mouse.X), (targetPosition.Y - mouse.Y))
  335.                 local smoothFactor = math.min(aimbotSpeed * 0.1, 1) -- Calculate smooth factor
  336.  
  337.                 -- Smooth and accurate aiming
  338.                 if perspectivePreference == "1st Person" then
  339.                     mousemoverel(delta.X * smoothFactor, delta.Y * smoothFactor)
  340.                 elseif perspectivePreference == "3rd Person" then
  341.                     local freeMouse = UserInputService:GetMouseLocation()
  342.                     local freeDelta = Vector2.new((targetPosition.X - freeMouse.X), (targetPosition.Y - freeMouse.Y))
  343.                     mousemoverel(freeDelta.X * smoothFactor, freeDelta.Y * smoothFactor)
  344.                 end
  345.  
  346.                 -- Apply bypass techniques if enabled
  347.                 if bypassEnabled then
  348.                     -- Implement techniques to bypass anti-cheat systems
  349.                     -- These techniques might include adding random small movements or delays
  350.                     local randomDelay = math.random() * 0.05
  351.                     wait(randomDelay)
  352.                     local smallRandomMovement = Vector2.new(math.random(-1, 1), math.random(-1, 1)) * 0.1
  353.                     mousemoverel(smallRandomMovement.X, smallRandomMovement.Y)
  354.                 end
  355.  
  356.                 -- Apply super aimbot techniques if enabled
  357.                 if superAimbotEnabled then
  358.                     -- Move the player towards the target
  359.                     local player = Players.LocalPlayer
  360.                     local character = player.Character
  361.                     if character then
  362.                         local humanoidRootPart = character:FindFirstChild("HumanoidRootPart")
  363.                         if humanoidRootPart then
  364.                             humanoidRootPart.CFrame = CFrame.new(humanoidRootPart.Position, currentTarget.Position)
  365.                         end
  366.                     end
  367.  
  368.                     -- Move the mouse and camera to lock onto the target
  369.                     local camera = game.Workspace.CurrentCamera
  370.                     local targetPosition = camera:WorldToViewportPoint(currentTarget.Position)
  371.                     local mouse = UserInputService:GetMouseLocation()
  372.                     local delta = Vector2.new((targetPosition.X - mouse.X), (targetPosition.Y - mouse.Y))
  373.                     mousemoverel(delta.X, delta.Y)
  374.                 end
  375.             else
  376.                 -- Find a new target based on aimbot preference
  377.                 if aimbotPreference == "Default" then
  378.                     currentTarget = getNearestPlayerPart()
  379.                 elseif aimbotPreference == "Lowest Health" then
  380.                     currentTarget = getLowestHealthPlayerPart()
  381.                 elseif aimbotPreference == "Highest Health" then
  382.                     currentTarget = getHighestHealthPlayerPart()
  383.                 elseif aimbotPreference ~= "Closest Player" then
  384.                     currentTarget = getClosestPlayerPart()
  385.                 end
  386.             end
  387.         else
  388.             currentTarget = nil
  389.         end
  390.     end)
  391.  
  392.     -- Create an ESP Tab
  393. local ESPTab = Window:CreateTab("VISUAL FEATURES", 4483362458) -- Title, Image
  394.  
  395. -- Create a Section under the ESP Tab for ESP Features
  396. local ESPSection = ESPTab:CreateSection("Visual Hacks", false) -- The 2nd argument is to tell if it's only a Title and doesn't contain elements
  397.  
  398. local espEnabled = false
  399. local hitboxEnabled = false
  400. local nametagsEnabled = false
  401.  
  402. -- Default colors for gradients
  403. local espGradientColors = {
  404.     Color3.fromRGB(255, 255, 255),
  405.     Color3.fromRGB(255, 255, 255)
  406. }
  407.  
  408. local nametagGradientColors = {
  409.     Color3.fromRGB(255, 255, 255),
  410.     Color3.fromRGB(255, 255, 255)
  411. }
  412.  
  413. -- Function to calculate the bounding box of a character
  414. local function calculateBoundingBox(character)
  415.     local minX, minY, minZ = math.huge, math.huge, math.huge
  416.     local maxX, maxY, maxZ = -math.huge, -math.huge, -math.huge
  417.  
  418.     for _, part in pairs(character:GetChildren()) do
  419.         if part:IsA("BasePart") then
  420.             local size = part.Size
  421.             local position = part.Position
  422.  
  423.             minX = math.min(minX, position.X - size.X / 2)
  424.             minY = math.min(minY, position.Y - size.Y / 2)
  425.             minZ = math.min(minZ, position.Z - size.Z / 2)
  426.  
  427.             maxX = math.max(maxX, position.X + size.X / 2)
  428.             maxY = math.max(maxY, position.Y + size.Y / 2)
  429.             maxZ = math.max(maxZ, position.Z + size.Z / 2)
  430.         end
  431.     end
  432.  
  433.     local center = Vector3.new((minX + maxX) / 2, (minY + maxY) / 2, (minZ + maxZ) / 2)
  434.     local size = Vector3.new(maxX - minX, maxY - minY, maxZ - minZ)
  435.  
  436.     return center, size
  437. end
  438.  
  439. -- Function to create advanced ESP
  440. local function createAdvancedESP(character)
  441.     local center, size = calculateBoundingBox(character)
  442.  
  443.     -- Create BillboardGui and set its properties
  444.     local billboardGui = Instance.new("BillboardGui")
  445.     billboardGui.Name = "ESP"
  446.     billboardGui.Adornee = character:FindFirstChild("HumanoidRootPart") or character.PrimaryPart
  447.     billboardGui.Size = UDim2.new(0, size.X * 10, 0, size.Y * 10) -- Fixed size for consistency
  448.     billboardGui.AlwaysOnTop = true
  449.     billboardGui.LightInfluence = 0
  450.     billboardGui.StudsOffset = Vector3.new(0, 0, 0) -- No offset to ensure proper attachment
  451.  
  452.     -- Create outer frame
  453.     local outerFrame = Instance.new("Frame")
  454.     outerFrame.Size = UDim2.new(1, 0, 1, 0)
  455.     outerFrame.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  456.     outerFrame.BackgroundTransparency = 0.6
  457.     outerFrame.BorderSizePixel = 0
  458.     outerFrame.Parent = billboardGui
  459.  
  460.     -- Create inner frame
  461.     local innerFrame = Instance.new("Frame")
  462.     innerFrame.Size = UDim2.new(0.95, 0, 0.95, 0)
  463.     innerFrame.Position = UDim2.new(0.025, 0, 0.025, 0)
  464.     innerFrame.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  465.     innerFrame.BackgroundTransparency = 0.4
  466.     innerFrame.BorderSizePixel = 0
  467.     innerFrame.Parent = outerFrame
  468.  
  469.     -- Create gradient effect
  470.     local gradient = Instance.new("UIGradient")
  471.     gradient.Color = ColorSequence.new{
  472.         ColorSequenceKeypoint.new(0, espGradientColors[1]),
  473.         ColorSequenceKeypoint.new(1, espGradientColors[2])
  474.     }
  475.     gradient.Rotation = 45
  476.     gradient.Parent = innerFrame
  477.  
  478.     -- Create rounded corners for outer frame
  479.     local uiCornerOuter = Instance.new("UICorner")
  480.     uiCornerOuter.CornerRadius = UDim.new(0, 4) -- Small corner radius
  481.     uiCornerOuter.Parent = outerFrame
  482.  
  483.     -- Create rounded corners for inner frame
  484.     local uiCornerInner = Instance.new("UICorner")
  485.     uiCornerInner.CornerRadius = UDim.new(0, 4) -- Small corner radius
  486.     uiCornerInner.Parent = innerFrame
  487.  
  488.     -- Create outline for inner frame
  489.     local outline = Instance.new("UIStroke")
  490.     outline.Color = Color3.fromRGB(255, 255, 255)
  491.     outline.Thickness = 2
  492.     outline.Parent = innerFrame
  493.  
  494.     -- Parent the BillboardGui to the character's HumanoidRootPart
  495.     billboardGui.Parent = character
  496. end
  497.  
  498. -- Function to create advanced hitboxes
  499. local function createAdvancedHitbox(part)
  500.     local selectionBox = Instance.new("SelectionBox")
  501.     selectionBox.Name = "Hitbox"
  502.     selectionBox.Adornee = part
  503.     selectionBox.LineThickness = 0.05
  504.     selectionBox.SurfaceTransparency = 0.5
  505.     selectionBox.Color3 = Color3.fromRGB(255, 255, 255) -- White color
  506.  
  507.     -- Adding a UI gradient to the hitbox
  508.     local boxGradient = Instance.new("UIGradient")
  509.     boxGradient.Color = ColorSequence.new{
  510.         ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 255, 255)),
  511.         ColorSequenceKeypoint.new(1, Color3.fromRGB(255, 255, 255))
  512.     }
  513.     boxGradient.Rotation = 45
  514.     boxGradient.Parent = selectionBox
  515.  
  516.     -- Adding UIStroke for outline
  517.     local boxOutline = Instance.new("UIStroke")
  518.     boxOutline.Color = Color3.fromRGB(255, 255, 255)
  519.     boxOutline.Thickness = 2
  520.     boxOutline.Parent = selectionBox
  521.  
  522.     -- Parent the selection box to the part
  523.     selectionBox.Parent = part
  524. end
  525.  
  526. -- Function to create better nametags
  527. local function createBetterNametag(player)
  528.     local character = player.Character
  529.     if not character then return end
  530.  
  531.     local head = character:FindFirstChild("Head")
  532.     if not head then return end
  533.  
  534.     -- Create BillboardGui for nametag
  535.     local billboardGui = Instance.new("BillboardGui")
  536.     billboardGui.Name = "BetterNametag"
  537.     billboardGui.Adornee = head
  538.     billboardGui.Size = UDim2.new(0, 200, 0, 50)
  539.     billboardGui.AlwaysOnTop = true
  540.     billboardGui.LightInfluence = 0
  541.     billboardGui.StudsOffset = Vector3.new(0, 2, 0)
  542.  
  543.     -- Create outer frame for the nametag
  544.     local outerFrame = Instance.new("Frame")
  545.     outerFrame.Size = UDim2.new(1, 0, 1, 0)
  546.     outerFrame.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  547.     outerFrame.BackgroundTransparency = 0.6
  548.     outerFrame.BorderSizePixel = 0
  549.     outerFrame.Parent = billboardGui
  550.  
  551.     -- Create inner frame for the nametag
  552.     local innerFrame = Instance.new("Frame")
  553.     innerFrame.Size = UDim2.new(0.95, 0, 0.95, 0)
  554.     innerFrame.Position = UDim2.new(0.025, 0, 0.025, 0)
  555.     innerFrame.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  556.     innerFrame.BackgroundTransparency = 0.4
  557.     innerFrame.BorderSizePixel = 0
  558.     innerFrame.Parent = outerFrame
  559.  
  560.     -- Create gradient effect for the nametag
  561.     local gradient = Instance.new("UIGradient")
  562.     gradient.Color = ColorSequence.new{
  563.         ColorSequenceKeypoint.new(0, nametagGradientColors[1]),
  564.         ColorSequenceKeypoint.new(1, nametagGradientColors[2])
  565.     }
  566.     gradient.Rotation = 45
  567.     gradient.Parent = innerFrame
  568.  
  569.     -- Create rounded corners for the nametag
  570.     local uiCornerOuter = Instance.new("UICorner")
  571.     uiCornerOuter.CornerRadius = UDim.new(0, 4) -- Small corner radius
  572.     uiCornerOuter.Parent = outerFrame
  573.  
  574.     local uiCornerInner = Instance.new("UICorner")
  575.     uiCornerInner.CornerRadius = UDim.new(0, 4) -- Small corner radius
  576.     uiCornerInner.Parent = innerFrame
  577.  
  578.     -- Create outline for the nametag
  579.     local outline = Instance.new("UIStroke")
  580.     outline.Color = Color3.fromRGB(255, 255, 255)
  581.     outline.Thickness = 2
  582.     outline.Parent = innerFrame
  583.  
  584.     -- Create TextLabel for the player's name
  585.     local textLabel = Instance.new("TextLabel")
  586.     textLabel.Size = UDim2.new(1, 0, 1, 0)
  587.     textLabel.BackgroundTransparency = 1
  588.     textLabel.Text = player.Name
  589.     textLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
  590.     textLabel.TextStrokeTransparency = 0
  591.     textLabel.TextScaled = true
  592.     textLabel.Font = Enum.Font.SourceSansBold
  593.     textLabel.Parent = innerFrame
  594.  
  595.     -- Parent the BillboardGui to the head
  596.     billboardGui.Parent = head
  597. end
  598.  
  599. -- Function to update ESP
  600. local function updateESP()
  601.     local Players = game:GetService("Players")
  602.     local LocalPlayer = Players.LocalPlayer
  603.  
  604.     for _, player in pairs(Players:GetPlayers()) do
  605.         if player ~= LocalPlayer and player.Character then
  606.             local character = player.Character
  607.             if espEnabled then
  608.                 local esp = character:FindFirstChild("ESP")
  609.                 if esp then
  610.                     esp:Destroy()
  611.                 end
  612.                 createAdvancedESP(character)
  613.             else
  614.                 local esp = character:FindFirstChild("ESP")
  615.                 if esp then
  616.                     esp:Destroy()
  617.                 end
  618.             end
  619.         end
  620.     end
  621. end
  622.  
  623. -- Function to update Hitboxes
  624. local function updateHitboxes()
  625.     local Players = game:GetService("Players")
  626.     local LocalPlayer = Players.LocalPlayer
  627.  
  628.     for _, player in pairs(Players:GetPlayers()) do
  629.         if player ~= LocalPlayer and player.Character then
  630.             for _, part in pairs(player.Character:GetChildren()) do
  631.                 if part:IsA("BasePart") then
  632.                     if hitboxEnabled then
  633.                         local hitbox = part:FindFirstChild("Hitbox")
  634.                         if not hitbox then
  635.                             createAdvancedHitbox(part)
  636.                         end
  637.                     else
  638.                         local hitbox = part:FindFirstChild("Hitbox")
  639.                         if hitbox then
  640.                             hitbox:Destroy()
  641.                         end
  642.                     end
  643.                 end
  644.             end
  645.         end
  646.     end
  647. end
  648.  
  649. -- Function to update Nametags
  650. local function updateNametags()
  651.     local Players = game:GetService("Players")
  652.     local LocalPlayer = Players.LocalPlayer
  653.  
  654.     for _, player in pairs(Players:GetPlayers()) do
  655.         if player ~= LocalPlayer and player.Character then
  656.             local head = player.Character:FindFirstChild("Head")
  657.             if head then
  658.                 if nametagsEnabled then
  659.                     local nametag = head:FindFirstChild("BetterNametag")
  660.                     if nametag then
  661.                         nametag:Destroy()
  662.                     end
  663.                     createBetterNametag(player)
  664.                 else
  665.                     local nametag = head:FindFirstChild("BetterNametag")
  666.                     if nametag then
  667.                         nametag:Destroy()
  668.                     end
  669.                 end
  670.             end
  671.         end
  672.     end
  673. end
  674.  
  675. -- ESP Toggle
  676. local ESPToggle = ESPTab:CreateToggle({
  677.     Name = "Enable ESP",
  678.     CurrentValue = false,
  679.     Flag = "ESPToggle",
  680.     Callback = function(Value)
  681.         espEnabled = Value
  682.         updateESP()
  683.     end,
  684. })
  685.  
  686. -- Hitbox Toggle
  687. local HitboxToggle = ESPTab:CreateToggle({
  688.     Name = "Enable Hitboxes",
  689.     CurrentValue = false,
  690.     Flag = "HitboxToggle",
  691.     Callback = function(Value)
  692.         hitboxEnabled = Value
  693.         updateHitboxes()
  694.     end,
  695. })
  696.  
  697. -- Nametag Toggle
  698. local NametagToggle = ESPTab:CreateToggle({
  699.     Name = "Enable Better Nametags",
  700.     CurrentValue = false,
  701.     Flag = "NametagToggle",
  702.     Callback = function(Value)
  703.         nametagsEnabled = Value
  704.         updateNametags()
  705.     end,
  706. })
  707.  
  708. -- ESP Gradient Color Picker
  709. local ESPGradientPicker = ESPTab:CreateColorPicker({
  710.     Name = "ESP Gradient Color 1",
  711.     Color = espGradientColors[1],
  712.     Flag = "ESPGradientColor1",
  713.     Callback = function(color)
  714.         espGradientColors[1] = color
  715.         updateESP()
  716.     end
  717. })
  718.  
  719. local ESPGradientPicker2 = ESPTab:CreateColorPicker({
  720.     Name = "ESP Gradient Color 2",
  721.     Color = espGradientColors[2],
  722.     Flag = "ESPGradientColor2",
  723.     Callback = function(color)
  724.         espGradientColors[2] = color
  725.         updateESP()
  726.     end
  727. })
  728.  
  729. -- Nametag Gradient Color Picker
  730. local NametagGradientPicker = ESPTab:CreateColorPicker({
  731.     Name = "Nametag Gradient Color 1",
  732.     Color = nametagGradientColors[1],
  733.     Flag = "NametagGradientColor1",
  734.     Callback = function(color)
  735.         nametagGradientColors[1] = color
  736.         updateNametags()
  737.     end
  738. })
  739.  
  740. local NametagGradientPicker2 = ESPTab:CreateColorPicker({
  741.     Name = "Nametag Gradient Color 2",
  742.     Color = nametagGradientColors[2],
  743.     Flag = "NametagGradientColor2",
  744.     Callback = function(color)
  745.         nametagGradientColors[2] = color
  746.         updateNametags()
  747.     end
  748. })
  749.  
  750. -- Connect to RenderStepped to update ESP, Hitboxes, and Nametags continuously
  751. local RunService = game:GetService("RunService")
  752. RunService.RenderStepped:Connect(function()
  753.     if espEnabled or hitboxEnabled or nametagsEnabled then
  754.         updateESP()
  755.         updateHitboxes()
  756.         updateNametags()
  757.     end
  758. end)
  759.  
  760. -- Call the functions to update ESP, Hitboxes, and Nametags initially
  761. updateESP()
  762. updateHitboxes()
  763. updateNametags()
  764. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement