Message
Message
     --[[
            ANCHOR Note
            The entire script will be module-based.
            Example : ragebot = {} and everything about ragebot will be contained
there.
            Invaded please ask me if you're gonna add new stuff, cuz i might be
able to optimize them first (even though its a bad practice don't care fuck you).
            Few notes :
            1. UI library will be seperated from the main script.
            2. Esp will be connected to heartbeat.
            3. If you want to add something, do stuff seperately and then tell me
to merge it.
            4. In order to anticipate synapse v3's release and the fact that this
will (i hope :>) support scriptware, we dont need to cache functions :D (luau
optimizations).
            5. I can take my hrts at any time during the development of this cheat
(Invaded#5143)
      ]]
      local Signal =
loadstring(game:HttpGet("https://raw.githubusercontent.com/Quenty/NevermoreEngine/
version2/Modules/Shared/Events/Signal.lua"))()
     function UILibrary:Start(Parameters)
           local UIStyle = Parameters
           local ClipboardColor
           -- Important Bullshit
           local RunService = game:GetService("RunService")
           local UserInputService = game:GetService("UserInputService")
           local ReplicatedStorage = game:GetService("ReplicatedStorage")
           local TextService = game:GetService("TextService")
           local HttpService = game:GetService("HttpService")
           local TweenService = game:GetService("TweenService")
           local Players = game:GetService("Players")
           local Plr = Players.localPlayer
           local Mouse = Plr:GetMouse()
           local fading = false
local valid_chars = {}
             set_valid('a', 'z')
             set_valid('A', 'Z')
             set_valid('0', '9')
             function UIUtilities:random_string(length)
                  local s = {}
                  for i = 1, length do s[i] = valid_chars[math.random(1,
#valid_chars)] end
                  return table.concat(s)
            end
            function UIUtilities:Tween(...)
                  TweenService:Create(...):Play()
            end
Core.Parent = game.CoreGui
           local isColorThingOpen
           local isColorThingOpen2
           local isDropDownOpen
           UILibrary.tooltip = {}
           do
                 local FakeBackGround = UIUtilities:Create("Frame", {
                       AnchorPoint = Vector2.new(0, 0),
                       BackgroundColor3 = UIStyle.UIcolors.FullWhite,
                       BackgroundTransparency = 1,
                       BorderColor3 = UIStyle.UIcolors.FullWhite,
                       BorderMode = Enum.BorderMode.Outline,
                       BorderSizePixel = 0,
                       Name = "Event",
                       Parent = Core,
                       Position = UDim2.new(0, 0, 0, 0),
                       Size = UDim2.new(0, 0, 0, 0),
                       ZIndex = 29
                 })
                 local EventLogContainer = UIUtilities:Create("Frame", {
                       AnchorPoint = Vector2.new(0, 0),
                       BackgroundColor3 = UIStyle.UIcolors.FullWhite,
                       BackgroundTransparency = 1,
                       BorderColor3 = UIStyle.UIcolors.FullWhite,
                       BorderMode = Enum.BorderMode.Outline,
                       BorderSizePixel = 0,
                       Name = "Event",
                       Parent = FakeBackGround,
                       Position = UDim2.new(0, 0, 0, 0),
                       Size = UDim2.new(1, 0, 1, -4),
                       ZIndex = 29
                  })
                  local fuckingFolder, fuckingThing, fuckingOtherThing =
AutoApplyBorder(EventLogContainer, "a", 29, UIStyle.UIcolors.ColorG,
UIStyle.UIcolors.ColorH)
                  local BackGroundStyling = UIUtilities:Create("UIGradient", {
                        Color = ColorSequence.new({
                              ColorSequenceKeypoint.new(0,
UIStyle.UIcolors.ColorD),
                              ColorSequenceKeypoint.new(1, UIStyle.UIcolors.ColorA)
                        }),
                        Rotation = 90,
                        Parent = EventLogContainer
                  })
                  local BackGroundAccent = UIUtilities:Create("Frame", {
                        AnchorPoint = Vector2.new(0, 0),
                        BackgroundColor3 = UIStyle.UIcolors.FullWhite,
                        BorderSizePixel = 0,
                        BackgroundTransparency = 1,
                        Name = "UI",
                        Parent = EventLogContainer,
                        Position = UDim2.new(0, 0, 0, 0),
                        Size = UDim2.new(0, 2, 1, 0),
                        ZIndex = 30
                  })
                  local Hue, Sat, Val = RGBtoHSV(UIStyle.UIcolors.Accent)
                  local BackGroundAccentStyling = UIUtilities:Create("UIGradient",
{
                        Color = ColorSequence.new({
                              ColorSequenceKeypoint.new(0, Color3.fromHSV(Hue, Sat,
Val - 0.1)),
                              ColorSequenceKeypoint.new(1,
Color3.new(UIStyle.UIcolors.Accent.R, UIStyle.UIcolors.Accent.G,
UIStyle.UIcolors.Accent.B))
                        }),
                        Rotation = 180,
                        Parent = BackGroundAccent
                  })
                  local BackGroundText = UIUtilities:Create("TextLabel", {
                        AnchorPoint = Vector2.new(1, 0),
                        BackgroundTransparency = 1,
                        Position = UDim2.new(1, 0, 0, 0),
                        Parent = EventLogContainer,
                        Size = UDim2.new(1, -6, 1, 0),
                        ZIndex = 31,
                        Font = UIStyle.HeaderFont.Font,
                        LineHeight = 1.1,
                        Text = "idiot",
                        TextColor3 = UIStyle.UIcolors.FullWhite,
                        TextSize = UIStyle.HeaderFont.WatermarkTxtSize,
                        TextTransparency = 1,
                        TextStrokeColor3 = Color3.new(),
                        TextStrokeTransparency = 1,
                        TextXAlignment = Enum.TextXAlignment.Left,
                        TextYAlignment = Enum.TextYAlignment.Center
                  })
                  local currentTrans = 1
                  local hoverTime = 0
                  local bounds = Vector2.new(0, 0)
                  local objectPos = Vector2.new(0, 0)
                  local loop; loop =
RunService.Heartbeat:Connect(function(deltaTime)
                local hovering = Mouse.X > objectPos.X and Mouse.X < objectPos.X +
bounds.X and Mouse.Y > objectPos.Y and Mouse.Y < objectPos.Y + bounds.Y and not
(isColorThingOpen or isColorThingOpen2 or isDropDownOpen)
                if hovering then
                     if hoverTime > 2 then
                          currentTrans = math.max(0, currentTrans - deltaTime * 4)
                     else
                          hoverTime = hoverTime + deltaTime
                          currentTrans = 1
                     end
                else
                     hoverTime = 0
                     currentTrans = math.min(1, currentTrans + deltaTime * 8)
                end
                EventLogContainer.BackgroundTransparency = currentTrans
                BackGroundAccent.BackgroundTransparency = currentTrans
                BackGroundText.TextTransparency = currentTrans
                fuckingThing.BackgroundTransparency = currentTrans
                fuckingOtherThing.BackgroundTransparency = currentTrans
                BackGroundAccentStyling.Color = ColorSequence.new({
                    ColorSequenceKeypoint.new(0, Color3.fromHSV(Hue, Sat, Val -
0.1)),
                    ColorSequenceKeypoint.new(1,
Color3.new(UIStyle.UIcolors.Accent.R, UIStyle.UIcolors.Accent.G,
UIStyle.UIcolors.Accent.B))
                })
                  end)
                  Menu[Parameters.Tab][Parameters.Section][Parameters.ObjectName]
["Color " .. Parameters.Stance] = {}
                  Menu[Parameters.Tab][Parameters.Section][Parameters.ObjectName]
["Color " .. Parameters.Stance]["Color"] = Parameters.StartColor
                  Menu[Parameters.Tab][Parameters.Section][Parameters.ObjectName]
["Color " .. Parameters.Stance].Save = function()
                        local garbageshit = {}
                        for anim, data in next, fakeFlagsShit do
                              garbageshit[anim] = {}
                              for name, values in next, data do
                                    garbageshit[anim][name] = {}
                                    if fakeFlagsShit[anim][name]["Value"] then
                                          garbageshit[anim][name]["Value"] =
fakeFlagsShit[anim][name]["Value"]
                                    elseif fakeFlagsShit[anim][name]["Color"] then
                                          garbageshit[anim][name]["Color"] = {r =
fakeFlagsShit[anim][name]["Color"].r, g = fakeFlagsShit[anim][name]["Color"].g, b =
fakeFlagsShit[anim][name]["Color"].b}
                                          if Parameters.StartTrans and
fakeFlagsShit[anim][name]["Transparency"] then
                                                garbageshit[anim][name]
["Transparency"] = fakeFlagsShit[anim][name]["Transparency"]
                                          end
                                    end
                              end
                        end
                        return {
                              ["Color"] = {r = Menu[Parameters.Tab]
[Parameters.Section][Parameters.ObjectName]["Color " .. Parameters.Stance]
["Color"].r, g = Menu[Parameters.Tab][Parameters.Section][Parameters.ObjectName]
["Color " .. Parameters.Stance]["Color"].g, b = Menu[Parameters.Tab]
[Parameters.Section][Parameters.ObjectName]["Color " .. Parameters.Stance]
["Color"].b},
                              ["Transparency"] = Parameters.StartTrans and
Menu[Parameters.Tab][Parameters.Section][Parameters.ObjectName]["Color " ..
Parameters.Stance]["Transparency"] or nil,
                              ["Animation Selection"] = {["Value"] =
dropKickFlag["Value"]},
                              ["Animations"] = garbageshit,
                        }
                  end
                  local TransparencySlider = false
                  if Parameters.StartTrans then
                        TransparencySlider = true
                        Menu[Parameters.Tab][Parameters.Section]
[Parameters.ObjectName]["Color " .. Parameters.Stance]["Transparency"] =
Parameters.StartTrans
                  end
                  Menu[Parameters.Tab][Parameters.Section][Parameters.ObjectName]
["Color " .. Parameters.Stance].Changed = Signal.new()
                  local ColorProxy = Menu[Parameters.Tab][Parameters.Section]
[Parameters.ObjectName]["Color " .. Parameters.Stance]
                 local imHungover = {
                       Rainbow = {
                             {
                                   type = "slider",
             name = "Speed",
             max = 1000,
             min = 1,
             suffix = "%"
      }
},
Linear = {
      {
             type = "color",
             name = "Keyframe 1"
     },
     {
             type = "color",
             name = "Keyframe 2"
     },
     {
             type = "slider",
             name = "Speed",
             max = 1000,
             min = 1,
             suffix = "%"
      }
},
Oscillating = {
      {
            type = "color",
            name = "Keyframe    1"
      },
      {
            type = "color",
            name = "Keyframe    2"
      },
      {
            type = "slider",
            name = "Speed",
            max = 1000,
            min = 1,
            suffix = "%"
      }
},
Sawtooth = {
      {
            type = "color",
            name = "Keyframe    1"
      },
      {
            type = "color",
            name = "Keyframe    2"
      },
      {
            type = "slider",
            name = "Speed",
            max = 1000,
            min = 1,
            suffix = "%"
      }
},
Strobe = {
      {
                                    type = "color",
                                    name = "Keyframe 1"
                             },
                             {
                                    type = "color",
                                    name = "Keyframe 2"
                             },
                             {
                                    type = "slider",
                                    name = "Speed",
                                    max = 1000,
                                    min = 1,
                                    suffix = "%"
                             }
                       }
                 }
local whoresFucked = 0
                                    local TextGarbage =
UIUtilities:Create("TextLabel", {
                                         AnchorPoint = Vector2.new(1, 0),
                                         BackgroundTransparency = 1,
                                         Parent = whoreCoonNig,
                                         Position = UDim2.new(1, 0, 0, 0),
                                         Size = UDim2.new(1, -10, 1, 0),
                                         ZIndex = 20 + 28,
                                         Text = data.name,
                                         TextColor3 = UIStyle.UIcolors.FullWhite,
                                         Font = UIStyle.TextFont.Font,
                                         LineHeight = 1.05,
                                         TextSize = UIStyle.TextFont.TxtSize,
                                         TextStrokeColor3 = Color3.new(),
                                         TextStrokeTransparency = 0.5,
                                         TextXAlignment =
Enum.TextXAlignment.Left,
                                         TextYAlignment =
Enum.TextYAlignment.Center
                                   })
                                   local garbageParameters =
table.clone(Parameters)
                                   fakeFlagNigger = {}
                                   fakeFlagNigger["Color"] =
garbageParameters.StartColor
                                   local TransparencySlider = false
                                   if garbageParameters.StartTrans then
                                         TransparencySlider = true
                                         fakeFlagNigger["Transparency"] =
garbageParameters.StartTrans
                                   end
                                   fakeFlagNigger.Changed = Signal.new()
                                      local Huepick =
UIUtilities:Create("ImageButton", {
                                           Name = "Huepick",
                                           Parent = Frame,
                                           BackgroundColor3 = Color3.fromRGB(255,
255, 255),
                                           BorderColor3 = UIStyle.UIcolors.ColorA,
                                           ClipsDescendants = false,
                                           BorderSizePixel = 0,
                                           Position = UDim2.new(0, 172, 0, 10 +
inDented),
                                           Size = UDim2.new(0, 14, 0, 156),
                                           AutoButtonColor = false,
                                           Image = "rbxassetid://3641079629",
                                           ImageColor3 = Color3.fromRGB(255, 0, 0),
                                           ImageTransparency = 1,
                                           BackgroundTransparency = 0,
                                           ZIndex = 22 + 33
                                   })
                                   AutoApplyBorder(Huepick, "Picker", 22 + 33,
UIStyle.UIcolors.ColorG, UIStyle.UIcolors.ColorH)
                                   local Huedrag = UIUtilities:Create("Frame", {
                                         Name = "Huedrag",
                                         Parent = Huepick,
                                         BackgroundColor3 = Color3.fromRGB(255,
255, 255),
                                         BorderColor3 = UIStyle.UIcolors.ColorA,
                                         Size = UDim2.new(1, 0, 0, 2),
                                         ZIndex = 22 + 33
                                   })
                                      local HueFrameGradient =
UIUtilities:Create("UIGradient", {
                                           Rotation = 90,
                                           Name = "HueFrameGradient",
                                           Parent = Huepick,
                                           Color = ColorSequence.new {
                                                 ColorSequenceKeypoint.new(0.00,
Color3.fromRGB(255, 0, 0)),
                                                 ColorSequenceKeypoint.new(0.17,
Color3.fromRGB(255, 0, 255)),
                                                 ColorSequenceKeypoint.new(0.33,
Color3.fromRGB(0, 0, 255)),
                                                 ColorSequenceKeypoint.new(0.50,
Color3.fromRGB(0, 255, 255)),
                                                 ColorSequenceKeypoint.new(0.67,
Color3.fromRGB(0, 255, 0)),
                                                 ColorSequenceKeypoint.new(0.83,
Color3.fromRGB(255, 255, 0)),
                                                 ColorSequenceKeypoint.new(1.00,
Color3.fromRGB(255, 0, 0))
                                           },
                                      })
                                      if TransparencySlider then
                                            Transpick =
UIUtilities:Create("ImageButton", {
                                                 Name = "Transpick",
                                                 Parent = Frame,
                                                 BackgroundColor3 =
Color3.fromRGB(255, 255, 255),
                                                 BorderColor3 =
UIStyle.UIcolors.ColorA,
                                                 Position = UDim2.new(0, 8, 0, 172 +
inDented),
                                                 Size = UDim2.new(0, 156, 0, 12),
                                                 AutoButtonColor = false,
                                                 Image = "rbxassetid://3887014957",
                                                 ScaleType = Enum.ScaleType.Tile,
                                                 TileSize = UDim2.new(0, 10, 0, 10),
                                                 ZIndex = 22 + 33
                                         })
                                         AutoApplyBorder(Transpick, "Picker", 22 +
33, UIStyle.UIcolors.ColorG, UIStyle.UIcolors.ColorH)
                                         Transcolor =
UIUtilities:Create("ImageLabel", {
                                               Name = "Transcolor",
                                               Parent = Transpick,
                                               BackgroundColor3 =
Color3.fromRGB(255, 255, 255),
                                               BackgroundTransparency = 1,
                                               Size = UDim2.new(1, 0, 1, 0),
                                               Image = "rbxassetid://3887017050",
                                               ImageColor3 =
ColorP.BackgroundColor3,
                                               ZIndex = 22 + 33,
                                         })
                                            Transdrag = UIUtilities:Create("Frame", {
                                                  Name = "Transdrag",
                                                  Parent = Transcolor,
                                                  BackgroundColor3 =
Color3.fromRGB(255, 255, 255),
                                                 BorderColor3 =
UIStyle.UIcolors.ColorA,
                                                 Position = UDim2.new(0, -1, 0, 0),
                                                 Size = UDim2.new(0, 2, 1, 0),
                                                 ZIndex = 22 + 33
                                            })
                                      end
                                      local OldColorText =
UIUtilities:Create("TextLabel", {
                                            Name = "OldColorText",
                                            Parent = Frame,
                                            Size = UDim2.new(0, 16, 0, 14),
                                            Text = "Old Color",
                                            BackgroundTransparency = 1,
                                            TextColor3 = UIStyle.UIcolors.FullWhite,
                                            Font = UIStyle.TextFont.Font,
                                            LineHeight = 1.1,
                                            ZIndex = 22 + 34,
                                            Position = UDim2.new(0, 212, 0, 78 +
inDented),
                                            TextSize = UIStyle.TextFont.TxtSize,
                                            TextStrokeColor3 = Color3.new(),
                                            TextStrokeTransparency = 0.5,
                                      })
                                      local OldColor = UIUtilities:Create("Frame", {
                                            Name = "OldColor",
                                            Parent = Frame,
                                            BackgroundColor3 = Color3.fromRGB(255,
255, 255),
                                            BorderColor3 = UIStyle.UIcolors.ColorC,
                                            BorderSizePixel = 0,
                                            Position = UDim2.new(0, 196, 0, 94 +
inDented),
                                            Size = UDim2.new(0, 92, 0, 48),
                                            ZIndex = 22 + 35,
                                      })
                                      local OldAlpha =
UIUtilities:Create("ImageButton", {
                                            Name = "OldAlpha",
                                            Parent = Frame,
                                            BackgroundColor3 = Color3.fromRGB(255,
255, 255),
                                            BorderColor3 = UIStyle.UIcolors.ColorC,
                                            BorderSizePixel = 0,
                                            Position = UDim2.new(0, 196, 0, 94 +
inDented),
                                            BackgroundTransparency = 1,
                                            Size = UDim2.new(0, 92, 0, 48),
                                            ScaleType = "Tile",
                                            ZIndex = 22 + 34,
                                            Image = "rbxassetid://3887014957"
                                      })
                                   AutoApplyBorder(OldAlpha, "OldAlpha", 22 + 34,
UIStyle.UIcolors.ColorG, UIStyle.UIcolors.ColorH)
                                      local NewColorText =
UIUtilities:Create("TextLabel", {
                                           Name = "NewColorText",
                                           Parent = Frame,
                                           Size = UDim2.new(0, 16, 0, 14),
                                           Text = "New Color",
                                           BackgroundTransparency = 1,
                                           TextColor3 = UIStyle.UIcolors.FullWhite,
                                           Font = UIStyle.TextFont.Font,
                                           LineHeight = 1.1,
                                           ZIndex = 22 + 34,
                                           Position = UDim2.new(0, 212, 0, 6 +
inDented),
                                           TextSize = UIStyle.TextFont.TxtSize,
                                           TextStrokeColor3 = Color3.new(),
                                           TextStrokeTransparency = 0.5,
                                      })
                                      local NewColor = UIUtilities:Create("Frame", {
                                            Name = "NewColor",
                                            Parent = Frame,
                                            BackgroundColor3 =
garbageParameters.StartColor,
                                           BackgroundTransparency =
garbageParameters.StartTrans,
                                           BorderColor3 = UIStyle.UIcolors.ColorC,
                                           BorderSizePixel = 0,
                                           Position = UDim2.new(0, 196, 0, 22 +
inDented),
                                           Size = UDim2.new(0, 92, 0, 48),
                                           ZIndex = 22 + 35,
                                      })
                                      local NewAlpha =
UIUtilities:Create("ImageButton", {
                                           Name = "NewAlpha",
                                           Parent = Frame,
                                           BackgroundColor3 = Color3.fromRGB(255,
255, 255),
                                           BorderColor3 = UIStyle.UIcolors.ColorC,
                                           BorderSizePixel = 0,
                                           Position = UDim2.new(0, 196, 0, 22 +
inDented),
                                           BackgroundTransparency = 1,
                                           Size = UDim2.new(0, 92, 0, 48),
                                           ScaleType = "Tile",
                                           ZIndex = 22 + 34,
                                           Image = "rbxassetid://3887014957"
                                   })
                                   AutoApplyBorder(NewAlpha, "NewAlpha", 22 + 34,
UIStyle.UIcolors.ColorG, UIStyle.UIcolors.ColorH)
                                   local YOffset = -24
                                   if garbageParameters.StartTrans then
                                         YOffset = -22
                                   end
                                   local ApplyButton =
UIUtilities:Create("TextButton", {
                                         Name = "Apply",
                                          AutoButtonColor = false,
                                          Parent = Frame,
                                          Size = UDim2.new(0, 52, 0, 16),
                                          Text = "[ Apply ]",
                                          BackgroundTransparency = 1,
                                          TextColor3 = UIStyle.UIcolors.FullWhite,
                                          Font = UIStyle.TextFont.Font,
                                          LineHeight = 1.1,
                                          ZIndex = 22 + 34,
                                          Position = UDim2.new(0, 196, 0, YBounds +
YOffset + inDented),
                                          TextSize = UIStyle.TextFont.TxtSize,
                                          TextStrokeColor3 = Color3.new(),
                                          TextStrokeTransparency = 0.5,
                                     })
                                     local okFrameBackGroundGradient =
UIUtilities:Create("UIGradient",{
                                          Color = ColorSequence.new({
                                                ColorSequenceKeypoint.new(0,
UIStyle.UIcolors.ColorD),
                                                ColorSequenceKeypoint.new(0.06,
UIStyle.UIcolors.ColorA),
                                                ColorSequenceKeypoint.new(1,
UIStyle.UIcolors.ColorA)
                                          }),
                                          Rotation = 90,
                                          Parent = Frame
                                     })
                                     local CopyNewColor =
UIUtilities:Create("TextButton", {
                                          Name = "CopyNewColor",
                                          Parent = NewColor,
                                          AutoButtonColor = false,
                                          Size = UDim2.new(1, 0, 0.5, 0),
                                          Text = "Copy",
                                          BackgroundTransparency = 1,
                                          TextColor3 = UIStyle.UIcolors.FullWhite,
                                          Font = UIStyle.TextFont.Font,
                                          Visible = false,
                                          LineHeight = 1.1,
                                          ZIndex = 22 + 35,
                                          Position = UDim2.new(0, 0, 0, 0),
                                          TextSize = UIStyle.TextFont.TxtSize,
                                          TextStrokeColor3 = Color3.new(),
                                          TextXAlignment =
Enum.TextXAlignment.Center,
                                          TextYAlignment =
Enum.TextYAlignment.Center,
                                          TextStrokeTransparency = 0.5,
                                     })
                                     local PasteNewColor =
UIUtilities:Create("TextButton", {
                                          Name = "PasteNewColor",
                                          Parent = NewColor,
                                          AnchorPoint = Vector2.new(0, 1),
                                          AutoButtonColor = false,
                                          Size = UDim2.new(1, 0, 0.5, 0),
                                          Text = "Paste",
                                          BackgroundTransparency = 1,
                                          Visible = false,
                                          TextColor3 = UIStyle.UIcolors.FullWhite,
                                          Font = UIStyle.TextFont.Font,
                                          LineHeight = 1.1,
                                          ZIndex = 22 + 35,
                                          Position = UDim2.new(0, 0, 1, 0),
                                          TextSize = UIStyle.TextFont.TxtSize,
                                          TextStrokeColor3 = Color3.new(),
                                          TextXAlignment =
Enum.TextXAlignment.Center,
                                          TextYAlignment =
Enum.TextYAlignment.Center,
                                          TextStrokeTransparency = 0.5,
                                     })
                                     local CopyOldColor =
UIUtilities:Create("TextButton", {
                                          Name = "PasteOldColor",
                                          Parent = OldColor,
                                          Size = UDim2.new(1, 0, 1, 0),
                                          AutoButtonColor = false,
                                          Text = "Copy",
                                          BackgroundTransparency = 1,
                                          TextColor3 = UIStyle.UIcolors.FullWhite,
                                          Visible = false,
                                          Font = UIStyle.TextFont.Font,
                                          LineHeight = 1.1,
                                          ZIndex = 22 + 35,
                                          Position = UDim2.new(0, 0, 0, 0),
                                          TextSize = UIStyle.TextFont.TxtSize,
                                          TextStrokeColor3 = Color3.new(),
                                          TextXAlignment =
Enum.TextXAlignment.Center,
                                          TextYAlignment =
Enum.TextYAlignment.Center,
                                          TextStrokeTransparency = 0.5,
                                     })
                                     NewColor.MouseEnter:Connect(function()
                                           CopyNewColor.Visible = true
                                           PasteNewColor.Visible = true
                                   end)
                                   NewColor.MouseLeave:Connect(function()
                                         CopyNewColor.Visible = false
                                         PasteNewColor.Visible = false
                                   end)
                                   OldColor.MouseEnter:Connect(function()
                                         CopyOldColor.Visible = true
                                   end)
                                   OldColor.MouseLeave:Connect(function()
                                         CopyOldColor.Visible = false
                                   end)
                                          ColorH = math.clamp(ColorH, 0, 1)
                                          ColorS = math.clamp(ColorS, 0, 1)
                                          ColorV = math.clamp(ColorV, 0, 1)
                                          ColorDrag.Position = UDim2.new(1 -
ColorS, 0, 1 - ColorV, 0)
                                          Colorpick.ImageColor3 =
Color3.fromHSV(ColorH, 1, 1)
                                          Huedrag.Position = UDim2.new(0, 0, 1-
ColorH, -1)
                                          if Transcolor then
                                                Transcolor.ImageColor3 = Color
                                          end
                                   end
UpdatePickers(ColorP.BackgroundColor3)
                                   ColorP.MouseButton1Down:Connect(function()
                                         if isColorThingOpen2 and
isColorThingOpen2 ~= MasterFrame then
                                               return
                                         end
                                         MasterFrame.Visible = not
MasterFrame.Visible
                                         if MasterFrame.Visible == false then
                                               isColorThingOpen2 = nil
                                         else
                                               isColorThingOpen2 = MasterFrame
                                         end
                                         UpdatePickers(ColorP.BackgroundColor3)
                                         if MasterFrame.Visible then
                                               OldColor.BackgroundTransparency =
ColorP.BackgroundTransparency
                                               OldColor.BackgroundColor3 =
ColorP.BackgroundColor3
                                         end
                                   end)
     PasteNewColor.MouseButton1Down:Connect(function()
                                        if ClipboardColor then
                                                NewColor.BackgroundColor3 =
ClipboardColor
     UpdatePickers(NewColor.BackgroundColor3)
                                        end
                                   end)
      CopyOldColor.MouseButton1Down:Connect(function()
                                         ClipboardColor =
OldColor.BackgroundColor3
                                    end)
      CopyNewColor.MouseButton1Down:Connect(function()
                                         ClipboardColor =
NewColor.BackgroundColor3
                                    end)
      UserInputService.InputBegan:Connect(function(input)
                                         if input.UserInputType ==
Enum.UserInputType.MouseButton1 or input.UserInputType ==
Enum.UserInputType.MouseButton2 then
                                               if not dragging and not abc and not
inCP then
                                                     MasterFrame.Visible = false
                                                     isColorThingOpen2 = nil
                                               end
                                         end
                                    end)
      Transpick.MouseButton1Down:Connect(function()
                                               updateTrans()
                                               moveconnection =
Mouse.Move:Connect(function()
                                                     updateTrans()
                                               end)
                                               releaseconnection =
UserInputService.InputEnded:Connect(function(mouse)
                                                     if mouse.UserInputType ==
Enum.UserInputType.MouseButton1 then
                                                           updateTrans()
moveconnection:Disconnect()
     releaseconnection:Disconnect()
                                                        end
                                                 end)
                                         end)
                                   end
                                   Colorpick.MouseButton1Down:Connect(function()
                                         updateColor()
                                         moveconnection =
Mouse.Move:Connect(function()
                                               updateColor()
                                         end)
                                         releaseconnection =
UserInputService.InputEnded:Connect(function(mouse)
                                               if mouse.UserInputType ==
Enum.UserInputType.MouseButton1 then
                                                     updateColor()
                                                     moveconnection:Disconnect()
     releaseconnection:Disconnect()
                                                 end
                                          end)
                                   end)
                                   ApplyButton.MouseButton1Down:Connect(function()
                                         ColorP.BackgroundColor3 =
NewColor.BackgroundColor3
                                          ColorP.BackgroundTransparency =
NewColor.BackgroundTransparency
                                          MasterFrame.Visible = false
                                          isColorThingOpen = nil
                                   end)
                                   Huepick.MouseButton1Down:Connect(function()
                                         updateHue()
                                         moveconnection =
Mouse.Move:Connect(function()
                                               updateHue()
                                         end)
                                         releaseconnection =
game:GetService("UserInputService").InputEnded:Connect(function(mouse)
                                               if mouse.UserInputType ==
Enum.UserInputType.MouseButton1 then
                                                     updateHue()
                                                     moveconnection:Disconnect()
     releaseconnection:Disconnect()
                                                 end
                                          end)
                                   end)
                                   ColorP.BorderColor3   =
Color3.fromRGB(math.clamp((ColorP.BackgroundColor3.R *   255) - 40, 40, 255),
math.clamp((ColorP.BackgroundColor3.G * 255) - 40, 40,   255),
math.clamp((ColorP.BackgroundColor3.B * 255) - 40, 40,   255))
      ColorP:GetPropertyChangedSignal("BackgroundColor3"):Connect(function()
                                         local Hue, Sat, Val =
RGBtoHSV(ColorP.BackgroundColor3)
                                         fakeFlagNigger["Color"] =
ColorP.BackgroundColor3
      fakeFlagNigger.Changed:Fire(ColorP.BackgroundColor3,
ColorP.BackgroundTransparency)
                                          local Color = ColorP.BackgroundColor3
                                          ColorP.BorderColor3 =
Color3.fromRGB(math.clamp((Color.R * 255) - 40, 40, 255), math.clamp((Color.G *
255) - 40, 40, 255), math.clamp((Color.B * 255) - 40, 40, 255))
                                    end)
                                    if Parameters.StartTrans then
     ColorP:GetPropertyChangedSignal("BackgroundTransparency"):Connect(function()
                                              if fading == false then
fakeFlagNigger["Transparency"] = ColorP.BackgroundTransparency
      fakeFlagNigger.Changed:Fire(ColorP.BackgroundColor3,
ColorP.BackgroundTransparency)
                                                     actualtrans.Value =
ColorP.BackgroundTransparency
                                               end
                                         end)
                                    end
                                     fakeFlagNigger = setmetatable({}, {
                                           __index = function(self, i)
                                                 if ColorProxy[i] == nil then
                                                       if i == "Transparency" then
                                                             return
ColorP.BackgroundTransparency
                                                         elseif i == "Color" then
                                                               return
ColorP.BackgroundColor3
                                                         end
                                                 else
                                                         return ColorProxy[i]
                                                 end
                                           end,
                                           __newindex = function(self, i, v)
                                                 if i == "Color" then
                                                       if type(v) == "table" then
                                                             local af =
Color3.new(v.r, v.g, v.b)
                                                             v = af
                                                       end
                                                       ColorP.BackgroundColor3 = v
                                                 elseif i == "Transparency" then
                                                       ColorP.BackgroundTransparency
= v
                                                 end
                                                 ColorProxy[i] = v
                                            end
                                      })
                                elseif data.type == "slider" then
                                     local garbageParameters = {
                                           Name = data.name,
                                           MinimumNumber = data.min,
                                           MaximumNumber = data.max,
                                           Suffix = data.suffix
                                     }
                                     fakeFlagNigger = {}
                                     fakeFlagNigger.Changed = Signal.new()
                                     local Proxy = fakeFlagNigger
                                     if not garbageParameters.Suffix then
                                           garbageParameters.Suffix = ""
                                     end
                                     local Slider = UIUtilities:Create("Frame", {
                                           Name = garbageParameters.Name,
                                           Parent = faggot,
                                           BackgroundColor3 = Color3.fromRGB(255,
255, 255),
                                           BackgroundTransparency = 1,
                                           ZIndex = 20 + 22,
                                           Position = UDim2.new(0, 0, 0, 0),
                                           Size = UDim2.new(1, 0, 0, 20)
                                     })
                                     local TextLabel =
UIUtilities:Create("TextButton", {
                                           Parent = Slider,
                                           BackgroundColor3 = Color3.fromRGB(255,
255, 255),
                                          BackgroundTransparency = 1,
                                          Position = UDim2.new(0, 8, 0, -4),
                                          Size = UDim2.new(1, 0, 0, 15),
                                          Font = UIStyle.TextFont.Font,
                                          ZIndex = 20 + 22,
                                          Text = garbageParameters.Name,
                                          TextColor3 = UIStyle.UIcolors.FullWhite,
                                          TextStrokeColor3 = Color3.new(),
                                          LineHeight = 1.2,
                                          TextStrokeTransparency = 0.5,
                                          TextSize = UIStyle.TextFont.TxtSize,
                                          TextXAlignment = Enum.TextXAlignment.Left
                                     })
                                     local AddText =
UIUtilities:Create("TextButton", {
                                          Parent = Slider,
                                          BackgroundColor3 = Color3.fromRGB(255,
255, 255),
                                          BackgroundTransparency = 1,
                                          Position = UDim2.new(1, -32, 0, -4),
                                          Size = UDim2.new(0, 8, 0, 15),
                                          Font = UIStyle.TextFont.Font,
                                          ZIndex = 20 + 22,
                                          Visible = false,
                                          Text = "+",
                                          TextColor3 = UIStyle.UIcolors.FullWhite,
                                          TextStrokeColor3 = Color3.new(),
                                          TextStrokeTransparency = 0.5,
                                          TextSize = UIStyle.TextFont.TxtSize,
                                          TextXAlignment =
Enum.TextXAlignment.Center
                                     })
                                     local SubtractText =
UIUtilities:Create("TextButton", {
                                          Parent = Slider,
                                          BackgroundColor3 = Color3.fromRGB(255,
255, 255),
                                          BackgroundTransparency = 1,
                                          Position = UDim2.new(1, -22, 0, -4),
                                          Size = UDim2.new(0, 8, 0, 15),
                                          Font = UIStyle.TextFont.Font,
                                          ZIndex = 20 + 22,
                                          Visible = false,
                                          Text = "-",
                                          TextColor3 = UIStyle.UIcolors.FullWhite,
                                          TextStrokeColor3 = Color3.new(),
                                          TextStrokeTransparency = 0.5,
                                          TextSize = UIStyle.TextFont.TxtSize,
                                          TextXAlignment =
Enum.TextXAlignment.Center
                                     })
                                   AutoApplyBorder(ButtonStyle,
garbageParameters.Name, 20 + 22, UIStyle.UIcolors.ColorG, UIStyle.UIcolors.ColorH)
                                   local Frame = UIUtilities:Create("Frame", {
                                         Parent = Button,
                                         BackgroundColor3 =
UIStyle.UIcolors.Accent,
                                         BorderSizePixel = 0,
                                         ZIndex = 20 + 22,
                                         Size = UDim2.new(0, 0, 1, 0)
                                   })
                                   table.insert(UIAccents, Frame)
                                   local FrameStyling =
UIUtilities:Create("UIGradient", {
                                         Color = ColorSequence.new({
                                               ColorSequenceKeypoint.new(0,
Color3.fromRGB(255, 255, 255)),
                                               ColorSequenceKeypoint.new(1,
Color3.fromRGB(180, 180, 180))
                                         }),
                                         Rotation = 90,
                                         Parent = Frame
                                   })
                                      local NumberValue =
UIUtilities:Create("NumberValue", {
                                           Value = garbageParameters.MinimumNumber,
                                           Parent = Slider,
                                           Name = garbageParameters.Name
                                      })
                                      fakeFlagNigger["Value"] = NumberValue.Value
                                      local mouse = Mouse
                                      local val
                                      local Absolute = Button.AbsoluteSize.X
                                      local Moving = false
                                   Button.MouseButton1Down:Connect(function()
                                         Absolute = Button.AbsoluteSize.X
                                         if moveconnection then
                                               moveconnection:Disconnect()
                                         end
                                         if releaseconnection then
                                               releaseconnection:Disconnect() --
fixing the issue where if ur mouse goes off screen while dragging itll cancel it on
click
                                         end
                                         Moving = true
                                         Frame.Size = UDim2.new(0,
math.clamp(mouse.X - Frame.AbsolutePosition.X, 0, Absolute), 1, 0)
                                         val = math.floor(0.5 +
(((garbageParameters.MaximumNumber - garbageParameters.MinimumNumber) / Absolute) *
Frame.AbsoluteSize.X) + garbageParameters.MinimumNumber) or 0
                                         NumberValue.Value = val
                                         moveconnection =
mouse.Move:Connect(function()
                                               Frame.Size = UDim2.new(0,
math.clamp(mouse.X - Frame.AbsolutePosition.X, 0, Absolute), 1, 0)
                                               val = math.floor(0.5 +
(((garbageParameters.MaximumNumber - garbageParameters.MinimumNumber) / Absolute) *
Frame.AbsoluteSize.X) + garbageParameters.MinimumNumber)
                                               NumberValue.Value = val
                                         end)
                                         releaseconnection =
UserInputService.InputEnded:Connect(function(Mouse)
                                               if Mouse.UserInputType ==
Enum.UserInputType.MouseButton1 then
                                                     Frame.Size = UDim2.new(0,
math.clamp(mouse.X - Frame.AbsolutePosition.X, 0, Absolute), 1, 0)
                                                     val =
(((garbageParameters.MaximumNumber - garbageParameters.MinimumNumber) / Absolute) *
Frame.AbsoluteSize.X) + garbageParameters.MinimumNumber
                                                     moveconnection:Disconnect()
     releaseconnection:Disconnect()
                                                      Moving = false
                                               end
                                         end)
                                   end)
                                   NumberValue.Changed:Connect(function()
                                         Absolute = Button.AbsoluteSize.X
                                         NumberValue.Value =
math.clamp(NumberValue.Value, garbageParameters.MinimumNumber,
garbageParameters.MaximumNumber)
                                         if not Moving then
                                               local Portion = 0.5
                                               if garbageParameters.MinimumNumber
> 0 then
                                                     Portion = ((NumberValue.Value
- garbageParameters.MinimumNumber)) / (garbageParameters.MaximumNumber -
garbageParameters.MinimumNumber)
                                               else
                                                     Portion = (NumberValue.Value
- garbageParameters.MinimumNumber) / (garbageParameters.MaximumNumber -
garbageParameters.MinimumNumber)
                                               end
                                               Frame.Size = UDim2.new(Portion, 0,
1, 0) -- itll go back to offset when someone tries moving it
                                               val = math.floor(0.5 +
(((garbageParameters.MaximumNumber - garbageParameters.MinimumNumber) / Absolute) *
Frame.AbsoluteSize.X) + garbageParameters.MinimumNumber) or 0
                                         end
                                         if NumberValue.Value ==
garbageParameters.MaximumNumber and garbageParameters.MaximumText ~= nil then
                                               Value.Text =
garbageParameters.MaximumText
                                         elseif NumberValue.Value ==
garbageParameters.MinimumNumber and garbageParameters.MinimumText ~= nil then
                                               Value.Text =
garbageParameters.MinimumText
                                         else
                                               Value.Text = val ..
garbageParameters.Suffix
                                         end
                                         fakeFlagNigger["Value"] =
NumberValue.Value
                                         if garbageParameters.Callback then
     garbageParameters.Callback(NumberValue.Value)
                                        end
     fakeFlagNigger.Changed:Fire(NumberValue.Value)
                                   end)
                                     Slider.MouseEnter:Connect(function()
                                           AddText.Visible = true
                                           SubtractText.Visible = true
                                     end)
                                     Slider.MouseLeave:Connect(function()
                                           AddText.Visible = false
                                           SubtractText.Visible = false
                                     end)
                                     AddText.MouseEnter:Connect(function()
                                           AddText.TextColor3 =
UIStyle.UIcolors.Accent
                                     end)
                                     AddText.MouseLeave:Connect(function()
                                           AddText.TextColor3 =
UIStyle.UIcolors.FullWhite
                                     end)
                                     SubtractText.MouseEnter:Connect(function()
                                           SubtractText.TextColor3 =
UIStyle.UIcolors.Accent
                                     end)
                                     SubtractText.MouseLeave:Connect(function()
                                           SubtractText.TextColor3 =
UIStyle.UIcolors.FullWhite
                                     end)
                                     AddText.MouseButton1Down:Connect(function()
                                           NumberValue.Value = NumberValue.Value + 1
                                     end)
     SubtractText.MouseButton1Down:Connect(function()
                                         NumberValue.Value = NumberValue.Value - 1
                                   end)
                                   fakeFlagNigger = setmetatable({}, {
                                         __index = function(self, i)
                                               return Proxy[i]
                                         end,
                                         __newindex = function(self, i, v)
                                               if i == "Value" then
                                                     NumberValue.Value = v
                                               end
                                               Proxy[i] = v
                                         end
                                   })
                             end
                             fakeFlagsShit[fix][data.name] = fakeFlagNigger
                       end
                 end
                 do
                          local zindexBoost = 20
                          local fakeFlag = {}
                          local Proxy = fakeFlag
                          fakeFlag["Dropdown"] = {}
                          fakeFlag["Dropdown"].Changed = Signal.new()
                          local Parameters = {
                                Name = "Animation Type",
                                Values = {
                                      "None",
           "Rainbow",
           "Linear",
           "Oscillating",
           "Strobe",
           "Sawtooth"
     }
}
                                          for e = 1, #chosentext do
                                                if e == #chosentext then
                                                      Selection.Text =
Selection.Text .. chosentext[e]
                                                else
                                                       Selection.Text =
Selection.Text .. chosentext[e] .. ", "
                                                end
                                          end
                                    end
                                      for _, button in next,
(ValueContainer:GetChildren()) do
                                            if button:IsA("TextButton") then
     button.MouseButton1Down:Connect(function()
                                                         button.TextColor3 =
UIStyle.UIcolors.Accent
                                                         button.Selection.Value = not
button.Selection.Value
                                                     if
button:FindFirstChild("Selection") and button.Selection.Value == true then
                                                           button.TextColor3 =
UIStyle.UIcolors.FullWhite
                                                     end
                                                     update()
                                               end)
                                         end
                                   end
                               else
                                      fakeFlag["Value"] = Parameters.Values[1]
                                      for _, ButtonA in next,
(ValueContainer:GetChildren()) do
                                            if ButtonA:IsA("TextButton") then
     ButtonA.MouseButton1Down:Connect(function()
                                                         Selection.Text = ButtonA.Text
                                                         trigger()
                                                  end)
                                            end
                                      end
                               end
                          end
                          initialize()
      Selection:GetPropertyChangedSignal("Text"):Connect(function()
                              if Parameters.MultiChoice then
                                    if ValueContainer.Visible == false then
                                          local selectedvalues =
(Selection.Text):split(", ")
                                          for _, button in next,
(ValueContainer:GetChildren()) do
                                                if button:IsA("TextButton") then
                                                      if table.find(selectedvalues,
button.Text) then
                                                            button.TextColor3 =
UIStyle.UIcolors.Accent
                                                      else
                                                            button.TextColor3 =
Color3.fromRGB(255, 255, 255)
                                                      end
                                                end
                                          end
                                          fakeFlag["Value"] = selectedvalues
                                    else
                                          local selection = {}
                                          for cf, c in next,
(ValueContainer:GetChildren()) do
                                                if c:IsA("TextButton") then
                                                      if
c:FindFirstChild("Selection") and c.Selection.Value == true then
                                                            table.insert(selection,
c.Text)
                                                      end
                                                end
                                          end
                                          if selection[1] == nil then
                                                Selection.Text = "None"
                                          end
                                          fakeFlag["Value"] = selection
                                    end
                              else
                                    fakeFlag["Value"] = Selection.Text
                              end
                              if Parameters.Callback then
                                    Parameters.Callback(fakeFlag["Value"])
                              end
                              fakeFlag["Dropdown"].Changed:Fire(fakeFlag["Value"])
                        end)
                        fakeFlag.UpdateValues = function(NewValues)
                              if Parameters.MultiChoice then
                                    fakeFlag["Value"] = {}
                              else
                                    fakeFlag["Value"] = ""
                              end
                              for i, v in next, (ValueContainer:GetChildren()) do
                                    if v ~= Organizer then
                                          v:Destroy()
                                    end
                              end
                              for iC, vC in next, (NewValues) do
                                    local Button = UIUtilities:Create("TextButton",
{
                                          AnchorPoint = Vector2.new(0.5, 0),
                                          Name = "Button",
                                          Parent = ValueContainer,
                                          AutoButtonColor = false,
                                          BackgroundColor3 =
UIStyle.UIcolors.ColorI,
                                          BorderColor3 = UIStyle.UIcolors.ColorB,
                                          BorderSizePixel = 0,
                                          BackgroundTransparency = 0,
                                          Position = UDim2.new(0.5, 0, 0, 0),
                                          Size = UDim2.new(1, 0, 0, 18),
                                          ZIndex = zindexBoost + 32,
                                          Font = UIStyle.TextFont.Font,
                                          TextStrokeColor3 = Color3.new(),
                                          TextStrokeTransparency = 0,
                                          Text = vC,
                                          TextColor3 = UIStyle.UIcolors.FullWhite,
                                          TextSize = UIStyle.TextFont.TxtSize
                                    })
                                    if iC == 1 and Parameters.MultiChoice then
                                          Button.TextColor3 =
UIStyle.UIcolors.Accent
                                    end
                                    local ButtonStyling =
UIUtilities:Create("Frame", {
                                            AnchorPoint = Vector2.new(0.5, 0.5),
                                            Parent = Button,
                                            BackgroundColor3 =
UIStyle.UIcolors.ColorA,
                                            BorderSizePixel = 1,
                                            BorderColor3 = UIStyle.UIcolors.ColorB,
                                            Position = UDim2.new(0.5, 0, 0.5, 0),
                                            Size = UDim2.new(1, 0, 1, 0),
                                            ZIndex = zindexBoost + 31
                                    })
                                    AutoApplyBorder(ButtonStyling, vC, 31 +
zindexBoost, UIStyle.UIcolors.ColorG, UIStyle.UIcolors.ColorH)
                              end
                              Parameters.Values = NewValues
                              Selection.Text = NewValues[1]
                              initialize()
                        end
                        fakeFlag = setmetatable({}, {
                              __index = function(self, i)
                                    return Proxy[i]
                              end,
                              __newindex = function(self, i, v)
                                    Proxy[i] = v
                                    if i == "Value" then
                                          if not Parameters.MultiChoice then
                                                Selection.Text = v
                                          else
                                                for _, button in next,
(ValueContainer:GetChildren()) do
                                                      if button:IsA("TextButton")
then
                                                            if table.find(v,
button.Text) then
     button.Selection.Value = true
                                                                     button.TextColor3
= UIStyle.UIcolors.Accent
                                                              else
                                                                     button.TextColor3
= Color3.fromRGB(255, 255, 255)
     button.Selection.Value = false
                                                              end
                                                        end
                                                  end
                                            end
                                      end
                                end
                       })
                       fakeFlag["Dropdown"].Changed:Connect(function(value)
                             for i, v in next, otherFrame:GetChildren() do
                                   for i2, v2 in next, imHungover do
                                         if v.Name == i2 then
                                               if v.Name == value then
                                                     v.Visible = true
                                               else
                                                     v.Visible = false
                                                 end
                                         end
                                    end
                              end
                              reUpdate(value)
                       end)
                       dropKickFlag = fakeFlag
                 end
                  local okFrameBackGroundGradient =
UIUtilities:Create("UIGradient",{
                        Color = ColorSequence.new({
                              ColorSequenceKeypoint.new(0,
UIStyle.UIcolors.ColorD),
                              ColorSequenceKeypoint.new(0.06,
UIStyle.UIcolors.ColorA),
                              ColorSequenceKeypoint.new(1, UIStyle.UIcolors.ColorA)
                        }),
                        Rotation = 90,
                        Parent = otherFrame
                  })
local toggleablethingos = {}
                       toggleablethingos[1 + #toggleablethingos] = {
                             backThing,
                             realThing,
                             theText
                       }
                        realThing.InputBegan:Connect(function(input)
                              if input.UserInputType ==
Enum.UserInputType.MouseButton1 then
                                    for i2, v2 in next, toggleablethingos do
                                          v2[2].BackgroundColor3 =
UIStyle.UIcolors.ColorA
                                    end
                                    realThing.BackgroundColor3 =
UIStyle.UIcolors.ColorG
                              end
                        end)
                  end
                 toggleablethingos[1][2].InputBegan:Connect(function(input)
                       if input.UserInputType == Enum.UserInputType.MouseButton1
then
                              Frame.Visible = true
                              otherFrame.Visible = false
                        end
                 end)
                 toggleablethingos[2][2].InputBegan:Connect(function(input)
                       if input.UserInputType == Enum.UserInputType.MouseButton1
then
                              Frame.Visible = false
                              otherFrame.Visible = true
                        end
                 end)
                 if TransparencySlider then
                       Transpick = UIUtilities:Create("ImageButton", {
                             Name = "Transpick",
                             Parent = Frame,
                             BackgroundColor3 = Color3.fromRGB(255, 255, 255),
                             BorderColor3 = UIStyle.UIcolors.ColorA,
                             Position = UDim2.new(0, 8, 0, 172 + inDented),
                             Size = UDim2.new(0, 156, 0, 12),
                             AutoButtonColor = false,
                             Image = "rbxassetid://3887014957",
                             ScaleType = Enum.ScaleType.Tile,
                             TileSize = UDim2.new(0, 10, 0, 10),
                             ZIndex = 33
                        })
                        AutoApplyBorder(Transpick, "Picker", 33,
UIStyle.UIcolors.ColorG, UIStyle.UIcolors.ColorH)
                        Transcolor = UIUtilities:Create("ImageLabel", {
                              Name = "Transcolor",
                              Parent = Transpick,
                              BackgroundColor3 = Color3.fromRGB(255, 255, 255),
                              BackgroundTransparency = 1,
                              Size = UDim2.new(1, 0, 1, 0),
                              Image = "rbxassetid://3887017050",
                              ImageColor3 = ColorP.BackgroundColor3,
                              ZIndex = 33,
                        })
                        Transdrag = UIUtilities:Create("Frame", {
                              Name = "Transdrag",
                              Parent = Transcolor,
                              BackgroundColor3 = Color3.fromRGB(255, 255, 255),
                              BorderColor3 = UIStyle.UIcolors.ColorA,
                              Position = UDim2.new(0, -1, 0, 0),
                              Size = UDim2.new(0, 2, 1, 0),
                              ZIndex = 33
                        })
                  end
NewColor.MouseEnter:Connect(function()
      CopyNewColor.Visible = true
      PasteNewColor.Visible = true
end)
NewColor.MouseLeave:Connect(function()
      CopyNewColor.Visible = false
      PasteNewColor.Visible = false
end)
OldColor.MouseEnter:Connect(function()
      CopyOldColor.Visible = true
end)
OldColor.MouseLeave:Connect(function()
      CopyOldColor.Visible = false
end)
UpdatePickers(ColorP.BackgroundColor3)
                 ColorP.MouseButton1Down:Connect(function()
                       if isColorThingOpen and isColorThingOpen ~= MasterFrame
then
                              return
                        end
                        MasterFrame.Visible = not MasterFrame.Visible
                        if MasterFrame.Visible == false then
                              isColorThingOpen = nil
                        else
                              isColorThingOpen = MasterFrame
                        end
                        UpdatePickers(ColorP.BackgroundColor3)
                        if MasterFrame.Visible then
                              OldColor.BackgroundTransparency =
ColorP.BackgroundTransparency
                              OldColor.BackgroundColor3 = ColorP.BackgroundColor3
                        end
                  end)
                 PasteNewColor.MouseButton1Down:Connect(function()
                       if ClipboardColor then
                             NewColor.BackgroundColor3 = ClipboardColor
                             UpdatePickers(NewColor.BackgroundColor3)
                       end
                 end)
                 CopyOldColor.MouseButton1Down:Connect(function()
                       ClipboardColor = OldColor.BackgroundColor3
                 end)
                 CopyNewColor.MouseButton1Down:Connect(function()
                       ClipboardColor = NewColor.BackgroundColor3
                 end)
                  ApplyButton.MouseButton1Down:Connect(function()
                        ColorP.BackgroundColor3 = NewColor.BackgroundColor3
                        ColorP.BackgroundTransparency =
NewColor.BackgroundTransparency
                        MasterFrame.Visible = false
                        isColorThingOpen = nil
                  end)
                  Huepick.MouseButton1Down:Connect(function()
                        updateHue()
                        moveconnection = Mouse.Move:Connect(function()
                              updateHue()
                        end)
                        releaseconnection =
game:GetService("UserInputService").InputEnded:Connect(function(mouse)
                              if mouse.UserInputType ==
Enum.UserInputType.MouseButton1 then
                                    updateHue()
                                    moveconnection:Disconnect()
                                    releaseconnection:Disconnect()
                              end
                        end)
                  end)
                  ColorP.BorderColor3 =
Color3.fromRGB(math.clamp((ColorP.BackgroundColor3.R * 255) - 40, 40, 255),
math.clamp((ColorP.BackgroundColor3.G * 255) - 40, 40, 255),
math.clamp((ColorP.BackgroundColor3.B * 255) - 40, 40, 255))
      ColorP:GetPropertyChangedSignal("BackgroundColor3"):Connect(function()
                        local Hue, Sat, Val = RGBtoHSV(ColorP.BackgroundColor3)
                        Menu[Parameters.Tab][Parameters.Section]
[Parameters.ObjectName]["Color " .. Parameters.Stance]["Color"] =
ColorP.BackgroundColor3
                        Menu[Parameters.Tab][Parameters.Section]
[Parameters.ObjectName]["Color " ..
Parameters.Stance].Changed:Fire(ColorP.BackgroundColor3,
ColorP.BackgroundTransparency)
                        local Color = ColorP.BackgroundColor3
                        ColorP.BorderColor3 = Color3.fromRGB(math.clamp((Color.R *
255) - 40, 40, 255), math.clamp((Color.G * 255) - 40, 40, 255), math.clamp((Color.B
* 255) - 40, 40, 255))
                  end)
                  if Parameters.StartTrans then
      ColorP:GetPropertyChangedSignal("BackgroundTransparency"):Connect(function()
                              if fading == false then
                                    Menu[Parameters.Tab][Parameters.Section]
[Parameters.ObjectName]["Color " .. Parameters.Stance]["Transparency"] =
ColorP.BackgroundTransparency
                                    Menu[Parameters.Tab][Parameters.Section]
[Parameters.ObjectName]["Color " ..
Parameters.Stance].Changed:Fire(ColorP.BackgroundColor3,
ColorP.BackgroundTransparency)
                                      actualtrans.Value =
ColorP.BackgroundTransparency
                                end
                       end)
                 end
                 table.insert(OpenCloseItems, Alpha)
                 table.insert(OpenCloseItems, ColorP)
                  Menu[Parameters.Tab][Parameters.Section][Parameters.ObjectName]
["Color " .. Parameters.Stance]["Animations"] = fakeFlagsShit
                  Menu[Parameters.Tab][Parameters.Section][Parameters.ObjectName]
["Color " .. Parameters.Stance]["Animation Selection"] = dropKickFlag
                  Menu[Parameters.Tab][Parameters.Section][Parameters.ObjectName]
["Color " .. Parameters.Stance] = setmetatable({}, {
                        __index = function(self, i)
                              return ColorProxy[i]
                        end,
                        __newindex = function(self, i, v)
                              if i == "Color" then
                                    if type(v) == "table" then
                                          v = Color3.new(v.r, v.g, v.b)
                                    end
                                    ColorP.BackgroundColor3 = v
                              elseif i == "Transparency" then
                                    ColorP.BackgroundTransparency = v
                              elseif i == "Animations" then
                                    for anim, data in next, v do
                                          for name, values in next, data do
                                                if v[anim][name]["Value"] then
                                                      fakeFlagsShit[anim][name]
["Value"] = v["Value"]
                                                elseif v[anim][name]["Color"] then
                                                      fakeFlagsShit[anim][name]
["Color"] = Color3.new(v[anim][name]["Color"].r, v[anim][name]["Color"].g, v[anim]
[name]["Color"].b)
                                                      if v[anim][name]
["Transparency"] then
                                                            fakeFlagsShit[anim]
[name]["Transparency"] = v[anim][name]["Transparency"]
                                                      end
                                                end
                                          end
                                    end
                              end
                              ColorProxy[i] = v
                        end
                  })
                  local animationLoop
                  reUpdate = function(anim)
                        if animationLoop then
                              animationLoop:Disconnect()
                        end
                        if anim == "Rainbow" then
                              animationLoop = RunService.Stepped:Connect(function()
                                    local oldhue, oldsat, oldval =
Color3.toHSV(Menu[Parameters.Tab][Parameters.Section][Parameters.ObjectName]["Color
" .. Parameters.Stance]["Color"])
                                    Menu[Parameters.Tab][Parameters.Section]
[Parameters.ObjectName]["Color " .. Parameters.Stance]["Color"] =
(Color3.fromHSV((tick() * (fakeFlagsShit["Rainbow"]["Speed"]["Value"] / 100) -
math.floor(tick() * (fakeFlagsShit["Rainbow"]["Speed"]["Value"] / 100))), oldsat,
oldval))
                              end)
                        elseif anim == "Linear" then
                              animationLoop = RunService.Stepped:Connect(function()
                                    local percentage = (tick() *
(fakeFlagsShit["Linear"]["Speed"]["Value"] / 100) - math.floor(tick() *
(fakeFlagsShit["Linear"]["Speed"]["Value"] / 100)))
                                    if percentage > 0.5 then
                                          percentage = percentage - 0.5
                                          percentage = percentage * 2
                                          Menu[Parameters.Tab][Parameters.Section]
[Parameters.ObjectName]["Color " .. Parameters.Stance]["Color"] =
fakeFlagsShit["Linear"]["Keyframe 2"]["Color"]:Lerp(fakeFlagsShit["Linear"]
["Keyframe 1"]["Color"], percentage)
                                          if Menu[Parameters.Tab]
[Parameters.Section][Parameters.ObjectName]["Color " .. Parameters.Stance]
["Transparency"] then
                                                local a = fakeFlagsShit["Linear"]
["Keyframe 2"]["Transparency"]
                                                local b = fakeFlagsShit["Linear"]
["Keyframe 1"]["Transparency"]
                                                local c = percentage
                                                Menu[Parameters.Tab]
[Parameters.Section][Parameters.ObjectName]["Color " .. Parameters.Stance]
["Transparency"] = (a + (b - a)*c)
                                          end
                                    else
                                          percentage = percentage * 2
                                          Menu[Parameters.Tab][Parameters.Section]
[Parameters.ObjectName]["Color " .. Parameters.Stance]["Color"] =
(fakeFlagsShit["Linear"]["Keyframe 1"]["Color"]:Lerp(fakeFlagsShit["Linear"]
["Keyframe 2"]["Color"], percentage))
                                          if Menu[Parameters.Tab]
[Parameters.Section][Parameters.ObjectName]["Color " .. Parameters.Stance]
["Transparency"] then
                                                local a = fakeFlagsShit["Linear"]
["Keyframe 1"]["Transparency"]
                                                local b = fakeFlagsShit["Linear"]
["Keyframe 2"]["Transparency"]
                                                local c = percentage
                                                Menu[Parameters.Tab]
[Parameters.Section][Parameters.ObjectName]["Color " .. Parameters.Stance]
["Transparency"] = (a + (b - a)*c)
                                          end
                                    end
                              end)
                        elseif anim == "Oscillating" then
                              animationLoop = RunService.Stepped:Connect(function()
                                    local percentage = (tick() *
(fakeFlagsShit["Oscillating"]["Speed"]["Value"] / 100) - math.floor(tick() *
(fakeFlagsShit["Oscillating"]["Speed"]["Value"] / 100)))
                                    if percentage > 0.5 then
                                          percentage = percentage - 0.5
                                          Menu[Parameters.Tab][Parameters.Section]
[Parameters.ObjectName]["Color " .. Parameters.Stance]["Color"] =
(fakeFlagsShit["Oscillating"]["Keyframe 2"]
["Color"]:Lerp(fakeFlagsShit["Oscillating"]["Keyframe 1"]["Color"],
math.sin(percentage * math.pi)))
                                         if Menu[Parameters.Tab]
[Parameters.Section][Parameters.ObjectName]["Color " .. Parameters.Stance]
["Transparency"] then
                                               local a =
fakeFlagsShit["Oscillating"]["Keyframe 2"]["Transparency"]
                                               local b =
fakeFlagsShit["Oscillating"]["Keyframe 1"]["Transparency"]
                                               local c = math.sin(percentage *
math.pi)
                                               Menu[Parameters.Tab]
[Parameters.Section][Parameters.ObjectName]["Color " .. Parameters.Stance]
["Transparency"] = (a + (b - a)*c)
                                         end
                                   else
                                         Menu[Parameters.Tab][Parameters.Section]
[Parameters.ObjectName]["Color " .. Parameters.Stance]["Color"] =
(fakeFlagsShit["Oscillating"]["Keyframe 1"]
["Color"]:Lerp(fakeFlagsShit["Oscillating"]["Keyframe 2"]["Color"],
math.sin(percentage * math.pi)))
                                         if Menu[Parameters.Tab]
[Parameters.Section][Parameters.ObjectName]["Color " .. Parameters.Stance]
["Transparency"] then
                                               local a =
fakeFlagsShit["Oscillating"]["Keyframe 1"]["Transparency"]
                                               local b =
fakeFlagsShit["Oscillating"]["Keyframe 2"]["Transparency"]
                                               local c = math.sin(percentage *
math.pi)
                                                Menu[Parameters.Tab]
[Parameters.Section][Parameters.ObjectName]["Color " .. Parameters.Stance]
["Transparency"] = (a + (b - a)*c)
                                          end
                                    end
                              end)
                        elseif anim == "Strobe" then
                              animationLoop = RunService.Stepped:Connect(function()
                                    local percentage = (tick() *
(fakeFlagsShit["Strobe"]["Speed"]["Value"] / 100) - math.floor(tick() *
(fakeFlagsShit["Strobe"]["Speed"]["Value"] / 100)))
                                    if percentage > 0.5 then
                                          Menu[Parameters.Tab][Parameters.Section]
[Parameters.ObjectName]["Color " .. Parameters.Stance]["Color"] =
fakeFlagsShit["Strobe"]["Keyframe 2"]["Color"]
                                          if Menu[Parameters.Tab]
[Parameters.Section][Parameters.ObjectName]["Color " .. Parameters.Stance]
["Transparency"] then
                                                Menu[Parameters.Tab]
[Parameters.Section][Parameters.ObjectName]["Color " .. Parameters.Stance]
["Transparency"] = (fakeFlagsShit["Strobe"]["Keyframe 2"]["Transparency"])
                                          end
                                    else
                                          Menu[Parameters.Tab][Parameters.Section]
[Parameters.ObjectName]["Color " .. Parameters.Stance]["Color"] =
fakeFlagsShit["Strobe"]["Keyframe 1"]["Color"]
                                          if Menu[Parameters.Tab]
[Parameters.Section][Parameters.ObjectName]["Color " .. Parameters.Stance]
["Transparency"] then
                                                Menu[Parameters.Tab]
[Parameters.Section][Parameters.ObjectName]["Color " .. Parameters.Stance]
["Transparency"] = (fakeFlagsShit["Strobe"]["Keyframe 1"]["Transparency"])
                                          end
                                    end
                              end)
                        elseif anim == "Sawtooth" then
                              animationLoop = RunService.Stepped:Connect(function()
                                    local percentage = (tick() *
(fakeFlagsShit["Sawtooth"]["Speed"]["Value"] / 100) - math.floor(tick() *
(fakeFlagsShit["Sawtooth"]["Speed"]["Value"] / 100)))
                                    Menu[Parameters.Tab][Parameters.Section]
[Parameters.ObjectName]["Color " .. Parameters.Stance]["Color"] =
(fakeFlagsShit["Sawtooth"]["Keyframe 1"]["Color"]:Lerp(fakeFlagsShit["Sawtooth"]
["Keyframe 2"]["Color"], percentage))
                                    if Menu[Parameters.Tab][Parameters.Section]
[Parameters.ObjectName]["Color " .. Parameters.Stance]["Transparency"] then
                                          local a = fakeFlagsShit["Sawtooth"]
["Keyframe 1"]["Transparency"]
                                          local b = fakeFlagsShit["Sawtooth"]
["Keyframe 2"]["Transparency"]
                                          local c = percentage
                                          Menu[Parameters.Tab][Parameters.Section]
[Parameters.ObjectName]["Color " .. Parameters.Stance]["Transparency"] = (a + (b -
a)*c)
                                    end
                              end)
                        end
                  end
            end
                  Updater()
                  ActivationMethod.Changed:Connect(function()
                        Menu[Tab][Section][ObjectName]["Bind"]["Activation Type"] =
ActivationMethod.Value
                        Updater()
                  end)
                    local recording = false
                    UserInputService.InputBegan:Connect(function(Input,
gameProcessed)
                        if recording == true and Input.UserInputType ==
Enum.UserInputType.Keyboard then
                              if Input.KeyCode.Value == 27 then
                                    Val.Value = "None"
                                    Menu[Tab][Section][ObjectName]["Bind"]["Key"] =
"None"
                                    Bind.Text = "None"
                              else
                                    local key = tostring(Input.KeyCode)
                                    Val.Value = key:sub(14)
                                    Menu[Tab][Section][ObjectName]["Bind"]["Key"] =
Input.KeyCode
                                    Bind.Text = string.sub(string.upper(Val.Value),
1, 4)
                              end
                              recording = false
                              b.BackgroundColor3 = UIStyle.UIcolors.ColorG
                        end
                  end)
                    Val.Changed:Connect(function()
                          if not recording then
                                local key = Val.Value
                                if key == "" or key == "None" then
                                      Menu[Tab][Section][ObjectName]["Bind"]["Key"] =
"None"
                                      Bind.Text = "None"
                               else
                                      Menu[Tab][Section][ObjectName]["Bind"]["Key"] =
Enum.KeyCode[key]
                                      Bind.Text = string.upper(string.sub(key, 1, 4))
                               end
                          end
                    end)
                    local function onButtonActivated()
                          b.BackgroundColor3 = UIStyle.UIcolors.Accent
                          Bind.Text = "None"
                          recording = true
                    end
                    Bind.MouseButton1Down:Connect(onButtonActivated)
                    Menu[Tab][Section][ObjectName]["Bind"] = setmetatable({}, {
                          __index = function(self, i)
                                return BindsProxy[i]
                          end,
                          __newindex = function(self, i, v)
                                if i == "Key" and not recording then
                                      Val.Value = tostring(v):sub(14)
                                elseif i == "Activation Type" then
                                      ActivationMethod.Value = v
                                end
                                BindsProxy[i] = v
                          end
                    })
                    Menu[Tab][Section][ObjectName]["Bind"]["Activation Type"] =
"Always"
           end
           UILibrary.Watermark = UIUtilities:Create("Frame", {
                 AnchorPoint = Vector2.new(0, 1),
                 BackgroundColor3 = UIStyle.UIcolors.FullWhite,
                 BackgroundTransparency = 0,
                 BorderColor3 = UIStyle.UIcolors.FullWhite,
                 Visible = false,
                 BorderMode = Enum.BorderMode.Outline,
                 BorderSizePixel = 0,
                 Name = "Watermark",
                 Parent = Core,
                 Position = UDim2.new(0, 12, 0, -10),
                 Size = UDim2.new(0, 428, 0, 24),
                 ZIndex = 1
           })
table.insert(UIAccents, WatermarkAccentStyling)
            UILibrary.Watermark.MouseEnter:Connect(function()
                  UIUtilities:Tween(UILibrary.Watermark, TweenInfo.new(0.1,
Enum.EasingStyle.Linear, Enum.EasingDirection.In), { BackgroundTransparency = 1,
Active = false })
                  UIUtilities:Tween(WatermarkAccent, TweenInfo.new(0.1,
Enum.EasingStyle.Linear, Enum.EasingDirection.In), { BackgroundTransparency = 1,
Active = false })
                  UIUtilities:Tween(WatermarkText, TweenInfo.new(0.1,
Enum.EasingStyle.Linear, Enum.EasingDirection.In), { TextTransparency = 1, Active =
false })
            end)
            UILibrary.Watermark.MouseLeave:Connect(function()
                  UIUtilities:Tween(UILibrary.Watermark, TweenInfo.new(0.1,
Enum.EasingStyle.Linear, Enum.EasingDirection.In), { BackgroundTransparency = 0,
Active = true })
                  UIUtilities:Tween(WatermarkAccent, TweenInfo.new(0.1,
Enum.EasingStyle.Linear, Enum.EasingDirection.In), { BackgroundTransparency = 0,
Active = true })
                  UIUtilities:Tween(WatermarkText, TweenInfo.new(0.1,
Enum.EasingStyle.Linear, Enum.EasingDirection.In), { TextTransparency = 0, Active =
true })
            end)
            local months =
{"Jan.","Feb.","Mar.","Apr.","May","Jun.","Jul.","Aug.","Sep.","Oct.","Nov.","Dec."
}
            local daysinmonth = {31,28,31,30,31,30,31,31,30,31,30,31}
                        local maxWidth = 60
                        local text = Message
                        local msgsize = TextService:GetTextSize(Message,
UIStyle.HeaderFont.WatermarkTxtSize, UIStyle.HeaderFont.Font,
Vector2.new(9999999999999999999999999999999, 0))
                        do -- WARNING !! ALAN CODE AHEAD!!
                              local split = text:split("")
                              local lastspaceidx = 0 -- the text idx that the last
space is
                              local charinline = 0
                              for i, v in next, (split) do
                                    charinline = charinline + 1
                                    if v == " " then
                                          lastspaceidx = i
                                    end
                                    if charinline >= maxWidth then
                                          split[lastspaceidx] = "\n" -- insert a
thing
                                          charinline = 0
                                    end
                              end
                              text = ""
                              for i, v in next, (split) do
                                    text = text .. v
                              end
                        end
                        -- ok most of the gayness is over
                        local split = text:split("\n")
                        local textlinelength = {}
                        local verticalLength = 8
                        for i, v in next, (split) do
                              local d = TextService:GetTextSize(v,
UIStyle.HeaderFont.WatermarkTxtSize, UIStyle.HeaderFont.Font,
Vector2.new(9999999999999999999999999999999, 0))
                              textlinelength[i] = d.x
                              verticalLength = verticalLength + d.y
                        end
                        table.sort(textlinelength, function(a, b) return a > b end)
                        local longestthing = textlinelength[1]
                       local FakeBackGround = UIUtilities:Create("Frame", {
                             AnchorPoint = Vector2.new(0, 0),
                             BackgroundColor3 = UIStyle.UIcolors.FullWhite,
                             BackgroundTransparency = 1,
                             BorderColor3 = UIStyle.UIcolors.FullWhite,
                             BorderMode = Enum.BorderMode.Outline,
                             BorderSizePixel = 0,
                             Name = "Event",
                             Parent = MessageLogs,
                             Position = UDim2.new(0, 0, 0, 0),
                             Size = UDim2.new(0, longestthing + 12, 0,
verticalLength),
                             ZIndex = 1
                       })
                       local EventLogContainer = UIUtilities:Create("Frame", {
                             AnchorPoint = Vector2.new(0, 0),
                             BackgroundColor3 = UIStyle.UIcolors.FullWhite,
                             BackgroundTransparency = 1,
                             BorderColor3 = UIStyle.UIcolors.FullWhite,
                             BorderMode = Enum.BorderMode.Outline,
                             BorderSizePixel = 0,
                             Name = "Event",
                             Parent = FakeBackGround,
                             Position = UDim2.new(0, -msgsize.X + 32, 0, 0),
                             Size = UDim2.new(1, 0, 1, -4),
                             ZIndex = 1
                       })
                       local BackGroundStyling = UIUtilities:Create("UIGradient",
{
                             Color = ColorSequence.new({
                                   ColorSequenceKeypoint.new(0,
UIStyle.UIcolors.ColorD),
                                   ColorSequenceKeypoint.new(1,
UIStyle.UIcolors.ColorA)
                             }),
                             Rotation = 90,
                             Parent = EventLogContainer
                        })
                        local BackGroundAccent = UIUtilities:Create("Frame", {
                              AnchorPoint = Vector2.new(0, 0),
                              BackgroundColor3 = UIStyle.UIcolors.FullWhite,
                              BorderSizePixel = 0,
                              BackgroundTransparency = 1,
                              Name = "UI",
                              Parent = EventLogContainer,
                              Position = UDim2.new(0, 0, 0, 0),
                              Size = UDim2.new(0, 2, 1, 0),
                              ZIndex = 2
                        })
                        local Hue, Sat, Val = RGBtoHSV(UIStyle.UIcolors.Accent)
                        local BackGroundAccentStyling =
UIUtilities:Create("UIGradient", {
                              Color = ColorSequence.new({
                                    ColorSequenceKeypoint.new(0,
Color3.fromHSV(Hue, Sat, Val - 0.1)),
                                    ColorSequenceKeypoint.new(1,
Color3.new(UIStyle.UIcolors.Accent.R, UIStyle.UIcolors.Accent.G,
UIStyle.UIcolors.Accent.B))
                              }),
                  Rotation = 180,
                  Parent = BackGroundAccent
             })
             local BackGroundText = UIUtilities:Create("TextLabel", {
                   AnchorPoint = Vector2.new(1, 0),
                   BackgroundTransparency = 1,
                   Position = UDim2.new(1, 0, 0, 0),
                   Parent = EventLogContainer,
                   Size = UDim2.new(1, -6, 1, 0),
                   ZIndex = 2,
                   Font = UIStyle.HeaderFont.Font,
                   LineHeight = 1.1,
                   Text = text,
                   TextColor3 = UIStyle.UIcolors.FullWhite,
                   TextSize = UIStyle.HeaderFont.WatermarkTxtSize,
                   TextTransparency = 1,
                   TextStrokeColor3 = Color3.new(),
                   TextStrokeTransparency = 1,
                   TextXAlignment = Enum.TextXAlignment.Left,
                   TextYAlignment = Enum.TextYAlignment.Center
             })
             coroutine.wrap(function()
                   UIUtilities:Tween(
                         EventLogContainer,
                         TweenInfo.new(FadeTime, TweenStyling,
TweenDir),
                        {BackgroundTransparency = 0}
                  )
                  UIUtilities:Tween(
                        BackGroundAccent,
                        TweenInfo.new(FadeTime, TweenStyling,
TweenDir),
                        {BackgroundTransparency = 0}
                  )
                  UIUtilities:Tween(
                        BackGroundText,
                        TweenInfo.new(FadeTime, TweenStyling,
TweenDir),
                        {TextTransparency = 0}
                  )
                  EventLogContainer:TweenPosition(
                        UDim2.new(0, 0, 0, 0),
                        TweenDir,
                        TweenStyling,
                        MoveTime
                  )
                  realWait(MoveTime)
                  realWait(Time)
                  MoveTime = 1
                  FadeTime = 0.75
                  TweenDir = Enum.EasingDirection.In
                  UIUtilities:Tween(
                        EventLogContainer,
                        TweenInfo.new(FadeTime, TweenStyling,
TweenDir),
                        {BackgroundTransparency = 1}
                  )
                  UIUtilities:Tween(
                        BackGroundAccent,
                                    TweenInfo.new(FadeTime, TweenStyling,
TweenDir),
                                    {BackgroundTransparency = 1}
                              )
                              UIUtilities:Tween(
                                    BackGroundText,
                                    TweenInfo.new(FadeTime, TweenStyling,
TweenDir),
                                     {TextTransparency = 1}
                               )
                               EventLogContainer:TweenPosition(
                                     UDim2.new(0, -msgsize.X + 48, 0, 0),
                                     TweenDir,
                                     TweenStyling,
                                     MoveTime
                               )
                               realWait(FadeTime)
                               FakeBackGround:Destroy()
                         end)()
                   --end)
             end
             UILibrary.KeyBindContainer = UIUtilities:Create("Frame", {
                   AnchorPoint = Vector2.new(0, 0),
                   BackgroundTransparency = 1,
                   Parent = Core,
                   Visible = false,
                   Position = UDim2.new(0, 8, 0.45, 0),
                   Size = UDim2.new(0, 256, 0, 532)
             })
             local KeyBindContainerOrganizer = UIUtilities:Create("UIListLayout", {
                   Parent = UILibrary.KeyBindContainer,
                   Padding = UDim.new(0, -18),
                   FillDirection = Enum.FillDirection.Vertical,
                   HorizontalAlignment = Enum.HorizontalAlignment.Left,
                   SortOrder = Enum.SortOrder.LayoutOrder,
                   VerticalAlignment = Enum.VerticalAlignment.Top
             })
             UILibrary.UseListSize = false
             function UILibrary:AddKeyBindList(KeyBindName)
                   local KeyBindTitleFakeBackGround = UIUtilities:Create("Frame", {
                         AnchorPoint = Vector2.new(0, 0),
                         Visible = true,
                       BackgroundColor3 = UIStyle.UIcolors.FullWhite,
                       BackgroundTransparency = 1,
                       BorderColor3 = UIStyle.UIcolors.FullWhite,
                       BorderMode = Enum.BorderMode.Outline,
                       BorderSizePixel = 0,
                       Name = KeyBindName,
                       Parent = UILibrary.KeyBindContainer,
                       Position = UDim2.new(0, 0, 0, 0),
                       Size = UDim2.new(1, 0, 0, 14),
                       ZIndex = 6
                 })
                 local KeyBindTitleEventLogContainer = UIUtilities:Create("Frame",
{
                       AnchorPoint = Vector2.new(0, 0),
                       BackgroundColor3 = UIStyle.UIcolors.FullWhite,
                       BackgroundTransparency = 0,
                       BorderColor3 = UIStyle.UIcolors.FullWhite,
                       BorderMode = Enum.BorderMode.Outline,
                       BorderSizePixel = 0,
                       Name = KeyBindName,
                       Parent = KeyBindTitleFakeBackGround,
                       Position = UDim2.new(0, 0, 0, 3),
                       Size = UDim2.new(1, 0, 0, 18),
                       ZIndex = 7
                  })
                  local KeyBindTitleBackGroundStyling
                  if KeyBindName == "Keybinds" then -- too lazy srry
                        local PercentageCover =
10/KeyBindTitleFakeBackGround.AbsoluteSize.Y
                        KeyBindTitleBackGroundStyling =
UIUtilities:Create("UIGradient", {
                              Color = ColorSequence.new({
                                    ColorSequenceKeypoint.new(0,
UIStyle.UIcolors.ColorD),
                                    ColorSequenceKeypoint.new(PercentageCover -
PercentageCover/8, UIStyle.UIcolors.ColorA),
                                    ColorSequenceKeypoint.new(1,
UIStyle.UIcolors.ColorA)
                              }),
                              Rotation = 90,
                              Parent = KeyBindTitleEventLogContainer
                        })
                  else
                        KeyBindTitleBackGroundStyling =
UIUtilities:Create("UIGradient", {
                              Color = ColorSequence.new({
                                    ColorSequenceKeypoint.new(0,
UIStyle.UIcolors.ColorA),
                                    ColorSequenceKeypoint.new(1,
UIStyle.UIcolors.ColorA)
                              }),
                              Rotation = 0,
                              Parent = KeyBindTitleEventLogContainer
                        })
                  end
                  local v1 = UIUtilities:Create("Frame", {
                        AnchorPoint = Vector2.new(0.5, 0.5),
                        BackgroundColor3 = UIStyle.UIcolors.ColorC,
                        BorderSizePixel = 0,
                       Name = "v1",
                       Parent = KeyBindTitleEventLogContainer,
                       Position = UDim2.new(0.5, 0, 0.5, -1),
                       Size = UDim2.new(1, 2, 1, 3),
                       ZIndex = 5
                 })
                 local v2 = UIUtilities:Create("Frame", {
                       AnchorPoint = Vector2.new(0.5, 0.5),
                       BackgroundColor3 = UIStyle.UIcolors.ColorB,
                       BorderSizePixel = 0,
                       Name = "v2",
                       Parent = v1,
                       Position = UDim2.new(0.5, 0, 0.5, 0),
                       Size = UDim2.new(1, 2, 1, 2),
                       ZIndex = v1.ZIndex - 1
                 })
                 local KeyBindTitleBackGroundAccent = UIUtilities:Create("Frame",
{
                       AnchorPoint = Vector2.new(0.5, 0),
                       BackgroundColor3 = UIStyle.UIcolors.FullWhite,
                       BorderSizePixel = 0,
                       BorderColor3 = UIStyle.UIcolors.ColorG,
                       BackgroundTransparency = 0,
                       Name = KeyBindName,
                       Parent = KeyBindTitleFakeBackGround,
                       Position = UDim2.new(0.5, 0, 0, 1),
                       Size = UDim2.new(1, 0, 0, 2),
                       ZIndex = 6
                  })
                  local KeyBindTitleBackGroundAccentBorder =
UIUtilities:Create("Frame", {
                        AnchorPoint = Vector2.new(0.5, 0.5),
                        BackgroundColor3 = UIStyle.UIcolors.ColorG,
                        BorderSizePixel = 0,
                        BorderColor3 = UIStyle.UIcolors.ColorG,
                        BackgroundTransparency = 0,
                        Name = "nut",
                        Parent = KeyBindTitleBackGroundAccent,
                        Position = UDim2.new(0.5, 0, 0.5, 0),
                        Size = UDim2.new(1, 1, 1, 1),
                        ZIndex = 4
                  })
                  local KeyBindTitleHue, KeyBindTitleSat, KeyBindTitleVal =
RGBtoHSV(UIStyle.UIcolors.Accent)
                  local KeyBindTitleBackGroundAccentStyling =
UIUtilities:Create("UIGradient", {
                        Color = ColorSequence.new({
                              ColorSequenceKeypoint.new(0,
Color3.fromHSV(KeyBindTitleHue, KeyBindTitleSat, KeyBindTitleVal - 0.1)),
                              ColorSequenceKeypoint.new(1,
Color3.new(UIStyle.UIcolors.Accent.R, UIStyle.UIcolors.Accent.G,
UIStyle.UIcolors.Accent.B))
                        }),
                        Rotation = 90,
                        Parent = KeyBindTitleBackGroundAccent
                  })
                  table.insert(UIAccents, KeyBindTitleBackGroundAccentStyling)
                  local KeyBindTitleBackGroundText =
UIUtilities:Create("TextLabel", {
                       AnchorPoint = Vector2.new(1, 0.5),
                       BackgroundTransparency = 1,
                       Position = UDim2.new(1, 0, 0.5, 0),
                       Parent = KeyBindTitleEventLogContainer,
                       Name = "TEXTEFFECT",
                       Size = UDim2.new(1, -4, 1, 0),
                       Position = UDim2.new(1, 4, 0, 9),
                       ZIndex = 7,
                       Font = UIStyle.HeaderFont.Font,
                       LineHeight = 1,
                       Text = KeyBindName,
                       TextColor3 = UIStyle.UIcolors.FullWhite,
                       TextSize = UIStyle.HeaderFont.WatermarkTxtSize,
                       TextTransparency = 0,
                       TextStrokeColor3 = Color3.new(),
                       TextStrokeTransparency = 1,
                       TextXAlignment = Enum.TextXAlignment.Left,
                       TextYAlignment = Enum.TextYAlignment.Center
                  })
                  KeyBindList[KeyBindName] = KeyBindTitleBackGroundText
                  KeyBindTitleFakeBackGround.Size = UDim2.new(0,
TextService:GetTextSize(KeyBindName, UIStyle.HeaderFont.WatermarkTxtSize,
UIStyle.HeaderFont.Font, Vector2.new(10000, 0)).X + 8, 0, 36)
                  local function UpdateSize()
                        if UILibrary.UseListSize then
                              for i, v in next, (KeyBindList) do
                                    v.Parent.Parent.Size = UDim2.new(0,
TextService:GetTextSize(v.Text, UIStyle.HeaderFont.WatermarkTxtSize,
UIStyle.HeaderFont.Font, Vector2.new(10000, 0)).X + 8, 0, 36)
                              end
                        else
                              local biggest = 0
                              for i, v in next, (KeyBindList) do
                                    local size = TextService:GetTextSize(v.Text,
UIStyle.HeaderFont.WatermarkTxtSize, UIStyle.HeaderFont.Font, Vector2.new(10000,
0)).X + 8
                                    if v.Visible and size > biggest then
                                          biggest = size
                                    end
                              end
                              KeyBindTitleBackGroundText.Size = UDim2.new(0,
biggest, 0, 36)
                              for i, v in next, (KeyBindList) do
                                    v.Parent.Parent.Size = UDim2.new(0, biggest, 0,
36)
                              end
                        end
                  end
KeyBindTitleBackGroundText:GetPropertyChangedSignal("Text"):Connect(function()
                        KeyBindTitleFakeBackGround.Size = UDim2.new(0,
TextService:GetTextSize(KeyBindTitleBackGroundText.Text,
UIStyle.HeaderFont.WatermarkTxtSize, UIStyle.HeaderFont.Font, Vector2.new(10000,
0)).X + 8, 0, 36)
                        UpdateSize()
                  end)
KeyBindTitleFakeBackGround:GetPropertyChangedSignal("Size"):Connect(function()
                        KeyBindTitleBackGroundText.Size =
KeyBindTitleFakeBackGround.Size
                  end)
KeyBindTitleBackGroundText:GetPropertyChangedSignal("Visible"):Connect(function()
                        KeyBindTitleFakeBackGround.Visible =
KeyBindTitleBackGroundText.Visible
                        UpdateSize()
                  end)
                  KeyBindTitleBackGroundText.Visible = false
            end
            UILibrary:AddKeyBindList("Keybinds")
            KeyBindList["Keybinds"].Visible = true
            local MainContainer = UIUtilities:Create("Frame", {
                  AnchorPoint = Vector2.new(0.5, 0.5),
                  BackgroundColor3 = UIStyle.UIcolors.FullWhite,
                  BorderSizePixel = 0,
                  Name = "UI",
                  Parent = Core,
                  Position = UDim2.new(0.5, 0, 0.5, -18),
                  Size = UDim2.new(0, 498, 0, 632),
                  ZIndex = 6,
                  Active = true,
                  Selectable = true,
            })
            local MainContainerBackGroundGradient =
UIUtilities:Create("UIGradient",{
                  Color = ColorSequence.new({
                        ColorSequenceKeypoint.new(0, UIStyle.UIcolors.ColorD),
                        ColorSequenceKeypoint.new(0.06, UIStyle.UIcolors.ColorA),
                        ColorSequenceKeypoint.new(1, UIStyle.UIcolors.ColorA)
                  }),
                  Rotation = 90,
                  Parent = MainContainer
            })
           UILibrary.CheatNameText = UIUtilities:Create("TextLabel", {
                 BackgroundTransparency = 1,
                 BorderSizePixel = 0,
                 Position = UDim2.new(0, 0, 1, 4),
                 Size = UDim2.new(1, 0, 0, 14),
                 ZIndex = 8,
                 Font = UIStyle.TextFont.Font,
                 Text = UIStyle.CheatName,
                 Parent = MainContainerAccent,
                 TextColor3 = UIStyle.UIcolors.FullWhite,
                 LineHeight = 1.2,
                 TextSize = UIStyle.TextFont.CheatTextSize,
                 TextStrokeColor3 = Color3.new(),
                 TextStrokeTransparency = 0.5,
                 TextXAlignment = Enum.TextXAlignment.Left,
                 TextYAlignment = Enum.TextYAlignment.Center
           })
           table.insert(OpenCloseItems, UILibrary.CheatNameText)
            function UILibrary.Setwatermarkcheatname(text)
                  local message = text .. " | " .. Parameters.UserType .. " |       "
.. tostring(months[month]) .. " " .. tostring(day) .. " " .. tostring(year)
                  local fullsize = TextService:GetTextSize(message,
UIStyle.HeaderFont.WatermarkTxtSize, UIStyle.HeaderFont.Font, Vector2.new(16000,
0))
                  UILibrary.Watermark.Size = UDim2.new(0, fullsize.X + 24, 0,
fullsize.Y + 8)
                  WatermarkText.Text = message
            end
            local MainTabsContainerBackGroundGradient =
UIUtilities:Create("UIGradient",{
                  Color = ColorSequence.new({
                        ColorSequenceKeypoint.new(0, UIStyle.UIcolors.ColorD),
                        ColorSequenceKeypoint.new(0.06, UIStyle.UIcolors.ColorA),
                        ColorSequenceKeypoint.new(1, UIStyle.UIcolors.ColorA)
                  }),
                  Rotation = 90,
                  Parent = MainTabsContainer
})
           function UILibrary:CreateButton(Parameters)
                  Menu[Parameters.Tab][Parameters.Section][Parameters.Name] = {}
                  Menu[Parameters.Tab][Parameters.Section][Parameters.Name]
["Toggle"] = {}
                  Menu[Parameters.Tab][Parameters.Section][Parameters.Name]
["Toggle"].Changed = Signal.new()
                  Menu[Parameters.Tab][Parameters.Section][Parameters.Name].Save =
function()
                        return Menu[Parameters.Tab][Parameters.Section]
[Parameters.Name]["Color 2"] and {
                              ["Toggle"] = {
                                    ["Enabled"] = Menu[Parameters.Tab]
[Parameters.Section][Parameters.Name]["Toggle"]["Enabled"]
                              },
                              ["Color 1"] = Menu[Parameters.Tab]
[Parameters.Section][Parameters.Name]["Color 1"].Save(),
                              ["Color 2"] = Menu[Parameters.Tab]
[Parameters.Section][Parameters.Name]["Color 2"].Save(),
                        } or Menu[Parameters.Tab][Parameters.Section]
[Parameters.Name]["Color 1"] and {
                              ["Toggle"] = {
                                    ["Enabled"] = Menu[Parameters.Tab]
[Parameters.Section][Parameters.Name]["Toggle"]["Enabled"]
                              },
                              ["Color 1"] = Menu[Parameters.Tab]
[Parameters.Section][Parameters.Name]["Color 1"].Save(),
                        } or Menu[Parameters.Tab][Parameters.Section]
[Parameters.Name]["Bind"] and {
                              ["Toggle"] = {
                                    ["Enabled"] = Menu[Parameters.Tab]
[Parameters.Section][Parameters.Name]["Toggle"]["Enabled"]
                              },
                              ["Bind"] = {
                                    ["Activation Type"] = Menu[Parameters.Tab]
[Parameters.Section][Parameters.Name]["Bind"]["Activation Type"],
                                    ["Key"] = tostring(Menu[Parameters.Tab]
[Parameters.Section][Parameters.Name]["Bind"]["Key"]),
                              }
                        } or {
                              ["Toggle"] = {
                                    ["Enabled"] = Menu[Parameters.Tab]
[Parameters.Section][Parameters.Name]["Toggle"]["Enabled"]
                              }
                        }
                  end
                  local Proxy = Menu[Parameters.Tab][Parameters.Section]
[Parameters.Name]["Toggle"]
                  local Hitbox = UIUtilities:Create("TextButton", {
                        BackgroundTransparency = 1,
                        Name = Parameters.Name,
                        Parent = SubSections[Parameters.Tab][Parameters.Section],
                        Size = UDim2.new(1, 0, 0, 8),
                        Visible = true,
                        ZIndex = 19,
                        Text = ""
                  })
                  if Parameters.Tooltip then
                        Hitbox.MouseEnter:Connect(function()
                              UILibrary.CallToolTip(Parameters.Tooltip,
Hitbox.AbsolutePosition, Hitbox.AbsolutePosition + Vector2.new(8, 16),
Hitbox.AbsoluteSize)
                        end)
                  end
                  Bool.Changed:Connect(function()
                        Menu[Parameters.Tab][Parameters.Section][Parameters.Name]
["Toggle"]["Enabled"] = Bool.Value
                        Menu[Parameters.Tab][Parameters.Section][Parameters.Name]
["Toggle"].Changed:Fire(Menu[Parameters.Tab][Parameters.Section][Parameters.Name]
["Toggle"]["Enabled"])
                        if Menu[Parameters.Tab][Parameters.Section]
[Parameters.Name]["Toggle"]["Enabled"] == true then
                              ClickMask.BackgroundColor3 = UIStyle.UIcolors.Accent
                        else
                              ClickMask.BackgroundColor3 = UIStyle.UIcolors.ColorD
                        end
                        if Parameters.KeyBind then
                              KeyBindList[Parameters.Section .. ": " ..
Parameters.Name].Visible = Menu[Parameters.Tab][Parameters.Section]
[Parameters.Name]["Toggle"]["Enabled"]
                              if Parameters.Callback then
                                    Parameters.Callback(Menu[Parameters.Tab]
[Parameters.Section][Parameters.Name]["Toggle"]["Enabled"], Menu[Parameters.Tab]
[Parameters.Section][Parameters.Name]["Bind"]["Active"])
                              end
                              Menu[Parameters.Tab][Parameters.Section]
[Parameters.Name]["Toggle"].Changed:Fire(v, Menu[Parameters.Tab]
[Parameters.Section][Parameters.Name]["Bind"]["Active"])
                        else
                              if Parameters.Callback then
                                    Parameters.Callback(Menu[Parameters.Tab]
[Parameters.Section][Parameters.Name]["Toggle"]["Enabled"])
                              end
                              Menu[Parameters.Tab][Parameters.Section]
[Parameters.Name]["Toggle"].Changed:Fire(Menu[Parameters.Tab][Parameters.Section]
[Parameters.Name]["Toggle"]["Enabled"])
                        end
                  end)
                 Menu[Parameters.Tab][Parameters.Section][Parameters.Name]
["Toggle"] = setmetatable({}, {
                        __index = function(self, i)
                              return Proxy[i]
                        end,
                        __newindex = function(self, i, v) -- so that you can do
Menu[Parameters.Tab][Parameters.Section][Parameters.Name]["Value"] = true or false
                              if i == "Enabled" then-- if ur tryna set the value of
the toggle
                                    Bool.Value = v
                              end
                              Proxy[i] = v
                        end
                  })
            end
            function UILibrary:CreateSlider(Parameters) -- Parameters.MaximumNumber
                  Parameters.DefaultValue = Parameters.DefaultValue and
math.max(math.min(Parameters.DefaultValue, Parameters.MaximumNumber),
Parameters.MinimumNumber) or nil
                  Menu[Parameters.Tab][Parameters.Section][Parameters.Name] = {}
                  Menu[Parameters.Tab][Parameters.Section][Parameters.Name].Changed
= Signal.new()
                  Menu[Parameters.Tab][Parameters.Section][Parameters.Name].Save =
function()
                        return {["Value"] = Menu[Parameters.Tab]
[Parameters.Section][Parameters.Name]["Value"]}
                  end
                  local Proxy = Menu[Parameters.Tab][Parameters.Section]
[Parameters.Name]
                  if not Parameters.Suffix then
                        Parameters.Suffix = ""
                  end
                  local Slider = UIUtilities:Create("Frame", {
                        Name = Parameters.Name,
                        Parent = SubSections[Parameters.Tab][Parameters.Section],
                        BackgroundColor3 = Color3.fromRGB(255, 255, 255),
                        BackgroundTransparency = 1,
                        ZIndex = 22,
                        Position = UDim2.new(0, 0, 0, 0),
                        Size = UDim2.new(1, 0, 0, 20)
                  })
                  local TextLabel = UIUtilities:Create("TextButton", {
                        Parent = Slider,
                        BackgroundColor3 = Color3.fromRGB(255, 255, 255),
                        BackgroundTransparency = 1,
                        Position = UDim2.new(0, 8, 0, -4),
                        Size = UDim2.new(1, 0, 0, 15),
                        Font = UIStyle.TextFont.Font,
                        ZIndex = 22,
                        Text = Parameters.Name,
                        TextColor3 = UIStyle.UIcolors.FullWhite,
                        TextStrokeColor3 = Color3.new(),
                        LineHeight = 1.2,
                        TextStrokeTransparency = 0.5,
                        TextSize = UIStyle.TextFont.TxtSize,
                        TextXAlignment = Enum.TextXAlignment.Left
                  })
                  local AddText = UIUtilities:Create("TextButton", {
                        Parent = Slider,
                        BackgroundColor3 = Color3.fromRGB(255, 255, 255),
              BackgroundTransparency = 1,
              Position = UDim2.new(1, -32, 0, -4),
              Size = UDim2.new(0, 8, 0, 15),
              Font = UIStyle.TextFont.Font,
              ZIndex = 22,
              Visible = false,
              Text = "+",
              TextColor3 = UIStyle.UIcolors.FullWhite,
              TextStrokeColor3 = Color3.new(),
              TextStrokeTransparency = 0.5,
              TextSize = UIStyle.TextFont.TxtSize,
              TextXAlignment = Enum.TextXAlignment.Center
         })
         local SubtractText = UIUtilities:Create("TextButton", {
               Parent = Slider,
               BackgroundColor3 = Color3.fromRGB(255, 255, 255),
               BackgroundTransparency = 1,
               Position = UDim2.new(1, -22, 0, -4),
               Size = UDim2.new(0, 8, 0, 15),
               Font = UIStyle.TextFont.Font,
               ZIndex = 22,
               Visible = false,
               Text = "-",
               TextColor3 = UIStyle.UIcolors.FullWhite,
               TextStrokeColor3 = Color3.new(),
               TextStrokeTransparency = 0.5,
               TextSize = UIStyle.TextFont.TxtSize,
               TextXAlignment = Enum.TextXAlignment.Center
         })
         table.insert(OpenCloseItems, TextLabel)
         local Button = UIUtilities:Create("TextButton", {
               AnchorPoint = Vector2.new(0.5, 0),
               Name = "Button",
               Parent = Slider,
               BackgroundTransparency = 1,
               BackgroundColor3 = UIStyle.UIcolors.ColorD,
               BorderSizePixel = 0,
               Position = UDim2.new(0.5, 0, 0, 12),
               Size = UDim2.new(1, -18, 0, 8),
               AutoButtonColor = false,
               ZIndex = 21,
               Text = ""
         })
         local ButtonStyle = UIUtilities:Create("Frame", {
               AnchorPoint = Vector2.new(0.5, 0.5),
               Name = "Button",
               Parent = Button,
               BackgroundTransparency = 0,
               BackgroundColor3 = UIStyle.UIcolors.ColorD,
               BorderSizePixel = 0,
               Position = UDim2.new(0.5, 0, 0.5, 0),
               Size = UDim2.new(1, 0, 1, 0),
               ZIndex = 22
         })
         local ButtonStyleStyling = UIUtilities:Create("UIGradient", {
               Color = ColorSequence.new({
                     ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 255,
255)),
                    ColorSequenceKeypoint.new(1, Color3.fromRGB(180, 180,
180))
                       }),
                       Rotation = 90,
                       Parent = ButtonStyle
                  })
                  table.insert(OpenCloseItems, ButtonStyle)
                  AutoApplyBorder(ButtonStyle, Parameters.Name, 22,
UIStyle.UIcolors.ColorG, UIStyle.UIcolors.ColorH, true)
                  local Frame = UIUtilities:Create("Frame", {
                        Parent = Button,
                        BackgroundColor3 = UIStyle.UIcolors.Accent,
                        BorderSizePixel = 0,
                        ZIndex = 22,
                        Size = UDim2.new(0, (Parameters.DefaultValue and
(Parameters.DefaultValue - Parameters.MinimumNumber) or 0) /
(Parameters.MaximumNumber - Parameters.MinimumNumber) * Button.AbsoluteSize.X, 1,
0)
                  })
            function UILibrary:CreateDropdown(Parameters)
                  Menu[Parameters.Tab][Parameters.Section][Parameters.Name] = {}
                  Menu[Parameters.Tab][Parameters.Section][Parameters.Name]
["Dropdown"] = {}
                  Menu[Parameters.Tab][Parameters.Section][Parameters.Name]
["Dropdown"].Changed = Signal.new()
                  Menu[Parameters.Tab][Parameters.Section][Parameters.Name].Save =
function()
                        return {
                              ["Value"] = Menu[Parameters.Tab][Parameters.Section]
[Parameters.Name]["Value"]
                        }
                  end
                  local Contained = UIUtilities:Create("Frame", {
                        AnchorPoint = Vector2.new(0.5, 0),
                        Name = Parameters.Name,
                        Parent = SubSections[Parameters.Tab][Parameters.Section],
                        BackgroundColor3 = Color3.fromRGB(0, 0, 0),
                        BackgroundTransparency = 1,
                        BorderSizePixel = 0,
                        Position = UDim2.new(0.5, 0, 0, 0),
                        Size = UDim2.new(1, 0, 0, 32),
                        ZIndex = 22,
                  })
                  local ValueContainer = UIUtilities:Create("Frame", {
                        AnchorPoint = Vector2.new(0.5, 0),
                        Name = "ValueContainer",
                        Parent = Contained,
                        BackgroundTransparency = 1,
                        Position = UDim2.new(0.5, 0, 1, 4),
                        Size = UDim2.new(1, -18, 0, 16),
                        Visible = false,
                        ZIndex = 23,
                  })
                  local FakeSelection = UIUtilities:Create("TextButton", {
                        Active = true,
                        AnchorPoint = Vector2.new(0.5, 1),
                        Name = "FAKE",
                        Parent = Contained,
     BackgroundColor3 = Color3.fromRGB(44, 44, 44),
     BackgroundTransparency = 1,
     BorderColor3 = Color3.fromRGB(39, 39, 39),
     BorderSizePixel = 3,
     Position = UDim2.new(0.5, 0, 1, 0),
     Selectable = true,
     Size = UDim2.new(1, -18, 0, 20),
     ZIndex = 24,
     Font = UIStyle.TextFont.Font,
     ClipsDescendants = false,
     LineHeight = 1.1,
     Text = "",
     TextColor3 = UIStyle.UIcolors.FullWhite,
     TextSize = UIStyle.TextFont.TxtSize,
     TextStrokeColor3 = Color3.new(),
     TextStrokeTransparency = 0.5,
     TextXAlignment = Enum.TextXAlignment.Left,
})
local Selection = UIUtilities:Create("TextButton", {
      Active = true,
      AnchorPoint = Vector2.new(0.5, 1),
      Name = "Selection",
      Parent = Contained,
      BackgroundColor3 = Color3.fromRGB(44, 44, 44),
      BackgroundTransparency = 1,
      BorderColor3 = Color3.fromRGB(39, 39, 39),
      BorderSizePixel = 3,
      Position = UDim2.new(0.5, 0, 1, 0),
      Selectable = true,
      Size = UDim2.new(1, -18, 0, 20),
      ZIndex = 24,
      Font = UIStyle.TextFont.Font,
      ClipsDescendants = true,
      LineHeight = 1.1,
      Text = Parameters.Values[1],
      TextColor3 = UIStyle.UIcolors.FullWhite,
      TextSize = UIStyle.TextFont.TxtSize,
      TextStrokeColor3 = Color3.new(),
      TextStrokeTransparency = 0.5,
      TextXAlignment = Enum.TextXAlignment.Left,
})
local DropDownTypeText = UIUtilities:Create("TextButton", {
      AnchorPoint = Vector2.new(0.5, 1),
      Name = "TypeOf",
      Parent = Contained,
      BackgroundColor3 = Color3.fromRGB(44, 44, 44),
      BackgroundTransparency = 1,
      BorderColor3 = Color3.fromRGB(39, 39, 39),
      BorderSizePixel = 3,
      Position = UDim2.new(0.5, 0, 1, 0),
      Size = UDim2.new(1, -32, 0, 18),
      ZIndex = 23,
      Font = UIStyle.TextFont.Font,
      LineHeight = 1.1,
      Text = "-",
      TextColor3 = UIStyle.UIcolors.FullWhite,
      TextSize = UIStyle.TextFont.TxtSize,
      TextStrokeColor3 = Color3.new(),
      TextStrokeTransparency = 0.5,
                       TextXAlignment = Enum.TextXAlignment.Right,
                 })
                 if Parameters.MultiChoice then
                       DropDownTypeText.Text = "..."
                 end
                 table.insert(OpenCloseItems, DropDownTypeText)
                 table.insert(OpenCloseItems, Selection)
                 local Padding = UIUtilities:Create("UIPadding", {
                       Parent = Selection,
                       PaddingLeft = UDim.new(0, 12)
                 })
                 local Padding2 = UIUtilities:Create("UIPadding", {
                       Parent = FakeSelection,
                       PaddingLeft = UDim.new(0, 12)
                 })
                 local SelectionStyling = UIUtilities:Create("Frame", {
                       BackgroundColor3 = UIStyle.UIcolors.FullWhite,
                       Parent = FakeSelection,
                       BorderSizePixel = 0,
                       Position = UDim2.new(0, -12, 0, 0),
                       Size = UDim2.new(1, 12, 1, 0),
                       ZIndex = 23,
                 })
                 table.insert(OpenCloseItems, SelectionStyling)
                 local SelectionStylingGradient = UIUtilities:Create("UIGradient",
{
                        Color = ColorSequence.new({
                              ColorSequenceKeypoint.new(0,
UIStyle.UIcolors.ColorD),
                              ColorSequenceKeypoint.new(0.84,
UIStyle.UIcolors.ColorA),
                              ColorSequenceKeypoint.new(1, UIStyle.UIcolors.ColorA)
                        }),
                        Rotation = 90,
                        Parent = SelectionStyling
                  })
                  AutoApplyBorder(SelectionStyling, "SelectionStyling", 22,
UIStyle.UIcolors.ColorG, UIStyle.UIcolors.ColorH, true)
                  local NameTag = UIUtilities:Create("TextLabel", {
                        Name = "NAMETAG",
                        Parent = Contained,
                        BackgroundTransparency = 1,
                        Position = UDim2.new(0, 8, 0, 0),
                        Size = UDim2.new(1, -12, 1, -24),
                        Font = UIStyle.TextFont.Font,
                        Text = Parameters.Name,
                        TextColor3 = UIStyle.UIcolors.FullWhite,
                        TextSize = UIStyle.TextFont.TxtSize,
                        TextStrokeColor3 = Color3.new(),
                        TextStrokeTransparency = 0.5,
                        TextXAlignment = Enum.TextXAlignment.Left,
                        ZIndex = 22
                  })
                  table.insert(OpenCloseItems, NameTag)
                  local Organizer = UIUtilities:Create("UIListLayout", {
                        Padding = UDim.new(0, 0),
                        Parent = ValueContainer,
                        HorizontalAlignment = Enum.HorizontalAlignment.Center,
                        SortOrder = Enum.SortOrder.LayoutOrder,
                  })
                  for iC, vC in next, (Parameters.Values) do
                        local Button = UIUtilities:Create("TextButton", {
                              AnchorPoint = Vector2.new(0.5, 0),
                              Name = "Button",
                              Parent = ValueContainer,
                              AutoButtonColor = false,
                              BackgroundColor3 = UIStyle.UIcolors.ColorI,
                              BorderColor3 = UIStyle.UIcolors.ColorB,
                              BorderSizePixel = 0,
                              BackgroundTransparency = 0,
                              Position = UDim2.new(0.5, 0, 0, 0),
                              Size = UDim2.new(1, 0, 0, 18),
                              ZIndex = 32,
                              Font = UIStyle.TextFont.Font,
                              TextStrokeColor3 = Color3.new(),
                              TextStrokeTransparency = 0,
                              Text = vC,
                              TextColor3 = UIStyle.UIcolors.FullWhite,
                              TextSize = UIStyle.TextFont.TxtSize
                        })
                        local valsthing = UIUtilities:Create("BoolValue", {
                              Parent = Button,
                              Value = false,
                              Name = "Selection"
                        })
                        if iC == 1 and Parameters.MultiChoice then
                              Button.TextColor3 = UIStyle.UIcolors.Accent
                              valsthing.Value = true
                        end
                        local ButtonStyling = UIUtilities:Create("Frame", {
                              AnchorPoint = Vector2.new(0.5, 0.5),
                              Parent = Button,
                              BackgroundColor3 = UIStyle.UIcolors.ColorA,
                              BorderSizePixel = 1,
                              BorderColor3 = UIStyle.UIcolors.ColorB,
                              Position = UDim2.new(0.5, 0, 0.5, 0),
                              Size = UDim2.new(1, 0, 1, 0),
                              ZIndex = 31
                        })
                        AutoApplyBorder(ButtonStyling, vC, 31,
UIStyle.UIcolors.ColorG, UIStyle.UIcolors.ColorH)
                  end
                  local closeconnection
                  local inDropDown = false
                  local mouseent, mouseext
                  local function trigger()
                        if isColorThingOpen then
                              return
                        end
                        if isDropDownOpen and isDropDownOpen ~= ValueContainer then
                              return
                        end
                        ValueContainer.Size = UDim2.new(1, -18, 0,
#Parameters.Values * 18)
                        ValueContainer.Visible = not ValueContainer.Visible
                        isDropDownOpen = ValueContainer.Visible and ValueContainer
or nil
                        if ValueContainer.Visible then
                              if not Parameters.MultiChoice then
                                    for _, Button in next,
(ValueContainer:GetChildren()) do
                                          if Button:IsA("TextButton") then
                                                if Button.Text == Selection.Text
then
                                                      Button.TextColor3 =
UIStyle.UIcolors.Accent
                                                else
                                                      Button.TextColor3 =
UIStyle.UIcolors.FullWhite
                                                end
                                          end
                                    end
                              else
                                    for _, Button in next,
(ValueContainer:GetChildren()) do
                                          if Button:IsA("TextButton") then
                                                if Button.Selection.Value then
                                                      Button.TextColor3 =
UIStyle.UIcolors.Accent
                                                else
                                                      Button.TextColor3 =
UIStyle.UIcolors.FullWhite
                                                end
                                          end
                                    end
                              end
                              task.wait()
                              mouseent =
ValueContainer.MouseEnter:Connect(function()
                                    inDropDown = true
                              end)
                              mouseext =
ValueContainer.MouseLeave:Connect(function()
                                    inDropDown = false
                              end)
                              closeconnection =
UserInputService.InputBegan:Connect(function(input)
                                    if input.UserInputType ==
Enum.UserInputType.MouseButton1 or input.UserInputType ==
Enum.UserInputType.MouseButton2 then
                                          if not inDropDown then
                                                ValueContainer.Visible = false
                                                closeconnection:Disconnect()
                                                mouseent:Disconnect()
                                                mouseext:Disconnect()
                                          end
                                    end
                              end)
                        else
                              if closeconnection then
                                    closeconnection:Disconnect()
                              end
                              if mouseent then
                                    mouseent:Disconnect()
                              end
                              if mouseext then
                                     mouseext:Disconnect()
                              end
                        end
                  end
                  Selection.MouseButton1Down:Connect(trigger)
                  if Parameters.Tooltip then
                        Selection.MouseEnter:Connect(function()
                              UILibrary.CallToolTip(Parameters.Tooltip,
Selection.AbsolutePosition, Selection.AbsolutePosition + Vector2.new(0, 24),
Selection.AbsoluteSize)
                        end)
                  end
                  local function update()
                        local chosentext = {}
                        Selection.Text = ""
                        for e = 1, #chosentext do
                              if e == #chosentext then
                                    Selection.Text = Selection.Text ..
chosentext[e]
                              else
                                     Selection.Text = Selection.Text ..
chosentext[e] .. ", "
                              end
                        end
                  end
                  local function initialize()
                        if Parameters.MultiChoice then
                              Menu[Parameters.Tab][Parameters.Section]
[Parameters.Name]["Value"] = {Parameters.Values[1]}
      button.MouseButton1Down:Connect(function()
                                               button.Selection.Value = not
button.Selection.Value
                                               if
button:FindFirstChild("Selection") and button.Selection.Value == true then
                                                     button.TextColor3 =
UIStyle.UIcolors.Accent
                                               else
                                                     button.TextColor3 =
UIStyle.UIcolors.FullWhite
                                               end
                                               update()
                                                local chosentext = {}
                                               for cf, c in next,
(ValueContainer:GetChildren()) do
                                                     if c:IsA("TextButton") then
                                                           if
c:FindFirstChild("Selection") and c.Selection.Value == true then
     table.insert(chosentext, c.Text)
                                                           end
                                                     end
                                               end
                                               Menu[Parameters.Tab]
[Parameters.Section][Parameters.Name]["Value"] = chosentext
                                         end)
                                   end
                              end
                       else
                              Menu[Parameters.Tab][Parameters.Section]
[Parameters.Name]["Value"] = Parameters.Values[1]
                              for _, ButtonA in next,
(ValueContainer:GetChildren()) do
                                    if ButtonA:IsA("TextButton") then
      ButtonA.MouseButton1Down:Connect(function()
                                                Selection.Text = ButtonA.Text
                                                trigger()
                                                Menu[Parameters.Tab]
[Parameters.Section][Parameters.Name]["Value"] = Selection.Text
                                          end)
                                    end
                              end
                        end
                  end
                  initialize()
                  Selection:GetPropertyChangedSignal("Text"):Connect(function()
                        if Parameters.Callback then
                              Parameters.Callback(Menu[Parameters.Tab]
[Parameters.Section][Parameters.Name]["Value"])
                        end
                        Menu[Parameters.Tab][Parameters.Section][Parameters.Name]
["Dropdown"].Changed:Fire(Menu[Parameters.Tab][Parameters.Section][Parameters.Name]
["Value"])
                  end)
                  Menu[Parameters.Tab][Parameters.Section]
[Parameters.Name].UpdateValues = function(NewValues)
                        if Parameters.MultiChoice then
                              Menu[Parameters.Tab][Parameters.Section]
[Parameters.Name]["Value"] = {}
                        else
                              Menu[Parameters.Tab][Parameters.Section]
[Parameters.Name]["Value"] = ""
                        end
                        for i, v in next, (ValueContainer:GetChildren()) do
                              if v ~= Organizer then
                                    v:Destroy()
                              end
                        end
                        for iC, vC in next, (NewValues) do
                              local Button = UIUtilities:Create("TextButton", {
                                    AnchorPoint = Vector2.new(0.5, 0),
                                    Name = "Button",
                                    Parent = ValueContainer,
                                    AutoButtonColor = false,
                                    BackgroundColor3 = UIStyle.UIcolors.ColorI,
                                    BorderColor3 = UIStyle.UIcolors.ColorB,
                                    BorderSizePixel = 0,
                                    BackgroundTransparency = 0,
                                    Position = UDim2.new(0.5, 0, 0, 0),
                                    Size = UDim2.new(1, 0, 0, 18),
                                    ZIndex = 32,
                                    Font = UIStyle.TextFont.Font,
                                    TextStrokeColor3 = Color3.new(),
                                    TextStrokeTransparency = 0,
                                    Text = vC,
                                    TextColor3 = UIStyle.UIcolors.FullWhite,
                                    TextSize = UIStyle.TextFont.TxtSize
                              })
                              if iC == 1 and Parameters.MultiChoice then
                                    Button.TextColor3 = UIStyle.UIcolors.Accent
                              end
                              local ButtonStyling = UIUtilities:Create("Frame", {
                                    AnchorPoint = Vector2.new(0.5, 0.5),
                                    Parent = Button,
                                    BackgroundColor3 = UIStyle.UIcolors.ColorA,
                                    BorderSizePixel = 1,
                                    BorderColor3 = UIStyle.UIcolors.ColorB,
                                    Position = UDim2.new(0.5, 0, 0.5, 0),
                                    Size = UDim2.new(1, 0, 1, 0),
                                    ZIndex = 31
                              })
                              AutoApplyBorder(ButtonStyling, vC, 31,
UIStyle.UIcolors.ColorG, UIStyle.UIcolors.ColorH)
                        end
                        Parameters.Values = NewValues
                        Selection.Text = NewValues[1]
                        initialize()
                  end
                  local Proxy = Menu[Parameters.Tab][Parameters.Section]
[Parameters.Name]
                  Menu[Parameters.Tab][Parameters.Section][Parameters.Name] =
setmetatable({}, {
                        __index = function(self, i)
                              return Proxy[i]
                        end,
                        __newindex = function(self, i, v)
                              Proxy[i] = v
                              if i == "Value" then
                                    if Parameters.MultiChoice then
                                          for _, button in next,
(ValueContainer:GetChildren()) do
                                                if button:IsA("TextButton") then
                                                      button.Selection.Value =
false
                                                end
                                          end
                                          for _, button in next,
(ValueContainer:GetChildren()) do
                                               if button:IsA("TextButton") then
                                                     for ball, sack in next, v do
                                                           if button.Text == sack
then
       button.Selection.Value = true
                                                           end
                                                     end
                                                     update()
                                               end
                                         end
                                         if Parameters.Callback then
      Parameters.Callback(Menu[Parameters.Tab][Parameters.Section][Parameters.Name]
["Value"])
                                         end
                                         Menu[Parameters.Tab][Parameters.Section]
[Parameters.Name]["Dropdown"].Changed:Fire(Menu[Parameters.Tab][Parameters.Section]
[Parameters.Name]["Value"])
                                    else
                                         Selection.Text = v
                                         if Parameters.Callback then
      Parameters.Callback(Menu[Parameters.Tab][Parameters.Section][Parameters.Name]
["Value"])
                                         end
                                         Menu[Parameters.Tab][Parameters.Section]
[Parameters.Name]["Dropdown"].Changed:Fire(Menu[Parameters.Tab][Parameters.Section]
[Parameters.Name]["Value"])
                                    end
                              end
                        end
                  })
            end
            function UILibrary:CreateTap(Parameters)
                  Menu[Parameters.Tab][Parameters.Section][Parameters.Name] = {}
                  Menu[Parameters.Tab][Parameters.Section][Parameters.Name]
["Button"] = {}
                  Menu[Parameters.Tab][Parameters.Section][Parameters.Name]
["Button"].Pressed = Signal.new()
                  local Hitbox = UIUtilities:Create("TextButton", {
                        BackgroundTransparency = 1,
                        Name = Parameters.Name,
                        Parent = SubSections[Parameters.Tab][Parameters.Section],
                        Size = UDim2.new(1, 0, 0, 20),
                        ZIndex = 24,
                        Font = UIStyle.TextFont.Font,
                        TextStrokeColor3 = Color3.new(),
                        TextStrokeTransparency = 0.5,
                        Text = Parameters.Name,
                        TextSize = UIStyle.TextFont.TxtSize,
                        TextColor3 = UIStyle.UIcolors.FullWhite
                  })
                  table.insert(OpenCloseItems, Hitbox)
                  local HitboxStyling = UIUtilities:Create("Frame", {
                        AnchorPoint = Vector2.new(0.5, 0),
                        BackgroundColor3 = UIStyle.UIcolors.FullWhite,
                        BorderSizePixel = 0,
                       Name = "Styling",
                       Parent = Hitbox,
                       Position = UDim2.new(0.5, 0, 0, 0),
                       Size = UDim2.new(1, -18, 1, 0),
                       ZIndex = 23
                  })
                  AutoApplyBorder(HitboxStyling, Parameters.Name, 21,
UIStyle.UIcolors.ColorG, UIStyle.UIcolors.ColorH, true)
                  table.insert(OpenCloseItems, HitboxStyling)
                  local HitboxStylingGradient = UIUtilities:Create("UIGradient", {
                        Color = ColorSequence.new({
                              ColorSequenceKeypoint.new(0,
UIStyle.UIcolors.ColorD),
                              ColorSequenceKeypoint.new(0.84,
UIStyle.UIcolors.ColorA),
                              ColorSequenceKeypoint.new(1, UIStyle.UIcolors.ColorA)
                        }),
                        Rotation = 90,
                        Parent = HitboxStyling
                  })
                  local releaseconnection
                  if Parameters.Tooltip then
                        Hitbox.MouseEnter:Connect(function()
                              UILibrary.CallToolTip(Parameters.Tooltip,
Hitbox.AbsolutePosition, Hitbox.AbsolutePosition + Vector2.new(0, 24),
Hitbox.AbsoluteSize)
                        end)
                  end
                  Hitbox.MouseButton1Down:Connect(function()
                        HitboxStylingGradient.Color = ColorSequence.new({
                              ColorSequenceKeypoint.new(0,
UIStyle.UIcolors.ColorA),
                              ColorSequenceKeypoint.new(0.84,
UIStyle.UIcolors.ColorA),
                              ColorSequenceKeypoint.new(1, UIStyle.UIcolors.ColorA)
                        })
                        releaseconnection =
UserInputService.InputEnded:Connect(function(Input)
                              if Input.UserInputType ==
Enum.UserInputType.MouseButton1 then
                                    realWait()
                                    HitboxStylingGradient.Color =
ColorSequence.new({
                                          ColorSequenceKeypoint.new(0,
UIStyle.UIcolors.ColorD),
                                          ColorSequenceKeypoint.new(0.84,
UIStyle.UIcolors.ColorA),
                                          ColorSequenceKeypoint.new(1,
UIStyle.UIcolors.ColorA)
                                    })
                                    releaseconnection:Disconnect()
                              end
                        end)
                  end)
                  local LastActivation
                  local connection
                  Hitbox.MouseButton1Down:Connect(function()
                        if Parameters.Confirmation then
                              if Hitbox.Text ~= "Confirm?" then
                                    Hitbox.Text = "Confirm?"
                                    Hitbox.TextColor3 = UIStyle.UIcolors.Accent
                                    LastActivation = tick()
                                    connection =
RunService.Heartbeat:Connect(function()
                                          if tick() - LastActivation > 2 then
                                                Hitbox.Text = Parameters.Name
                                                Hitbox.TextColor3 =
UIStyle.UIcolors.FullWhite
                                                LastActivation = tick()
                                                connection:Disconnect()
                                          end
                                    end)
                              else
                                    if Parameters.Callback then
                                          Parameters.Callback()
                                    end
                                    Menu[Parameters.Tab][Parameters.Section]
[Parameters.Name]["Button"].Pressed:Fire()
                                    Hitbox.Text = Parameters.Name
                                    Hitbox.TextColor3 = UIStyle.UIcolors.FullWhite
                                    connection:Disconnect()
                                    LastActivation = tick()
                              end
                        else
                              if Parameters.Callback then
                                    Parameters.Callback()
                              end
                              Menu[Parameters.Tab][Parameters.Section]
[Parameters.Name]["Button"].Pressed:Fire()
                        end
                  end)
            end
            function UILibrary:CreateTextBox(Parameters)
                  Menu[Parameters.Tab][Parameters.Section][Parameters.Name] = {}
                  local Proxy = Menu[Parameters.Tab][Parameters.Section]
[Parameters.Name]
                  Menu[Parameters.Tab][Parameters.Section][Parameters.Name]
["Value"] = Parameters.Default
                  Menu[Parameters.Tab][Parameters.Section][Parameters.Name].Changed
= Signal.new()
                  Menu[Parameters.Tab][Parameters.Section][Parameters.Name].Save =
function()
                        return {["Value"] = Menu[Parameters.Tab]
[Parameters.Section][Parameters.Name]["Value"]}
                  end
                  local Hitbox = UIUtilities:Create("TextButton", {
                        BackgroundTransparency = 1,
                        Name = Parameters.Name,
                        Parent = SubSections[Parameters.Tab][Parameters.Section],
                        Size = UDim2.new(1, 0, 0, 20),
                        ZIndex = 24,
                        TextTruncate = Enum.TextTruncate.AtEnd,
                        Text = ""
                  })
                  table.insert(OpenCloseItems, Hitbox)
                  local HitboxStyling = UIUtilities:Create("Frame", {
                        AnchorPoint = Vector2.new(0.5, 0.5),
                       BackgroundColor3 = UIStyle.UIcolors.FullWhite,
                       BorderSizePixel = 0,
                       Name = "Styling",
                       Parent = Hitbox,
                       Size = UDim2.new(1, -18, 1, 0),
                       Position = UDim2.new(0.5, 0, 0.5, 0),
                       ZIndex = 24
                  })
                  AutoApplyBorder(HitboxStyling, Parameters.Name, 21,
UIStyle.UIcolors.ColorG, UIStyle.UIcolors.ColorH, true)
                  table.insert(OpenCloseItems, HitboxStyling)
                  local EntryBox = UIUtilities:Create("TextBox", {
                        ClearTextOnFocus = false,
                        AnchorPoint = Vector2.new(0.5, 0.5),
                        BackgroundTransparency = 1,
                        Parent = Hitbox,
                        Name = Parameters.Name,
                        Position = UDim2.new(0.5, 14, 0.5, 0),
                        Size = UDim2.new(1, -14, 1, 0),
                        ZIndex = 24,
                        Font = UIStyle.TextFont.Font,
                        TextXAlignment = Enum.TextXAlignment.Left,
                        TextColor3 = UIStyle.UIcolors.FullWhite,
                        LineHeight = 1.1,
                        TextStrokeColor3 = Color3.new(),
                        TextStrokeTransparency = 0.5,
                        PlaceholderText = "...",
                        Text = Parameters.Default,
                        TextSize = UIStyle.TextFont.TxtSize
                  })
                  table.insert(OpenCloseItems, EntryBox)
                  local HitboxStylingGradient = UIUtilities:Create("UIGradient", {
                        Color = ColorSequence.new({
                              ColorSequenceKeypoint.new(0,
UIStyle.UIcolors.ColorD),
                              ColorSequenceKeypoint.new(0.84,
UIStyle.UIcolors.ColorA),
                              ColorSequenceKeypoint.new(1, UIStyle.UIcolors.ColorA)
                        }),
                        Rotation = 90,
                        Parent = HitboxStyling
                  })
                  EntryBox.Focused:Connect(function()
                        EntryBox.TextColor3 = UIStyle.UIcolors.Accent
                  end)
                  EntryBox.FocusLost:Connect(function()
                        EntryBox.TextColor3 = UIStyle.UIcolors.FullWhite
                  end)
                  EntryBox:GetPropertyChangedSignal("Text"):Connect(function()
                        Menu[Parameters.Tab][Parameters.Section][Parameters.Name]
["Value"] = EntryBox.Text
                        Menu[Parameters.Tab][Parameters.Section]
[Parameters.Name].Changed:Fire()
                  end)
                  Menu[Parameters.Tab][Parameters.Section][Parameters.Name] =
setmetatable({}, {
                        __index = function(self, i)
                              return Proxy[i]
                        end,
                       __newindex = function(self, i, v)
                             if i == "Value" then
                                   EntryBox.Text = v
                             end
                             Proxy[i] = v
                       end
                 })
           end
            function UILibrary:CreateScrollingList(Parameters)
                  Menu[Parameters.Tab][Parameters.Section][Parameters.Name] = {}
                  local Proxy = Menu[Parameters.Tab][Parameters.Section]
[Parameters.Name]
                  local TotalMenu = {}
                  local OffsetThing = 0
                  local Bounds = UIUtilities:Create("Frame", {
                        BackgroundTransparency = 1,
                        Parent = SubSections[Parameters.Tab][Parameters.Section],
                        Name = Parameters.Name,
                        ZIndex = 26,
                        Size = UDim2.new(1, 0, 0, Parameters.Size),
                  })
                  if Parameters.Name ~= "" then
                        local NameTag = UIUtilities:Create("TextLabel", {
                              AnchorPoint = Vector2.new(0.5, 0),
                              BackgroundTransparency = 1,
                              Parent = Bounds,
                              Size = UDim2.new(1, -24, 0, 18),
                              Position = UDim2.new(0.5, 0, 0, -4),
                              ZIndex = 26,
                              Font = UIStyle.TextFont.Font,
                              TextStrokeColor3 = Color3.new(),
                              TextStrokeTransparency = 0.5,
                              Text = Parameters.Name,
                              TextSize = UIStyle.TextFont.TxtSize,
                              TextXAlignment = Enum.TextXAlignment.Left,
                              TextColor3 = UIStyle.UIcolors.FullWhite
                        })
                        OffsetThing = 18
                        table.insert(OpenCloseItems, NameTag)
                  end
                  local OtherBounds = UIUtilities:Create("Frame", {
                        AnchorPoint = Vector2.new(0.5, 0),
                        BackgroundTransparency = 1,
                        Parent = Bounds,
                        Name = "Scrollerbound",
                        ZIndex = 26,
                        Size = UDim2.new(1, -16, 1, -1 * (OffsetThing - 2)),
                        Position = UDim2.new(0.5, 0, 0, OffsetThing - 2)
                  })
                  AutoApplyAccent(OtherBounds, " e", 26)
                  AutoApplyBorder(OtherBounds, " scroll", 26,
UIStyle.UIcolors.ColorG, UIStyle.UIcolors.ColorH, true)
                  local ScrollableFrame = UIUtilities:Create("ScrollingFrame", {
                        AnchorPoint = Vector2.new(0.5, 0),
                        BackgroundColor3 = UIStyle.UIcolors.ColorA,
                        BorderSizePixel = 0,
                        Parent = OtherBounds,
                        ZIndex = 26,
     ScrollBarThickness = 0,
     CanvasSize = UDim2.new(1, 0, 0, #Parameters.Values * 18),
     Size = UDim2.new(1, 0, 1, -2),
     Position = UDim2.new(0.5, 0, 0, 2)
})
local Organizer = UIUtilities:Create("UIListLayout", {
      Padding = UDim.new(0, 0),
      Parent = ScrollableFrame,
      HorizontalAlignment = Enum.HorizontalAlignment.Center,
      SortOrder = Enum.SortOrder.LayoutOrder,
})
table.insert(OpenCloseItems, ScrollableFrame)
local Selection = UIUtilities:Create("StringValue", {
      Value = "",
      Name = "ScrollingListResult",
      Parent = Bounds
})
for k, v in next, (Parameters.Values) do
      local Hitbox = UIUtilities:Create("TextButton", {
            AnchorPoint = Vector2.new(0.5, 0),
            BackgroundTransparency = 1,
            Name = v,
            Parent = ScrollableFrame,
            Size = UDim2.new(1, -16, 0, 18),
            Position = UDim2.new(0.5, 0, 0, 0),
            ZIndex = 26,
            Font = UIStyle.TextFont.Font,
            TextXAlignment = Enum.TextXAlignment.Left,
            TextColor3 = UIStyle.UIcolors.FullWhite,
            LineHeight = 1.1,
            TextStrokeColor3 = Color3.new(),
            TextStrokeTransparency = 0.5,
            Text = v,
            TextSize = UIStyle.TextFont.TxtSize,
            TextTruncate = Enum.TextTruncate.AtEnd,
      })
      if k == 1 then
            Hitbox.TextColor3 = UIStyle.UIcolors.Accent
      end
      table.insert(UIAccents, Hitbox)
      table.insert(OpenCloseItems, Hitbox)
      table.insert(TotalMenu, Hitbox)
      Hitbox.MouseButton1Down:Connect(function()
            Selection.Value = Hitbox.Text
            for i, v in next, (TotalMenu) do
                  if v.Text == Hitbox.Text then
                        v.TextColor3 = UIStyle.UIcolors.Accent
                  else
                        v.TextColor3 = UIStyle.UIcolors.FullWhite
                  end
            end
      end)
end
Selection.Changed:Connect(function()
      for i, v in next, (TotalMenu) do
            if Selection.Value == v.Text then
                  v.TextColor3 = UIStyle.UIcolors.Accent
            else
                  v.TextColor3 = UIStyle.UIcolors.FullWhite
                              end
                        end
                        Menu[Parameters.Tab][Parameters.Section][Parameters.Name]
["Value"] = Selection.Value
                  end)
                  Menu[Parameters.Tab][Parameters.Section][Parameters.Name] =
setmetatable({}, {
                        __index = function(self, i)
                              return Proxy[i]
                        end,
                        __newindex = function(self, i, v)
                              if i == "Value" then
                                    Selection.Value = v
                              end
                              Proxy[i] = v
                        end
                  })
            end
            -- i went with the alan route, alr had this function from before the ui
was even in use so im using this instead of utilizing the __newindex shit im doing
            function UILibrary:OldSaveConfiguration()
                  local Configuration = {}
                  for i, v in next, (Core:GetDescendants()) do
                        if v:IsA("TextButton") then
                              if v:FindFirstChildOfClass("BoolValue") then
                                    local SubConfiguration = {}
                                    table.insert(SubConfiguration, "NewButton")
                                    table.insert(SubConfiguration, v.Parent.Name)
                                    for i2, v2 in next, (v:GetChildren()) do
                                          if v2:IsA("BoolValue") then
                                                table.insert(SubConfiguration,
v2.Name)
                                                table.insert(SubConfiguration,
v2.Value)
                                          end
                                          if v2.Name == "Bind" then
                                                table.insert(SubConfiguration,
"Bind")
                                                table.insert(SubConfiguration,
v2.Text)
                                                table.insert(SubConfiguration,
v2.BindType.Value)
                                                table.insert(SubConfiguration,
v2.RealKey.Value)
                                          end
                                          if v2.Name == "ColorP1" then
                                                table.insert(SubConfiguration,
v2.Name)
                                                table.insert(SubConfiguration,
v2.BackgroundColor3.R)
                                                table.insert(SubConfiguration,
v2.BackgroundColor3.G)
                                                table.insert(SubConfiguration,
v2.BackgroundColor3.B)
                                                table.insert(SubConfiguration,
v2.BackgroundTransparency)
                                          end
                                          if v2.Name == "ColorP2" then
                                               table.insert(SubConfiguration,
v2.Name)
                                               table.insert(SubConfiguration,
v2.BackgroundColor3.R)
                                               table.insert(SubConfiguration,
v2.BackgroundColor3.G)
                                               table.insert(SubConfiguration,
v2.BackgroundColor3.B)
                                               table.insert(SubConfiguration,
v2.BackgroundTransparency)
                                         end
                                   end
                                   table.insert(Configuration, SubConfiguration)
                              end
                              if v:FindFirstChildOfClass("TextBox") and v.Parent ~=
SubSections["Settings"]["Configurations"] then -- ignore the configs section
                                    local SubConfiguration = {}
                                    table.insert(SubConfiguration, "NewTextEntry")
                                    table.insert(SubConfiguration, v.Parent.Name)
                                    table.insert(SubConfiguration, v.Name)
                                    for i2, v2 in next, (v:GetChildren()) do
                                          if v2:IsA("TextBox") then
                                                table.insert(SubConfiguration,
v2.Text)
                                          end
                                    end
                                    table.insert(Configuration, SubConfiguration)
                              end
                        elseif v:IsA("Frame") and v.Parent ~=
SubSections["Settings"]["Configurations"] then -- ignore the configs section
                              if v:FindFirstChildOfClass("NumberValue") then
                                    local SubConfiguration = {}
                                    table.insert(SubConfiguration, "NewSlider")
                                    table.insert(SubConfiguration, v.Parent.Name)
                                    for i2, v2 in next, (v:GetChildren()) do
                                          if v2:IsA("NumberValue") then
                                                table.insert(SubConfiguration,
v2.Name)
                                                table.insert(SubConfiguration,
v2.Value)
                                          end
                                    end
                                    table.insert(Configuration, SubConfiguration)
                              elseif v:FindFirstChild("Selection") then
                                    local SubConfiguration = {}
                                    table.insert(SubConfiguration, "NewDropDown")
                                    table.insert(SubConfiguration, v.Parent.Name)
                                    for i2, v2 in next, (v:GetChildren()) do
                                          if v2.Name == "NAMETAG" then
                                                table.insert(SubConfiguration,
v2.Text)
                                          end
                                          if v2.Name == "Selection" then
                                                table.insert(SubConfiguration,
v2.Text)
                                          end
                                    end
                                    table.insert(Configuration, SubConfiguration)
                              elseif v:FindFirstChildOfClass("StringValue") then
                                     local SubConfiguration = {}
                                     table.insert(SubConfiguration,
"NewScrollingList")
                                     table.insert(SubConfiguration, v.Name)
                                     table.insert(SubConfiguration, v.Parent.Name)
                                     table.insert(SubConfiguration,
v.ScrollingListResult.Value)
                                     table.insert(Configuration, SubConfiguration)
                               end
                       end
                 end
                 Configuration = HttpService:JSONEncode(Configuration)
                 return Configuration
           end
            function UILibrary:OldLoadConfiguration(Tbl)
                  local MainTable = HttpService:JSONDecode(Tbl)
                  local UIIndex = Core:GetDescendants()
                  for i, v in next, (UIIndex) do
                        if v:IsA("TextButton") then
                              if v:FindFirstChildOfClass("BoolValue") then
                                    for index, SubConfiguration in next,
(MainTable) do
                                          if SubConfiguration[1] == "NewButton"
then
                                                if v.Parent.Name ==
SubConfiguration[2] then
                                                      if v.Name ==
SubConfiguration[3] then
                                                            for ObjectIndex, Object
in next, (v:GetChildren()) do
                                                                  if
Object:IsA("BoolValue") then
                                                                        Object.Value
= SubConfiguration[4]
                                                                  end
                                                                  if Object.Name ==
"Bind" then
                                                                        Object.Text
= SubConfiguration[6]
Object:FindFirstChild("BindType").Value = SubConfiguration[7]
      Object:FindFirstChild("RealKey").Value = SubConfiguration[8]
                                                                 end
                                                                 if Object.Name ==
"ColorP1" then
      Object.BackgroundColor3 = Color3.new(SubConfiguration[6],
SubConfiguration[7], SubConfiguration[8])
     Object.BackgroundTransparency = SubConfiguration[9]
                                                                   end
                                                                   if Object.Name ==
"ColorP2" then
      Object.BackgroundColor3 = Color3.new(SubConfiguration[11],
SubConfiguration[12], SubConfiguration[13])
       Object.BackgroundTransparency = SubConfiguration[14]
                                                                    end
                                                              end
                                                       end
                                                 end
                                           end
                                     end
                                end
                                if v:FindFirstChildOfClass("TextBox") then
                                      for index, SubConfiguration in next,
(MainTable) do
                                           if SubConfiguration[1] == "NewTextEntry"
then
                                                 if v.Parent.Name ==
SubConfiguration[2] then
                                                       if v.Name ==
SubConfiguration[3] then
                                                              for ObjectIndex, Object
in next, (v:GetChildren()) do
                                                                    if
Object:IsA("TextBox") then
                                                                          Object.Text
= SubConfiguration[4]
                                                                    end
                                                              end
                                                       end
                                                 end
                                           end
                                     end
                              end
                        elseif v:IsA("Frame") then
                              if v:FindFirstChildOfClass("NumberValue") then
                                    for index, SubConfiguration in next,
(MainTable) do
                                           if SubConfiguration[1] == "NewSlider"
then
                                                 if v.Parent.Name ==
SubConfiguration[2] then
                                                       if v.Name ==
SubConfiguration[3] then
                                                              for ObjectIndex, Object
in next, (v:GetChildren()) do
                                                                    if
Object:IsA("NumberValue") then
                                                                          Object.Value
= SubConfiguration[4]
                                                                    end
                                                              end
                                                       end
                                                 end
                                            end
                                      end
                                elseif v:FindFirstChild("Selection") then
                                      for index, SubConfiguration in next,
(MainTable) do
                                           if SubConfiguration[1] == "NewDropDown"
then
                                                 if v.Parent.Name ==
SubConfiguration[2] then
                                                        if v.Name ==
SubConfiguration[4] then
                                                              for ObjectIndex, Object
in next, (v:GetChildren()) do
                                                                    if Object.Name ==
"Selection" then
                                                                          Object.Text
= SubConfiguration[3]
                                                                    end
                                                              end
                                                        end
                                                  end
                                            end
                                      end
                                elseif v:FindFirstChildOfClass("StringValue") then
                                      for index, SubConfiguration in next,
(MainTable) do
                                            if SubConfiguration[1] ==
"NewScrollingList" then
                                                  if v.Name == SubConfiguration[2]
then
                                                        if v.Parent.Name ==
SubConfiguration[3] then
                                                              for ObjectIndex, Object
in next, (v:GetChildren()) do
                                                                    if Object.Name ==
"ScrollingListResult" then
                                                                          Object.Value
= SubConfiguration[4]
                                                                    end
                                                              end
                                                        end
                                                  end
                                            end
                                      end
                                end
                          end
                   end
           end
           function UILibrary:SaveConfiguration()
                 local Configuration = {}
                 return HttpService:JSONEncode(Configuration)
           end
           function UILibrary:LoadConfiguration(Tbl)
                 local MainTable = HttpService:JSONDecode(Tbl)
     Menu[tab][panel][element][k][k2]["Value"] = v2["Value"]
                                                                             elseif
k2 == "Animations" then
local animdata = v2
if animdata[anim][name]["Value"] then
                  Menu[tab][panel][element][k][k2][anim][name]["Value"] =
animdata[anim][name]["Value"]
                  Menu[tab][panel][element][k][k2][anim][name]["Color"] = {r =
animdata[anim][name]["Color"].r, g = animdata[anim][name]["Color"].g, b =
animdata[anim][name]["Color"].b}
if animdata[anim][name]["Transparency"] then
                        Menu[tab][panel][element][k][k2][anim][name]
["Transparency"] = animdata[anim][name]["Transparency"]
end
end
     end
     end
                                                                                    end
                                                                             else
                                                                                    --
minor error
     Menu[tab][panel][element][k][k2] = v2
                                                                             end
                                                                       end
                                                                else
                                                                       Menu[tab][panel]
[element][k] = v
                                                                end
                                                          end
                                                    end
                                              end
                                        end
                                  end
                            end
                      end
              end
              -- UI   Open/Close animation
              local   tweentime = 0
              local   OpenTweens = {}
              local   CloseTweens = {}
              local   OpenObjects = {}
              local   bullshit = {} -- yes i FUCKING had to do this bullshit
backgroundTransShit.Value = 0
local fadedconnections = {}
UILibrary.updateFade = UpdateTweens
              function OpenUI()
                    fading = true
                    easingdir = Enum.EasingDirection.Out
                    MainContainer.Visible = true
                    TweenService:Create(backgroundTransShit, TweenInfo.new(tweentime,
tweenstyle,   easingdir), {Value = 0}):Play()
                    TweenService:Create(textTransShit, TweenInfo.new(tweentime,
tweenstyle,   easingdir), {Value = 0}):Play()
                    for i, v in next, (bullshit) do
                          TweenService:Create(v, TweenInfo.new(tweentime, tweenstyle,
easingdir),   {BackgroundTransparency = v.actual.Value}):Play()
                    end
                    realWait(tweentime)
                    imageEnabledShit.Value = true
                    task.wait()
                    Menu.closed = false
                    fading = false
              end
              function CloseUI()
                    fading = true
                    easingdir = Enum.EasingDirection.In
                    imageEnabledShit.Value = false
                    TweenService:Create(backgroundTransShit, TweenInfo.new(tweentime,
tweenstyle,   easingdir), {Value = 1}):Play()
                    TweenService:Create(textTransShit, TweenInfo.new(tweentime,
tweenstyle, easingdir), {Value = 1}):Play()
                  for i, v in next, (bullshit) do
                        TweenService:Create(v, TweenInfo.new(tweentime, tweenstyle,
easingdir), {BackgroundTransparency = 1}):Play()
                  end
                  realWait(tweentime)
                  MainContainer.Visible = false
                  task.wait()
                  Menu.closed = true
                  fading = false
            end
            CloseUI()
            realWait(0.2)
            tweentime = 0.25
            RunService.Heartbeat:Connect(function()
                  if MainContainer.Visible == true then
                        UserInputService.MouseBehavior = Enum.MouseBehavior.Default
                  else
                        UserInputService.MouseBehavior =
Enum.MouseBehavior.LockCenter
                  end
            end)
CursorObject.Visible = MainContainer.Visible
function UILibrary:Initialize()
MainContainer:GetPropertyChangedSignal("Visible"):Connect(UpdateCursor)
Mouse.Move:Connect(UpdateCursor)
                 -- Dragging the UI
                 local gui = MainContainer
                 local   dragging
                 local   dragInput
                 local   dragStart
                 local   startPos
                               input.Changed:Connect(function()
                                     if input.UserInputState ==
Enum.UserInputState.End then
                                            dragging = false
                                      end
                               end)
                        end
                 end)
                  gui.InputChanged:Connect(function(input)
                        if input.UserInputType == Enum.UserInputType.MouseMovement
or input.UserInputType == Enum.UserInputType.Touch then
                              dragInput = input
                        end
                  end)
                  UserInputService.InputChanged:Connect(function(input)
                        if input == dragInput and dragging then
                              update(input)
                        end
                  end)
                  UpdateTweens()
                  -- retarded
                  task.wait()
                  OpenUI()
                  UserInputService.InputBegan:Connect(function(Input,
gameProcessedEvent)
                        if Input.UserInputType == Enum.UserInputType.Keyboard then
                              if Input.KeyCode == Enum.KeyCode.Insert or
Input.KeyCode == Enum.KeyCode.Delete or Input.KeyCode == Enum.KeyCode.Backquote
then
                                    if MainContainer.BackgroundTransparency == 0
and MainContainer.Visible == true then
                                          CloseUI()
                                    else
                                          if MainContainer.BackgroundTransparency
~= 0 and MainContainer.Visible ~= true then
                                                OpenUI()
                                          end
                                    end
                              end
                        end
                  end)
            end
      end
env.Hack = Library
local spring = loadstring(game:HttpGet("https://raw.githubusercontent.com/Quenty/
NevermoreEngine/5a429e871d54646ba54011c18321e77afa76d657/Modules/Shared/Physics/
Spring.lua"))()
local Themes = {
      default = {
            FullWhite = Color3.fromRGB(255, 255, 255),
            ColorA = Color3.fromRGB(36, 36, 36),
            ColorB = Color3.fromRGB(0, 0, 0),
            ColorC = Color3.fromRGB(20, 20, 20),
            ColorD = Color3.fromRGB(50, 50, 50),
            ColorE = Color3.fromRGB(30, 30, 30),
            ColorF = Color3.fromRGB(20, 20, 20),
            ColorG = Color3.fromRGB(10, 10, 10),
            ColorH = Color3.fromRGB(32, 32, 32),
            ColorI = Color3.fromRGB(40, 40, 40),
            Accent = Color3.fromRGB(127, 72, 163)
      },
      kfcsenze = { -- i was kinda bored lol
            FullWhite = Color3.fromRGB(220, 220, 220),
            ColorA = Color3.fromRGB(4, 1, 11),
            ColorB = Color3.fromRGB(28, 28, 28),
            ColorC = Color3.fromRGB(15, 15, 15),
            ColorD = Color3.fromRGB(32, 32, 32),
            ColorE = Color3.fromRGB(10, 10, 10),
            ColorF = Color3.fromRGB(20, 20, 20),
            ColorG = Color3.fromRGB(8, 2, 22),
            ColorH = Color3.fromRGB(16, 4, 44),
            ColorI = Color3.fromRGB(28, 28, 28),
            Accent = Color3.fromRGB(163, 254, 226)
      },
}
local MenuParameters = {
      Tabs = {
            "Legit",
            "Rage",
            "ESP",
            "Visuals",
            "Misc",
            "Settings"
      },
      CheatName = "Bloxsense",
      UserType = env.login and env.login.username or "Invaded",
      UIcolors = Themes.default,
      TextFont = {
            CheatTextSize = 18,
            TabTextSize = 18,
            TxtSize = 18,
            Font = Enum.Font.TitilliumWeb
      },
      HeaderFont = {
            WatermarkTxtSize = 14,
            Font = Enum.Font.RobotoMono
      },
}
UILibrary:Start(MenuParameters)
      -- Rage
      UILibrary:CreateSubSection("Rage", "Aimbot", {"Aimbot"}, false, 0.5, 0)
      UILibrary:CreateSubSection("Rage", "ExtraMisc", {"Sniper", "Auto", "Other"},
false, 0.5, -8)
      UILibrary:CreateSubSection("Rage", "HvH", {"Hack vs. Hack", "Anti Aim", "Fake
Lag"}, true, 1, 0)
      -- ESP
      UILibrary:CreateSubSection("ESP", "Enemy ESP", {"Enemy ESP", "Team ESP"},
false, 1, 0)
      UILibrary:CreateSubSection("ESP", "DroppedESP", {"ESP Settings"}, true, 0.6,
0)
      UILibrary:CreateSubSection("ESP", "DroppedESP", {"Dropped ESP"}, true, 0.4, -
8)
      -- Visuals
      UILibrary:CreateSubSection("Visuals",   "ESP", {"Local"}, false, 1, 0)
      UILibrary:CreateSubSection("Visuals",   "CamViewModel", {"Camera", "Viewmodel",
"Crosshair", "Particle"}, true, 0.44, 0)
      UILibrary:CreateSubSection("Visuals",   "RandomESP", {"World", "Bloom",
"Atmosphere"}, true, 0.27, -8)
      UILibrary:CreateSubSection("Visuals",   "RandomESP2", {"Misc", "Extra",
"Bullets", "Hits", "FOV"}, true, 0.29, -8)
      -- Misc
      UILibrary:CreateSubSection("Misc", "MovementTweaks", {"Movement", "Tweaks"},
false, 0.5)
      UILibrary:CreateSubSection("Misc", "WeaponModifiers", {"Weapon
Modifications"}, false, 0.5, -8)
      UILibrary:CreateSubSection("Misc", "ExtraMisc", {"Extra", "Exploits"}, true,
1, 0)
      -- Settings
      UILibrary:CreateSubSection("Settings",   "CheatSettings", {"Menu Settings"},
false, 0.32, 0)
      UILibrary:CreateSubSection("Settings",   "CheatSettings", {"Extra"}, false,
0.21, -8)
      UILibrary:CreateSubSection("Settings",   "Configurations", {"Configurations"},
false, 0.47, -8)
      UILibrary:CreateSubSection("Settings",   "Scripts", {"Scripts"}, true, 1, 0)
      end
      getnames()
      game.Players.PlayerRemoving:Connect(function()
            task.wait()
            local old = Menu["Misc"]["Exploits"]["Player in Focus"]["Value"]
            getnames()
            Menu["Misc"]["Exploits"]["Player in Focus"]["Value"] = old
      end)
      game.Players.PlayerAdded:Connect(function()
            task.wait()
            local old = Menu["Misc"]["Exploits"]["Player in Focus"]["Value"]
            getnames()
            Menu["Misc"]["Exploits"]["Player in Focus"]["Value"] = old
      end)
      UILibrary:CreateDropdown({Name = "Action", Tab = "Misc", Section =
"Exploits", Values = {"Hold", "Bring", "Silent Kill", "Desync"}})
      UILibrary:CreateTap({Name = "Apply action to focused player", Tab = "Misc",
Section = "Exploits", Confirmation = true})
      UILibrary:CreateTap({Name = "Apply action to all players", Tab = "Misc",
Section = "Exploits", Confirmation = true})
      UILibrary:CreateTap({Name = "Kick all players", Tab = "Misc", Section =
"Exploits", Confirmation = true})
      UILibrary:CreateTap({Name = "Crash Server", Tab = "Misc", Section =
"Exploits", Confirmation = true})
      UILibrary:CreateDropdown({Name = "Crash Server Option", Tab = "Misc", Section
= "Exploits", Values = {"Packet", "Object"}})
      UILibrary:CreateTap({Name = "God Mode", Tab = "Misc", Section = "Exploits",
Confirmation = true})
      UILibrary:CreateDropdown({Name = "God Mode Type", Tab = "Misc", Section =
"Exploits", Values = {"Hostage", "Fall"}})
      UILibrary:CreateTap({Name = "Instant Defuse", Tab = "Misc", Section =
"Exploits", Confirmation = true})
      UILibrary:CreateTap({Name = "Instant Plant", Tab = "Misc", Section =
"Exploits", Confirmation = true})
      UILibrary:CreateDropdown({Name = "Plant Position", Tab = "Misc", Section =
"Exploits", Values = {"Bombsite", "Void", "Glitch"}})
      --UILibrary:CreateButton({Name = "Block Vision", Tab = "Misc", Section =
"Exploits"})
      --UILibrary:CreateButton({Name = "Force Slow Walk", Tab = "Misc", Section =
"Exploits"})
      UILibrary:CreateTap({Name = "Map destroyer", Tab = "Misc", Section =
"Exploits", Confirmation = true})
      UILibrary:CreateButton({Name = "Fake Equip", Tab = "Misc", Section =
"Exploits"})
      UILibrary:CreateDropdown({Name = "Fake Slot", Tab = "Misc", Section =
"Exploits", Values = {"Primary", "Secondary", "Melee"}})]]
            end
            getnames()
            game.Players.PlayerRemoving:Connect(function()
                  task.wait()
                  local old = Menu["Misc"]["Exploits"]["Player in Focus"]["Value"]
                  getnames()
                  Menu["Misc"]["Exploits"]["Player in Focus"]["Value"] = old
            end)
            game.Players.PlayerAdded:Connect(function()
                  task.wait()
                  local old = Menu["Misc"]["Exploits"]["Player in Focus"]["Value"]
                  getnames()
                  Menu["Misc"]["Exploits"]["Player in Focus"]["Value"] = old
            end)
      UILibrary:CreateDropdown({Name = "Action", Tab = "Misc", Section =
"Exploits", Values = {"Kill", "Broken Kill", "Grab", "Hold"}})
      UILibrary:CreateTap({Name = "Apply action to focused player", Tab = "Misc",
Section = "Exploits", Confirmation = true})
      UILibrary:CreateTap({Name = "Apply action to all players", Tab = "Misc",
Section = "Exploits", Confirmation = true})
      UILibrary:CreateTap({Name = "Crash Server", Tab = "Misc", Section =
"Exploits", Confirmation = true})
      --UILibrary:CreateTap({Name = "Instant Defuse", Tab = "Misc", Section =
"Exploits", Confirmation = true})
      --UILibrary:CreateTap({Name = "Instant Plant", Tab = "Misc", Section =
"Exploits", Confirmation = true})
      --UILibrary:CreateDropdown({Name = "Plant Position", Tab = "Misc", Section =
"Exploits", Values = {"Bombsite", "Void", "Glitch"}})
      UILibrary:CreateButton({Name = "Fake Equip", Tab = "Misc", Section =
"Exploits"})
      UILibrary:CreateDropdown({Name = "Fake Slot", Tab = "Misc", Section =
"Exploits", Values = {"Primary", "Secondary", "Melee"}})
      UILibrary:CreateButton({Name = "Godmode", Tab = "Misc", Section =
"Exploits"})
      --UILibrary:CreateButton({Name = "Uncensored Chat", Tab = "Misc", Section =
"Exploits"})
      --UILibrary:CreateButton({Name = "Chat While Dead", Tab = "Misc", Section =
"Exploits"})]]
     -- hit in(vaded)(teger)
     if not isfolder("bloxsense") then
           makefolder("bloxsense")
     end
     if not isfolder("bloxsense/bloxsense_configs") then
           makefolder("bloxsense/bloxsense_configs")
     end
--ANCHOR Services (this formatting is dumb and im gonna fucking use it to define
constants and services)
local workspace               = workspace --GETGLOBAL IS A BITCH
local game                    = game
local math                    = math
local RaycastParams           = RaycastParams
local table                   = table
local getnamecallmethod = getnamecallmethod
local task                    = task
local string                  = string
local next                    = next
local debug             = debug
local Enum                    = Enum
local   soundService            = game.SoundService
local   lighting                = game.Lighting
local   players                 = game:GetService("Players")
local   runService        = game:GetService("RunService")
local   teleportService   = game:GetService("TeleportService")
local   userInputService = game:GetService("UserInputService")
local   httpService       = game:GetService("HttpService")
local   replicatedStorage = game:GetService("ReplicatedStorage")
local   userSettings            = UserSettings():GetService("UserGameSettings")
local   tweenService            = game:GetService("TweenService")
local   physicsService    = game:GetService("PhysicsService")
local   ProximityPromptService = game:GetService("ProximityPromptService")
local   networkClient           = game:GetService("NetworkClient")
        --[[do
              local localScripts = {}
              for i, v in next, localPlayer:FindFirstChild("PlayerGui"):GetChildren()
do
                     if v.ClassName == "LocalScript" then
                           localScripts[v] = getprops(v)
                     end
                end
                task.wait(1)
                for script, props in next, localScripts do
                      if props.Name ~= script.Name then
                            client = getsenv(script)
                            break
                      end
                end
        end]]
do
      local function apply(plr)
            plr.CharacterAdded:Connect(function(character)
                  repeat
                        task.wait()
                  until plr.Status.Alive.Value
                  playerSpawned:Fire(plr, tick())
                  local hum = character:WaitForChild("Humanoid")
                  local sig; sig = hum.HealthChanged:Connect(function(newHealth)
                        if newHealth == newHealth and newHealth <= 0 then
                              sig:Disconnect()
                              sig = nil
                              playerDied:Fire(plr, tick())
                        end
                  end)
            end)
      end
      players.PlayerAdded:Connect(apply)
end
--https://github.com/Quenty/NevermoreEngine/blob/2d2d3a22ecebe84ed1334eb997118418ce
4f00d5/src/raycaster/src/Shared/RaycastUtils.lua
      local empty = {}
      raycastUtils.raycastParam = RaycastParams.new()
      raycastUtils.exitParam = RaycastParams.new()
      raycastUtils.exitParam.FilterType = Enum.RaycastFilterType.Whitelist
           local resultFinal
           local initialIgnoreListLength = #ignoreList
           raycastUtils.raycastParam.FilterDescendantsInstances = ignoreList
           raycastUtils.raycastParam.IgnoreWater = ignoreWater and true or false
            while true do
                  local result = workspaceRaycast(workspace, origin, direction,
raycastUtils.raycastParam)
                  if ignoreFunc and result and ignoreFunc(result.Instance) then
                        table.insert(ignoreList, result.Instance)
                        raycastUtils.raycastParam.FilterDescendantsInstances =
ignoreList
                  else
                        resultFinal = result
                        break
                  end
            end
           raycastUtils.raycastParam.FilterDescendantsInstances = empty
           raycastUtils.raycastParam.IgnoreWater = false
           return resultFinal
     end
do --ANCHOR cameraTasks
      function cameraTasks:addTask(getSignal, callback)
            local data = {
                  getSignal = getSignal,
                  callback = callback
            }
            local index = #self.tasks + 1
            self.tasks[index] = data
            return data, index
      end
      function cameraTasks.onCameraAdded()
            for i = 1, #cameraTasks.tasks do
                  local task = cameraTasks.tasks[i]
                  if task then
                        task.connection = task.getSignal():Connect(task.callback)
                  end
            end
      end
      function cameraTasks.unload()
            for i = #cameraTasks.tasks, 1, -1 do --reverse because remove shiftes
the table
                  local task = table.remove(cameraTasks.tasks, i)
                  if task and task.connection then
                        task.connection:Disconnnect()
                  end
            end
            table.clear(cameraTasks.tasks) --make sure
            cameraTasks = {} --this is cringe
      end
end
do --ANCHOR mathModule
      --Misc
      function mathModule.truncateNumber(number, decimalPlaces)
            local d = 10^decimalPlaces
            return math.floor(number*d)/d
      end
      --Vector3s
      function mathModule.angleBetweenVector3(vec1, vec2)
            --abit slow but numerically more stable, and u dont have to unitize
them :smiley:
            local angle = math.atan2(vec1:Cross(vec2).magnitude, vec1:Dot(vec2))
            if angle < 0 then
                  angle = tau - angle
            end
            return angle
      end
      function mathModule.lookVecToPitchYaw(lookVec)
            local x, y, z = lookVec.x, lookVec.y, lookVec.z
            return math.atan2(y, (x*x + z*z)^0.5), math.atan2(-x, -z)
      end
      --Vector2s
      function mathModule.angleBetweenVector2(vec1, vec2)
            --trust me i hate arccos
            local ang =
math.acos(mathModule.safeUnit(vec1):Dot(mathModule.safeUnit(vec2)))
            if ang < 0 then
                  ang = tau - ang
            end
            return ang
      end
     function mathModule.normalizeAngle(angle)
           return ((angle + pi) % (2*pi)) - pi
     end
           refresh()
           cameraTasks:addTask(function()
                 return camera:GetPropertyChangedSignal("FieldOfView")
           end, refresh)
           cameraTasks:addTask(function()
                 return camera:GetPropertyChangedSignal("ViewportSize")
           end, refresh)
                 self.Active = false
                 self.StartTime = startTime
                 self.Time = startTime
                 self.Events = {}
                 self.timerEvent = runService.RenderStepped:Connect(function(dt)
                       if (self.Active) then
                             self.Time = self.Time + dt
                 return self
           end
     function timer:SetActive(bool)
           self.Active = bool
     end
     function timer:FireOntimereached(t, f)
           table.insert(self.Events, {t, f})
     end
     function timer:Destroy()
           self.timerEvent:Disconnect()
     end
end
do -- ok ok heres trajectory
      -- if u read this fuck u
      trajectory.__index = trajectory
           local A0 = Instance.new("Attachment")
      local A1 = Instance.new("Attachment")
      local Beam = basebeam:Clone()
      local Bounce = basepart:Clone()
      A0.CFrame   =   cfA
      A0.Parent   =   nadelinestorage
      A1.CFrame   =   cfB
      A1.Parent   =   nadelinestorage
      Beam.Color = ColorSequence.new(color)
      Beam.Attachment0 = A0
      Beam.Attachment1 = A1
      Beam.CurveSize0 = curve0
      Beam.CurveSize1 = -curve1
      Beam.Parent = nadelinestorage
      Beam.Enabled = visible
      Bounce.Color = bounce
      Bounce.Transparency = visible and 0 or 1
      Bounce.Position = A1.CFrame.p
      Bounce.Parent = nadelinestorage
function trajectory.new(Parameters)
      local self = setmetatable({}, trajectory)
      self.Gravity = Parameters.gravity
      self.TimeStep = Parameters.step
      self.MaxTime = Parameters.time
      self.MaxBounce = Parameters.bounces
      return self
end
function trajectory:Velocity(v0, t)
      -- g*t + v0
      return self.Gravity*t + v0
end
      if (a ~= 0) then
            local d = math.sqrt(b*b - 4*a*c)
            return (-b - d)/(2*a)
      else
            return -c / b
      end
end
           function trajectory:CalculateSingle(x0, v0, ignoreList)
                 local t = 0
                 local hit, pos, normal, material
                 repeat
                       local p0 = self:Position(x0, v0, t)
                       local p1 = self:Position(x0, v0, t + self.TimeStep)
                       t = t + self.TimeStep
           function trajectory:Cast(Parameters)
                 local bounces = 0
                 local t, x1, normal, pB
                 local pA = Parameters.physics
                 local path = {}
                              x0 = self:Position(x0, v0, t)
                              v0 = reflect(self:Velocity(v0, t), normal) *
elasticity + v0 * friction * dotprod
                              if normal.Y > normal.X and normal.Y > normal.Z then
-- the surface is prob a floor
                                    bounces = bounces + 1
                              end
                        else
                              bounces = self.MaxBounce + 1
                        end
                  end
                 return path
           end
           function trajectory:Travel(part, path)
                 local t = 0
                 local timer = timer.new(0)
                 for i = 1, #path do
                       local x0, v0, dt = unpack(path[i])
                       timer:FireOnTimeReached(t, function(currentTime)
                             part.Velocity = v0
                       end)
                       t = t + dt
                 end
                 timer:FireOnTimeReached(t, function(currentTime)
                       timer:Destroy()
                 end)
                 timer:SetActive(true)
           end
            function trajectory:Draw(Parameters)
                  local things = {}
                  local pathtodraw = Parameters.trail
                  for i = 1, #pathtodraw do
                        local x0, v0, t = unpack(pathtodraw[i])
                        local a, b, c, d = drawBeamProjectile(self.Gravity, v0, x0,
t, Parameters.visible, Parameters.color, Parameters.bounce)
                        things[1 + #things] = {a, b, c, d}
                  end
                  return things
            end
      end
end
     function playerInfo.add(player)
           local data = {}
           data.player = player
           data.lastVelocity = emptyVec3
           data.velocity = emptyVec3
           data.character = nil
           data.god = false
           data.currentPosition = emptyVec3
           data.lastPosition = emptyVec3
           data.lastcameracf = emptyCf
           data.camcf = emptyCf
           data.updates = {}
           player:GetPropertyChangedSignal("Team"):Connect(function()
                 refreshEnemyType(data)
           end)
            data.step = runService.Stepped:Connect(function(delta)
                  --debug.profilebegin(player.Name .. " pInfo update")
                  --so this is supposed to give an accurate result of what roblox
physics would calculate as they run in 60 fps, if this doesnt exist then the
velocity result we get would be much higher if we have fps unlocker, before u
scream "wouldnt that make our forward track beter", yes but scummy
                  --which is what this line below fix, it wont forward track too
far :)
                  --lol
            local char = player.Character
                  data.character = char
                  data.humanoid = char and char:FindFirstChild("Humanoid")
                  data.head = char and char:FindFirstChild("Head")
                  data.rootpart = char and char:FindFirstChild("HumanoidRootPart")
                  data.god = data.humanoid and data.humanoid.Health ~=
data.humanoid.Health
            data.alive = (char and data.humanoid and data.humanoid.Parent and
data.humanoid.Health > 0 and data.humanoid.Health == data.humanoid.Health and
data.rootpart)
                        table.insert(data.updates, 1, {position =
data.currentPosition, velocity = data.velocity, time = tick()})
                        local samples = 5
                local totalDelta = 0
                local totalDistance = emptyVec3
                for i = 2, math.min(samples, #data.updates) do
                    local now = data.updates[i]
                    local prev = data.updates[i - 1]
      function playerInfo.remove(player)
            if playerInfo.storage[player] then
                  playerInfo.storage[player].step:Disconnect()
                  table.clear(playerInfo.storage[player])
                  playerInfo.storage[player] = nil
            end
      end
      function playerInfo.unload()
            for player,data in next, playerInfo.storage do
                  playerInfo.remove(player)
            end
            table.clear(playerInfo)
            playerInfo = {}
      end
do --ANCHOR Visuals
      visuals.chamsFolder = Instance.new("Folder", game:GetService("CoreGui"))
      visuals.espObjects = {}
      visuals.allDrawingObjects = {}
      visuals.tracerObjects = {}
      visuals.lastragdollupdate = tick()
      visuals.lastcolorupdate = tick()
      visuals.droppedWeaponStorage = {}
      visuals.ragdollobjects = {}
      visuals.chammedbody = false
      visuals.imagecache = {}
      visuals.grenadetrajectories = {}
      visuals.particleemitter = nil -- particle thing
      visuals.chammedobjects = {
            ["Clothing"] = {},
            ["Arms"] = {},
            ["Weapon Objects"] = {},
            ["Colored Arms"] = {},
            ["Colored Weapons"] = {},
            ["Colored Body"] = {},
            ["Original"] = {},
            ["Original Body"] = {} -- dn
       }
       visuals.materials = {
             ["Ghost"] = materials.ForceField,
             ["Flat"] = materials.Neon,
             ["Custom"] = materials.SmoothPlastic,
             ["Reflective"] = materials.Glass, -- this one will have reflectance set
to 1
            ["Metallic"] = materials.Glass,
            ["Magic"] = materials.SmoothPlastic
       }
       visuals.forcefieldAnimations = forcefieldAnimations
       visuals.particleImages = particleImages
       visuals.skyboxes = {
             ["Cloudy Skies"] = {
                   SkyboxLf = "rbxassetid://151165191",
                   SkyboxBk = "rbxassetid://151165214",
                   SkyboxDn = "rbxassetid://151165197",
                   SkyboxFt = "rbxassetid://151165224",
                   SkyboxRt = "rbxassetid://151165206",
                   SkyboxUp = "rbxassetid://151165227",
             },
             ["Space"] = {
                   SkyboxLf = "rbxassetid://159454286",
                   SkyboxBk = "rbxassetid://159454299",
                   SkyboxDn = "rbxassetid://159454296",
                   SkyboxFt = "rbxassetid://159454293",
                   SkyboxRt = "rbxassetid://159454300",
                   SkyboxUp = "rbxassetid://159454288",
             },
             ["Nebula"] = {
                   SkyboxLf = "rbxassetid://149397684",
                   SkyboxBk = "rbxassetid://149397692",
                   SkyboxDn = "rbxassetid://149397686",
                   SkyboxFt = "rbxassetid://149397697",
                   SkyboxRt = "rbxassetid://149397688",
                   SkyboxUp = "rbxassetid://149397702",
             },
             ["Vivid Skies"] = {
                   SkyboxLf = "rbxassetid://271042310",
                   SkyboxBk = "rbxassetid://271042516",
                   SkyboxDn = "rbxassetid://271077243",
                   SkyboxFt = "rbxassetid://271042556",
                   SkyboxRt = "rbxassetid://271042467",
                   SkyboxUp = "rbxassetid://271077958",
             },
             ["Bob's Skybox"] = {
                   SkyboxLf = "rbxassetid://7264789109",
                   SkyboxBk = "rbxassetid://7264789737",
                   SkyboxDn = "rbxassetid://7264789487",
                   SkyboxFt = "rbxassetid://7264789309",
                   SkyboxRt = "rbxassetid://7264788930",
           SkyboxUp = "rbxassetid://7264788734",
     }
}
visuals.defaultlighting = { -- fuck it
      ["de_dust2"] = {
            Ambient = Color3.fromRGB(90, 74, 62),
            OutdoorAmbient = Color3.fromRGB(165, 156,   140),
            ClockTime = 13
      },
      ["de_seaside"] = {
            Ambient = Color3.fromRGB(211, 237, 255),
            OutdoorAmbient = Color3.fromRGB(180, 180,   180),
            ClockTime = 14
      },
      ["de_train"] = {
            Ambient = Color3.fromRGB(130, 118, 95),
            OutdoorAmbient = Color3.fromRGB(163, 161,   146),
            ClockTime = 9.5
      },
      ["de_mirage"] = {
            Ambient = Color3.fromRGB(214, 214, 214),
            OutdoorAmbient = Color3.fromRGB(165, 156,   140),
            ClockTime = 15
      },
      ["de_cache"] = {
            Ambient = Color3.fromRGB(214, 214, 214),
            OutdoorAmbient = Color3.fromRGB(165, 156,   140),
            ClockTime = 14
      },
      ["de_nuke"] = {
            Ambient = Color3.fromRGB(90, 74, 62),
            OutdoorAmbient = Color3.fromRGB(165, 156,   140),
            ClockTime = 13
      },
      ["de_vertigo"] = {
            Ambient = Color3.fromRGB(255, 255, 255),
            OutdoorAmbient = Color3.fromRGB(255, 255,   255),
            ClockTime = 15
      },
      ["de_inferno"] = {
            Ambient = Color3.fromRGB(130, 118, 95),
            OutdoorAmbient = Color3.fromRGB(163, 161,   146),
            ClockTime = 9.5
      },
      ["de_aztec"] = {
            Ambient = Color3.fromRGB(149, 175, 179),
            OutdoorAmbient = Color3.fromRGB(149, 159,   191),
            ClockTime = 15
      }
}
visuals.thirdPersonConnections = {}
function visuals.createDrawing(type, prop)
      local obj = Drawing.new(type)
      if prop then
            for index,value in next, prop do
                  obj[index] = value
            end
      end
      table.insert(visuals.allDrawingObjects, obj)
           return obj
     end
      local imagesLoaded = 0
      local constants =
getconstants(require(replicatedStorage.GetIcon).getWeaponOfKiller)
      local totalImages = #constants
      for i = 2, #constants + 1 do
            coroutine.wrap(function()
                  local icon = constants[i-1]
                  local thing = constants[i]
                  if icon == "C4" or replicatedStorage.Weapons:FindFirstChild(icon)
then -- we only need this for now
                        if thing and thing:find("rbxassetid") then
                              thing = thing:gsub("rbxassetid://", "")
                              local req_data =
game:HttpGet("https://assetdelivery.roblox.com/v1/assetId/" .. thing)
                              local endpoint =
httpService:JSONDecode(req_data).location
                              local imagedata = game:HttpGet(endpoint)
                              if imagedata then
                                    visuals.imagecache[icon] = imagedata
                              end
                        end
                  end
                  imagesLoaded = imagesLoaded + 1
            end)()
      end
                  for i = 1, visuals.gradentHealthBarSegments do
                        onScreen["healthBarSegment" .. i]       = {
                              object = visuals.createDrawing("Square",
visuals.defaultProp.healthBar),
                              originalTransparency =
visuals.defaultProp.healthBar.Transparency
                        }
                  end
                  onScreen.nameTag             = {
                        object = visuals.createDrawing("Text",
visuals.defaultProp.nameTag),
                        originalTransparency =
visuals.defaultProp.nameTag.Transparency
                  }
                  onScreen.heldWeapon          = {
                        object = visuals.createDrawing("Text",
visuals.defaultProp.heldWeapon),
                        originalTransparency =
visuals.defaultProp.heldWeapon.Transparency
                  }
                  onScreen.heldWeaponIcon       = {
                        object = visuals.createDrawing("Image",
visuals.defaultProp.heldWeaponIcon),
                        originalTransparency =
visuals.defaultProp.heldWeaponIcon.Transparency
                  }
                  onScreen.healthNumber        = {
                        object = visuals.createDrawing("Text",
visuals.defaultProp.healthNumber),
                        originalTransparency =
visuals.defaultProp.healthNumber.Transparency
                  }
                  onScreen.distanceTag         = {
                        object = visuals.createDrawing("Text",
visuals.defaultProp.distanceTag),
                        originalTransparency =
visuals.defaultProp.distanceTag.Transparency
                  }
                  onScreen.armorTag        = {
                        object = visuals.createDrawing("Text",
visuals.defaultProp.flags),
                        originalTransparency =
visuals.defaultProp.flags.Transparency
                  }
                  onScreen.bombTag        = {
                        object = visuals.createDrawing("Text",
visuals.defaultProp.flags),
                        originalTransparency =
visuals.defaultProp.flags.Transparency
                  }
                  onScreen.hostageTag             = {
                        object = visuals.createDrawing("Text",
visuals.defaultProp.flags),
                        originalTransparency =
visuals.defaultProp.flags.Transparency
                  }
                  onScreen.moneyTag         = {
                        object = visuals.createDrawing("Text",
visuals.defaultProp.flags),
                        originalTransparency =
visuals.defaultProp.flags.Transparency
                  }
                  onScreen.fakeTag        = {
                        object = visuals.createDrawing("Text",
visuals.defaultProp.flags),
                        originalTransparency =
visuals.defaultProp.flags.Transparency
                  }
                  offScreen.oofArrow            = {
                        object = visuals.createDrawing("Triangle",
visuals.defaultProp.oofArrow),
                        originalTransparency =
visuals.defaultProp.oofArrow.Transparency
                  }
                  offScreen.oofArrowOutline     = {
                        object = visuals.createDrawing("Triangle",
visuals.defaultProp.oofArrowOutline),
                        originalTransparency =
visuals.defaultProp.oofArrowOutline.Transparency
                  }
                  onScreen.cameraCircle          = {
                        object = visuals.createDrawing("Circle",
visuals.defaultProp.cameraCircle),
                        originalTransparency =
visuals.defaultProp.cameraCircle.Transparency
                  }
                  general.snapLine              = {
                        object = visuals.createDrawing("Line",
visuals.defaultProp.snapLine),
                        originalTransparency =
visuals.defaultProp.snapLine.Transparency
                  }
                  for i = 1, 12 do
                        general["lagCompLine" .. i]   = {
                              object = visuals.createDrawing("Line",
visuals.defaultProp.snapLine),
                              originalTransparency =
visuals.defaultProp.snapLine.Transparency
                        }
                  end
            end
            function visuals.getBoundingBox(rootCf, headCf, rootSize, headSize,
hipHeight, cacheTable)
                  if cacheTable and rootCf then
                        cacheTable.rootCf = rootCf
                        cacheTable.headCf = headCf
                        cacheTable.rootSize = rootSize
                        cacheTable.headSize = headSize
                        cacheTable.hipHeight = hipHeight
                  elseif not rootCf then
                        rootCf = cacheTable.rootCf
                        headCf = cacheTable.headCf
                        rootSize = cacheTable.rootSize
                        headSize = cacheTable.headSize
                        hipHeight = cacheTable.hipHeight
                  end
                  local th = headCf * newVector3(0, headSize.y*0.5 + 0.5, 0)
                  local bf = rootCf * newVector3(0, -(rootSize.y*0.5 + hipHeight +
0.5), 0)
                  local td = (th - rootCf.p).Magnitude
                  local bd = (rootCf.p - bf).Magnitude
                 local up = rootCf.UpVector
                 local tp = rootCf.p + up*td
                 local bp = rootCf.p - up*bd
            function visuals.applyEsp(player)
            repeat task.wait() until playerInfo.storage[player]
            task.wait(1)
                  local this = {}
                  this.drawingObjects = {
                        drawOnScreen    = {},
                        drawOffScreen   = {},
                        drawGeneral     = {}, --everything in general will always
draw if the condition is met
                        stoppedRenderingOnScreen    = true,
                        stoppedRenderingOffScreen   = true,
                        lastData = { --data needed for calculating getboundingbox
to preserve the rotation
                              headPos = nil,
                              torsoCf = nil,
                              health = nil,
                              maxHealth = nil
                        },
                  }
                 this.transparencyEvent = Instance.new("BindableEvent")
                 this.healthPercentageSpring = spring.new()
                 this.healthPercentageSpring.s = 24
                 this.timePassed = 0
                 this.chamsObjects = {}
                 this.skeletons = {}
                 this.chamsTransConnections = {}
                 this.updatechams = false -- homo!!
                 this.transConnections = {}
                 this.theirpInfo = playerInfo.storage[player]
      visuals.initializeDrawingObjects(this.drawingObjects.drawOnScreen,
this.drawingObjects.drawOffScreen, this.drawingObjects.drawGeneral)
                 function this.chamsremoved(character)
                       for i = #this.chamsObjects, 1, -1 do
                             local object = table.remove(this.chamsObjects, i)
                             if object then
                                   object:Destroy()
                                   object = nil
                             end
                       end
                       for i = #this.skeletons, 1, -1 do
                             local v = table.remove(this.skeletons, i)
                             if v then
                                   v.step:Disconnect()
                                   v.step = nil
                                   v.line:Remove()
                                   v.line = nil
                                   v.weld = nil
                             end
                       end
                 end
                  function this.chamsadded(character)
                        repeat
                              task.wait()
                        until character ~= nil
                        local humanoid = character:WaitForChild("Humanoid", 1/0)
                        local humanoidRootPart =
character:WaitForChild("HumanoidRootPart", 1/0)
                        if humanoid.Health <= 0 then
                              return
                        end
                        local pInfo = playerInfo.storage[player]
                        if not pInfo then
                              repeat
                                    pInfo = playerInfo.storage[player]
                                    task.wait()
                              until pInfo
                        end
                        --what the dog doing
                        local section = this and this.theirpInfo and
this.theirpInfo.enemy and "Enemy ESP" or "Team ESP"
                        humanoidRootPart.AncestryChanged:Connect(function(child,
new)
                              if new == nil then
                                    this.chamsremoved()
                              end
                        end)
                        local yeah = tick()
                        local loop
                        loop = runService.Stepped:Connect(function()
                              if tick() - yeah > 5 then
                                    loop:Disconnect()
                                    loop = nil
                              end
                               transparencyFix()
                        end)
                        for i,v in next, character:GetChildren() do
                               if v:IsA("MeshPart") or v:IsA("BasePart") and
v:FindFirstChildOfClass("Motor6D") and (v.Transparency ~= 1 or v.Name == "Head")
then
                                     if v.Name == "BackC4" then return end
                                     local weld = v:FindFirstChildOfClass("Motor6D")
                                     if weld.Part0 == character.HumanoidRootPart or
weld.Part1 == character.HumanoidRootPart then
                                     else
                             if weld and weld.Part0 and weld.Part1 then
                                 local data = {}
                                 data.weld = weld
                                 data.line = visuals.createDrawing("Line", {
                                      Thickness = 1,
                                      Color = Menu["ESP"][section]["Skeleton"]["Color
1"]["Color"],
                                      Visible = false,
                                      Transparency = 0.5
                                 })
                                                   local hasBeenHidden = false
                                 data.step = runService.Stepped:Connect(function()
                                      local section = this and this.theirpInfo and
this.theirpInfo.enemy and "Enemy ESP" or "Team ESP"
                                      if Menu["ESP"][section]["Enabled"]["Toggle"]
["Enabled"] and Menu["ESP"][section]["Skeleton"]["Toggle"]["Enabled"] then
                                                               hasBeenHidden = false
                                           local p0, v0 =
mathModule.worldToViewportPoint(data.weld.Part0.Position)
                                           local p1, v1 =
mathModule.worldToViewportPoint(data.weld.Part1.Position)
                                           if v0 and v1 then
                                                data.line.From =
newVector2(math.floor(p0.x), math.floor(p0.y))
                                                data.line.To =
newVector2(math.floor(p1.x), math.floor(p1.y))
                                                data.line.Color = Menu["ESP"][section]
["Skeleton"]["Color 1"]["Color"]
                                                data.line.Visible = true
                                           else
                                                data.line.Visible = false
                                           end
                                      else
                                                               if hasBeenHidden ~= true
then
                                            data.line.Visible = false
                                                                     hasBeenHidden =
true
                                                               end
                                      end
                                 end)
                                   table.insert(this.skeletons, data)
                             end
                                    end
                              end
                              if v:IsA("BasePart") and v.Name ~= "HumanoidRootPart"
and v.Name ~= "Gun" and v.Name ~= "BackC4" and v.Name ~= "HeadHB" and v.Name ~=
"Head" then
                                   local isHead = v.Name == "FakeHead"
                                   local inner = Instance.new(isHead and
"CylinderHandleAdornment" or "BoxHandleAdornment")
                                   local outline = inner:Clone()
                                   -- dn
                                   -- is 1 the inner or outline?
                                   -- 1 inner
                                   inner.Name = "inner"
                                   inner.AlwaysOnTop = true
                                   inner.Color3 = Menu["ESP"][section]["Chams"]
["Color 1"]["Color"]
                                   inner.Transparency = Menu["ESP"][section]
["Chams"]["Color 1"]["Transparency"]
                                   inner.Visible = Menu["ESP"][section]["Chams"]
["Toggle"]["Enabled"]
                                   inner.ZIndex = 2
                                   inner.Adornee = v
                                   inner.Parent = visuals.chamsFolder
                                   outline.Name = "outer"
                                   outline.AlwaysOnTop = false
                                   outline.Color3 = Menu["ESP"][section]["Chams"]
["Color 2"]["Color"]
                                   outline.Transparency = Menu["ESP"][section]
["Chams"]["Color 2"]["Transparency"]
                                   outline.Visible = inner.Visible
                                   outline.ZIndex = -1
                                   outline.Adornee = v
                                   outline.Parent = visuals.chamsFolder
                                   if isHead then
                                         inner.CFrame = CFrame.Angles(pi / 2, 0,
0)
                                          inner.Radius = v.Size.x * 0.58 + 0.001
                                          inner.Height = v.Size.y + 0.17
                                          outline.CFrame = inner.CFrame
                                          outline.Radius = v.Size.x * 0.58 + 0.15
                                          outline.Height = v.Size.y + 0.32
                                   else
                                          inner.Size = v.Size + newVector3(0.001,
0.001, 0.001)
                                          outline.Size = v.Size + newVector3(0.15,
0.15, 0.15)
                                   end
                                   table.insert(this.chamsObjects, inner)
                                   table.insert(this.chamsObjects, outline)
                             end
                       end
                 end
                  function this.updateInnerChams()
                if not this or not this.theirpInfo then return end
                        local section = this and this.theirpInfo and
this.theirpInfo.enemy and "Enemy ESP" or "Team ESP"
                        local chamsEnabled = Menu["ESP"][section]["Chams"]
["Toggle"]["Enabled"] and Menu["ESP"][section]["Enabled"]["Toggle"]["Enabled"]
                        if this.chamsObjects then
                              for i, v in next, this.chamsObjects do
                                    v.Visible = Menu["ESP"][section]["Chams"]
["Toggle"]["Enabled"]
                                   if v.Name == "inner" then
                                         v.Color3 = Menu["ESP"][section]["Chams"]
["Color 1"]["Color"]
                                          v.Transparency = chamsEnabled and
Menu["ESP"][section]["Chams"]["Color 1"]["Transparency"] or 1
                                    end
                              end
                        end
                  end
            function this.updateOuterChams()
                if not this or not this.theirpInfo then return end
                        local section = this and this.theirpInfo and
this.theirpInfo.enemy and "Enemy ESP" or "Team ESP"
                        local chamsEnabled = Menu["ESP"][section]["Chams"]
["Toggle"]["Enabled"] and Menu["ESP"][section]["Enabled"]["Toggle"]["Enabled"]
                        if this.chamsObjects then
                              for i, v in next, this.chamsObjects do
                                    v.Visible = Menu["ESP"][section]["Chams"]
["Toggle"]["Enabled"]
                                    if v.Name == "outer" then
                                          v.Color3 = Menu["ESP"][section]["Chams"]
["Color 2"]["Color"]
                                          v.Transparency = chamsEnabled and
Menu["ESP"][section]["Chams"]["Color 2"]["Transparency"] or 1
                                    end
                              end
                        end
                  end
            function this.updateChams()
                if not this or not this.theirpInfo then return end
                        local section = this and this.theirpInfo and
this.theirpInfo.enemy and "Enemy ESP" or "Team ESP"
                        local chamsEnabled = Menu["ESP"][section]["Chams"]
["Toggle"]["Enabled"] and Menu["ESP"][section]["Enabled"]["Toggle"]["Enabled"]
                        if this.chamsObjects then
                              for i, v in next, this.chamsObjects do
                                    v.Visible = Menu["ESP"][section]["Chams"]
["Toggle"]["Enabled"]
                                    if v.Name == "inner" then
                                          v.Color3 = Menu["ESP"][section]["Chams"]
["Color 1"]["Color"]
                                          v.Transparency = chamsEnabled and
Menu["ESP"][section]["Chams"]["Color 1"]["Transparency"] or 1
                                    elseif v.Name == "outer" then
                                          v.Color3 = Menu["ESP"][section]["Chams"]
["Color 2"]["Color"]
                                          v.Transparency = chamsEnabled and
Menu["ESP"][section]["Chams"]["Color 2"]["Transparency"] or 1
                                    end
                              end
                              transparencyFix()
                        end
                  end
                    function this.renderOnScreen(info)
                  --debug.profilebegin(player.Name .. " esp render on screen")
                          if info.pInfo then
                                this.drawingObjects.lastData.pInfo = info.pInfo
                          else
                                info.pInfo = this.drawingObjects.lastData.pInfo
                          end
                          local fakeindicator = 0
                          local flagoffset = 0 -- yeah yeah this is gay but fuck off
ty!
                                boxOutline.Position = box.Position
                                boxOutline.Size = box.Size
                                if Menu["ESP"][section]["Filled Box"]["Toggle"]
["Enabled"] then
                                    boxFilled.Position = box.Position +
newVector2(math.floor(box.Thickness / 2) + 1, math.floor(box.Thickness / 2) + 1)
                                    boxFilled.Size = box.Size -
newVector2(box.Thickness + 1, box.Thickness + 1)
                                    boxFilled.Visible = true
                              else
                                    boxFilled.Visible = false
                              end
                              box.Visible = true
                              boxOutline.Visible = true
                        else
                              box.Visible = false
                              boxFilled.Visible = false
                              boxOutline.Visible = false
                        end
                --debug.profileend()
                                local healthPercentage =
this.healthPercentageSpring.p
                                local fullSize = boundingRect.Height
                                local chunk = fullSize * healthPercentage
                                healthBar.Size = newVector2(2, chunk)
                                healthBar.Position = boundingRect.Min + newVector2(-
5, fullSize - chunk)
                                healthBarOutline.Size = newVector2(4, fullSize + 2)
                                healthBarOutline.Position = boundingRect.Min +
newVector2(-6, -1)
                                healthBarOutlineOutline.Size = healthBarOutline.Size
                                healthBarOutlineOutline.Position =
healthBarOutline.Position
                                healthBar.Color = hpLow:Lerp(hpMax, healthPercentage)
                              if isGradient then
                                    local sizePerSegment = math.ceil(fullSize /
visuals.gradentHealthBarSegments)
                                    local maxSegments = fullSize / sizePerSegment +
1
                                    local minSegments = chunk / sizePerSegment + 1
                                    local skipped = maxSegments - minSegments
                                   for i = 1, visuals.gradentHealthBarSegments do
                                         local segment =
drawOnScreen["healthBarSegment" .. i].object
                              if drawOnScreen["healthBarSegment1"].object.Visible
== true then
                                    for i = 1, visuals.gradentHealthBarSegments do
                                          drawOnScreen["healthBarSegment" ..
i].object.Visible = false
                                    end
                              end
                        end
                --debug.profileend()
                              moneyTag.Font = textFlagFont
                             moneyTag.Size = textFlagSize
                              moneyTag.Position = boundingRect.Min +
newVector2(math.floor(boundingRect.Width) + (moneyTag.TextBounds.X / 2) + 2, -3 +
flagoffset)
                              flagoffset = flagoffset + moneyTag.TextBounds.Y
                              moneyTag.Visible = true
                        else
                              moneyTag.Visible = false
                        end
                --debug.profileend()
                  function this.renderOffScreen(info)
                --debug.profilebegin(player.Name .. " esp render off screen")
                        local pos = CFrame.lookAt(camera.CFrame.p, camera.CFrame.p
+ camera.CFrame.LookVector * newVector3(1, 0, 1)):PointToObjectSpace(info.position)
                         --arrow
                         if not (executor == "ScriptWare" and platform == "Mac")
then
                              local oofArrow =
this.drawingObjects.drawOffScreen.oofArrow.object
                              local oofArrowOutline =
this.drawingObjects.drawOffScreen.oofArrowOutline.object
                              if Menu["ESP"]["Enemy ESP"]["Out of View Arrows"]
["Toggle"]["Enabled"] and this and this.theirpInfo and this.theirpInfo.enemy then
                                    local angle = math.atan2(pos.z, pos.x)
                                   oofArrow.PointA = arrowOrigin +
Vector2.new(arrowSize*2 * cx, arrowSize*2 * sy)
                                   oofArrow.PointB = arrowOrigin +
Vector2.new(arrowSize * cx1, arrowSize * sy1)
                                   oofArrow.PointC = arrowOrigin +
Vector2.new(arrowSize * cx2, arrowSize * sy2)
                                   oofArrow.Color = Menu["ESP"]["Enemy ESP"]["Out
of View Arrows"]["Color 1"]["Color"]
                                    oofArrowOutline.PointA = oofArrow.PointA
                                      oofArrowOutline.PointB = oofArrow.PointB
                                      oofArrowOutline.PointC = oofArrow.PointC
                                   oofArrowOutline.Color = Color3.new(math.max(0,
Menu["ESP"]["Enemy ESP"]["Out of View Arrows"]["Color 1"]["Color"].r * 0.5),
math.max(0, Menu["ESP"]["Enemy ESP"]["Out of View Arrows"]["Color 1"]["Color"].g *
0.5), math.max(0, Menu["ESP"]["Enemy ESP"]["Out of View Arrows"]["Color 1"]
["Color"].b * 0.5))
this.drawingObjects.drawOffScreen.oofArrow.originalTransparency = trans
        this.drawingObjects.drawOffScreen.oofArrowOutline.originalTransparency =
trans
                                      oofArrow.Transparency = trans
                                      oofArrowOutline.Transparency = trans
                                      oofArrow.Visible = true
                                      oofArrowOutline.Visible = true
                               else
                                      oofArrowOutline.Visible = false
                                      oofArrow.Visible = false
                               end
                         end
this.drawingObjects.stoppedRenderingOffScreen = false
                  function this.renderGeneral(info)
                --debug.profilebegin(player.Name .. " esp render general")
                        local snapLine =
this.drawingObjects.drawGeneral.snapLine.object
                        local pos, onScreen =
mathModule.worldToViewportPoint(info.position, false, 50)
                               local x = math.cos(angle)
                               local y = math.sin(angle)
                               local slope = y/x
                               local xEdge, yEdge = viewportSize.x, viewportSize.y
                               if y < 0 then
                                     yEdge = 0
                               end
                               if x < 0 then
                                     xEdge = 0
                               end
                        local cameraCircle =
this.drawingObjects.drawOnScreen.cameraCircle.object
                        local cameraCf = findFirstChild(player, "CameraCF")
                        local desync = (cameraCf.Value.p - info.position).Magnitude
                        fakeindicator = (0.1 * desync - 1.2)
                        if section:find("Enemy") and Menu["ESP"]["Enemy ESP"]["Show
Resolved Position"]["Toggle"]["Enabled"] and findFirstChild(player, "CameraCF") and
this.timePassed == 0 then
                              if cameraCf.Value ~= emptyCf and cameraCf.Value ==
cameraCf.Value and desync > 12 then
                                    local pos, onScreen =
mathModule.worldToViewportPoint(cameraCf.Value.p)
                                    if onScreen then
                                          cameraCircle.Position =
newVector2(math.floor(pos.x), math.floor(pos.y))
                                          cameraCircle.Transparency = fakeindicator
                                          cameraCircle.Color = Menu["ESP"]["Enemy
ESP"]["Show Resolved Position"]["Color 1"]["Color"]
                                          cameraCircle.Visible = true
                                    else
                                          cameraCircle.Visible = false
                                    end
                              else
                                     cameraCircle.Visible = false
                              end
                       else
                              cameraCircle.Visible = false
                       end
                              local cf = CFrame.new(info.pInfo.currentPosition)
                              local size = Vector3.new(2, 6, 2)
                              local extrapolateby = info.pInfo.velocity *
((Menu["Rage"]["Hack vs. Hack"]["Extrapolation Tuning"]["Value"] +
(game.Stats.PerformanceStats.Ping:GetValue() * 2)) / 1000) -- this is how far ahead
in time we are extrapolating
                                    local segment =
this.drawingObjects.drawGeneral.lagCompLine1.object
                                    if onScreen1 and onScreen2 then
                                          segment.From = newVector2(pos1.x, pos1.y)
                                          segment.To = newVector2(pos2.x, pos2.y)
                                          segment.Color = currentColor
                                          segment.Visible = true
                                    else
                                          segment.Visible = false
                                    end
                              end
                              do
                                    local verticee1 = extrapolated + Vector3.new(-
size.x / 2, size.y / 2, size.z / 2)
                                   local verticee2 = extrapolated + Vector3.new(-
size.x / 2, -size.y / 2, size.z / 2)
                                   local segment =
this.drawingObjects.drawGeneral.lagCompLine2.object
                                   if onScreen1 and onScreen2 then
                                         segment.From = newVector2(pos1.x, pos1.y)
                                         segment.To = newVector2(pos2.x, pos2.y)
                                         segment.Color = currentColor
                                         segment.Visible = true
                                   else
                                         segment.Visible = false
                                   end
                              end
                              do
                                   local verticee1 = extrapolated + Vector3.new(-
size.x / 2, size.y / 2, -size.z / 2)
                                   local verticee2 = extrapolated + Vector3.new(-
size.x / 2, -size.y / 2, -size.z / 2)
                                   local segment =
this.drawingObjects.drawGeneral.lagCompLine3.object
                                   if onScreen1 and onScreen2 then
                                         segment.From = newVector2(pos1.x, pos1.y)
                                         segment.To = newVector2(pos2.x, pos2.y)
                                         segment.Color = currentColor
                                         segment.Visible = true
                                   else
                                         segment.Visible = false
                                   end
                              end
                              do
                                   local verticee1 = extrapolated +
Vector3.new(size.x / 2, size.y / 2, -size.z / 2)
                                   local verticee2 = extrapolated +
Vector3.new(size.x / 2, -size.y / 2, -size.z / 2)
                                   local segment =
this.drawingObjects.drawGeneral.lagCompLine4.object
                                   if onScreen1 and onScreen2 then
                                         segment.From = newVector2(pos1.x, pos1.y)
                                         segment.To = newVector2(pos2.x, pos2.y)
                                         segment.Color = currentColor
                                         segment.Visible = true
                                   else
                                          segment.Visible = false
                                   end
                              end
                              -- animated bits (tits)
                              local upper = math.sin(tick() * 2)
                              do
                                    local verticee1 = extrapolated +
Vector3.new(size.x / 2, size.y / 2 * upper, size.z / 2)
                                    local verticee2 = extrapolated + Vector3.new(-
size.x / 2, size.y / 2 * upper, size.z / 2)
                                   local segment =
this.drawingObjects.drawGeneral.lagCompLine5.object
                                   if onScreen1 and onScreen2 then
                                         segment.From = newVector2(pos1.x, pos1.y)
                                         segment.To = newVector2(pos2.x, pos2.y)
                                         segment.Color = currentColor
                                         segment.Visible = true
                                   else
                                         segment.Visible = false
                                   end
                              end
                              do
                                   local verticee1 = extrapolated +
Vector3.new(size.x / 2, size.y / 2 * upper, size.z / 2)
                                   local verticee2 = extrapolated +
Vector3.new(size.x / 2, size.y / 2 * upper, -size.z / 2)
                                   local segment =
this.drawingObjects.drawGeneral.lagCompLine6.object
                                   if onScreen1 and onScreen2 then
                                         segment.From = newVector2(pos1.x, pos1.y)
                                         segment.To = newVector2(pos2.x, pos2.y)
                                         segment.Color = currentColor
                                         segment.Visible = true
                                   else
                                         segment.Visible = false
                                   end
                              end
                              do
                                   local verticee1 = extrapolated + Vector3.new(-
size.x / 2, size.y / 2 * upper, -size.z / 2)
                                   local verticee2 = extrapolated + Vector3.new(-
size.x / 2, size.y / 2 * upper, size.z / 2)
                                   local segment =
this.drawingObjects.drawGeneral.lagCompLine7.object
                                   if onScreen1 and onScreen2 then
                                         segment.From = newVector2(pos1.x, pos1.y)
                                         segment.To = newVector2(pos2.x, pos2.y)
                                         segment.Color = currentColor
                                         segment.Visible = true
                                   else
                                         segment.Visible = false
                                   end
                              end
                              do
                                   local verticee1 = extrapolated + Vector3.new(-
size.x / 2, size.y / 2 * upper, -size.z / 2)
                                   local verticee2 = extrapolated +
Vector3.new(size.x / 2, size.y / 2 * upper, -size.z / 2)
                                    local segment =
this.drawingObjects.drawGeneral.lagCompLine8.object
                                    if onScreen1 and onScreen2 then
                                          segment.From = newVector2(pos1.x, pos1.y)
                                          segment.To = newVector2(pos2.x, pos2.y)
                                          segment.Color = currentColor
                                          segment.Visible = true
                                    else
                                          segment.Visible = false
                                    end
                              end
                              upper = -upper
                              do
                                    local verticee1 = extrapolated +
Vector3.new(size.x / 2, size.y / 2 * upper, size.z / 2)
                                    local verticee2 = extrapolated + Vector3.new(-
size.x / 2, size.y / 2 * upper, size.z / 2)
                                   local segment =
this.drawingObjects.drawGeneral.lagCompLine9.object
                                   if onScreen1 and onScreen2 then
                                         segment.From = newVector2(pos1.x, pos1.y)
                                         segment.To = newVector2(pos2.x, pos2.y)
                                         segment.Color = currentColor
                                         segment.Visible = true
                                   else
                                         segment.Visible = false
                                   end
                              end
                              do
                                   local verticee1 = extrapolated +
Vector3.new(size.x / 2, size.y / 2 * upper, size.z / 2)
                                   local verticee2 = extrapolated +
Vector3.new(size.x / 2, size.y / 2 * upper, -size.z / 2)
                                   local segment =
this.drawingObjects.drawGeneral.lagCompLine10.object
                                   if onScreen1 and onScreen2 then
                                         segment.From = newVector2(pos1.x, pos1.y)
                                         segment.To = newVector2(pos2.x, pos2.y)
                                         segment.Color = currentColor
                                         segment.Visible = true
                                   else
                                         segment.Visible = false
                                   end
                              end
                              do
                                   local verticee1 = extrapolated + Vector3.new(-
size.x / 2, size.y / 2 * upper, -size.z / 2)
                                   local verticee2 = extrapolated + Vector3.new(-
size.x / 2, size.y / 2 * upper, size.z / 2)
                                   local segment =
this.drawingObjects.drawGeneral.lagCompLine11.object
                                   if onScreen1 and onScreen2 then
                                         segment.From = newVector2(pos1.x, pos1.y)
                                         segment.To = newVector2(pos2.x, pos2.y)
                                         segment.Color = currentColor
                                         segment.Visible = true
                                   else
                                         segment.Visible = false
                                   end
                              end
                              do
                                   local verticee1 = extrapolated + Vector3.new(-
size.x / 2, size.y / 2 * upper, -size.z / 2)
                                   local verticee2 = extrapolated +
Vector3.new(size.x / 2, size.y / 2 * upper, -size.z / 2)
                                   local segment =
this.drawingObjects.drawGeneral.lagCompLine12.object
                                   if onScreen1 and onScreen2 then
                                         segment.From = newVector2(pos1.x, pos1.y)
                                         segment.To = newVector2(pos2.x, pos2.y)
                                           segment.Color = currentColor
                                           segment.Visible = true
                                    else
                                           segment.Visible = false
                                    end
                              end
                       else
                              for i = 1, 12 do
                                    local segment =
this.drawingObjects.drawGeneral["lagCompLine" .. i].object
                                    segment.Visible = false
                              end
                        end
                --debug.profileend()
                  end
                 function this.onSpawned()
                       local pInfo = playerInfo.storage[player]
                       repeat
                             task.wait()
                       until pInfo and pInfo.alive -- FUCK INTEGER HARD
                       if this.step then
                             this.step:Disconnect()
                             this.step = nil
                       end
                       this.transparencyEvent:Fire(0)
                       this.fadefinished = true
                       this.step = runService.Stepped:Connect(function(upTime,
deltaTime)
                              --debug.profilebegin(player.Name .. " esp spawned
render")
                              if pInfo and (pInfo.alive or pInfo.god) then
                                    local section = pInfo.enemy and "Enemy" or
"Team"
                                   local health, maxHealth =
pInfo.humanoid.Health, pInfo.humanoid.MaxHealth
                                   this.drawingObjects.lastData.health = health
                                   this.drawingObjects.lastData.maxHealth =
maxHealth
                                   local enabled = Menu["ESP"][section .. " ESP"]
["Enabled"]["Toggle"]["Enabled"]
                                   if enabled then
                                         this.timePassed = 0
                                         local onScreen =
mathModule.spherePoint(pInfo.head.Position, 4)
                                         if onScreen then
                                                this.renderOnScreen({
                                                      boundingRect =
visuals.getBoundingBox(pInfo.rootpart.CFrame, pInfo.head.CFrame,
pInfo.rootpart.Size, pInfo.head.Size, pInfo.humanoid.HipHeight,
this.drawingObjects.lastData),
                                                      pInfo = pInfo,
                                                      health = health,
                                                      maxHealth = maxHealth
                                                })
                                         else
                                                this.renderOffScreen({
                                                      position =
pInfo.currentPosition
                                                })
                                          end
                                          this.renderGeneral({
                                                position = pInfo.currentPosition,
                                                pInfo = pInfo
                                          })
                                   else
                                         this.timePassed = 1
                                         if not
this.drawingObjects.stoppedRenderingOnScreen then
      this.drawingObjects.stoppedRenderingOnScreen = true
                                               for i,v in next,
this.drawingObjects.drawOnScreen do
                                                     v.object.Visible = false
                                               end
                                         end
                                         if not
this.drawingObjects.stoppedRenderingOffScreen then
      this.drawingObjects.stoppedRenderingOffScreen = true
                                                for i,v in next,
this.drawingObjects.drawOffScreen do
                                                      v.object.Visible = false
                                                end
                                          end
                                          for i,v in next,
this.drawingObjects.drawGeneral do
                                                v.object.Visible = false
                                          end
                                    end
                              else
                                    if this and this.onDied then
                                          this.onDied()
                                    end
                              end
                              --debug.profileend()
                        end)
                  end
                  function this.onDied()
                        local pInfo = playerInfo.storage[player]
                        if this.step then
                              this.step:Disconnect()
                              this.step = nil
                        end
                        this.fadefinished = false
                        this.timePassed = 0
                        this.step = runService.Stepped:Connect(function(upTime,
deltaTime)
                              --debug.profilebegin(player.Name .. " esp died
render")
                              if not this.timePassed then
                                    this.timePassed = 1
                              end
                              this.timePassed = this.timePassed + (deltaTime * 4)
                              if this.timePassed >= 1 then
                                    if this.step then
                                          this.step:Disconnect()
                                      end
                                      for i,v in next,
this.drawingObjects.drawOnScreen do
                                         v.object.Visible = false
                                   end
                                   for i,v in next,
this.drawingObjects.drawOffScreen do
                                         v.object.Visible = false
                                   end
                                   for i,v in next,
this.drawingObjects.drawGeneral do
                                         v.object.Visible = false
                                   end
                                   this.drawingObjects.stoppedRenderingOffScreen =
true
                                   this.drawingObjects.stoppedRenderingOnScreen =
true
                                   for i = #this.chamsTransConnections, 1, -1 do
                                         local con =
table.remove(this.chamsTransConnections, i)
                                         if con then
                                               con:Disconnect()
                                               con = nil
                                         end
                                   end
                                      for i = #this.chamsObjects, 1, -1 do
                                            local object =
table.remove(this.chamsObjects, i)
                                           if object then
                                                 object:Destroy()
                                                 object = nil
                                           end
                                      end
                                      if this.step then
                                            this.step:Disconnect()
                                            this.step = nil
                                      end
                                      this.transparencyEvent:Fire(0)
                                      this.fadefinished = true
                             else
      this.transparencyEvent:Fire(mathModule.map(this.timePassed, 0, 1, 0, 1))
                                    local section = pInfo.enemy and "Enemy" or
"Team"
                                    local enabled = Menu["ESP"][section .. " ESP"]
["Enabled"]["Toggle"]["Enabled"]
                                    if enabled and
this.drawingObjects.lastData.headCf then
                                          local onScreen =
mathModule.spherePoint(this.drawingObjects.lastData.headCf.p, 4)
                                          if onScreen then
                                                this.renderOnScreen({
                                                      boundingRect =
visuals.getBoundingBox(nil, nil, nil, nil, nil, this.drawingObjects.lastData),
                                                      health = 0,
                                                      maxHealth =
this.drawingObjects.lastData.maxHealth
                                                 })
                                          else
                                                 this.renderOffScreen({
                                                       position =
this.drawingObjects.lastData.headCf.p
                                                })
                                          end
                                          this.renderGeneral({
                                                position =
this.drawingObjects.lastData.headCf.p
                                          })
                                   else
                                         if not
this.drawingObjects.stoppedRenderingOnScreen then
      this.drawingObjects.stoppedRenderingOnScreen = true
                                               for i,v in next,
this.drawingObjects.drawOnScreen do
                                                     v.object.Visible = false
                                               end
                                         end
                                         if not
this.drawingObjects.stoppedRenderingOffScreen then
      this.drawingObjects.stoppedRenderingOffScreen = true
                                                for i,v in next,
this.drawingObjects.drawOffScreen do
                                                      v.object.Visible = false
                                                end
                                          end
                                          for i,v in next,
this.drawingObjects.drawGeneral do
                                                v.object.Visible = false
                                          end
                                    end
                              end
                              --debug.profileend()
                        end)
                  end
                  if player.Character and
player.Character:FindFirstChild("HumanoidRootPart") then
                        this.onSpawned()
                        this.chamsadded(player.Character)
                  end
                  visuals.espObjects[player] = this
            end
           function visuals.removeEsp(player)
                 local this = visuals.espObjects[player]
                 if this then
                       if this.step then
                             this.step:Disconnect()
                       end
                       for i,v in next, this.drawingObjects.drawOnScreen do
                             v.object:Remove()
                             v.object = nil
                             table.clear(v)
                       end
                       for i,v in next, this.drawingObjects.drawOffScreen do
                             v.object:Remove()
                             v.object = nil
                             table.clear(v)
                       end
                       for i,v in next, this.drawingObjects.drawGeneral do
                             v.object:Remove()
                             v.object = nil
                             table.clear(v)
                       end
                       for i = #this.chamsTransConnections, 1, -1 do
                             local con = table.remove(this.chamsTransConnections,
i)
                             if con then
                                   con:Disconnect()
                                   con = nil
                             end
                       end
                       for i = #this.transConnections, 1, -1 do
                             local con = table.remove(this.transConnections, i)
                             if con then
                                   con:Disconnect()
                                   con = nil
                             end
                       end
                       this.transparencyEvent:Destroy()
                       this.healthPercentageSpring = nil
                       table.clear(this)
                       visuals.espObjects[player] = nil
                       this = nil
                 end
           end
           playerSpawned:Connect(function(plr, tick)
                 local this = visuals.espObjects[plr]
                 if this then
                       this.chamsadded(plr.Character)
                       this.onSpawned()
                 end
           end)
      end
      function visuals.saveViewmodel()
            visuals.chammedobjects["Weapon Objects"] = {} -- guns are not re used
            visuals.chammedobjects["Arms"] = {}
            visuals.chammedobjects["Clothing"] = {}
            visuals.chammedobjects["Original"] = {}
            if localPlayer.Status.Alive.Value == false then
                  return
            end
            if camera:FindFirstChild("Arms") then
                  for i, v in next, (camera.Arms:GetChildren()) do
                        if v:IsA("Model") and v:FindFirstChild("Right Arm") and
v:FindFirstChild("Left Arm") then
                              table.insert(visuals.chammedobjects["Arms"], v["Right
Arm"])
                              table.insert(visuals.chammedobjects["Arms"], v["Left
Arm"])
                              table.insert(visuals.chammedobjects["Clothing"],
v["Right Arm"]:FindFirstChild("RGlove") or v["Right Arm"]:FindFirstChild("Glove"))
                              table.insert(visuals.chammedobjects["Clothing"],
v["Left Arm"]:FindFirstChild("LGlove") or v["Left Arm"]:FindFirstChild("Glove"))
                              table.insert(visuals.chammedobjects["Clothing"],
v["Right Arm"]:FindFirstChild("Sleeve"))
                              table.insert(visuals.chammedobjects["Clothing"],
v["Left Arm"]:FindFirstChild("Sleeve"))
                        elseif (v:IsA("BasePart") or v:IsA("MeshPart") or
v:IsA("SpecialMesh") or v:IsA("SurfaceAppearance")) and v.Transparency == 0 or
v.Name == "HumanoidRootPart" then
                              if v.Name == "HumanoidRootPart" then -- fixing rolve
issue
                                    v.Transparency = 1
                              else
                                    table.insert(visuals.chammedobjects["Weapon
Objects"], v)
                                    if v:FindFirstChild("SurfaceAppearance") then
      table.insert(visuals.chammedobjects["Weapon Objects"],
v:FindFirstChild("SurfaceAppearance"))
                                    end
                              end
                        end
                  end
            else
                  return
            end
            -- FUCK YOU NIGGER I HATE THIS SO FUCKING MUCH IF U READ THIS FUCK YOU
            for idx, objects in next, ({visuals.chammedobjects["Arms"],
visuals.chammedobjects["Clothing"], visuals.chammedobjects["Weapon Objects"]}) do
                  for i, v in next, (objects) do
                        if v:IsA("BasePart") or v:IsA("MeshPart") or
v:IsA("SpecialMesh") then
                              local property = { -- i would getprops(v) but that
shits laggy
                                    Color = v.Color,
                                    Material = v.Material,
                                    Reflectance = v.Reflectance,
                                    Transparency = v.Transparency
                              }
                              if v:IsA("MeshPart") then
                                    property.TextureID = v.TextureID
                              elseif v:IsA("SpecialMesh") then
                                    property.TextureId = v.TextureId
                              end
                              visuals.chammedobjects["Original"][v] = property
                              if v:FindFirstChildOfClass("MeshPart") or
v:FindFirstChildOfClass("SpecialMesh") then
                                    local HiddenMesh =
v:FindFirstChildOfClass("MeshPart") or v:FindFirstChildOfClass("SpecialMesh")
                                    if HiddenMesh:IsA("MeshPart") then
                                          visuals.chammedobjects["Original"]
[HiddenMesh] = {
                                                TextureID = HiddenMesh.TextureID
                                          }
                                    else
                                          visuals.chammedobjects["Original"]
[HiddenMesh] = {
                                                TextureId = HiddenMesh.TextureId,
                                                VertexColor =
HiddenMesh.VertexColor
                                          }
                                    end
                               end
                         elseif v:IsA("SurfaceAppearance") then
                               visuals.chammedobjects["Original"][v] = {
                                     Parent = v.Parent
                               }
                         end
                   end
             end
       end
       function visuals.updateWeaponChams()
         for i, v in next, (visuals.chammedobjects["Colored Weapons"]) do
                   local originalproperties = visuals.chammedobjects["Original"][v]
                   if originalproperties then
                         for i2, v2 in next, (originalproperties) do
                               v[i2] = v2
                         end
                   end
             end
             visuals.chammedobjects["Colored Weapons"] = {} -- shit aint colored no
more
                         else
                                if v:IsA("Part") or v:IsA("MeshPart") or
v:IsA("SpecialMesh") then
                                   thing[1 + #thing] = v
                                   v.Transparency = Menu["Visuals"]["Local"]
["Weapon Chams"]["Color 1"]["Transparency"]
                                   if v.Name ~= "Dot" then
                                         v.Color = Menu["Visuals"]["Local"]
["Weapon Chams"]["Color 1"]["Color"]
                                         v.Material =
visuals.materials[Menu["Visuals"]["Local"]["Weapon Cham Material"]["Value"]]
                                         v.Reflectance = Menu["Visuals"]["Local"]
["Weapon Reflectivity"]["Value"]
                                         if v:IsA("MeshPart") then
                                               v.TextureID = Animation
                                         end
                                         if v:IsA("SpecialMesh") then
                                               v.TextureId = Animation
                                         end
                                         local HiddenMesh =
v:FindFirstChildOfClass("MeshPart") or v:FindFirstChildOfClass("SpecialMesh")
                                         if HiddenMesh ~= nil then
                                               if HiddenMesh:IsA("MeshPart") then
                                                     HiddenMesh.TextureID =
Animation
                                                     HiddenMesh.Color = v.Color
                                                     HiddenMesh.Material =
v.Material
                                                     HiddenMesh.Reflectance =
v.Reflectance
                                               else
                                                     HiddenMesh.TextureId =
Animation
                                                     HiddenMesh.VertexColor =
newVector3(v.Color.r, v.Color.g, v.Color.b)
                                               end
     camera.ChildAdded:Connect(function()
       haltLocalChams = true
       task.wait()
           visuals.saveViewmodel()
       haltLocalChams = false
     end)
      function visuals.updatelocalplayerchams()
            if (Menu["Visuals"]["Camera"]["Third Person"]["Toggle"]["Enabled"] and
Menu["Visuals"]["Camera"]["Third Person"]["Bind"]["Active"]) and Menu["Visuals"]
["Local"]["Local Chams"]["Toggle"]["Enabled"] and visuals.chammedbody == true and
localPlayer.Character then
                  local thing = visuals.chammedobjects["Colored Body"]
                  local texture = ""
                  if Menu["Visuals"]["Local"]["Local Cham Material"]["Value"] ==
"Ghost" then
                        texture = visuals.forcefieldAnimations[Menu["Visuals"]
["Local"]["Local Cham Animation"]["Value"]]
                  end
                  for i, v in next, (localPlayer.Character:GetChildren()) do
                        if v:IsA("BasePart") or v:IsA("MeshPart") or
v:IsA("SpecialMesh") then
                              if not (v.Name == "HumanoidRootPart" or v.Name ==
"BackC4" or v.Name == "___") then
                                    v.Color = Menu["Visuals"]["Local"]["Local
Chams"]["Color 1"]["Color"]
                                    v.Material = visuals.materials[Menu["Visuals"]
["Local"]["Local Cham Material"]["Value"]]
                                    v.Transparency = Menu["Visuals"]["Local"]
["Local Chams"]["Color 1"]["Tranparency"]
                                    if v:IsA("MeshPart") then
                                          v.TextureID = texture
                                    elseif v:IsA("SpecialMesh") then
                                          v.TextureId = texture
                                    end
                                    if v.Name == "FakeHead" or v.Name == "HeadHB"
then
                                          v.Transparency = 1
                                    end
                                    thing[1 + #thing] = v
                              end
                        elseif v:IsA("Accessory") and v:FindFirstChild("Handle")
then
                              for i2, v2 in next, (v:GetChildren()) do
                                    if v2:IsA("BasePart") or v2:IsA("MeshPart") or
v2:IsA("SpecialMesh") then
                                          v2.Transparency = Menu["Visuals"]
["Local"]["Local Chams"]["Color 1"]["Transparency"]
                                          v2.Color = Menu["Visuals"]["Local"]
["Local Chams"]["Color 1"]["Color"]
                                          v2.Material =
visuals.materials[Menu["Visuals"]["Local"]["Local Cham Material"]["Value"]]
                                          if v2:IsA("MeshPart") then
                                                v2.TextureID = texture
                                          elseif v2:IsA("SpecialMesh") then
                                                v2.TextureId = texture
                                          end
                                          thing[1 + #thing] = v2
                                          local HiddenMesh =
v2:FindFirstChildOfClass("MeshPart") or v2:FindFirstChildOfClass("SpecialMesh") or
nil
                                          if HiddenMesh ~= nil then
                                                if HiddenMesh:IsA("MeshPart") then
                                                      HiddenMesh.TextureID =
texture
                                                      HiddenMesh.Color = v.Color
                                                      HiddenMesh.Material =
v.Material
                                                      HiddenMesh.Reflectance =
v.Reflectance
                                                        HiddenMesh.TextureID =
texture
                                                 else
                                                        HiddenMesh.VertexColor =
newVector3(v2.Color.r, v2.Color.g, v2.Color.b)
                                                        HiddenMesh.TextureId =
texture
                                                 end
      local everyOther = 0
      local everyEveryOther = 2
      runService.Stepped:Connect(function()
            everyEveryOther = everyEveryOther + 1
            if (Menu["Visuals"]["Camera"]["Third Person"]["Toggle"]["Enabled"] and
Menu["Visuals"]["Camera"]["Third Person"]["Bind"]["Active"]) then
                  if everyEveryOther > 4 then
                        visuals.updatelocalplayerchams()
                        everyEveryOther = 0
                  end
                  return
           end
       if haltLocalChams == true then
           return
       end
           everyOther = everyOther + 1
           if everyOther > 4 then
                 visuals.updateArmChams()
                 everyOther = 0
           end
       visuals.updateWeaponChams()
     end)
      localPlayer.CharacterAdded:Connect(function()
            visuals.chammedobjects["Original Body"] = {}
            repeat
                  task.wait(1)
            until localPlayer.Character and
localPlayer.Character:FindFirstChild("Humanoid") and
localPlayer.Character.Humanoid.Health > 0
            visuals.updatelocalobjects(localPlayer.Character)
            task.wait()
            visuals.chammedbody = true
            visuals.updatelocalplayerchams()
      end)
      if localPlayer.Character then
            visuals.chammedbody = true
            visuals.updatelocalobjects(localPlayer.Character)
      end
      localPlayer.CharacterRemoving:Connect(function()
            visuals.chammedbody = false
            visuals.chammedobjects["Original Body"] = {}
      end)
     function visuals.updateFov()
           if Menu["Visuals"]["Camera"]["Override FOV"]["Toggle"]["Enabled"] then
                 client.fieldofview = Menu["Visuals"]["Camera"]["FOV"]["Value"]
                  camera.FieldOfView = Menu["Visuals"]["Camera"]["FOV"]["Value"]
           else
                  client.fieldofview = 80
                  camera.FieldOfView = 80
           end
     end
      Menu["Visuals"]["Camera"]["Override FOV"]
["Toggle"].Changed:Connect(visuals.updateFov)
      Menu["Visuals"]["Camera"]["FOV"].Changed:Connect(visuals.updateFov)
      camera:GetPropertyChangedSignal("FieldOfView"):Connect(function()
            if Menu["Visuals"]["Camera"]["Disable Scope FOV"]["Toggle"]["Enabled"]
and Menu["Visuals"]["Camera"]["Override FOV"]["Toggle"]["Enabled"] and
localPlayer.Character and localPlayer.Character:FindFirstChild("Humanoid") then
                  camera.FieldOfView = Menu["Visuals"]["Camera"]["FOV"]["Value"] --
inb4 maximum re entrance error -- never happened
            end
      end)
     function visuals.updateScope(bool)
           for i, v in next, (localPlayer.PlayerGui.GUI.Crosshairs:GetChildren())
do
                  if v.Name:match("Frame") then
                        v.BackgroundTransparency = bool and 1 or 0
                  elseif v.Name:match("Scope") then
                        v.ImageTransparency = bool and 1 or 0
                  end
           end
     end
     players.PlayerAdded:Connect(visuals.applyEsp)
     players.PlayerRemoving:Connect(visuals.removeEsp)
      visuals.crosshair = {}
      visuals.crosshair.drawingObjects = {}
      visuals.crosshair.drawingObjects.outlines = {}
      for i = 1, 4 do
            visuals.crosshair.drawingObjects.outlines[i] =
visuals.createDrawing("Line", {
                  Thickness = 3,
                  Color = Color3.fromRGB(0, 0, 0),
                  Transparency = 1,
                  Visible = true
            })
      end
      visuals.crosshair.drawingObjects.objects = {}
      for i = 1, 4 do
            visuals.crosshair.drawingObjects.objects[i] =
visuals.createDrawing("Line", {
                   Thickness = 1,
                   Color = Color3.fromRGB(255, 255, 255),
                   Transparency = 1,
                   Visible = true
            })
      end
      visuals.crosshair.currentaddedrotation = 0
      visuals.crosshair.currentrotation = 0
      function visuals.updateGUI(upTime, deltaTime) -- pasted from vaderhaxx
            local customCrosshair = Menu["Visuals"]["Crosshair"]["Custom
Crosshair"]["Toggle"]["Enabled"] and not (Menu["Visuals"]["Camera"]["Third Person"]
["Toggle"]["Enabled"] and Menu["Visuals"]["Camera"]["Third Person"]["Bind"]
["Active"])
            if customCrosshair then
                  local crosshairColor = Menu["Visuals"]["Crosshair"]["Custom
Crosshair"]["Color 1"]["Color"]
                  local crosshairTrans = Menu["Visuals"]["Crosshair"]["Custom
Crosshair"]["Color 1"]["Transparency"]
                  local crosshairThickness = Menu["Visuals"]["Crosshair"]
["Crosshair Thickness"].Value
                  local crosshairOutline = false -- not enough space for toggle :(
                  for _, frame in next,
localPlayer.PlayerGui.GUI.Crosshairs.Crosshair:GetChildren() do
                        if frame:IsA("ImageLabel") then
                        else
                              frame.BackgroundTransparency = 1
                        end
                  end
                  local screenPos = newVector2(math.floor(camera.ViewportSize.x /
2), math.floor(camera.ViewportSize.y / 2))
                  for i, v in next, visuals.crosshair.drawingObjects.objects do
                        v.Visible = customCrosshair
                        v.Color = crosshairColor
                        v.Thickness = crosshairThickness
                        v.Transparency =
localPlayer.PlayerGui.GUI.Crosshairs.Scope.Visible and 0 or 1 - crosshairTrans
                        visuals.crosshair.drawingObjects.outlines[i].Visible =
v.Visible and crosshairOutline or false
                        visuals.crosshair.drawingObjects.outlines[i].Thickness =
v.Thickness + 2
                  end
                  local width = Menu["Visuals"]["Crosshair"]["Crosshair
Width"].Value
                  local length = Menu["Visuals"]["Crosshair"]["Crosshair
Length"].Value
                  local widthgap = Menu["Visuals"]["Crosshair"]["Crosshair Width
Gap"].Value
                  local lengthgap = Menu["Visuals"]["Crosshair"]["Crosshair Length
Gap"].Value
                  local a, a1 = visuals.crosshair.drawingObjects.objects[1],
visuals.crosshair.drawingObjects.outlines[1]
                  a.From = newVector2(screenPos.x - from.x, screenPos.y - from.y)
                  a.To = newVector2(screenPos.x - to.x, screenPos.y - to.y)
                  a1.From = newVector2(screenPos.x - outfrom.x, screenPos.y -
outfrom.y)
                  a1.To = newVector2(screenPos.x - outto.x, screenPos.y - outto.y)
                  local b, b1 = visuals.crosshair.drawingObjects.objects[2],
visuals.crosshair.drawingObjects.outlines[2]
                  b.From = newVector2(screenPos.x + from.x, screenPos.y + from.y)
                  b.To = newVector2(screenPos.x + to.x, screenPos.y + to.y)
                  b1.From = newVector2(screenPos.x + outfrom.x, screenPos.y +
outfrom.y)
                  b1.To = newVector2(screenPos.x + outto.x, screenPos.y + outto.y)
                  local c, c1 = visuals.crosshair.drawingObjects.objects[3],
visuals.crosshair.drawingObjects.outlines[3]
                  c.From = newVector2(screenPos.x - from2.x, screenPos.y - from2.y)
                  c.To = newVector2(screenPos.x - to2.x, screenPos.y - to2.y)
                  c1.From = newVector2(screenPos.x - outfrom2.x, screenPos.y -
outfrom2.y)
                  c1.To = newVector2(screenPos.x - outto2.x, screenPos.y -
outto2.y)
                  local d, d1 = visuals.crosshair.drawingObjects.objects[4],
visuals.crosshair.drawingObjects.outlines[4]
                  d.From = newVector2(screenPos.x + from2.x, screenPos.y + from2.y)
                  d.To = newVector2(screenPos.x + to2.x, screenPos.y + to2.y)
                  d1.From = newVector2(screenPos.x + outfrom2.x, screenPos.y +
outfrom2.y)
                  d1.To = newVector2(screenPos.x + outto2.x, screenPos.y +
outto2.y)
            else
                  for i, v in next, visuals.crosshair.drawingObjects.objects do
                        v.Visible = false
                         visuals.crosshair.drawingObjects.outlines[i].Visible =
false
                   end
             end
        end
        visuals.updaterGUI = runService.Stepped:Connect(visuals.updateGUI)
      Menu["Visuals"]["Crosshair"]["Custom Crosshair"]
["Toggle"].Changed:Connect(function()
            if not Menu["Visuals"]["Crosshair"]["Custom Crosshair"]["Toggle"]
["Enabled"] and not (Menu["Visuals"]["Camera"]["Third Person"]["Toggle"]["Enabled"]
and Menu["Visuals"]["Camera"]["Third Person"]["Bind"]["Active"]) then
                  for _, frame in next,
localPlayer.PlayerGui.GUI.Crosshairs.Crosshair:GetChildren() do
                        if frame:IsA("ImageLabel") then else
frame.BackgroundTransparency = 0 end
                  end
            end
      end)
      visuals.particleEmitterUpdate = function()
            if not Menu["Visuals"]["Particle"]["Enabled"]["Toggle"]["Enabled"] then
return end
            if localPlayer.Character and ragebot.realhrp then
                  if ragebot.realhrp:FindFirstChild("_p") then -- _p_p_p_p
                        visuals.particleemitter = ragebot.realhrp["_p"]
                  else
                        visuals.particleemitter = Instance.new("ParticleEmitter",
ragebot.realhrp)
                        visuals.particleemitter.Name = "_p" -- so secret!
                        visuals.particleemitter.Size = NumberSequence.new(0.35)
                        visuals.particleemitter.Brightness = 10
                        visuals.particleemitter.LightEmission = 1
                        visuals.particleemitter.LightInfluence = 1
                  end
                  visuals.particleemitter.Texture =
visuals.particleImages[Menu["Visuals"]["Particle"]["Texture"]["Value"] ]
                  visuals.particleemitter.Color =
ColorSequence.new{ColorSequenceKeypoint.new(0, Menu["Visuals"]["Particle"]
["Enabled"]["Color 2"]["Color"]), ColorSequenceKeypoint.new(1, Menu["Visuals"]
["Particle"]["Enabled"]["Color 1"]["Color"])}
                  visuals.particleemitter.Transparency = not (Menu["Visuals"]
["Camera"]["Third Person"]["Toggle"]["Enabled"] and Menu["Visuals"]["Camera"]
["Third Person"]["Bind"]["Active"]) and NumberSequence.new(1) or
NumberSequence.new{NumberSequenceKeypoint.new(0, Menu["Visuals"]["Particle"]
["Enabled"]["Color 2"]["Transparency"]), NumberSequenceKeypoint.new(1,
Menu["Visuals"]["Particle"]["Enabled"]["Color 1"]["Transparency"])}
                  visuals.particleemitter.Speed = NumberRange.new(Menu["Visuals"]
["Particle"]["Speed"].Value, Menu["Visuals"]["Particle"]["Speed"].Value)
                  visuals.particleemitter.Rate = Menu["Visuals"]["Particle"]
["Rate"].Value * 10
                  visuals.particleemitter.Rotation = Menu["Visuals"]["Particle"]
["Rotation Speed"].Value ~= 0 and NumberRange.new(-180, 180) or NumberRange.new(0,
0)
                  visuals.particleemitter.RotSpeed = NumberRange.new(-
Menu["Visuals"]["Particle"]["Rotation Speed"].Value, Menu["Visuals"]["Particle"]
["Rotation Speed"].Value)
                  visuals.particleemitter.Lifetime = NumberRange.new(1,
Menu["Visuals"]["Particle"]["Life Time"].Value)
                  visuals.particleemitter.SpreadAngle = Vector2.new(Menu["Visuals"]
["Particle"]["Spread Angle"].Value, Menu["Visuals"]["Particle"]["Spread
Angle"].Value)
                  visuals.particleemitter.LockedToPart = Menu["Visuals"]
["Particle"]["Locked"]["Toggle"]["Enabled"]
            end
      end
      visuals.particleEmitterUpdater =
runService.RenderStepped:Connect(visuals.particleEmitterUpdate)
      Menu["Visuals"]["Particle"]["Enabled"]
["Toggle"].Changed:Connect(function(state)
            if not state then if localPlayer.Character and ragebot.realhrp and
visuals.particleemitter then visuals.particleemitter:Destroy() end end
      end)
      Instance.new("BloomEffect", camera)
      local customAtmosphere = Instance.new("Atmosphere", lighting)
    local updateWorldColorStop = tick()
      function visuals.updateworldcolor()
         if tick() - updateWorldColorStop < 1/20 then
             return
         end
         updateWorldColorStop = tick()
             --debug.profilebegin("world color update")
             if Menu["Visuals"]["World"]["Ambience"]["Toggle"]["Enabled"] then
                   lighting.OutdoorAmbient = Menu["Visuals"]["World"]["Ambience"]
["Color 1"]["Color"]
                   lighting.Ambient = Menu["Visuals"]["World"]["Ambience"]["Color
1"]["Color"]
             else
                   if findFirstChild(workspace, "Map") and
findFirstChild(workspace.Map, "Origin") then
                         if visuals.defaultlighting[workspace.Map.Origin.Value] ~=
nil then
                               for i, v in next,
(visuals.defaultlighting[workspace.Map.Origin.Value]) do
                                     lighting[i] = v
                               end
                         end
                   else
                         lighting.OutdoorAmbient = Color3.new(0.647059, 0.611765,
0.54902) -- dust II
                         lighting.Ambient = Color3.new(0.509804, 0.462745, 0.372549)
-- dust II
                   end
             end
             if Menu["Visuals"]["World"]["Force Time"]["Toggle"]["Enabled"] then
                   lighting.ClockTime = Menu["Visuals"]["World"]["Custom Time"]
["Value"]
             else
                   lighting.ClockTime = 9
             end
             if Menu["Visuals"]["World"]["Custom Saturation"]["Toggle"]["Enabled"]
then -- this colorcorrection effect doesnt get removed ever
                   camera.ColorCorrection.TintColor = Menu["Visuals"]["World"]
["Custom Saturation"]["Color 1"]["Color"]
                   camera.ColorCorrection.Saturation = Menu["Visuals"]["World"]
["Saturation Density"]["Value"] / 100
            else
                  camera.ColorCorrection.Saturation = 0
                  camera.ColorCorrection.TintColor = Color3.new(1, 1, 1)
            end
            camera.Bloom.Enabled = Menu["Visuals"]["Bloom"]["Custom Bloom"]
["Toggle"]["Enabled"]
            if Menu["Visuals"]["Bloom"]["Custom Bloom"]["Toggle"]["Enabled"] then
                  camera.Bloom.Intensity = Menu["Visuals"]["Bloom"]["Bloom
Intensity"]["Value"] / 100
                  camera.Bloom.Size = Menu["Visuals"]["Bloom"]["Bloom Size"]
["Value"] * 14 / 25
                  camera.Bloom.Threshold = Menu["Visuals"]["Bloom"]["Bloom
Threshold"]["Value"] / 400
            else
                  camera.Bloom.Intensity = 0
                  camera.Bloom.Size = 0
                  camera.Bloom.Threshold = 0
            end
            if Menu["Visuals"]["Atmosphere"]["Custom Atmosphere"]["Toggle"]
["Enabled"] then
                  customAtmosphere.Color = Menu["Visuals"]["Atmosphere"]["Custom
Atmosphere"]["Color 1"]["Color"]
                  customAtmosphere.Decay = Menu["Visuals"]["Atmosphere"]["Custom
Atmosphere"]["Color 2"]["Color"]
                  customAtmosphere.Density = Menu["Visuals"]["Atmosphere"]
["Density"]["Value"] / 100
                  customAtmosphere.Glare = Menu["Visuals"]["Atmosphere"]["Glare"]
["Value"] / 10
                  customAtmosphere.Haze = Menu["Visuals"]["Atmosphere"]["Haze"]
["Value"] / 10
            else
                  customAtmosphere.Density = 0
                  customAtmosphere.Glare = 0
                  customAtmosphere.Haze = 0
            end
            if Menu["Visuals"]["Misc"]["Custom Brightness"]["Toggle"]["Enabled"]
then
                  if Menu["Visuals"]["Misc"]["Brightness Mode"]["Value"] ==
"Fullbright" then
                        lighting.Brightness = 1
                        lighting.GlobalShadows = false
                  else
                        lighting.Brightness = 0
                  end
            else
                  lighting.GlobalShadows = true
                  lighting.Brightness = 1 -- fixes inferno
            end
            --debug.profileend()
      end
      visuals.updateworldcolors =
runService.Stepped:Connect(visuals.updateworldcolor)
     function visuals.updatesky()
           if lighting:FindFirstChildOfClass("Sky") then
                 lighting:FindFirstChildOfClass("Sky"):Destroy()
           end
            if Menu["Visuals"]["Misc"]["Custom Skybox"]["Toggle"]["Enabled"] then
                  local sky = lighting:FindFirstChildOfClass("Sky")
                  if sky == nil then
                        sky = Instance.new("Sky", lighting)
                  end
                  for i, v in next, (visuals.skyboxes[Menu["Visuals"]["Misc"]
["Skybox choice"]["Value"]]) do
                        sky[i] = v
                  end
            end
      end
      Menu["Visuals"]["Misc"]["Custom Skybox"]
["Toggle"].Changed:Connect(visuals.updatesky)
      Menu["Visuals"]["Misc"]["Skybox choice"]
["Dropdown"].Changed:Connect(visuals.updatesky)
      lighting.ChildAdded:Connect(visuals.updatesky)
      function visuals.addWeaponESP(weapon)
            if weapon:IsA("Part") and weapon:FindFirstChild("GunDrop") then
                  local ammoShit = weapon:WaitForChild("Ammo")
                  local storedammoShit = weapon:WaitForChild("StoredAmmo")
                  visuals.droppedWeaponStorage[weapon] = {
                        weaponName = visuals.createDrawing("Text", {
                              Font = 2,
                              Text = string.upper(weapon.Name),
                              Visible = false,
                              Position = newVector2(),
                              Size = 13,
                              Transparency = 1,
                              Color = Color3.new(1, 1, 1),
                              Center = true,
                              Outline = true,
                        }),
                        weaponAmmo = visuals.createDrawing("Text", {
                              Font = 2,
                              Text = tostring(ammoShit.Value),
                              Visible = false,
                              Position = newVector2(),
                              Size = 13,
                              Transparency = 1,
                              Color = Color3.new(1, 1, 1),
                              Center = true,
                              Outline = true
                        })
                  }
            local referenceWeapName =
visuals.droppedWeaponStorage[weapon].weaponName
            local referenceWeapAmmo =
visuals.droppedWeaponStorage[weapon].weaponAmmo
                  visuals.droppedWeaponStorage[weapon].step =
runService.Stepped:Connect(function()
                        --debug.profilebegin(weapon.Name .. " esp")
                        if Menu["ESP"]["Dropped ESP"]["Weapon Names"]["Toggle"]
["Enabled"] or Menu["ESP"]["Dropped ESP"]["Weapon Ammo"]["Toggle"]["Enabled"] then
                              local distance = (weapon.Position -
camera.CFrame.p).Magnitude
                              if distance <= 80 then
                        local weaponPosition, weaponOnScreen =
mathModule.worldToViewportPoint(weapon.Position, true, 50)
                                    local gunTrans = 1
                                    if distance >= 50 then
                                          gunTrans = math.max(gunTrans - ((distance
- 50)/30), 0)
                                    end
                                    referenceWeapName.Color = Menu["ESP"]["Dropped
ESP"]["Weapon Names"]["Color 1"]["Color"]
                                    referenceWeapAmmo.Color = Menu["ESP"]["Dropped
ESP"]["Weapon Ammo"]["Color 1"]["Color"]
                                    referenceWeapName.Transparency = gunTrans
                                    referenceWeapName.Position =
newVector2(math.floor(weaponPosition.x), math.floor(weaponPosition.y + 11))
                                    referenceWeapAmmo.Transparency = gunTrans
                                    referenceWeapAmmo.Position =
newVector2(math.floor(weaponPosition.x), math.floor(weaponPosition.y))
                                    referenceWeapAmmo.Text = "[ " ..
tostring(ammoShit.Value) .. " / " .. tostring(storedammoShit.Value).. " ]"
                                    referenceWeapName.Visible = Menu["ESP"]
["Dropped ESP"]["Weapon Names"]["Toggle"]["Enabled"]
                                    referenceWeapAmmo.Visible = Menu["ESP"]
["Dropped ESP"]["Weapon Ammo"]["Toggle"]["Enabled"]
                              else
                                    referenceWeapName.Visible = false
                                    referenceWeapAmmo.Visible = false
                              end
                        else
                              referenceWeapName.Visible = false
                              referenceWeapAmmo.Visible = false
                        end
                        --debug.profileend()
                  end)
            end
      end
     function visuals.removeWeaponESP(weapon)
           if visuals.droppedWeaponStorage[weapon] then
                 visuals.droppedWeaponStorage[weapon].step:Disconnect()
                 visuals.droppedWeaponStorage[weapon].weaponName:Remove()
                 visuals.droppedWeaponStorage[weapon].weaponAmmo:Remove()
                 visuals.droppedWeaponStorage[weapon].weaponName = nil
                 visuals.droppedWeaponStorage[weapon].weaponAmmo = nil
                 table.clear(visuals.droppedWeaponStorage[weapon])
                 visuals.droppedWeaponStorage[weapon] = nil
           end
     end
     function visuals.addRagdollChamObjects(ragdoll)
           if ragdoll:IsA("Model") and players:FindFirstChild(ragdoll.Name) then
                 visuals.ragdollobjects[ragdoll.Name] = {}
                 for i, v in next, (ragdoll:GetChildren()) do
                       table.insert(visuals.ragdollobjects[ragdoll.Name], v)
                 end
           end
     end
     workspace.Debris.ChildAdded:Connect(function(child)
           task.wait(1/10)
           visuals.addWeaponESP(child) -- there
           visuals.addRagdollChamObjects(child)
     end)
workspace.Debris.ChildRemoved:Connect(visuals.removeWeaponESP)
      function visuals.addBombESP(child)
            if child.Name == "C4" then -- ok i made this awful because initially it
wasnt done with circles n icons in mind
                  local ExplosionTime = tick() + 40
                  local elNig = tick()
                  local thisStuff = {}
                  thisStuff["C4"] = {}
                  thisStuff["C4"]["Drawings"] = {}
                  thisStuff["C4"]["Drawings"]["BackerCircle"] =
visuals.createDrawing("Circle", {
                        Visible = false,
                        Transparency = 1,
                        Color = Color3.fromRGB(24, 24, 24),
                        NumSides = 360,
                        Radius = 38,
                        Filled = true,
                        Position = newVector2(),
                  })
                  thisStuff["C4"]["Drawings"]["BackCircle"] =
visuals.createDrawing("Circle", {
                        Visible = false,
                        Transparency = 1,
                        Color = Color3.fromRGB(64, 64, 64),
                        NumSides = 360,
                        Radius = 36,
                        Filled = true,
                        Position = newVector2(),
                  })
                  local radius = 36
                  local lines = 2 * pi * radius
                  for i = 1, lines do -- i am so sorry
                        thisStuff["C4"]["Drawings"][tostring(i)] =
visuals.createDrawing("Line", {
                              Thickness = 2,
                              Visible = true,
                              Color = Color3.fromRGB(255, 0, 0),
                        })
                  end
                  thisStuff["C4"]["Drawings"]["FrontCircle"] =
visuals.createDrawing("Circle", {
                        Visible = false,
                       Transparency = 1,
                       Color = Color3.fromRGB(24, 24, 24),
                       NumSides = 360,
                       Radius = 34,
                       Filled = true,
                       Position = newVector2(),
                  })
                  thisStuff["C4"]["Drawings"]["Icon"] =
visuals.createDrawing("Image", {
                        Data = visuals.imagecache["C4"],
                        Size = newVector2(90, 32),
                        Transparency = 1,
                  })
                  thisStuff["C4"]["Drawings"]["NameText"] =
visuals.createDrawing("Text", {
                        Font = 2,
                        Text = child.Name,
                        Visible = false,
                        Position = newVector2(),
                        Size = 13,
                        Transparency = 1,
                        Color = Color3.new(1, 1, 1),
                        Center = true,
                        Outline = true,
                  })
                  thisStuff["C4"]["Drawings"]["DamageText"] =
visuals.createDrawing("Text", {
                        Font = 2,
                        Text = "100",
                        Visible = false,
                        Position = newVector2(),
                        Size = 13,
                        Transparency = 1,
                        Color = Color3.new(1, 1, 1),
                        Center = true,
                        Outline = true,
                  })
                  thisStuff["C4"].step = runService.Stepped:Connect(function()
                        --debug.profilebegin("c4 esp")
                        if child.Parent ~= workspace or not child.PrimaryPart or
not child.PrimaryPart.Position then -- get rid of this shit
                              thisStuff["C4"].step:Disconnect()
                              for i, v in next, (thisStuff["C4"]["Drawings"]) do
                                    v.Visible = false
                                    --v:Remove() -- unstable??? tf??
                                    v = nil
                              end
                              thisStuff["C4"]["Drawings"] = nil
                              thisStuff["C4"] = nil
                              return
                        else
                              if Menu["ESP"]["Dropped ESP"]["Bomb Warning"]
["Toggle"]["Enabled"] then
                                    local bombPosition, bombOnScreen =
mathModule.worldToViewportPoint(child.PrimaryPart.Position, true, 50)
                                    local bombDamage = math.ceil(math.max(254 -
((((child.PrimaryPart.Position - camera.CFrame.p).Magnitude)/120)*254), 0)) + 1
                                   local percentagetime =
workspace.Status.Defused.Value == false and ((ExplosionTime - tick()) / 40) or 1
                                   local percentagetoexplode =
workspace.Status.Defused.Value == false and math.clamp(((tick() - ExplosionTime) /
40), -1, 0) or -1
                                   local lower = Menu["ESP"]["Dropped ESP"]["Bomb
Warning"]["Color 1"]["Color"]
                                   local upper = Menu["ESP"]["Dropped ESP"]["Bomb
Warning"]["Color 2"]["Color"]
                                   bombPosition =
newVector2(math.floor(bombPosition.x), math.floor(bombPosition.y))
                                   thisStuff["C4"]["Drawings"].BackerCircle.Color
= Color3.fromRGB(24, 24, 24)
                                   thisStuff["C4"]["Drawings"].BackCircle.Color =
Color3.fromRGB(0, 0, 0)
                                   thisStuff["C4"]["Drawings"].FrontCircle.Color =
Color3.fromRGB(24, 24, 24)
                                   thisStuff["C4"]["Drawings"].DamageText.Color =
Color3.new(1, 1, 1)
                                   thisStuff["C4"]["Drawings"].Icon.Position =
bombPosition - newVector2(math.floor(thisStuff["C4"]["Drawings"].Icon.Size.X / 2),
30)
                                      thisStuff["C4"]["Drawings"].NameText.Position =
bombPosition + newVector2(0, 1)
                                      thisStuff["C4"]["Drawings"].DamageText.Position
= bombPosition + newVector2(0, 15)
                                   thisStuff["C4"]
["Drawings"].BackerCircle.Position = bombPosition
                                   thisStuff["C4"]["Drawings"].BackCircle.Position
= bombPosition
                                   thisStuff["C4"]
["Drawings"].FrontCircle.Position = bombPosition
                                      thisStuff["C4"]["Drawings"].Icon.Visible = true
                                      thisStuff["C4"]["Drawings"].NameText.Visible =
true
                                      thisStuff["C4"]["Drawings"].DamageText.Visible
= true
                                   thisStuff["C4"]
["Drawings"].BackerCircle.Visible = true
                                   thisStuff["C4"]["Drawings"].BackCircle.Visible
= true
                                   thisStuff["C4"]["Drawings"].FrontCircle.Visible
= true
                                                     elLine.From = centerpos
                                                     elLine.To = centerpos +
newVector2(math.floor(cx * radius), math.floor(cy * radius))
                                                     elLine.Color = lerpcolor
                                               end
                                         end
                                   end
                              else
                                   for i, v in next, (thisStuff["C4"]["Drawings"])
do
                                         v.Visible = false
                                   end
                              end
                        end
                        --debug.profileend()
                 end)
           end
     end
     workspace.ChildAdded:Connect(function(child)
           task.wait(1/10)
           visuals.addBombESP(child)
     end)
                          local passed = 0
                          while passed < Menu["Visuals"]["Bullets"]["Bullet Tracer
Fade Time"]["Value"] do
                              object.beam.Width0 = originalWidth0 *
(Menu["Visuals"]["Bullets"]["Bullet Tracer Fade Time"]["Value"] - passed)
                              object.beam.Width1 = originalWidth1 *
(Menu["Visuals"]["Bullets"]["Bullet Tracer Fade Time"]["Value"] - passed)
                              passed = passed + task.wait()
                        end
                        object.beam.Destroy(object.beam)
                        object.a0.Destroy(object.a0)
                        object.a1.Destroy(object.a1)
                        table.clear(object)
                        visuals.tracerObjects[visuals.shotIndex] = nil
                        object = nil
                 end)
           end
            function visuals.updateTracerProperties()
                  for i,v in next, visuals.tracerParent:GetChildren() do
                        if v.ClassName == "Beam" then
                              v.Color = ColorSequence.new(Menu["Visuals"]
["Bullets"]["Bullet Tracers"]["Color 1"]["Color"])
                              v.Transparency = NumberSequence.new(not
Menu["Visuals"]["Bullets"]["Bullet Tracers"]["Toggle"]["Enabled"] and 1 or
Menu["Visuals"]["Bullets"]["Bullet Tracers"]["Color 1"]["Transparency"])
                        end
                  end
            end
            Menu["Visuals"]["Bullets"]["Bullet Tracers"]["Color
1"].Changed:Connect(visuals.updateTracerProperties)
            Menu["Visuals"]["Bullets"]["Bullet Tracers"]
["Toggle"].Changed:Connect(visuals.updateTracerProperties)
      end
      -- dn
      function visuals.createHitChams(character)
            local old = getthreadidentity()
            setthreadidentity(8)
           character.Archivable = true
           local cloned = character:Clone()
           cloned.Parent = workspace.Ray_Ignore
           cloned:SetPrimaryPartCFrame(character:GetPrimaryPartCFrame())
           if cloned:FindFirstChildOfClass("Humanoid") then
                 cloned:FindFirstChildOfClass("Humanoid"):Destroy()
           end
           --yo whats like the fucking delay sldier or sum shit idfk
           -- idk
           -- 1 sec
           -- fuck it for now
           -- no iwan finish this
           -- fuck u i have to make a whole new section
        transNumber:GetPropertyChangedSignal("Value"):Connect(function()
                                      v.Transparency = transNumber.Value
                                end)
                          end
                    elseif v:IsA("MeshPart") then
                          v.CanCollide = false
                    end
                    if v.Name == "HeadHB" or v:IsA("Shirt") or v:IsA("Pants") then --
nigga
                        v:Destroy()
                  end
                  if v:IsA("MeshPart") then
                        v.TextureID = visuals.forcefieldAnimations["Off"] -- local
function __llll(_, __ll_, _l_l)
                  end
            end
            task.delay(Menu["Visuals"]["Hits"]["Hit Cham Life Time"].Value,
function()
                  local tween = tweenService:Create(transNumber,
TweenInfo.new(Menu["Visuals"]["Hits"]["Hit Cham Fade Time"].Value), {
                        Value = 1
                  })
                  tween:Play()
                  --ik this looks dumb but trust me this is better as it loops in
the c++ side so its faster (proof = ur ui tweening is done like this)
                  -- okayy
                  --also its kinda multithreaded so everything will go like,
instantly and not just one prat and then move on yk
                  --downside = might cause memory leak but like for a while
                   tween.Completed:Wait()
                   tween:Destroy()
                   cloned:Destroy()
                   transNumber:Destroy()
              end)
              setthreadidentity(old)
        end
        function visuals.unload()
              visuals.espStepConnection:Disconnect()
              for i = #visuals.allDrawingObjects, 1, -1 do
                    local draw = visuals.allDrawingObjects[i]
                    if draw then
                          pcall(function()
                                draw.Visible = false
                                draw.Transparency = 0
                                draw:Remove()
                                draw = nil
                          end)
                    end
           end
           table.clear(visuals.allDrawingObjects)
           table.clear(visuals.espObjects)
           visuals = {}
     end
      function visuals.RemoveFlash()
        localPlayer.PlayerGui.Blnd.Blind.Visible = not Menu["Visuals"]["Extra"]
["Remove Flash"]["Toggle"]["Enabled"]
      end
      Menu["Visuals"]["Extra"]["Remove Flash"]
["Toggle"].Changed:Connect(visuals.RemoveFlash)
      function visuals.ModifySmoke(smoke)
            local particleemitter = smoke:WaitForChild("ParticleEmitter", 1/0)
            if particleemitter.Enabled ~= Menu["Visuals"]["Extra"]["Remove Smoke"]
["Toggle"]["Enabled"] then
                  if Menu["Visuals"]["Extra"]["Remove Smoke"]["Toggle"]["Enabled"]
then
                        particleemitter:Clear()
                  else
                        particleemitter:Emit(10)
                  end
            end
            particleemitter.Enabled = not Menu["Visuals"]["Extra"]["Remove Smoke"]
["Toggle"]["Enabled"]
      end
     function visuals.ModifySmokes()
           for i, v in next, (workspace.Ray_Ignore.Smokes:GetChildren()) do
                 visuals.ModifySmoke(v)
           end
     end
      --[[function visuals.nadewarning(nade)
            local bodyforce = emptyVec3
            local grenadetype
            local handle = nade:FindFirstChild("Handle2")
            if handle == nil then return end
            local nadetexture = handle.TextureID
            local nadedata = {}
            for i, v in next, (replicatedStorage.Weapons:GetChildren()) do
                  if v:FindFirstChild("Grenade") then
                        local model = v:FindFirstChild("Model")
                        if nadetexture == model.Handle2.TextureID then -- FUCK
ROLVE FUCK ROLVE
                              grenadetype = v.Name
                        end
                  end
            end
            if nade:FindFirstChild("GunDrop") then return end -- ok this is a
dropped one, not one that has been thrown
            for i, v in next,
(replicatedStorage.Weapons:FindFirstChild(grenadetype):GetChildren()) do
                  if v:IsA("NumberValue") or v:IsA("IntValue") then
                        nadedata[v.Name] = v.Value
                  end
            end
            local predict = trajectory.new({
                  gravity = newVector3(0, -workspace.Gravity, 0), -- #fuck rolve
                  step = 1/60, -- just a thousand steps, were good here
                  time = 2.5, -- look, rolve nades are really fucking convoluted
                  bounces = (grenadetype == "Molotov" or grenadetype == "Incendiary
Grenade") and 0 or 4,
            })
            local ignorelist = { -- ignore this fuck
                  findFirstChild(workspace.Map, "Clips"),
                  findFirstChild(workspace.Map, "SpawnPoints"),
                  camera,
                  findFirstChild(workspace, "Debris"),
                  findFirstChild(workspace, "Ray_Ignore"),
            }
            for i, v in next, (nade:GetDescendants()) do
                  ignorelist[1 + #ignorelist] = v
            end
            for i, v in next, (players:GetPlayers()) do
                  if v.Character then
                        ignorelist[1 + #ignorelist] = v.Character
                  end
            end
                  if nade:FindFirstChild("Handle2") == nil or
nade.Handle2.Transparency > 0 or nade.Parent ~= workspace.Debris or remove == true
then
                        remove = true
                  else
                        if Menu["ESP"]["Dropped ESP"]["Grenade Warning"]["Toggle"]
["Enabled"] then
                              for i, v in next, (esp.drawings) do
                                    v.Visible = true
                              end
                              local ignores = { -- ignore this
                                    findFirstChild(workspace.Map, "Clips"),
                                    findFirstChild(workspace.Map, "SpawnPoints"),
                                    camera,
                                    localPlayer.Character,
                                    findFirstChild(workspace, "Debris"),
                                    findFirstChild(workspace, "Ray_Ignore"),
                              }
                                                     local   result1 =
Color3.fromRGB(245, 0, 0):lerp(Color3.fromRGB(64, 64, 64),   safety)
                                                     local   result2 =
Color3.fromRGB(205, 0, 0):lerp(Color3.fromRGB(24, 24, 24),   safety)
                                                     esp.drawings.backcircle.Color
= result1
     esp.drawings.frontcircle.Color = result2
                                                end
                                          end
                                    elseif grenadetype:match("Flash") then -- just
look away
                                         local angle =
math.clamp(((math.abs(math.deg(math.acos((camera.CFrame.LookVector):Dot(newCframe(c
amera.CFrame.p, endpos).LookVector)))) * 2) / 180), 0, 1)
                                          esp.drawings.backcircle.Color = result1
                                          esp.drawings.frontcircle.Color = result2
                                    end
                             else
                                    for i, v in next, (esp.drawings) do
                                          v.Transparency =
math.clamp(v.Transparency - (dt * 2), 0.25, 1)
                                    end
                              end
                        else
                              for i, v in next, (esp.drawings) do
                                    v.Visible = false
                              end
                        end
                  end
                  if remove == true then
                        for i, v in next, (esp.drawings) do
                              v.Transparency = v.Transparency - (dt * 4)
                        end
                        if esp.drawings.backcircle.Transparency < 0 then
                              esp.updater:Disconnect()
                              for i, v in next, (esp.drawings) do
                                    v.Visible = false
                                    v = nil
                             end
                             for i, v in next, (objects) do
                                   for i2, v2 in next, (v) do
                                         v2:Destroy()
                                   end
                             end
                       end
                 end
            end)
            visuals.grenadetrajectories[1 + #visuals.grenadetrajectories] =
{predict, path, objects, esp}
      end
      workspace.Debris.ChildAdded:Connect(function(child)
            task.wait()
            if child:FindFirstChild("Explode") then
                  visuals.nadewarning(child)
            end
      end)]]
     visuals.fovCircles = {}
     do
           local fovCircles = {}
           fovCircles.circles = {}
           for i = 1, 5 do
                 local circle1 = visuals.createDrawing("Circle", {
                       Visible = false,
                       Thickness = 1,
                       Radius = 3,
                       Transparency = 1,
                       Filled = false
                 })
                 local circle2 = visuals.createDrawing("Circle", {
                       Visible = false,
                       Thickness = 3,
                       Color = Color3.new(),
                       Radius = 3,
                       Transparency = 0.25,
                       Filled = false
                 })
                 fovCircles.circles[i] = {
                       colored = circle1,
                       outline = circle2
                 }
            end
        local refreshedFovCircles = tick()
            fovCircles.loop = runService.Stepped:Connect(function()
            if tick() - refreshedFovCircles < 1/5 then
                return
            end
            --debug.profilebegin("fov circles")
            refreshedFovCircles = tick()
            camFov = camera.FieldOfView * 2
            local screenSize = camera.ViewportSize
            local centerScreen = newVector2(math.floor(screenSize.x / 2),
math.floor(screenSize.y / 2))
            for iter, v in next, {"Aim Assist FOV", "Aim Assist Deadzone FOV",
"Magnet Triggerbot FOV", "Bullet Redirection FOV", "Aimbot FOV"} do
                  local enabled = Menu["Visuals"]["FOV"][v]["Toggle"]["Enabled"]
                  local color = Menu["Visuals"]["FOV"][v]["Color 1"]["Color"]
            fovCircles.circles[4].colored.Radius = Menu["Legit"]["Bullet
Redirection"]["Silent Aim FOV"]["Value"] / camFov * screenSize.x
            fovCircles.circles[4].outline.Radius =
fovCircles.circles[4].colored.Radius
            fovCircles.circles[5].colored.Radius = Menu["Rage"]["Aimbot"]["Aimbot
FOV"]["Value"] / camFov * screenSize.x
            fovCircles.circles[5].outline.Radius =
fovCircles.circles[5].colored.Radius
            --debug.profileend()
            end)
            visuals.fovCircles = fovCircles
      end
end
do --ANCHOR Ragebot
      ragebot.fakeanimation = Instance.new("Animation")
      ragebot.fakeanimation.AnimationId = "rbxassetid://0"
      ragebot.fakehrp = nil -- the one that u control
      ragebot.realhrp = nil -- the one the server sees
      ragebot.lasthrpCf = CFrame.new()
      ragebot.returnpitch = false
      ragebot.jitterone = false
      ragebot.lastcrouch = tick()
      ragebot.lastcameracf = emptyCf
      ragebot.lastpitch = tick()
      ragebot.lastpitchangle = 0
      ragebot.lastcamupdate = tick()
      ragebot.hrpfix = nil
      ragebot.manualhrp = false
      ragebot.lby = tick()
      ragebot.autopeekrecovery = tick()
      ragebot.lastupdate = tick()
      ragebot.laststance = "Crouched"
      ragebot.shotindex = 0
      ragebot.lastreplicationtick = tick()
      ragebot.lastdt = tick()
      ragebot.lastshot = tick()
      ragebot.lastreload = tick()
      ragebot.triggerfl = false
      ragebot.currentindex = 1
      ragebot.hitboxes = {"Head", "UpperTorso", "LowerTorso", "LeftLowerArm",
"RightLowerArm", "LeftLowerLeg", "RightLowerLeg", "LeftFoot", "RightFoot"}
      ragebot.minimumDamage = 36
      ragebot.shootSound = Instance.new("Sound", camera);
      ragebot.currenttarget = {
            player = nil,
            instance = nil,
            position = nil,
            modifier = nil,
            wallbang = nil,
            pInfo = nil
      }
     ragebot.baseantiaimbotangles = {
           pitch = {
                 ["Default"] = -0.65,
                 ["Up"] = 0.9,
                 ["Down"] = -0.9,
                 ["Zero"] = 0,
                 ["Upside Down"] = -5,
                 ["Roll Forward"] = 0,
                 ["Roll Backward"] = 0,
                 ["Random"] = 0,
                 ["Bob"] = 0,
                 ["Glitch"] = math.sqrt(-1)
           },
           yaw = {
                 ["Forward"] = 0,
                 ["Backward"] = 180,
                 ["Spin"] = 0 ,
                 ["Random"] = 0,
                 ["Glitch Spin"] = 180,
                 ["Stutter Spin"] = 180
           },
     }
     function ragebot.restrictangle(angle)
           if angle > 360 then
                 return angle - 360
           elseif angle < 0 then
                 return angle + 360
           else
                 return angle
           end
     end
     ragebot.backtracks = {}
     ragebot.allPartsForBacktrack = {}
     ragebot.bodyParts = {
            "Head", "UpperTorso", "LowerTorso", "LeftUpperArm", "LeftLowerArm",
"LeftHand", "RightUpperArm", "RightLowerArm", "RightHand", "LeftUpperLeg",
"LeftLowerLeg", "LeftFoot", "RightUpperLeg", "RightLowerLeg", "RightFoot"
      }
     function ragebot.setupbacktrack(player)
       task.wait(1)
           local this = {}
           this.middlepoint = newVector3()
           this.backtrackParts = {}
           this.visualizations = {}
           this.frameLogs = {}
           this.tickLogs = {}
            this.spawnParts = function(characterModel)
                  for i = 1, #ragebot.bodyParts do
                        local partName = ragebot.bodyParts[i]
                        local part = characterModel:FindFirstChild(partName)
                        if part and not this.backtrackParts[partName] then
                              local bPart = Instance.new("Part")
                              bPart.Size = part.Size
                              bPart.Name = "HeadHB" -- holy shit invaded is a
genius, (if 1 > PartHit.Transparency or PartHit.Name == "HeadHB" then) cb decompile
                              bPart.Transparency = 1
                              bPart.Color = Color3.new(1, 1, 1)
                              bPart.Anchored = true
                              bPart.CanCollide = false
                              bPart.Parent = characterModel
                                    --[[ fixes a dt issue where it would go thru
backtrack then through their playermodel, this should make the game ignore their
player model as well once the backtrack is shot
                                          if PartHit and PartHit.Parent and
PartHit.Parent.Name == "Hitboxes" or PartHit and PartHit.Parent and
PartHit.Parent.Parent and PartHit.Parent.Parent:FindFirstChild("Humanoid2") or
PartHit and PartHit.Parent and PartHit.Parent:FindFirstChild("Humanoid2") or
PartHit and PartHit.Parent and PartHit.Parent:FindFirstChild("Humanoid") and (1 >
PartHit.Transparency or PartHit.Name == "HeadHB") and PartHit.Parent:IsA("Model")
then
                                                table.insert(hitlist,
PartHit.Parent)
                                          else
                                                table.insert(hitlist, PartHit)
                                          end
                                    ]]
                             this.backtrackParts[partName] = bPart
                             ragebot.allPartsForBacktrack[bPart] = part
                   local backtrackedFrame
                   for i, time in next, this.tickLogs do
                         local behindBy = thisTick - time
                         if behindBy > backtrackTime then
                     backtrackedFrame = this.frameLogs[time]
                               break
                         end
                   end
                      local v = this.visualizations[d]
                          if v then
                                if canShow then
                                      v.Color3 = colorShow
                                      v.Transparency = transShow
                                      v.Visible = true
                                else
                                      if v.Visible == true then
                                            v.Visible = false
                                            v.Transparency = 1
                                      end
                                end
                          end
                   else
                          this.onCharacterAdded(characterModel)
               break
           end
             end
       local thisFrame = {}
       for i = 1, #ragebot.bodyParts do -- for each body part
                   local d = ragebot.bodyParts[i]
                   local part = characterModel:FindFirstChild(d)
             if part then
                         thisFrame[d] = part.CFrame -- record this body part
                   end
       end
            table.insert(this.tickLogs, 1, thisTick)
            this.frameLogs[thisTick] = thisFrame -- record the entire frame
             --debug.profileend()
       end
       this.step = runService.Stepped:Connect(this.updateBacktrack)
       this.onCharacterRemoved = function()
             if this.frameLogs then
                   table.clear(this.frameLogs)
             end
             if this.tickLogs then
                   table.clear(this.tickLogs)
             end
       if this.backtrackParts then
                   for i, v in next, this.backtrackParts do
                         if ragebot.allPartsForBacktrack[v] then
                               ragebot.allPartsForBacktrack[v] = nil
                         end
                         v:Destroy()
                   end
                   table.clear(this.backtrackParts)
             end
             if this.visualizations then
                   for i,v in next, this.visualizations do
                         v:Destroy()
                   end
                   table.clear(this.visualizations)
             end
       end
           player.CharacterAdded:Connect(this.onCharacterAdded)
           ragebot.backtracks[player] = this
     end
     function ragebot.removebacktrack(player)
           local this = ragebot.backtracks[player]
           if this then
                 this.step:Disconnect()
                 this.step = nil
           this.onCharacterRemoved()
                 if this.backtrackParts then
                       for i, v in next, this.backtrackParts do
                             if ragebot.allPartsForBacktrack[v] then
                                   ragebot.allPartsForBacktrack[v] = nil
                             end
                             v:Destroy()
                             v = nil
                       end
                       table.clear(this.backtrackParts)
                       this.backtrackParts = nil
                 end
                 if ragebot.backtracks[player].visualizations then
                       for i,v in next, ragebot.backtracks[player].visualizations
do
                             v:Destroy()
                             v = nil
                       end
                       table.clear(ragebot.backtracks[player].visualizations)
                 end
                 ragebot.backtracks[player] = nil
           end
     end
     players.PlayerAdded:Connect(ragebot.setupbacktrack)
     players.PlayerRemoving:Connect(ragebot.removebacktrack)
            ragebot.lastupdate = tick()
            ragebot.jitterone = not ragebot.jitterone
            ragebot.baseantiaimbotangles.pitch["Roll Backward"] =
ragebot.baseantiaimbotangles.pitch["Roll Backward"] + (delta * 24)
            if ragebot.baseantiaimbotangles.pitch["Roll Backward"] > 4 then
                  ragebot.baseantiaimbotangles.pitch["Roll Backward"] = -4
            end
            ragebot.baseantiaimbotangles.pitch["Roll Forward"] =
ragebot.baseantiaimbotangles.pitch["Roll Forward"] - (delta * 24)
            if ragebot.baseantiaimbotangles.pitch["Roll Forward"] < -4 then
                   ragebot.baseantiaimbotangles.pitch["Roll Forward"] = 4
             end
             ragebot.baseantiaimbotangles.pitch.Random = math.random(-1000,
1000)/1000
             ragebot.baseantiaimbotangles.pitch.Bob = 0.5 * math.cos(16*tick())
            ragebot.baseantiaimbotangles.yaw.Spin =
ragebot.restrictangle(ragebot.baseantiaimbotangles.yaw.Spin + ((Menu["Rage"]["Anti
Aim"]["Yaw angle"]["Value"] * 30) * delta))
            local upperbound, lowerbound, dir
            if Menu["Rage"]["Anti Aim"]["Yaw angle"]["Value"] > 0 then
                  upperbound = Menu["Rage"]["Anti Aim"]["Yaw angle"]["Value"]
                  lowerbound = -1 * Menu["Rage"]["Anti Aim"]["Yaw angle"]["Value"]
                  dir = 1
            else
                  upperbound = -1 * Menu["Rage"]["Anti Aim"]["Yaw angle"]["Value"]
                  lowerbound = Menu["Rage"]["Anti Aim"]["Yaw angle"]["Value"]
                  dir = -1
            end
            ragebot.baseantiaimbotangles.yaw["Glitch Spin"] =
ragebot.restrictangle(ragebot.baseantiaimbotangles.yaw["Glitch Spin"] +
((Menu["Rage"]["Anti Aim"]["Yaw angle"]["Value"] + (math.cos(tick() * 16) *
math.sin(tick() * 32) * math.random(8, 12) * dir * math.random(-lowerbound,
upperbound)))))
            ragebot.baseantiaimbotangles.yaw["Stutter Spin"] =
ragebot.restrictangle(ragebot.baseantiaimbotangles.yaw["Stutter Spin"] +
((Menu["Rage"]["Anti Aim"]["Yaw angle"]["Value"] + (math.cos(tick() * 8) * 4 * dir
* math.random(lowerbound, upperbound)))))
      end
     function ragebot.setweapons()
           local primary = Menu["Misc"]["Extra"]["Buy Bot Primary"]["Value"]
           local secondary = Menu["Misc"]["Extra"]["Buy Bot Secondary"]["Value"]
             debug.setupvalue(client.autoequip, 1, primary)
             debug.setupvalue(client.autoequip, 2, secondary)
             debug.setupvalue(client.updateInventory, 7, primary)
             debug.setupvalue(client.updateInventory, 8, primary)
             debug.setupvalue(client.updateInventory, 11, secondary)
             client.updateInventory()
             client.autoequip()
            debug.setupvalue(client.reloadwep, 8,
replicatedStorage.Weapons:FindFirstChild(primary):FindFirstChild("Ammo").Value)
            debug.setupvalue(client.reloadwep, 9,
replicatedStorage.Weapons:FindFirstChild(primary):FindFirstChild("StoredAmmo").Valu
e)
            debug.setupvalue(client.reloadwep, 10,
replicatedStorage.Weapons:FindFirstChild(secondary):FindFirstChild("Ammo").Value)
            debug.setupvalue(client.reloadwep, 11,
replicatedStorage.Weapons:FindFirstChild(secondary):FindFirstChild("StoredAmmo").Va
lue)
           client.countammo()
     end
     Menu["Misc"]["Extra"]["Buy Weapons"]["Button"].Pressed:Connect(function()
            if ragebot.fakehrp then
                  ragebot.setweapons()
            end
     end)
      function ragebot.nearesttocrosshair()
            local lowest = inf
            local nearest
            for i, pInfo in next, (playerInfo.storage) do
                  if pInfo.alive and pInfo.enemy and not (pInfo.protected or
pInfo.god) then
                        local angle =
(math.abs(math.deg(math.acos((camera.CFrame.LookVector):Dot(newCframe(camera.CFrame
.p, pInfo.character.HumanoidRootPart.Position).LookVector))))) * 2 -- cope!!!
                        if angle < lowest then
                              lowest = angle
                              nearest = pInfo
                        end
                  end
            end
            return nearest
      end
    local targetThirdPersonDistance = 0
    local timeSinceLast3p = 0
    runService.RenderStepped:Connect(function(deltaTime)
         if Menu["Visuals"]["Camera"]["Third Person"]["Toggle"]["Enabled"] and
Menu["Visuals"]["Camera"]["Third Person"]["Bind"]["Active"] and
localPlayer.Character and localPlayer.Character:FindFirstChild("Humanoid") then
              local thingy = math.clamp((1 / (-2.71828 ^ (8 *
math.clamp(timeSinceLast3p, 0, 2)))) + 1, 0, 1) * Menu["Visuals"]["Camera"]["Third
Person Distance"]["Value"] / 10
              targetThirdPersonDistance = thingy
              timeSinceLast3p = timeSinceLast3p + deltaTime
         else
              timeSinceLast3p = 0
              targetThirdPersonDistance = 0
         end
    end)
      local oldNIndex; oldNIndex = hookmetamethod(game, "__newindex",
function(self, k, v)
             if self == camera and k == "CFrame" then
              if tostring(getcallingscript()) == "Client" and Menu["Visuals"]
["Camera"]["Remove Camera Recoil"]["Toggle"]["Enabled"] then
                        return
              end
             end
             if Menu["Visuals"]["Camera"]["Disable Scope Border"]["Toggle"]
["Enabled"] and self.Name == "Blur" and self.Parent.Name == "Scope" then
              v = 0
         end
             return oldNIndex(self, k, v)
      end)
      local oldIndex; oldIndex = hookmetamethod(game, "__index", function(self, k)
             if k == "Velocity" and self.Parent == localPlayer.Character and
ragebot.fakehrp then
                    return oldIndex(ragebot.fakehrp, k)
             end
             return oldIndex(self, k)
     end)
      runService:BindToRenderStep("cameraFix", Enum.RenderPriority.Camera.Value +
1, function()
            if Menu["Visuals"]["Camera"]["Third Person"]["Toggle"]["Enabled"] and
Menu["Visuals"]["Camera"]["Third Person"]["Bind"]["Active"] then
                   local wall, pos, norm =
workspace:FindPartOnRayWithWhitelist(Ray.new(camera.CFrame.p, (camera.CFrame *
CFrame.new(0, 0, targetThirdPersonDistance).p) - camera.CFrame.p), {workspace.Map},
true)
                   camera.CFrame = camera.CFrame * CFrame.new(0, 0, (pos -
camera.CFrame.p).Magnitude - (wall and 0.15 or 0))
             if camera.CameraType ~= Enum.CameraType.Track and
targetThirdPersonDistance > 0 then
                 camera.CameraType = Enum.CameraType.Track
             end
        else
             if camera.CameraType ~= Enum.CameraType.Custom then
                 camera.CameraType = Enum.CameraType.Custom
             end
            end
      end)
     function ragebot.setupfakehrp(char)
           local oldhrp = char:WaitForChild("HumanoidRootPart", 1/0)
            ragebot.realhrp = oldhrp
            ragebot.lasthrpCf = ragebot.realhrp.CFrame
            ragebot.fakehrp = oldhrp:Clone() --then u are leaking fakelag
            ragebot.realhrp.Name = "___"
            ragebot.fakehrp.Name = "HumanoidRootPart"
            ragebot.fakehrp.Parent = char
            cachereplace(ragebot.realhrp, ragebot.fakehrp)
            ragebot.fakehrp.CFrame = ragebot.lasthrpCf
            ragebot.realhrp.CFrame = ragebot.lasthrpCf
            physicsService:SetPartCollisionGroup(ragebot.fakehrp, "Debris")
     end
     ragebot.hrpfix = runService.Stepped:Connect(function(delta)
           --debug.profilebegin("hrp fix")
           local char = localPlayer.Character
           if not ragebot.realhrp or not ragebot.fakehrp or not char then
                 return
           end
        ragebot.realhrp.AssemblyLinearVelocity = emptyVec3
          --ragebot.realhrp.AssemblyLinearVelocity =
newVector3(ragebot.realhrp.AssemblyLinearVelocity.x, 0,
ragebot.realhrp.AssemblyLinearVelocity.z)
            --[[if findFirstChild(char, "Gun") then
                  for i, v in next, (char.Gun:GetChildren()) do
                           if v.Name == "GunWeld" then
                                 v.Part0 = nil
                           end
                    end
              end]]
              --debug.profileend()
     end)
     function ragebot.removefakehrp()
           if ragebot.fakehrp == nil then return end
           ragebot.fakehrp.Name = "___"
           ragebot.realhrp.CFrame = ragebot.fakehrp.CFrame -- sync the fuck
           ragebot.realhrp.Name = "HumanoidRootPart"
           ragebot.fakehrp:Destroy()
           ragebot.fakehrp = nil
           ragebot.realhrp = nil
     end
     if localPlayer.Character then
           ragebot.setupfakehrp(localPlayer.Character)
     end
      localPlayer.CharacterAdded:Connect(function()
            repeat task.wait() until localPlayer.Character and
localPlayer.Character:FindFirstChild("Humanoid") and
localPlayer.Character.Humanoid.Health > 0
            task.wait(2)
            if localPlayer.Character and
localPlayer.Character:FindFirstChild("HumanoidRootPart") then
                  ragebot.setupfakehrp(localPlayer.Character)
                  if Menu["Misc"]["Extra"]["Auto Buy Bot"]["Toggle"]["Enabled"]
then
                        ragebot.setweapons()
                  end
            end
      end)
localPlayer.CharacterRemoving:Connect(ragebot.removefakehrp)
                  end
                  if neck then
                        neck.C0 = necko * CFrame.Angles(((pi / 3) * 1) *
ylookvector, 0, 0)
                  end
                  if arm then
                        arm.C0 = armo2 * CFrame.Angles(((pi / 3) * 1) * ylookvector
* 0.5, 0, 0)
                  end
                  if arm2 then
                        arm2.C0 = armo1 * CFrame.Angles(((pi / 3) * 1) *
ylookvector * 0.5, 0, 0)
                  end
                  if climbing then
                        waist.C0 = uppat
                        neck.C0 = necko
                        arm.C0 = armo2
                        arm2.C0 = armo1
                  end
            end
      end
      ragebot.fakeLagging = false
    local fakeReplicationUpdate = function(uptime, delta)
                   ragebot.controlturn(localPlayer, ragebot.lastpitchangle,
lastClimbStatus)
            end
            ragebot.fakeLagging = false
            -- we dont actually change the fakehrp shit, this makes climbing
ladders n shit really easy
            -- we just base the unfucked angles on fakehrp, manipulate that then
set the realhrp cframe to the fucked one
            if Menu["Rage"]["Fake Lag"]["Enabled"]["Toggle"]["Enabled"] then
                  task.wait(Menu["Rage"]["Fake Lag"]["Replication Delay"]
["Value"]/1000)
                  ragebot.fakeLagging = true
            end
            if localPlayer.Character:FindFirstChild("HeadHB") and
localPlayer.Character:FindFirstChild("FakeHead") then
                  if not localPlayer.Character.HeadHB:FindFirstChild("Weld") and
not localPlayer.Character.FakeHead:FindFirstChild("Weld") then
                        localPlayer.Character.FakeHead.AssemblyLinearVelocity =
newVector3()
                        localPlayer.Character.HeadHB.AssemblyLinearVelocity =
newVector3()
                        localPlayer.Character.FakeHead.CFrame =
localPlayer.Character.Head.CFrame
                        localPlayer.Character.HeadHB.CFrame =
localPlayer.Character.Head.CFrame
                  end
            end
            -- prevent replication
            if Menu["Rage"]["Fake Lag"]["Prevent Replication"]["Toggle"]["Enabled"]
and Menu["Rage"]["Fake Lag"]["Prevent Replication"]["Bind"]["Active"] then
                  ragebot.fakeLagging = true
                  return
            end
                  if triggerfl then
                        local timesincelastrefresh = tick() -
ragebot.lastreplicationtick
                        local limit = Menu["Rage"]["Fake Lag"]["Limit"]["Value"] /
64
                        if timesincelastrefresh < limit then
                              ragebot.fakeLagging = true
                              return
                        end
                  end
            end
            -- pitch
            if Menu["Rage"]["Anti Aim"]["Pitch"]["Value"] ~= "Off" then
                  pitch = ragebot.baseantiaimbotangles.pitch[Menu["Rage"]["Anti
Aim"]["Pitch"]["Value"]]
                  if Menu["Rage"]["Anti Aim"]["Pitch Extension"]["Toggle"]
["Enabled"] then
                        pitch = pitch * 2
                  end
            end
                       local baseDirs = {}
                       local scanfrom = {}
                       local scores = {}
                       baseDirs[newVector3(1, 0, 0).unit] = {}
                       baseDirs[newVector3(-1, 0, 0).unit] = {}
                       baseDirs[newVector3(0, 0, 1).unit] = {}
                       baseDirs[newVector3(0, 0, -1).unit] = {}
                             scanfrom[trueDir] = {}
                             scores[trueDir] = 0
                          local idealFreestand
                          local min = inf
                          for dir, score in next, scores do
                                if score < min then
                                      idealFreestand = dir
                                      min = score
                                end
                          end
                        if idealFreestand then
                              delayedcf = newCframe(delayedcf.p, (delayedcf.p +
idealFreestand)) -- freestand the opposite of the most dangerous vector
                                   if
localPlayer.Character.HeadHB:FindFirstChild("Weld") then
      localPlayer.Character.HeadHB.Weld:Destroy()
                                    end
                                    if
localPlayer.Character.FakeHead:FindFirstChild("Weld") then
     localPlayer.Character.FakeHead.Weld:Destroy()
                                   end
                                   if tick() - ragebot.lby > 63/64 then
                                         if tick() - ragebot.lby > 1 then
                                               ragebot.lby = tick()
                                         end
                                   end
                             end]]
                       end
                 end
                   -- now that we've finished choosing our real angle, change the
delayed cf
                   delayedcf = delayedcf * CFrame.Angles(0, toRad * realangle, 0)
             end
ragebot.lasthrpCf = delayedcf
ragebot.lastreplicationtick = tick()
            if localPlayer.Character:FindFirstChild("HeadHB") and
localPlayer.Character:FindFirstChild("FakeHead") then
                  if not localPlayer.Character.HeadHB:FindFirstChild("Weld") and
not localPlayer.Character.FakeHead:FindFirstChild("Weld") then
                        localPlayer.Character.FakeHead.AssemblyLinearVelocity =
newVector3(0, 0, 0)
                        localPlayer.Character.HeadHB.AssemblyLinearVelocity =
newVector3(0, 0, 0)
                        localPlayer.Character.FakeHead.CFrame =
localPlayer.Character.Head.CFrame
                        localPlayer.Character.HeadHB.CFrame =
localPlayer.Character.Head.CFrame
                  end
            end
      --:nerd:
      -- here we can see femboy doing his programming weird shit in his natural
habitat so called man cave
      -- fuck u
      ragebot.hitgroups = {
            ["Head"] = {"Head"},
            ["Chest"] = {"UpperTorso"},
            ["Pelvis"] = {"LowerTorso"},
            ["Arms"] = {"LeftLowerArm", "RightLowerArm", "LeftUpperArm",
"RightUpperArm"},
            ["Legs"] = {"LeftLowerLeg", "LeftUpperLeg", "RightLowerLeg",
"RightUpperLeg"},
            ["Feet"] = {"LeftFoot", "RightFoot"}
      }
      ragebot.multipointdirections = {}
      for x = -1, 1 do
            for y = -1, 1 do
                  for z = -1, 1 do
                        if x == 0 and y == 0 and z == 0 then
                        else
                              ragebot.multipointdirections[1 +
#ragebot.multipointdirections] = {newVector3(x, y, z).unit, (x == 0 and "" or x > 0
and "+X, " or x < 0 and "-X, ") .. (y == 0 and "" or y > 0 and "+Y, " or y < 0 and
"-Y, ") .. (z == 0 and "" or z > 0 and "+Z, " or z < 0 and "-Z, ")}
                        end
                  end
            end
      end
     ragebot.hitmodifier = {
           Head = 4,
           FakeHead = 4,
           HeadHB = 4,
           UpperTorso = 1,
           LowerTorso = 1.25,
           LeftUpperArm = 1,
           LeftLowerArm = 1,
           LeftHand = 1,
           RightUpperArm = 1,
           RightLowerArm = 1,
           RightHand = 1,
           LeftUpperLeg = 0.75,
           LeftLowerLeg = 0.75,
           LeftFoot = 0.75,
           RightUpperLeg = 0.75,
           RightLowerLeg = 0.75,
           RightFoot = 0.75
     }
     function ragebot.incrementammo()
           local equipped = debug.getupvalue(client.autoreload, 1)
           local currentammo = 0
           local ammoPrimary = debug.getupvalue(client.reloadwep, 8)
           local ammoSecondary = debug.getupvalue(client.reloadwep, 10)
           if equipped == "primary" and ammoPrimary >= 1 then
                 currentammo = ammoPrimary - 1;
                 debug.setupvalue(client.reloadwep, 8, currentammo);
           elseif equipped == "secondary" and ammoSecondary >= 1 then
                 currentammo = ammoSecondary - 1;
                 debug.setupvalue(client.reloadwep, 10, currentammo);
           end
           if currentammo == 0 and client.fgun:FindFirstChild("Melee") == nil then
                 ragebot.lastreload = tick()
                 ragebot.currenttarget = {
                       player = nil,
                       instance = nil,
                       position = nil,
                       modifier = nil,
                       wallbang = nil,
                       pInfo = nil
                 }
                 client.autoreload()
           end
           client.countammo()
     end
     function ragebot.fakeshoot(Parameters)
           local fireAnimation = debug.getupvalue(client.reloadwep, 19)
            if fireAnimation and client.fgun ~= "none" then
                  fireAnimation:Play()
                  client.updateads() -- unscope the awp and scout on-shot
                  replicatedStorage.Events.ReplicateAnimation:FireServer("Fire")
                  if localPlayer.Character:FindFirstChild("Gun") then
                        local soundData = findFirstChild(localPlayer.Character.Gun,
"SShoot") or findFirstChild(localPlayer.Character.Gun, "Shoot") or
findFirstChild(localPlayer.Character.Gun, "Shoot1") -- shoot1 for the knife swing
sound
      replicatedStorage.Events.RemoteEvent:FireServer({"createparticle", "muzzle",
localPlayer.Character.Gun.Flash, nil})
                              if Parameters.walls then
                                    for i, v in next, (Parameters.walls) do
                                          client.hitobject(v["Hit"], v["Enter"],
v["Normal"], client.fgun, false)
                                          client.hitobject(v["Hit"], v["Exit"], -
v["Normal"], client.fgun, false)
                                    end
                              end
                        end
                  end
            end
           ragebot.incrementammo()
     end
     --warning autowall is kinda scuffed it ,makes u look like stormy paste user
     --nnvm i know how to fix fix
           local penetrationPassed = 0
           local wallsPenetrated = 0
           repeat
                 local enterresult = workspaceRaycast(workspace, origin,
direction, enterParam)
exitParam.FilterDescendantsInstances = {wall}
             local penetrationPassed = 0
             local wallPassed = {}
             local wallsPenetrated = 0
            repeat
                  local enterresult = workspaceRaycast(workspace, origin,
direction, enterParam)
enterParam.FilterDescendantsInstances = ignore
      function ragebot.getweaponconfig(weapon)
            local currentweapon = weapon.Name
            for i, weapongroup in next, (ragebot.weaponconfigs) do
                  for i2, weapontype in next, (weapongroup) do
                        for i3, weapon in next, (weapontype) do
                              if currentweapon == weapon then
                                    local hitParts = {}
                                    for i4, v4 in next, (Menu["Rage"][i][i2 .. "
Hitboxes"]["Value"]) do
                                          for i5, v5 in next,
(ragebot.hitgroups[v4]) do -- translated to dn
                                                hitParts[1 + #hitParts] = v5
                                          end
                                    end
                                    return hitParts, Menu["Rage"][i][i2 .. "
Minimum Damage"]["Value"]
                              end
                        end
                  end
            end
      end
      function ragebot.hitgrouptohitbox(hitboxes)
            local chosenhitboxes = {}
            for i, v in next, (hitboxes) do
                  for i2, v2 in next, (ragebot.hitgroups[v]) do -- translate the
hitgroups
                        chosenhitboxes[1 + #chosenhitboxes] = v2
                  end
            end
            return chosenhitboxes
      end
      -- OMG DUDE
      function ragebot.getorigins(toward)
            local origins = {}
            local from = localPlayer.Character.HumanoidRootPart.Position +
newVector3(0, 1.4, 0) + localPlayer.Character.Humanoid.CameraOffset
            origins[1 + #origins] = {from, "Base"}
            local base = newCframe(from, from + camera.CFrame.LookVector.unit)
            local factor = 10
            if Menu["Rage"]["Hack vs. Hack"]["Autowall Hitscan"]["Toggle"]
["Enabled"] then
                  local offsetOrigins = {}
                  if table.find(Menu["Rage"]["Hack vs. Hack"]["Hitscan Points"]
["Value"], "Up") ~= nil then
                        offsetOrigins[1 + #offsetOrigins] = {(base * newCframe(0,
factor, 0)).p, "Up"} -- up
                  end
                  if table.find(Menu["Rage"]["Hack vs. Hack"]["Hitscan Points"]
["Value"], "Down") ~= nil then
                        offsetOrigins[1 + #offsetOrigins] = {(base * newCframe(0, -
factor, 0)).p, "Down"} -- down
                  end
                  if table.find(Menu["Rage"]["Hack vs. Hack"]["Hitscan Points"]
["Value"], "Left") ~= nil then
                        offsetOrigins[1 + #offsetOrigins] = {(base * newCframe(-
factor, 0, 0)).p, "Left"} -- left
                  end
                  if table.find(Menu["Rage"]["Hack vs. Hack"]["Hitscan Points"]
["Value"], "Right") ~= nil then
                        offsetOrigins[1 + #offsetOrigins] = {(base *
newCframe(factor, 0, 0)).p, "Right"} -- right
                  end
                  if table.find(Menu["Rage"]["Hack vs. Hack"]["Hitscan Points"]
["Value"], "Backward") ~= nil then
                        offsetOrigins[1 + #offsetOrigins] = {(base * newCframe(0,
0, factor)).p, "Backward"} -- backwards
                  end
                  if table.find(Menu["Rage"]["Hack vs. Hack"]["Hitscan Points"]
["Value"], "Forward") ~= nil then
                        offsetOrigins[1 + #offsetOrigins] = {(base * newCframe(0,
0, -factor)).p, "Forward"} -- forwards
                  end
                  if table.find(Menu["Rage"]["Hack vs. Hack"]["Hitscan Points"]
["Value"], "Towards") ~= nil then
                        offsetOrigins[1 + #offsetOrigins] = {(base +
(newCframe(from, toward).LookVector.Unit * factor)).p, "Towards"} -- towards
                  end
                  for i = 1, #offsetOrigins do
                        local shootFromData = offsetOrigins[i]
                        local shootFrom = shootFromData[1]
                              --[[local dir = (shootFrom - base.p).unit
                              for pullFactor = 1, factor, 1 do
                                    origins[1 + #origins] = {base.p + (dir *
pullFactor), shootFromData}
                              end]]
                        origins[1 + #origins] = shootFromData
                  end
            end
           return origins
     end
        function ragebot.getpoints(enemy)
              local pInfo = enemy.pInfo -- their player info
              local char = pInfo.character -- their char
              local plr = pInfo.player -- the roblox player
            -- camera$resolve$
            if Menu["Rage"]["Hack vs. Hack"]["Resolve Positions"]["Toggle"]
["Enabled"] then
                  local camerapos = plr.CameraCF.Value.p
                  if camerapos == camerapos and camerapos ~= emptyVec3 and
pInfo.camcf ~= pInfo.lastcameracf and (camerapos -
pInfo.rootpart.CFrame.p).Magnitude > 8 then -- if they have a valid camera pos
                        scan[1 + #scan] = {scan[1][1], camerapos, "Resolved"} --
add the camerapos and associate it with the hitbox of the first scanpoint
                        validinstances[scan[1][1].Name] = {scan[1][1], camerapos}
                  end
            end
            -- since we have backtracking and are able to shoot at where the enemy
was previously, try to scan their previous positions
            if Menu["Rage"]["Hack vs. Hack"]["Back Tracking"]["Toggle"]["Enabled"]
then
                  local btpoints = ragebot.hitgrouptohitbox(Menu["Rage"]["Hack vs.
Hack"]["Back Tracking Points"]["Value"])
                  local enemybacktrack = ragebot and ragebot.backtracks and
ragebot.backtracks[plr] and ragebot.backtracks[plr].backtrackParts
                  if enemybacktrack then
                        for i, v in next, btpoints do
                              local correspondinginstance = validinstances[v]
                              if correspondinginstance then
                                    local instance = correspondinginstance[1]
                                    local center = correspondinginstance[2]
                                    local backtrackedtick =
enemybacktrack[instance.Name == "HeadHB" and "Head" or instance.Name]
                                    if backtrackedtick and
(backtrackedtick.Position - center).Magnitude > 0.1 and (backtrackedtick.Position -
emptyVec3).Magnitude > 0.1 then -- located their backtrack point
                                          scan[1 + #scan] = {instance,
backtrackedtick.Position, "Backtrack"}
                                    end
                              end -- this doesnt have a valid centerpoint to base
our thing off of
                        end
                  end
            end
scanOrigins[1 + #scanOrigins] = o
table.remove(origins, origin)
                       scanGroups[1 + #scanGroups] = {
                             origins = scanOrigins,
                             points = scanPoints
                       }
                 end
           end
           -- kevlar
           local haskevlar = findFirstChild(plr, "Kevlar")
           local hashelmet = haskevlar and findFirstChild(plr, "Helmet")
           local armorpiercing = gun.ArmorPenetration.Value
                              if penetrable then
                                    local damage = pellets * weapondamage *
damagemodifier * (ishead and 4 or ragebot.hitmodifier[instance.Name]) *
ragebot.kevlardamage(armorpiercing, haskevlar, hashelmet, ishead) *
ragebot.distancedamagemodifier((from - char.HumanoidRootPart.Position).Magnitude,
rangemodifier)
                                    if damage > minimumdamage then
                                          hits[1 + #hits] = { -- record that we hit
this
                                                to = {to, todata},
                                                from = {from, fromdata},
                                                instance = instance,
                                                damage = damage,
                                                wallbang = wallbang,
                                                damagemodifier = damagemodifier,
                                          }
                                      end
                                end -- this point cannot be hit, continue to the next
one
                        end
                  end
            end
                  return nearest
            else -- we have selected multi aura
                  -- ok so if they are in our range
                  ragebot.currentindex = ragebot.currentindex + 1 -- okay lets move
to the next idx in the enemies table (scan the next enemy)
                  if ragebot.currentindex > #enemies then -- okay that idx is too
high so go back to 1
                        ragebot.currentindex = 1
                  end
                  local enemy = enemies[ragebot.currentindex]
                  if not ((enemy.pInfo.character.HumanoidRootPart.Position -
from).Magnitude < Menu["Rage"]["Aimbot"]["Knife Bot Range"]["Value"]) then return
end
                  ragebot.currenttarget.player = enemy.player
                  ragebot.currenttarget.instance =
enemy.pInfo.character.HumanoidRootPart
                  ragebot.currenttarget.position =
enemy.pInfo.character.HumanoidRootPart.Position
                  ragebot.currenttarget.modifier = 1
                  ragebot.currenttarget.wallbang = false
                  ragebot.currenttarget.pInfo = enemy.pInfo
                  hitPart:FireServer(
                        ragebot.currenttarget.instance, -- 1
                        ragebot.currenttarget.position, -- 2
                        client.fgun.Name,
                        client.fgun.Range.Value,
                        nil,
                        nil,
                        1,
                        false,
                        false,
                        localPlayer.Character.HumanoidRootPart.Position +
newVector3(0, 2, 0) + localPlayer.Character.Humanoid.CameraOffset,
                        workspace.DistributedTime.Value,
                        Vector3.zero,
                        false,
                        "r",
                        nil,
                        nil,
                        nil
                 )
                 return
           end
     end
           ragebot.currenttarget.player = nil
           ragebot.currenttarget.instance = nil
           ragebot.currenttarget.position = nil
           ragebot.currenttarget.modifier = nil
           ragebot.currenttarget.wallbang = nil
           ragebot.currenttarget.origin = nil
           ragebot.currenttarget.pInfo = nil
            -- no ammo..
            local enemies = {}
            for i, pInfo in next, (playerInfo.storage) do
                  if pInfo.alive and pInfo.enemy and not (pInfo.protected or
pInfo.god) then
                        if Menu["Rage"]["Aimbot"]["Aimbot FOV"]["Value"] == 180 or
(math.abs(math.deg(math.acos((camera.CFrame.LookVector):Dot(newCframe(camera.CFrame
.p, pInfo.character.HumanoidRootPart.Position).LookVector))))) * 2 < Menu["Rage"]
["Aimbot"]["Aimbot FOV"]["Value"] then
                              enemies[1 + #enemies] = {player = pInfo.player, pInfo
= pInfo}
                        end
                  end
            end
            local result
            if gun:FindFirstChild("Melee") and Menu["Rage"]["Aimbot"]["Knife Bot"]
["Toggle"]["Enabled"] then -- okay so we're holding our knifebot so we need to use
our knifebot
                  result = ragebot.knifebot()
            else -- okay no knife, ragebot.scan!!
                  ragebot.currentindex = ragebot.currentindex + 1 -- okay lets move
to the next idx in the enemies table (scan the next enemy)
                  if ragebot.currentindex > #enemies then -- okay that idx is too
high so go back to 1
                        ragebot.currentindex = 1
                  end
                  result = ragebot.scan(enemies[ragebot.currentindex])
            end
           ragebot.currenttarget.player = result.player
           ragebot.currenttarget.instance = result.instance
           ragebot.currenttarget.position = result.to[1]
           ragebot.currenttarget.modifier = result.damagemodifier
           ragebot.currenttarget.wallbang = result.wallbang
           ragebot.currenttarget.origin = result.from[1]
           ragebot.currenttarget.pInfo = result.pInfo
do --ANCHOR Misc
      misc.oldmoney = 0
      misc.oldweaponstats = {}
      misc.lastchatmessage = tick()
      misc.lastupdate = tick()
      misc.hitsound = Instance.new("Sound", camera)
      misc.killsound = Instance.new("Sound", camera)
      misc.killsaylines = {Menu["Misc"]["Extra"]["Kill Say Message"]["Value"]}
      misc.ammomodded = false
      misc.olddamage = 0 -- i am not stormy (plays hit and kill sound when the
total damage gets reset)
      misc.oldkills = 0
      misc.lastcheck = tick()
      misc.killFeed = {}
      misc.gunByIcon = {}
      local imagesLoaded = 0
      local constants =
getconstants(require(replicatedStorage.GetIcon).getWeaponOfKiller)
      local totalImages = #constants
      local imagecache = {}
      for i = 2, #constants + 1 do
            coroutine.wrap(function()
                  local gun = constants[i-1]
                  local rbxassetid = constants[i]
                  if gun == "C4" or replicatedStorage.Weapons:FindFirstChild(gun)
then
                        if rbxassetid and rbxassetid:find("rbxassetid") then
                              misc.gunByIcon[rbxassetid] = gun
                        end
                  end
                  imagesLoaded = imagesLoaded + 1
            end)()
      end
           --[[misc.checkgoddedplrs = function()
                 if tick() - misc.lastcheck > 0.05 then
                       misc.lastcheck = tick()
                       if Menu["Misc"]["Extra"]["Auto Martyrdom"]["Toggle"]
["Enabled"] then
                              for i, v in next, (players:GetPlayers()) do
                                    if v ~= localPlayer then
                                          local character = v.Character
                                          if character ~= nil and
character:FindFirstChild("Humanoid") then
                                                if
character:FindFirstChild("Hostage") or character.Humanoid.Health ~=
character.Humanoid.Health then
      replicatedStorage.Events.PlaySound:FireServer(character,
replicatedStorage.Hostage.Head)
                                               end
                                          end
                                    end
                              end
                        end
                  end
            end
            runService.Heartbeat:Connect(misc.checkgoddedplrs)]]
      misc.updateweaponstats = function()
            local currentgun = client.fgun
            if currentgun == "none" or not currentgun then return end
            if misc.oldweaponstats[currentgun.Name] == nil or tick() -
misc.lastupdate < 0.05 then return end
            misc.lastupdate = tick()
            if Menu["Misc"]["Weapon Modifications"]["Enabled"]["Toggle"]["Enabled"]
then
                  for i, v in next, (misc.oldweaponstats[currentgun.Name]) do
                        local stat = client.fgun:FindFirstChild(i)
                        if stat ~= nil then
                              local statname = i
                              if statname == "FireRate" then
                                    stat.Value = Menu["Misc"]["Weapon
Modifications"]["Fire Rate Scale"]["Value"] == 1200 and 0 or v / (Menu["Misc"]
["Weapon Modifications"]["Fire Rate Scale"]["Value"]/100)
                              else
                                    stat.Value = v
                              end
                              if statname == "EquipTime" then
                                    if Menu["Misc"]["Weapon Modifications"]
["Instant Equip"]["Toggle"]["Enabled"] then
                                          stat.Value = 0.00001
                                    else
                                          stat.Value = v
                                    end
                              end
                              if statname == "ReloadTime" then
                                    if Menu["Misc"]["Weapon Modifications"]
["Instant Reload"]["Toggle"]["Enabled"] then
                                          stat.Value = 0.00001
                                    else
                                          stat.Value = v
                                    end
                              end
                              if statname == "Auto" then
                                    if Menu["Misc"]["Weapon Modifications"]["Fully
Automatic"]["Toggle"]["Enabled"] then
                                          stat.Value = true
                                    else
                                          stat.Value = v
                                    end
                              end
                        end
                  end
                  if Menu["Misc"]["Weapon Modifications"]["Infinite Ammo"]
["Toggle"]["Enabled"] then
                        misc.ammomodded = true
                        debug.setupvalue(client.reloadwep, 8, 9e9)
                        debug.setupvalue(client.reloadwep, 10, 9e9)
                  else
                        if misc.ammomodded == true then
                              debug.setupvalue(client.reloadwep, 8, 0)
                              debug.setupvalue(client.reloadwep, 10, 0)
                              misc.ammomodded = false
                        end
                  end
            else
                  for i, v in next, (misc.oldweaponstats[currentgun.Name]) do
                        local stat = client.fgun:FindFirstChild(i)
                        if stat ~= nil and (stat:IsA("NumberValue") or
stat:IsA("IntValue") or stat:IsA("BoolValue")) then
                              stat.Value = v
                        end
                  end
                  if misc.ammomodded == true then
                        debug.setupvalue(client.reloadwep, 8, 0)
                        debug.setupvalue(client.reloadwep, 10, 0)
                        misc.ammomodded = false
                  end
            end
      end
      runService.Stepped:Connect(function()
            --debug.profilebegin("modify weapons")
            misc.updateweaponstats()
            --debug.profileend()
      end)
      misc.joinnewgame = function()
            UILibrary:EventLog("Joining a new game...", 5)
            local thing =
httpService:JSONDecode(game:HttpGet("https://games.roblox.com/v1/games/" ..
game.PlaceId .. "/servers/Public?sortOrder=Asc&limit=100"))
            local jobid = thing.data[math.random(1, table.getn(thing.data))].id
            teleportService:TeleportToPlaceInstance(game.PlaceId, jobid)
      end
      Menu["Misc"]["Extra"]["Join A New Game"]
["Button"].Pressed:Connect(misc.joinnewgame)
     localPlayer.Cash.Changed:Connect(function()
           if Menu["Misc"]["Extra"]["Infinite Money"]["Toggle"]["Enabled"] then
                 task.wait(0.1)
                 localPlayer.Cash.Value = 10000
           end
     end)
      function misc.updatemoney()
            if Menu["Misc"]["Extra"]["Infinite Money"]["Toggle"]["Enabled"] then
                  misc.oldmoney = localPlayer.Cash.Value
                  task.wait()
                  localPlayer.Cash.Value = 10000
            else
                  localPlayer.Cash.Value = misc.oldmoney
            end
      end
      Menu["Misc"]["Extra"]["Infinite Money"]
["Toggle"].Changed:Connect(misc.updatemoney)
      function misc.hitplayer()
            if localPlayer.Additionals.TotalDamage.Value > misc.olddamage then
                  if Menu["Misc"]["Extra"]["Hit Sound"]["Toggle"]["Enabled"] then
                        misc.hitsound.SoundId = "rbxassetid://" .. Menu["Misc"]
["Extra"]["Hit Sound ID"]["Value"]
                        misc.hitsound.Volume = Menu["Misc"]["Extra"]["Hit Sound
Volume"]["Value"] / 10
                        misc.hitsound:Play()
                  end
                  local dmgdealt = localPlayer.Additionals.TotalDamage.Value -
misc.olddamage
                  if Menu["Visuals"]["Camera"]["Hit Marker"]["Toggle"]["Enabled"]
then
                        local upper = 4
                        local lower = 8
                        if Menu["Visuals"]["Camera"]["Hit Marker Type"].Value ==
"2D" then
                              local transSignal = Library.Signal.new()
                              for i = 1, 4 do
                                    local line = visuals.createDrawing("Line", {
                                          Color = Color3.new(1, 1, 1),
                                          Transparency = 1,
                                          Thickness = 1,-- what the fuck
                                          From = i == 1 and
newVector2(viewportSize.x / 2 + upper, viewportSize.y / 2 + upper) or i == 2 and
newVector2(viewportSize.x / 2 + upper, viewportSize.y / 2 - upper) or i == 3 and
newVector2(viewportSize.x / 2 - upper, viewportSize.y / 2 - upper) or i == 4 and
newVector2(viewportSize.x / 2 - upper, viewportSize.y / 2 + upper),
                                          To = i == 1 and newVector2(viewportSize.x
/ 2 + lower, viewportSize.y / 2 + lower) or i == 2 and newVector2(viewportSize.x /
2 + lower, viewportSize.y / 2 - lower) or i == 3 and newVector2(viewportSize.x / 2
- lower, viewportSize.y / 2 - lower) or i == 4 and newVector2(viewportSize.x / 2 -
lower, viewportSize.y / 2 + lower),
                                          Visible = true
                                    })
                                    local loop; loop =
runService.Stepped:Connect(function()
                                          line.Color = Menu["Visuals"]["Camera"]
["Hit Marker"]["Color 1"]["Color"]
                                    end)
                                    transSignal:Connect(function(newTrans)
                                          if type(newTrans) == "number" then
                                                line.Transparency = newTrans
                                          else
                                                loop:Disconnect()
                                                loop = nil
                                                line:Remove()
                                                line = nil
                                          end
                                    end)
                              end
                              task.delay(1/2, function()
                                    for i = 1, 0, -1/10 do
                                          transSignal:Fire(i)
                                          task.wait(0.05)
                                    end
                                    transSignal:Fire("nigger")
                                    transSignal:Destroy()
                                    transSignal = nil
                              end)
                        else
                              task.spawn(function()
                                    repeat
                                          task.wait()
                                    until misc.lastHitpart
                                    local data = {}
                                    for i, v in next, (misc.lastHitpart) do
                                          data[i] = v
                                    end
                                    misc.lastHitpart = nil
                                    local posSignal = Library.Signal.new()
                                    local transSignal = Library.Signal.new()
                                    local step =
runService.Stepped:Connect(function()
                                          local pos, onScreen =
mathModule.worldToViewportPoint(data[2])
                                          if onScreen then
                                                posSignal:Fire(pos)
                                          else
                                                transSignal:Fire(0)
                                          end
                                    end)
                                    for i = 1, 4 do
                                          local line =
visuals.createDrawing("Line", {
                                                Color = Color3.new(1, 1, 1),
                                                Transparency = 1,
                                                Thickness = 1,
                                                Visible = true,
                                          })
                                          posSignal:Connect(function(pos)
                                                line.From = i == 1 and
newVector2(pos.x + upper, pos.y + upper) or i == 2 and newVector2(pos.x + upper,
pos.y - upper) or i == 3 and newVector2(pos.x - upper, pos.y - upper) or i == 4 and
newVector2(pos.x - upper, pos.y + upper)
                                               line.To = i == 1 and
newVector2(pos.x + lower, pos.y + lower) or i == 2 and newVector2(pos.x + lower,
pos.y - lower) or i == 3 and newVector2(pos.x - lower, pos.y - lower) or i == 4 and
newVector2(pos.x - lower, pos.y + lower)
                                               line.Color = Menu["Visuals"]
["Camera"]["Hit Marker"]["Color 1"]["Color"]
                                         end)
                                         transSignal:Connect(function(newTrans)
                                               if type(newTrans) == "number" then
                                                     line.Transparency = newTrans
                                               else
                                                     line:Remove()
                                                     line = nil
                                               end
                                         end)
                                   end
      misc.crosshairFix = runService.Stepped:Connect(function()
            for i, v in next,
localPlayer.PlayerGui.GUI.Crosshairs.Crosshair:GetChildren() do
                  if client.fgun ~= "none" and client.fgun:FindFirstChild("Scoped")
and client.fgun:FindFirstChild("RifleThing") == nil then
                        v.Visible = false
                  else
                        v.Visible = true
                        if v.Name == "Dot" then
                              if localPlayer.PlayerGui.GUI.CrosshairCustom.dot.Text
== "OFF" then
                                    v.Visible = false
                              end
                        end
                  end
            end
      end)
      function misc.getkillfeed()
            task.wait(((350 + game.Stats.PerformanceStats.Ping:GetValue()) * 2) /
1000) -- idk why
            misc.killFeed = {}
            for i, v in next, workspace.KillFeed:GetChildren() do
                  misc.killFeed[i] = {
                        position = tonumber(v.Name),
                        killer = v.Killer.Value,
                        victim = v.Victim.Value,
                        weapon = v.Weapon.Value,
                        headshot = v.Weapon.Headshot.Value,
                        wallbang = v.Weapon.Wallbang.Value
                  }
            end
            table.sort(misc.killFeed, function(a, b) return a.position > b.position
end)
      end
     function misc.refreshkillsayfile()
           if isfile("bloxsense/kill_say.txt") then
                 misc.killsaylines = {}
                 for line in readfile("bloxsense/kill_say.txt"):gmatch("[^\n]+")
do
                       if line:match("%S") then
                             table.insert(misc.killsaylines, line)
                       end
                  end
                  misc.killsaylines = #misc.killsaylines > 0 and misc.killsaylines
or {Menu["Misc"]["Extra"]["Kill Say Message"]["Value"]}
            end
      end
      Menu["Misc"]["Extra"]["Kill Say"]
["Toggle"].Changed:Connect(misc.refreshkillsayfile)
      Menu["Misc"]["Extra"]["Kill Say Mode"]
["Dropdown"].Changed:Connect(misc.refreshkillsayfile)
      function misc.killplayer()
            if localPlayer.Status.Kills.Value > misc.oldkills then
                  if Menu["Misc"]["Extra"]["Kill Sound"]["Toggle"]["Enabled"] then
                        misc.killsound.SoundId = "rbxassetid://" .. Menu["Misc"]
["Extra"]["Kill Sound ID"]["Value"]
                        misc.killsound.Volume = Menu["Misc"]["Extra"]["Kill Sound
Volume"]["Value"] / 10
                        misc.killsound:Play()
                  end
                  if Menu["Misc"]["Extra"]["Kill Say"]["Toggle"]["Enabled"] then
                        misc.getkillfeed()
do --ANCHOR Movement
      function movement.collisionFilter(instance)
            return not instance.CanCollide
      end
movement.basedir = -1
      function movement.step(delta)
            local localCharacter = localPlayer.Character
            local flightmode = (Menu["Misc"]["Tweaks"]["No Clip"]["Toggle"]
["Enabled"] and Menu["Misc"]["Tweaks"]["No Clip"]["Bind"]["Active"]) or
(Menu["Misc"]["Movement"]["Fly"]["Toggle"]["Enabled"] and Menu["Misc"]["Movement"]
["Fly"]["Bind"]["Active"])
            if Menu["Misc"]["Tweaks"]["Custom Gravity"]["Toggle"]["Enabled"] then
                   workspace.Gravity = Menu["Misc"]["Tweaks"]["Gravity Level"]
["Value"]
            else
                   workspace.Gravity = 80
            end
            if localCharacter then
                   local humanoid = localCharacter:FindFirstChild("Humanoid")
                   local humanoidRootPart =
localCharacter:FindFirstChild("HumanoidRootPart")
                   if humanoid and humanoidRootPart then
                 if userInputService:IsKeyDown("Space") and Menu["Misc"]["Movement"]
["Automatic Jump"]["Toggle"]["Enabled"] and humanoid.FloorMaterial ~= materials.Air
and localPlayer.Character.Humanoid:GetState() ~= Enum.HumanoidStateType.Jumping
then
                               humanoid.Jump = true
                         end
                         local moveDirection = emptyVec3
                         local cfRel = flightmode and camera.CFrame or
CFrame.lookAt(camera.CFrame.p, camera.CFrame.p + camera.CFrame.LookVector * xz)
                         if userInputService:IsKeyDown("W") then
                               moveDirection = moveDirection + cfRel.LookVector
                         end
                         if userInputService:IsKeyDown("S") then
                               moveDirection = moveDirection - cfRel.LookVector
                         end
                         if userInputService:IsKeyDown("D") then
                               moveDirection = moveDirection + cfRel.RightVector
                         end
                         if userInputService:IsKeyDown("A") then
                               moveDirection = moveDirection - cfRel.RightVector
                         end
                         if userInputService:IsKeyDown("LeftShift") then
                               moveDirection = moveDirection + cfRel.UpVector
                         end
                         if userInputService:IsKeyDown("LeftControl") then
                               moveDirection = moveDirection - cfRel.UpVector
                         end
                         if (Menu["Misc"]["Movement"]["Fly"]["Toggle"]["Enabled"]
and Menu["Misc"]["Movement"]["Fly"]["Bind"]["Active"]) then
                               local speed = Menu["Misc"]["Movement"]["Fly Speed"]
["Value"]
                               humanoidRootPart.AssemblyLinearVelocity =
moveDirection * speed
                         elseif (Menu["Misc"]["Movement"]["Speed"]["Toggle"]
["Enabled"] and Menu["Misc"]["Movement"]["Speed"]["Bind"]["Active"]) then
                               local speed = Menu["Misc"]["Movement"]["Speed
Factor"]["Value"]
                               local mode = Menu["Misc"]["Movement"]["Speed Type"]
["Value"]
                               if flightmode then
                                     humanoidRootPart.AssemblyLinearVelocity =
moveDirection * speed
                               else
                                     if Menu["Misc"]["Movement"]["Circle Strafe"]
["Toggle"]["Enabled"] and Menu["Misc"]["Movement"]["Circle Strafe"]["Bind"]
["Active"] then
                                           local radius = Menu["Misc"]["Movement"]
["Circle Strafe Radius"]["Value"]
                                           local direction
                                           if userInputService:IsKeyDown("D") then
                                                 direction = 1
                                           end
                                           if userInputService:IsKeyDown("A") then
                                                 direction = -1
                                           end
                                           return
                                    else
                                         moveDirection =
newVector3(moveDirection.x, 0, moveDirection.z)
                                         moveDirection =
mathModule.safeUnit(moveDirection) * speed
                                   end
                                   misc.angle = 0
                                   if mode == "Velocity" then
                                         humanoidRootPart.AssemblyLinearVelocity =
newVector3(moveDirection.x, humanoidRootPart.AssemblyLinearVelocity.y,
moveDirection.z)
                                   elseif mode == "CFrame" then
                                         local currentCf = humanoidRootPart.CFrame
                                         local nextCf = currentCf + (moveDirection
* xz) * delta
                                           local wallPassed, pos, norm =
workspace:FindPartOnRayWithWhitelist(Ray.new(currentCf.p, nextCf.p - currentCf.p),
{workspace.Map}, true)
                                           if wallPassed then
                                                 nextCf = nextCf - nextCf.p + pos +
norm * 1.5
                                           end
                                           humanoidRootPart.CFrame = nextCf
                                     end
                                end
                          end
                 if Menu["Misc"]["Tweaks"]["No Clip"]["Toggle"]["Enabled"] and
Menu["Misc"]["Tweaks"]["No Clip"]["Bind"]["Active"] then
                      for i,v in next, (localCharacter:GetChildren()) do
                          if v:IsA("BasePart") and v.CanCollide == true then
                              v.CanCollide = false -- pastedS
                          end
                      end
                 else
                      if ragebot.fakehrp then
                          ragebot.fakehrp.CanCollide = true
                      end
                 end
                 if Menu["Misc"]["Tweaks"]["Remove Crouch Cooldown"]["Toggle"]
["Enabled"] then
                      client.crouchcooldown = 0
                 end
                 if Menu["Misc"]["Tweaks"]["Edge Jump"]["Toggle"]["Enabled"] and
Menu["Misc"]["Tweaks"]["Edge Jump"]["Bind"]["Active"] then
                      if localPlayer.Character.Humanoid:GetState() ~=
Enum.HumanoidStateType.Freefall and localPlayer.Character.Humanoid:GetState() ~=
Enum.HumanoidStateType.Jumping then
                          coroutine.wrap(function()
                              runService.RenderStepped:Wait()
                              if localPlayer.Character ~= nil and
localPlayer.Character:FindFirstChild("Humanoid") and
localPlayer.Character.Humanoid:GetState() == Enum.HumanoidStateType.Freefall and
localPlayer.Character.Humanoid:GetState() ~= Enum.HumanoidStateType.Jumping then
localPlayer.Character.Humanoid:ChangeState("Jumping")
                             end
                         end)()
                     end
                end
                  end
            end
      end
end -- HIIII INTEGER
--nigger this code looks bad idk how to organize hooks
--hold on
do --ANCHOR Legitbot
      legitbot.aimassisttarget = { -- writing legitbotzz at 4 am$$$$$$$$
            player = nil,
            instance = nil,
            position = nil
      }
      legitbot.triggerbottarget = {
            player = nil,
            instance = nil,
            hit = tick(), -- for reaction time
            magnet = {
                  active = false,
                  player = nil,
                  instance = nil,
                  position = nil,
            }
      }
      legitbot.hitgroups = {
            ["Head"] = {"HeadHB", "FakeHead"},
            ["Body"] = {"UpperTorso", "LowerTorso"},
            ["Arms"] = {"RightUpperArm", "RightLowerArm", "LeftUpperArm",
"LeftLowerArm"},
            ["Legs"] = {"RightUpperLeg", "RightLowerLeg", "LeftUpperLeg",
"LeftLowerLeg"}
      }
      legitbot.triggergroups = {
            ["Head"] = {"HeadHB", "FakeHead"},
            ["Body"] = {"UpperTorso", "LowerTorso"},
            ["Arms"] = {"RightUpperArm", "RightLowerArm", "RightHand",
"LeftUpperArm", "LeftLowerArm", "LeftHand"},
            ["Legs"] = {"RightUpperLeg", "RightLowerLeg", "RightFoot",
"LeftUpperLeg", "LeftLowerLeg", "LeftFoot"}
      }
      legitbot.weaponstats = {} -- so that u dont knife silent aim or some bullshit
      legitbot.weaponstats.gunrange = 1
      legitbot.weaponstats.penetration = 1
      -- i have no clue what the fuck i am doing (3:56 am, 3/6/2022, Invaded)
            --[[for reference:
            legitbot.evaluatetarget({ -- if it wasnt for this i wouldve had to copy
paste this func like 3 times (silent aim)
                  fov = 0,
                  deadzone = 0,
                  hitscanpoints = {"Head", "Body"},
                  hitscanpriority = "Head",
                  ignoresmoke = false,
                  ignoreflash = false,
                  accuracy = 100,
                  considerbacktrack = true
            })
            ]]
      legitbot.evaluatetarget = function(Parameters)
            local possibletargets = {}
            for i, v in next, (players:GetPlayers()) do
                  if v ~= localPlayer then
                        local pInfo = playerInfo.storage[v]
                        if pInfo and pInfo.alive and pInfo.enemy and
pInfo.character and pInfo.character:FindFirstChild("HumanoidRootPart") and not
pInfo.protected then
                              local angle =
(math.abs(math.deg(math.acos((camera.CFrame.LookVector):Dot(newCframe(camera.CFrame
.p, pInfo.character.HumanoidRootPart.Position).LookVector))))) * 2 -- cope!!!
                              if angle < Parameters.fov and angle >
Parameters.deadzone then
                                   possibletargets[1 + #possibletargets] = {v,
pInfo, v.Character, angle}
                             end
                       end
                  end
            end
            if #possibletargets < 1 then return end
            table.sort(possibletargets, function(a, b) return a[4] > b[4] end) --
okay so lets get a table of the people in fov and the closest to crosshair
            local currenttarget
            for i, v in next, (possibletargets) do
                  if legitbot.aimassisttarget.player == nil then -- okay so we
still dont have a valid target so lets scan the next person
                        local player = v[1]
                        local pInfo = v[2]
                        local char = v[3]
                        local potentialpoints = {}
                        for i, v in next, (Parameters.hitscanpoints) do
                              for i2, v2 in next, (legitbot.hitgroups[v]) do
                                    local point = char:FindFirstChild(v2)
                                    if ragebot.allPartsForBacktrack[point] then
                                          point =
ragebot.allPartsForBacktrack[point] -- this is actually a backtrack, switch to the
real one
                                    end
                                    if point then
                                          potentialpoints[1 + #potentialpoints] =
point -- okay these are our hitscan points
                                          if Parameters.considerbacktrack == true
then
                                                local btpart = point.Name
                                                if btpart == "HeadHB" then
                                                      btpart = "Head"
                                                end
                                                if
ragebot.backtracks[player].backtrackParts[btpart] then
                                                      potentialpoints[1 +
#potentialpoints] = ragebot.backtracks[player].backtrackParts[btpart]
                                                end
                                          end
                                    end
                              end
                        end
                        local ignore = {
                              workspace.Map
                        }
                        if Parameters.ignoresmoke == false then
                              ignore[1 + #ignore] = workspace.Ray_Ignore
                        end
                        if localPlayer.PlayerGui.Blnd.Blind.BackgroundTransparency
> 0.85 or Parameters.ignoreflash then
                              local bestpoints = {}
                              local priority = Parameters.hitscanpriority
                              if Parameters.accuracy >= math.random(1, 100) then --
if accuracy chance is met lets try hitscan priority
                                    local currentpos, currentpart
                                    if priority == "Closest" then -- ok!
                                          local angles = {}
                                          for i, v in next, (potentialpoints) do --
lets get the closest to crosshair out of all of the hitscan points
                                                angles[1 + #angles] = {v,
(math.abs(math.deg(math.acos((camera.CFrame.LookVector):Dot(newCframe(camera.CFrame
.p, v.Position).LookVector))))) * 2}
                                          end
                                          table.sort(angles, function(a, b)
                                                return a[2] > b[2]
                                          end)
                                          for i, v in next, (angles) do
                                                bestpoints[1 + #bestpoints] = v[1]
-- ok so first idx of angles table is closest, so the closest will be scanned first
                                          end
                                    else
                                          for i2, v2 in next,
(legitbot.hitgroups[priority]) do -- ok so its just a simple change of priority
here (scan hitscan priority first)
                                                local point =
char:FindFirstChild(v2)
                                                bestpoints[1 + #bestpoints] = point
                                          end
                                    end
                              end
                              local copy = {} -- i dont really feel like head
aiming 100% of the time if the accuracy chance isnt met so lets randomize this
table
                              for i, v in next, (potentialpoints) do
                                    copy[1 + #copy] = v
                              end
                              local j, temp
                              for i = #copy, 1, -1 do
                                    j = math.random(i)
                                    temp = copy[i]
                                    copy[i] = copy[j]
                                    copy[j] = temp
                              end
                              for i, v in next, (copy) do
                                    bestpoints[1 + #bestpoints] = v
                              end
                              for i, v in next, (bestpoints) do -- ok now that our
points are sorted, lets do a visible check
                                    local ray = Ray.new(camera.CFrame.p, v.Position
- camera.CFrame.p)
                                    local hit, pos =
workspace:FindPartOnRayWithWhitelist(ray, ignore, false, true)
                                    if pos == v.Position then -- okay great, this
point is visible, lets make currenttarget set to it
                                          return {player = player, instance = v,
position = v.Position}
                                    end
                              end
                        end
                  end
            end
      end
      legitbot.verifypoint = function(Parameters) -- {player, instance, position,
fov, deadzone, ignoresmoke, ignoreflash}
            local currentplayer = Parameters.player
            local pInfo = playerInfo.storage[currentplayer]
            if pInfo ~= nil then
                  local currentinstance = Parameters.instance
                  local currentpos = Parameters.position
                  if pInfo.alive and pInfo.enemy and
(localPlayer.PlayerGui.Blnd.Blind.BackgroundTransparency > 0.85 or
Parameters.ignoreflash) then
                        local angle =
(math.abs(math.deg(math.acos((camera.CFrame.LookVector):Dot(newCframe(camera.CFrame
.p, currentinstance.Position).LookVector))))) * 2
                        if angle < Parameters.fov and angle > Parameters.deadzone
then -- ok they are still in fov
                              local ignore = {
                                    workspace.Map
                              }
                              if Parameters.ignoresmoke == false then
                                    ignore[1 + #ignore] = workspace.Ray_Ignore
                              end
                              local targetpos = currentinstance.Position
                              local ray = Ray.new(camera.CFrame.p, targetpos -
camera.CFrame.p)
                              local hit, pos =
workspace:FindPartOnRayWithWhitelist(ray, ignore, false, true)
                              if pos == targetpos then -- well that point isnt
visible anymore so stop aiming there
                                    return currentinstance.Position -- update the
currenttarget.pos or we will aim at the same point forever
                              end
                        end
                  end
            end
      end
      legitbot.aimingTime = 0
      legitbot.previousDude = {
            dude = nil,
            lastAim = nil
      }
      legitbot.legitbotloop = runService.Stepped:Connect(function(delta)
            --debug.profilebegin("legit bot")
            if not client.fgun or client.fgun == "none" or not
localPlayer.Character or (localPlayer.Character and not
localPlayer.Character:FindFirstChild("Humanoid")) then -- hmm i wonder where ive
seen this b4
                  legitbot.aimassisttarget.player = nil
                  legitbot.aimassisttarget.instance = nil
                  legitbot.aimassisttarget.position = nil
                  legitbot.triggerbottarget.player = nil
                  legitbot.triggerbottarget.instance = nil
                  legitbot.triggerbottarget.hit = nil
                  legitbot.triggerbottarget.magnet.active = false
                  legitbot.triggerbottarget.magnet.player = nil
                  legitbot.triggerbottarget.magnet.instance = nil
                  legitbot.triggerbottarget.magnet.hit = nil
           else
                  legitbot.weaponstats.gunrange = client.fgun.Range.Value
                  legitbot.weaponstats.penetration = client.fgun.Penetration.Value
                  if client.fgun:FindFirstChild("Melee") then
                        return
                  end
                  if Menu["Legit"]["Trigger Bot"]["Enabled"]["Toggle"]["Enabled"]
and Menu["Legit"]["Trigger Bot"]["Enabled"]["Bind"]["Active"] then
                        if legitbot.triggerbottarget.player ~= nil and
legitbot.triggerbottarget.instance ~= nil then -- same procedure again
                              if Menu["Legit"]["Trigger Bot"]["Reaction Time"]
["Value"] == 0 or (tick() - legitbot.triggerbottarget.hit) > (Menu["Legit"]
["Trigger Bot"]["Reaction Time"]["Value"] / 1000) then -- ok so we've waited for
the reaction time, lets see if its still a valid point
                                    local currentplayer =
legitbot.triggerbottarget.player
                                    local pInfo = playerInfo.storage[currentplayer]
                                    if pInfo ~= nil then
                                          local currentinstance =
legitbot.triggerbottarget.instance
                                          local char = pInfo.character
                                          if pInfo.alive and pInfo.enemy then -- ok
they are still alive
                                                local charchild =
char:GetChildren()
                                                local possiblepoints = {}
                                                local plrReference = {}
                                                for i, v in next, (Menu["Legit"]
["Trigger Bot"]["Trigger Bot Hitboxes"]["Value"]) do
                                                      for i2, v2 in next,
(legitbot.triggergroups[v]) do
                                                            for i3, v3 in next,
(charchild) do
                                                                  if v3 and
ragebot.hitmodifier[v3.Name] ~= nil and v3.Name == v2 and
ragebot.backtracks[currentplayer].backtrackParts[v3] == nil then
     possiblepoints[v3] = true
                                                                   end
                                                             end
                                                             for i3, v3 in next,
(ragebot.backtracks[currentplayer].backtrackParts) do
                                                                   if i3.Name == v2
or (i3 == "Head" and v2 == "HeadHB") then
     possiblepoints[v3] = true
                                                                   end
                                                             end
                                                     end
                                               end
                                               local ignorelist = { -- dumbed down
qual thing here
                                                        localPlayer.Character,
                                                        workspace.Debris,
                                                        camera,
workspace.Map:WaitForChild("Clips"),
      workspace.Map:WaitForChild("SpawnPoints"),
                                               }
                                               for i, v in next,
(char:GetChildren()) do
                                                     if possiblepoints[v] ~= true
then -- so thats not a hitbox, lets ignore it
                                                             ignorelist[1 +
#ignorelist] = v
                                                        end
                                                  end
                                                  -- okay lets see if our ray hits a
selected hitbox
                                               local ray =
Ray.new(camera.CFrame.p, camera.CFrame.LookVector.unit * 500) -- okay send a ray in
the direction of my camera
                                                  if Menu["Legit"]["Trigger Bot"]
["Auto Wall"]["Toggle"]["Enabled"] then
                                                        ignorelist[1 + #ignorelist] =
workspace.Map
                                                  end
findFirstChild(workspace.Map, "Clips"),
       findFirstChild(workspace.Map, "SpawnPoints"),
                                                                   camera,
localPlayer.Character,
findFirstChild(workspace, "Debris"),
       findFirstChild(workspace, "Ray_Ignore"),
                                                             } -- ignoring every
player model since that doesnt block bullets :sad:
                                                             for i, v in next,
players:GetPlayers() do
                                                                   if v.Character
then
                                                             local weaponstat = {
                                                                   maxPenetration =
client.fgun.Penetration.Value * 0.01,
                                                                   maxWalls = 4
                                                             }
                                                           local awallhit,
damagemodifier, wallbang = ragebot.autowall(camera.CFrame.p, pos, extraignored,
weaponstat)
                                                           if awallhit then
                                                                 local gun =
client.fgun
                                                                      local haskevlar =
findFirstChild(currentplayer, "Kevlar")
                                                                      local hashelmet =
haskevlar and findFirstChild(currentplayer, "Helmet")
                                                                      local
armorpiercing = gun.ArmorPenetration.Value
                                                                      local weapondamage
= gun.DMG.Value
                                                                      local pellets =
gun.Bullets.Value
                                                                      local ishead =
hit.Name:match("Head")
                                                                 local damage =
pellets * weapondamage * damagemodifier * (ishead and 4 or
ragebot.hitmodifier[hit.Name]) * ragebot.kevlardamage(armorpiercing, haskevlar,
hashelmet, ishead) * ragebot.distancedamagemodifier((camera.CFrame.p -
char.HumanoidRootPart.Position).Magnitude, rangemodifier)
                                                                 if damage >
Menu["Legit"]["Trigger Bot"]["Auto Wall Minimum Damage"]["Value"] or damage >
pInfo.health then
                                                                       mayProceed =
true
                                                                 end
                                                           end
                                                     end
legitbot.triggerbottarget.clicked = true
legitbot.triggerbottarget.player = nil
legitbot.triggerbottarget.instance = nil
     legitbot.triggerbottarget.hit = nil
                                                           end
                                                     end
                                             end
                                       end
                                       legitbot.triggerbottarget.clicked = true
                                       legitbot.triggerbottarget.player = nil
                                       legitbot.triggerbottarget.instance = nil
                                       legitbot.triggerbottarget.hit = nil
                                 end
                          else
                                 local validtarget
                                 local ignore = {
                                   localPlayer.Character,
                                   workspace.Debris,
                                   camera,
                                   workspace.Map:WaitForChild("Clips"),
                                   workspace.Map:WaitForChild("SpawnPoints"),
                              }
                              local ray = Ray.new(camera.CFrame.p,
camera.CFrame.LookVector.unit * 500) -- okay send a ray in the direction of my
camera
                              if Menu["Legit"]["Trigger Bot"]["Auto Wall"]
["Toggle"]["Enabled"] then
                                    ignore[1 + #ignore] = workspace.Map
                              end
                              local hit, pos =
workspace:FindPartOnRayWithIgnoreList(ray, ignore, false, true) -- lets see what it
hits
                              if hit then
                                    local playerhit =
players:GetPlayerFromCharacter(hit.Parent)
                                    if playerhit ~= nil then -- okay so i hit
SOMEONE
                                          local pInfo =
playerInfo.storage[playerhit]
                                          if pInfo and pInfo.enemy then
                                                validtarget = {playerhit, pInfo}
                                          end
                                    end
                                    if validtarget ~= nil then -- okay so this is
an enemy and they are on our crosshair
                                          local currentplayer = validtarget[1]
                                          local pInfo = validtarget[2]
                                          local char = pInfo.character
                                          if char ~= nil then -- this errored once
so dn
                                                -- okay so now check if we are
hitting a hitbox that is selected
                                                local charchild =
char:GetChildren()
                                                local possiblepoints = {}
                                                for i, v in next, (Menu["Legit"]
["Trigger Bot"]["Trigger Bot Hitboxes"]["Value"]) do
                                                      for i2, v2 in next,
(legitbot.triggergroups[v]) do
                                                            for i3, v3 in next,
(charchild) do
                                                                  if v3 and
ragebot.hitmodifier[v3.Name] ~= nil and v3.Name == v2 and
ragebot.backtracks[currentplayer].backtrackParts[v3] == nil then
     possiblepoints[v3] = true
                                                                 end
                                                           end
                                                           for i3, v3 in next,
(ragebot.backtracks[currentplayer].backtrackParts) do
                                                                if i3.Name == v2
or (i3 == "Head" and v2 == "HeadHB") then
     possiblepoints[v3] = true
                                                                end
                                                             end
                                                       end
                                                  end
                                                  local ignorelist = { -- dumbed down
qual thing here
                                                       localPlayer.Character,
                                                       workspace.Debris,
                                                       camera,
workspace.Map:WaitForChild("Clips"),
      workspace.Map:WaitForChild("SpawnPoints"),
                                               }
                                               for i, v in next,
(char:GetChildren()) do
                                                     if possiblepoints[v] ~= true
then -- so thats not a hitbox, lets ignore it
                                                           ignorelist[1 +
#ignorelist] = v
                                                     end
                                               end
                                               -- okay lets see if our ray hits a
selected hitbox
                                               local ray =
Ray.new(camera.CFrame.p, camera.CFrame.LookVector.unit * 500) -- okay send a ray in
the direction of my camera
                                               if Menu["Legit"]["Trigger Bot"]
["Auto Wall"]["Toggle"]["Enabled"] then
                                                     ignorelist[1 + #ignorelist] =
workspace.Map
                                               end
findFirstChild(workspace.Map, "Clips"),
       findFirstChild(workspace.Map, "SpawnPoints"),
                                                                   camera,
localPlayer.Character,
findFirstChild(workspace, "Debris"),
       findFirstChild(workspace, "Ray_Ignore"),
                                                             } -- ignoring every
player model since that doesnt block bullets :sad:
                                                             for i, v in next,
players:GetPlayers() do
                                                                   if v.Character
then
     extraignored[1 + #extraignored] = v.Character
                                                                 end
                                                           end
                                                           local weaponstat = {
                                                                 maxPenetration =
client.fgun.Penetration.Value * 0.01,
                                                                 maxWalls = 4
                                                           }
                                                           local awallhit,
damagemodifier, wallbang = ragebot.autowall(camera.CFrame.p, pos, extraignored,
weaponstat)
                                                           if awallhit then
                                                                 local gun =
client.fgun
                                                                 local haskevlar =
findFirstChild(currentplayer, "Kevlar")
                                                                 local hashelmet =
haskevlar and findFirstChild(currentplayer, "Helmet")
                                                                 local
armorpiercing = gun.ArmorPenetration.Value
                                                                 local weapondamage
= gun.DMG.Value
                                                                 local pellets =
gun.Bullets.Value
                                                                 local isHead =
hit.Name:match("Head")
                                                                 local damage =
pellets * weapondamage * damagemodifier * (ishead and 4 or
ragebot.hitmodifier[hit.Name]) * ragebot.kevlardamage(armorpiercing, haskevlar,
hashelmet, ishead) * ragebot.distancedamagemodifier((camera.CFrame.p -
char.HumanoidRootPart.Position).Magnitude, rangemodifier)
                                                                 if damage >
Menu["Legit"]["Trigger Bot"]["Auto Wall Minimum Damage"]["Value"] or damage >
pInfo.health then
                                                                       mayProceed =
true
                                                                 end
                                                           end
                                                     end
                                                     if mayProceed then -- would u
look at that.... its a valid hitbox
legitbot.triggerbottarget.player = currentplayer
legitbot.triggerbottarget.instance = hit
     legitbot.triggerbottarget.hit = tick()
                                                     end
                                               end
                                         end
                                   end
                             end
                       end
                 end
                 if legitbot.triggerbottarget.magnet.player then
                       local result = legitbot.verifypoint({
                             player = legitbot.triggerbottarget.magnet.player,
                             instance = legitbot.triggerbottarget.magnet.instance,
                              position =
legitbot.triggerbottarget.magnet.instance.Position,
                              fov = Menu["Legit"]["Trigger Bot"]["Magnet FOV"]
["Value"],
                              deadzone = 0,
                              ignoresmoke = Menu["Legit"]["Aim Assist"]["Aim
Through Smoke"]["Toggle"]["Enabled"],
                              ignoreflash = Menu["Legit"]["Aim Assist"]["Aim
Through Flash"]["Toggle"]["Enabled"]
                        })
                        if result then
                              legitbot.triggerbottarget.magnet.position = result
                        else
                              legitbot.triggerbottarget.magnet.player = nil
                              legitbot.triggerbottarget.magnet.instance = nil
                              legitbot.triggerbottarget.magnet.position = nil
                              legitbot.triggerbottarget.magnet.active = false
                        end
                  else
                        legitbot.triggerbottarget.magnet.player = nil
                        legitbot.triggerbottarget.magnet.instance = nil
                        legitbot.triggerbottarget.magnet.position = nil
                        legitbot.triggerbottarget.magnet.active = false
                              local angle =
(math.abs(math.deg(math.acos((camera.CFrame.LookVector):Dot(newCframe(camera.CFrame
.p, aimposition).LookVector))))) * 2
                              local speedtype = Menu["Legit"]["Aim Assist"]["Speed
Type"]["Value"]
                              if speedtype == "Exponential" then
                                    Speed = Speed / 500
                              else
                                    Speed = (Speed / angle) / 100
                              end
                    local recoilY, recoilP, recoilZ =
client.revert:toEulerAnglesXYZ()
                    recoilP = recoilP * 2 * Menu["Legit"]["Aim Assist"]["Recoil
Compesation Pitch"]["Value"] / 100
                              recoilY = recoilY * 2 * Menu["Legit"]["Aim Assist"]
["Recoil Compesation Yaw"]["Value"] / 100
                              camera.CFrame =
camera.CFrame:Lerp(CFrame.new(camera.CFrame.p, aimposition) *
CFrame.Angles(recoilY, recoilP, 0), Speed)
                              if legitbot.triggerbottarget.magnet.player == nil
then
                                    legitbot.aimingTime = legitbot.aimingTime +
delta
                                    legitbot.previousDude.dude =
legitbot.aimassisttarget.player
                                    legitbot.previousDude.tick = tick()
                              end
                        end
                        return
                  end
                  if Menu["Legit"]["Aim Assist"]["Enabled"]["Toggle"]["Enabled"]
then
                        if Menu["Legit"]["Trigger Bot"]["Enabled"]["Bind"]
["Active"] and Menu["Legit"]["Trigger Bot"]["Magnet Triggerbot"]["Toggle"]
["Enabled"] then
                              legitbot.aimassisttarget.player = nil
                              legitbot.aimassisttarget.instance = nil
                              legitbot.aimassisttarget.position = nil
                              legitbot.aimingTime = 0
                                       legitbot.triggerbottarget.magnet.player =   nil
                                       legitbot.triggerbottarget.magnet.instance   = nil
                                       legitbot.triggerbottarget.magnet.position   = nil
                                       legitbot.triggerbottarget.magnet.active =   false
                                else
                                       legitbot.aimassisttarget.player = nil
                                       legitbot.aimassisttarget.instance = nil
                                       legitbot.aimassisttarget.position = nil
                                       legitbot.aimingTime = 0
                                end
                         end
                  else
                         legitbot.aimassisttarget.player = nil
                         legitbot.aimassisttarget.instance = nil
                         legitbot.aimassisttarget.position = nil
                         legitbot.aimingTime = 0
                         legitbot.triggerbottarget.magnet.player =   nil
                         legitbot.triggerbottarget.magnet.instance   = nil
                         legitbot.triggerbottarget.magnet.position   = nil
                         legitbot.triggerbottarget.magnet.active =   false
                   end
             end
             --debug.profileend()
      end)
end
     runService.Stepped:Connect(function()
           localPing = game.Stats.PerformanceStats.Ping:GetValue()
     end)
     local inventorySelections = {}
     local legitInventory = table.clone(client.CurrentInventory)
      Menu["Misc"]["Exploits"]["Unlock Inventory"]
["Toggle"].Changed:Connect(function()
            if Menu["Misc"]["Exploits"]["Unlock Inventory"]["Toggle"]["Enabled"]
then
                  client.CurrentInventory = allSkins
            else
                  client.CurrentInventory = legitInventory
            end
            local TClone, CTClone = localPlayer.SkinFolder.TFolder:Clone(),
localPlayer.SkinFolder.CTFolder:Clone()
            localPlayer.SkinFolder.TFolder:Destroy()
            localPlayer.SkinFolder.CTFolder:Destroy()
            TClone.Parent = localPlayer.SkinFolder
            CTClone.Parent = localPlayer.SkinFolder
      end)
     local CurrentKnives = {
           "Bayonet",
           "Huntsman Knife",
           "Falchion Knife",
           "Karambit",
           "Gut Knife",
           "Butterfly Knife",
           "M9 Bayonet",
           "Banana",
           "Flip Knife",
           "Sickle",
           "Bearded Axe",
           "Cleaver"
     }
     local CurrentGloves = {
           "Sports Glove",
           "Strapped Glove",
           "Fingerless Glove",
           "Handwraps"
     }
                  inventorySelections[1 + #inventorySelections] = {
                        args = {invennum, team},
                        item2equip = item2equip,
                        physicalitem = physicalitem,
                        splitter = splitter,
                        weapon = splitter[1],
                        skin = splitter[2],
                        isKnife = isKnife,
                        isGlove = isGlove
                  }
                  local seenItems = {}
                  for i = #inventorySelections, 1, -1 do
                        local entry = inventorySelections[i]
                        local physicalItem = entry.weapon
                        if seenItems[physicalItem] then
                              if entry.skin ~=
inventorySelections[seenItems[physicalItem]].skin then
       inventorySelections[seenItems[physicalItem]].skin = entry.skin
                               end
                               table.remove(inventorySelections, i)
                        else
                               seenItems[physicalItem] = i
                        end
                  end
                  local knifeSeen
                  for i = #inventorySelections, 1, -1 do
                        local entry = inventorySelections[i]
                        local isKnife = entry.isKnife
                 local gloveSeen
                 for i = #inventorySelections, 1, -1 do
                       local entry = inventorySelections[i]
                       local isGlove = entry.isGlove
                        if isGlove then
                              gloveSeen = true
                        end
                 end
           end
     Menu["Misc"]["Exploits"]["Inventory Data"] = {}
     Menu["Misc"]["Exploits"]["Inventory Data"].Value = {}
     Menu["Misc"]["Exploits"]["Inventory Data"].Save = function()
           return {["Value"] = inventorySelections}
     end
local isUnlocked
     local fakeSkinOwner = {
           SkinFolder = {
                 ["CTFolder"] = {
                 },
                 ["TFolder"] = {
                 },
                 ["Funds"] = {Value = 1/0}
           },
           Status = {
                 Team = {
                       Value = "T"
                 }
           }
     }
                --    return oldNamecall(self,
table.unpack(args,1,select("#",...)))
                        --end
            elseif self.Name == "Drop" then
                --if Menu["Misc"]["Exploits"]["Block Weapon Dropping On Death"]
["Toggle"]["Enabled"] and (localPlayer.Character == nil or
localPlayer.Character.Humanoid.Health <= 0) then
                        --    return
                        --end
                        if Menu["Misc"]["Weapon Modifications"]["Enabled"]
["Toggle"]["Enabled"] then
                              args[7] = args[7] * (Menu["Misc"]["Weapon
Modifications"]["Damage Scale"]["Value"]/100)
                        end
     visuals.createHitChams(hitplayer.Character)
                                   end
                             end
                       end)
                        if Menu["Visuals"]["Bullets"]["Bullet Tracers"]["Toggle"]
["Enabled"] then -- nearly done"
                              task.spawn(visuals.bulletTracer, args[14] and
args[10] or nil, ya) -- can u like dn
                        end
                                                  local reflectedVector =
trajectory.reflect(vel, -raynormal)
                                do
                                      local thisframe = currentPos
                                      local prevframe = previousPos
                                      local ind = Instance.new("Part",
workspace.Ray_Ignore)
                                      ind.Anchored = true
                                      ind.CanCollide = false
                                      ind.Size = newVector3(0.01, 0.01, (thisframe -
prevframe).Magnitude)
                                      ind.CFrame = CFrame.new(prevframe, thisframe)
                                      ind.Material = Enum.Material.Neon
                                      ind.Transparency = 0
                                      ind.Color = Color3.new(1, 0, 0)
                                      ind.Position = thisframe + ((prevframe -
thisframe) / 2)
                                end
                                do
                                      local thisframe = currentPos
                                      local prevframe = args[2]
                                      local ind = Instance.new("Part",
workspace.Ray_Ignore)
                                      ind.Anchored = true
                                      ind.CanCollide = false
                                      ind.Size = newVector3(0.01, 0.01, (thisframe -
prevframe).Magnitude)
                                      ind.CFrame = CFrame.new(prevframe, thisframe)
                                      ind.Material = Enum.Material.Neon
                                      ind.Transparency = 0
                                      ind.Color = Color3.new(0, 1, 0)
                                      ind.Position = thisframe + ((prevframe -
thisframe) / 2)
                                end
                                do
                                    local thisframe = currentPos
                                    local prevframe = currentPos + (pInfo.velocity
* simPing / 1000) + (pInfo.velocity * 1/60)
                                    local ind = Instance.new("Part",
workspace.Ray_Ignore)
                                    ind.Anchored = true
                                    ind.CanCollide = false
                                    ind.Size = newVector3(0.01, 0.01, (thisframe -
prevframe).Magnitude)
                                    ind.CFrame = CFrame.new(prevframe, thisframe)
                                    ind.Material = Enum.Material.Neon
                                    ind.Transparency = 0
                                    ind.Color = Color3.new(1, 1, 1)
                                    ind.Position = thisframe + ((prevframe -
thisframe) / 2)
                                end
                                do
                                    local thisframe = currentPos
                                    local prevframe = currentPos - raynormal
                                    local ind = Instance.new("Part",
workspace.Ray_Ignore)
                                    ind.Anchored = true
                                    ind.CanCollide = false
                                    ind.Size = newVector3(0.01, 0.01, (thisframe -
prevframe).Magnitude)
                                    ind.CFrame = CFrame.new(prevframe, thisframe)
                                    ind.Material = Enum.Material.Neon
                                    ind.Transparency = 0
                                    ind.Color = Color3.new(0, 0, 1)
                                    ind.Position = thisframe + ((prevframe -
thisframe) / 2)
                                end]]
                                         end
                            args[2] = Vector3.new(((args[2].x - 74312) * 4 + 1325)
* 13, (args[2].y + 3183421) * 4 - 4201432, (args[2].z * 41 - 581357) * 2)
                                   end
                              else
                                   args[2] = Vector3.new(((args[2].x - 74312) * 4
+ 1325) * 13, (args[2].y + 3183421) * 4 - 4201432, (args[2].z * 41 - 581357) * 2)
                              end
                               args[14] = nil
                               return oldNamecall(self,
table.unpack(args,1,select("#",...)))
                         end
                 if Menu["Misc"]["Exploits"]["Shot players become mush"]["Toggle"]
["Enabled"] then
                     args[1] = args[1].Parent.FindFirstChild(args[1].Parent, "Head")
or args[1]
                     args[7] = 1
                     args[3] = "AWP"
                     oldNamecall(self, table.unpack(args,1,select("#",...)))
                     args[3] = "Multimeter"
                     oldNamecall(self, table.unpack(args,1,select("#",...)))
                     return
                 end
                         return oldNamecall(self,
table.unpack(args,1,select("#",...)))
                   end
            elseif method == "Kick" and self == localPlayer then
                   return coroutine.yield()
            elseif method == "FindPartOnRayWithIgnoreList" then -- for bullet
redirection in the legitbotz
                   local passed = false
                   for i, v in next, args[2] do
                         if v.ClassName == "Accessory" then
                               passed = true
                         end
                   end
                   if passed then
                         if Menu["Misc"]["Weapon Modifications"]["Enabled"]
["Toggle"]["Enabled"] and Menu["Misc"]["Weapon Modifications"]["No Spread"]
["Toggle"]["Enabled"] then
                               args[1] = Ray.new(camera.CFrame.p,
camera.CFrame.lookVector * legitbot.weaponstats.gunrange * 0.0694)
                         end
                         if Menu["Legit"]["Bullet Redirection"]["Silent Aim"]
["Toggle"]["Enabled"] and Menu["Legit"]["Bullet Redirection"]["Hit Chance"]
["Value"] > math.random(0, 100) then -- ok is the chance met?
                               if legitbot.triggerbottarget.magnet.active == true
and legitbot.triggerbottarget.magnet.player ~= nil and
legitbot.triggerbottarget.magnet.instance ~= nil and
(math.abs(math.deg(math.acos((camera.CFrame.LookVector):Dot(newCframe(camera.CFrame
.p,
legitbot.triggerbottarget.magnet.player.Character.HumanoidRootPart.Position).LookVe
ctor))))) * 2 < Menu["Legit"]["Bullet Redirection"]["Silent Aim FOV"]["Value"] then
                                    args[1] = Ray.new(camera.CFrame.p,
(legitbot.triggerbottarget.magnet.position - camera.CFrame.p).unit *
legitbot.weaponstats.gunrange * 0.0694)
                              elseif legitbot.aimassisttarget.player ~= nil and
legitbot.aimassisttarget.instance ~= nil and legitbot.aimassisttarget.player ~= nil
and
(math.abs(math.deg(math.acos((camera.CFrame.LookVector):Dot(newCframe(camera.CFrame
.p,
legitbot.aimassisttarget.player.Character.HumanoidRootPart.Position).LookVector))))
) * 2 < Menu["Legit"]["Bullet Redirection"]["Silent Aim FOV"]["Value"] then -- ok
so the aim assist is trying to pull my crosshair to a certain part, if its in fov
then silent aim at it too
                                    args[1] = Ray.new(camera.CFrame.p,
(legitbot.aimassisttarget.position - camera.CFrame.p).unit *
legitbot.weaponstats.gunrange * 0.0694)
                              else
                                    local extraignored = {
                                          findFirstChild(workspace.Map, "Clips"),
                                          findFirstChild(workspace.Map,
"SpawnPoints"),
                                          camera,
                                          localPlayer.Character,
                                          findFirstChild(workspace, "Debris"),
                                          findFirstChild(workspace, "Ray_Ignore"),
                                    } -- ignoring every player model since that
doesnt block bullets :sad:
                                   local possibletargets = {}
                                   for i, v in next, (playerInfo.storage) do
                                         local pInfo = v
                                         if pInfo and pInfo.alive and pInfo.enemy
and not pInfo.protected then
                                               local angle =
(math.abs(math.deg(math.acos((camera.CFrame.LookVector):Dot(newCframe(camera.CFrame
.p, pInfo.character.HumanoidRootPart.Position).LookVector))))) * 2 -- cope!!!
                                               if angle < Menu["Legit"]["Bullet
Redirection"]["Silent Aim FOV"]["Value"] then
                                                     possibletargets[1 +
#possibletargets] = {pInfo.player, pInfo, pInfo.player.Character, angle}
                                               end
                                         end
                                   end
                                   table.sort(possibletargets, function(a, b)
return a[4] < b[4] end)
                                   local currenttarget
                                   for i, v in next, (possibletargets) do
                                         local player = v[1]
                                         local pInfo = v[2]
                                         local char = v[3]
                                         local potentialpoints = {}
                                         for i2, v2 in next, (Menu["Legit"]
["Bullet Redirection"]["Hitscan Points"]["Value"]) do
                                               for i3, v3 in next,
(legitbot.hitgroups[v2]) do
                                                      local point =
char:FindFirstChild(v3)
                                                      if
ragebot.allPartsForBacktrack[point] then
                                                            point =
ragebot.allPartsForBacktrack[point] -- this is actually a backtrack, switch to the
real one
                                                      end
                                                      if point then
                                                            potentialpoints[1 +
#potentialpoints] = point -- okay these are our hitscan points
                                                      end
                                               end
                                         end
                                         local ignore = {workspace.Map}
                                         if not Menu["Legit"]["Bullet
Redirection"]["Aim Through Smoke"]["Toggle"]["Enabled"] then
                                               ignore[1 + #ignore] =
workspace.Ray_Ignore
                                         end
                                         if
localPlayer.PlayerGui.Blnd.Blind.BackgroundTransparency > 0.85 or Menu["Legit"]
["Bullet Redirection"]["Aim Through Flash"]["Toggle"]["Enabled"] then
                                               local bestpoints = {}
                                               if Menu["Legit"]["Bullet
Redirection"]["Accuracy"]["Value"] >= math.random(1, 100) then
                                                     local priority =
Menu["Legit"]["Bullet Redirection"]["Hitscan Priority"]["Value"]
                                                     local currentpos, currentpart
                                                     if priority == "Closest" then
                                                           local angles = {}
                                                           for i2, v2 in next,
(potentialpoints) do
                                                                 local point = v2
                                                                 if point then
                                                                       angles[1 +
#angles] = {point,
(math.abs(math.deg(math.acos((camera.CFrame.LookVector):Dot(newCframe(camera.CFrame
.p, point.Position).LookVector))))) * 2}
                                                                 end
                                                           end
                                                           table.sort(angles,
function(a, b)
                                                                  return a[2] < b[2]
                                                            end)
                                                            for i2, v2 in next,
(angles) do
                                                                  bestpoints[1 +
#bestpoints] = v2[1]
                                                            end
                                                     else
                                                           for i2, v2 in next,
(legitbot.hitgroups[Menu["Legit"]["Bullet Redirection"]["Hitscan Priority"]
["Value"]]) do
                                                                 local point =
char:FindFirstChild(v2)
                                                                 bestpoints[1 +
#bestpoints] = point
                                                           end
                                                     end
                                               end
                                               local copy = {}
                                               for i2, v2 in next,
(potentialpoints) do
                                                     local point =
char:FindFirstChild(v2)
                                                     if point then
                                                           copy[1 + #copy] = point
                                                     end
                                               end
                                               local j, temp
                                               for f = #copy, 1, -1 do
                                                     j = math.random(f)
                                                     temp = copy[f]
                                                     copy[i] = copy[j]
                                                     copy[j] = temp
                                               end
                                               for i2, v2 in next, (copy) do
                                                     bestpoints[1 + #bestpoints] =
v2
                                               end
                                               for i2, v2 in next, (bestpoints) do
                                                     if v2 ~= nil then
                                                           local ray =
Ray.new(camera.CFrame.p, v2.Position - camera.CFrame.p)
                                                           local hit, pos =
workspace:FindPartOnRayWithWhitelist(ray, ignore)
                                                                 local enterParam =
RaycastParams.new()
enterParam.FilterType = Enum.RaycastFilterType.Blacklist
enterParam.IgnoreWater = true
     enterParam.FilterDescendantsInstances = args[2]
                                                                  local
resultOfDepressionAndLonliness = workspaceRaycast(workspace, args[1].Origin,
args[1].Direction, enterParam)
                                                                  return
resultOfDepressionAndLonliness and resultOfDepressionAndLonliness.Instance or nil,
resultOfDepressionAndLonliness and resultOfDepressionAndLonliness.Position or
(args[1].Origin + args[1].Direction), resultOfDepressionAndLonliness and
resultOfDepressionAndLonliness.Normal or emptyVec3, resultOfDepressionAndLonliness
and resultOfDepressionAndLonliness.Material or nil
                                                           end
                                                      end
                                                end
                                          end
                                    end
                              end
                        end
                        -- vaderrrr :c what is this emo shit doing here :sad:
                        local enterParam = RaycastParams.new()
                        enterParam.FilterType = Enum.RaycastFilterType.Blacklist
                        enterParam.IgnoreWater = true
                        enterParam.FilterDescendantsInstances = args[2]
                        local resultOfDepressionAndLonliness =
workspaceRaycast(workspace, args[1].Origin, args[1].Direction, enterParam)
                        return resultOfDepressionAndLonliness and
resultOfDepressionAndLonliness.Instance or nil, resultOfDepressionAndLonliness and
resultOfDepressionAndLonliness.Position or (args[1].Origin + args[1].Direction),
resultOfDepressionAndLonliness and resultOfDepressionAndLonliness.Normal or
emptyVec3, resultOfDepressionAndLonliness and
resultOfDepressionAndLonliness.Material or nil
                  end
            elseif method == "SetPrimaryPartCFrame" then
                  if self.Name:find("Arms") and localPlayer.Character then
                        if Menu["Visuals"]["Camera"]["Disable Weapon Swaying"]
["Toggle"]["Enabled"] then
                              args[1] = camera.CFrame
                        end
                        if Menu["Visuals"]["Viewmodel"]["Offset Viewmodel"]
["Toggle"]["Enabled"] then
                              args[1] = args[1] * newCframe(toRad * Menu["Visuals"]
["Viewmodel"]["X Axis"]["Value"], toRad * Menu["Visuals"]["Viewmodel"]["Y Axis"]
["Value"], toRad * Menu["Visuals"]["Viewmodel"]["Z Axis"]["Value"]) *
CFrame.Angles(toRad * Menu["Visuals"]["Viewmodel"]["Pitch"]["Value"], toRad *
Menu["Visuals"]["Viewmodel"]["Yaw"]["Value"], toRad * Menu["Visuals"]["Viewmodel"]
["Roll"]["Value"])
                        end
                        if Menu["Rage"]["Aimbot"]["Rotate Viewmodel"]["Toggle"]
["Enabled"] and ragebot.currenttarget.position then
                              args[1] = CFrame.lookAt(args[1].p,
ragebot.currenttarget.position)
                        end
                        if Menu["Visuals"]["Camera"]["Third Person"]["Toggle"]
["Enabled"] and Menu["Visuals"]["Camera"]["Third Person"]["Bind"]["Active"] then
                              args[1] = args[1] * newCframe(10000, 10000, 10000)
                        end
                        return oldNamecall(self, args[1])
                  end
            elseif method == "LoadAnimation" then
                  if (Menu["Misc"]["Movement"]["Automatic Jump"]["Toggle"]
["Enabled"] and (Menu["Misc"]["Movement"]["Speed"]["Toggle"]["Enabled"] and
Menu["Misc"]["Movement"]["Speed"]["Bind"]["Active"])) or Menu["Rage"]["Anti Aim"]
["Slide Walk"]["Toggle"]["Enabled"] then
                        if string.match(args[1].Name, "Jump") then
                              args[1] = ragebot.fakeanimation
                              return oldNamecall(self, args[1])
                        end
                  end
            elseif method == "InvokeServer" then
                  if self.Name == "Filter" and Menu["Misc"]["Extra"]["Uncensor
Chat"]["Toggle"]["Enabled"] then
                        return args[1]
                  elseif self.Name == "Hugh" then
                        if Menu["Misc"]["Exploits"]["Unlock Inventory"]["Toggle"]
["Enabled"] then
                              return
                        end
                  end
        elseif method == "inverse" then
            camRecoilAngle = self
            end
do --ANCHOR fixes
      local oldBulletHole = client.createbullethole
      client.createbullethole = function(part, pos, bloodsplatter)
            if pos ~= pos then
                  pos = emptyVec3
            end
            if Menu["Misc"]["Extra"]["Remove Bullet Holes"]["Toggle"]["Enabled"]
then
                  bloodsplatter = false
            end
            return oldBulletHole(part, pos, bloodsplatter)
      end
      local oldSplatter = client.splatterBlood
      client.splatterBlood = function(origin, humanoid, dmg, startpos, pos)
            if Menu["Misc"]["Extra"]["Remove Hit Effects"]["Toggle"] then
                  return
            end
            return oldSplatter(origin, humanoid, dmg, startpos, pos)
      end
      workspace.Debris.ChildAdded:Connect(function(child)
            if child.Name == "Bullet" and Menu["Misc"]["Extra"]["Remove Bullet
Holes"]["Toggle"]["Enabled"] then
                  task.spawn(child.Destroy, child)
            end
      end)
      do
            local old = client.firebullet
            client.firebullet = function(...)
                  if Menu.closed then
                        return old(...)
                  end
            end
      end
end
-- how about
-- dn
-- ?
--ANCHOR Exploits
do
      -- Killall
      exploits.killAll = {}
      exploits.crashmessages = {
            " SERVER LOCKED 🔒🔒🔒",
            " SERVER LOCKED BY BLOXSENSE 🔒🔒🔒",
            "☁️☁️☁️ SERVER SMOKED ☁️☁️☁️",
            "☁️☁️☁️ SERVER SMOKED BY BLOXSENSE ☁️☁️☁️",
           " SERVER CLOSED 🔒🔒🔒",
           "👋👋👋 GOODBYE SERVER 👋👋👋",
           "👋👋👋 GOODBYE 👋👋👋",
           "🚨🚨🚨 SERVER GONE 🚨🚨🚨",
           "🚨🚨🚨 SERVER LOCKED 🚨🚨🚨",
           " SERVER SMOKED ",
           " SERVER SMOKED BY BLOXSENSE ",
           "😤😤😤 SERVER GONE 😤😤😤",
           "⚠️ RIP SERVER ⚠️",
           "😭Ahh~ Its so Hard~ Its time to pleasure Master~ 😭",
           "🤤🤤 Its time to pleasure Master~",
           "😝Time to milk master~ UwU~ 😝",
           "🤤🤤 Do you like this Master?~ 🤤🤤",
           "⚠️ SERVER CLOSED FOR MAINTENANCE ⚠️",
           "SERVER CLOSED BY BLOXSENSE",
           "🌱🌱 TIME TO TOUCH GRASS 🌱🌱",
           "Master gives me milk all day you wanna come with me?~ 😉😉",
           "⚠️ SERVER CLOSED UNTIL FURTHER NOTICE ⚠️",
           "🔒🔒🔒🔒 SERVER LOCKED 🔒🔒🔒🔒",
           "😭😭 NOOO DONT CRASH THE SERVER 😭😭",
           "⚠️ SERVER CLOSED ⚠️",
           "☁️☁️ SERVER JUST WENT UP IN SMOKE ☁️☁️",
           "*POOF* SERVER GONE *POOF*",
           "ඞ ඞ ඞ ඞ ඞ ඞ ඞ",
     }
      replicatedStorage.Events.DropMag:FireServer(pInfo.character.Gun.Mag)
                                          end
                                    end
                              end
                        end
                        if
localPlayer.Character:FindFirstChild("Gun"):FindFirstChild("Mag") then
                              for i = 1, 15 do
      replicatedStorage.Events.DropMag:FireServer(localPlayer.Character.Gun.Mag)
                              end
                        end
                  end)
            end
      end]]
      --Menu["Misc"]["Exploits"]["Crash Server"]
["Button"].Pressed:Connect(exploits.crashserver)
      runService.Stepped:Connect(function()
            if Menu["Misc"]["Extra"]["Kill All"]["Toggle"]["Enabled"] then
                  for i, v in next, players:GetPlayers() do
                        if v ~= localPlayer then
                              local pInfo = playerInfo.storage[v]
                              if pInfo and pInfo.alive and pInfo.head and
localPlayer.Character and pInfo.enemy then
                                    alive = true
                              else
                                    alive = false
                              end
                                   }
                                   if fullpower then -- ??? helps???
                                         for i = 1, 200 do
                                               args[1 + #args] = "`"
                                         end
                                   end
     game.ReplicatedStorage.Events.UpdatePing:FireServer(-0)
                                   hitPart:FireServer(
                                         v.Character.HumanoidRootPart,
                                         {X = 0/0, Y = 0/0, Z = 0/0},
                                         "G3SG1",
                                         0,
     localPlayer.Character:FindFirstChild("Gun"),
                                        nil,
                                        4,
                                        false,
                                        false,
                                        newVector3(),
                                         0,
                                         newVector3(),
                                         false,
                                         nil,
                                         nil,
                                         nil,
                                         nil
                                   )
      --[[function exploits.plantc4()
            if workspace.Map.Gamemode.Value == "defusal" and not
workspace:FindFirstChild("C4") and localPlayer.Status.Alive.Value then
                  UILibrary:EventLog("Planting the bomb...", 5)
                  ragebot.manualhrp = true
                  local connection = runService.Stepped:Connect(function()
                        ragebot.realhrp.CFrame =
workspace.Map.SpawnPoints.C4Plant.CFrame + newVector3(0, 1, 0)
                        ragebot.realhrp.Velocity = emptyVec3
                  end)
                  task.wait(0.25)
                  local plantedcf = Menu["Misc"]["Exploits"]["Plant Position"]
["Value"] == "Void" and CFrame.new(0/0, 0/0, 0/0) or Menu["Misc"]["Exploits"]
["Plant Position"]["Value"] == "Bombsite" and
workspace.Map.SpawnPoints.C4Plant.CFrame or Menu["Misc"]["Exploits"]["Plant
Position"]["Value"] == "Glitch" and ""
                  replicatedStorage.Events.PlantC4:FireServer(plantedcf, "B")
                  task.wait(0.25)
                  ragebot.manualhrp = false
                  connection:Disconnect()
            else
                  UILibrary:EventLog("Cannot plant at this time", 5)
            end
      end
      Menu["Misc"]["Exploits"]["Instant Plant"]
["Button"].Pressed:Connect(exploits.plantc4)
      function exploits.defusec4()
            if workspace.Map.Gamemode.Value == "defusal" and
workspace:FindFirstChild("C4") and localPlayer.Status.Alive.Value and
(workspace.C4.Handle.CFrame.p -
localPlayer.Character.HumanoidRootPart.Position).Magnitude < 290 then
                  UILibrary:EventLog("Defusing...", 5)
                  ragebot.manualhrp = true
                  local connection = runService.Stepped:Connect(function()
                        ragebot.realhrp.CFrame = workspace.C4.Handle.CFrame +
newVector3(0, 1, 0)
                        ragebot.realhrp.Velocity = emptyVec3
                  end)
                  task.wait(0.25)
                  localPlayer.Backpack.PressDefuse:FireServer(workspace.C4)
                  task.wait()
                  localPlayer.Backpack.Defuse:FireServer(workspace.C4)
                  task.wait(0.25)
                  ragebot.manualhrp = false
                  connection:Disconnect()
            else
                  UILibrary:EventLog("Cannot defuse at this time", 5)
            end
      end
      Menu["Misc"]["Exploits"]["Instant Defuse"]
["Button"].Pressed:Connect(exploits.defusec4)]]
      -- Fake Equip
            --[[function exploits.updateFakeEquip()
                  -- !
                  local isActive = Menu["Misc"]["Exploits"]["Fake Equip"]["Toggle"]
["Enabled"]
                  if isActive and localPlayer.Character then
                        -- Set fake gun (WHY DOES INTERGER DEFINE SHIT AFTER FFS)
                        local slot = Menu["Misc"]["Exploits"]["Fake Slot"]["Value"]
                        local fakeGunName = (slot == "C4" and "C4") or (slot ==
"Primary" and getupvalue(client.usethatgun, 13)) or (slot == "Secondary" and
getupvalue(client.usethatgun, 14)) or (slot == "Melee" and
getupvalue(client.usethatgun, 15)) -- sadly im pretty sure this upvalue shit is the
most reliable way to get the gun
                        local fakeGun = findFirstChild(replicatedStorage.Weapons,
fakeGunName)
                       -- Check if its ya
                       if fakeGun then
                             replicatedStorage.Events.ApplyGun:FireServer(fakeGun,
localPlayer)
                       end
                 end
            end
            Menu["Misc"]["Exploits"]["Fake Equip"]
["Toggle"].Changed:Connect(exploits.updateFakeEquip)
            Menu["Misc"]["Exploits"]["Fake Slot"]
["Dropdown"].Changed:Connect(exploits.updateFakeEquip)
      function exploits.god()
            if localPlayer and localPlayer.Character then
                  if Menu["Misc"]["Exploits"]["God Mode Type"]["Value"] ==
"Hostage" then
                        if localPlayer.Character:FindFirstChild("Hostage") then
                              UILibrary:EventLog("You are already godded", 5)
                        else
                              local real =
replicatedStorage.Weapons:FindFirstChild(client.fgun.Name)
                              local fake = getprops(real)
                              for i, v in next, real:GetChildren() do
                                    fake[v.Name] = v
                              end
                              fake.Model = replicatedStorage.Hostage.Hostage --
basically ur telling the game ur a hostage
      replicatedStorage.Events.ApplyGun:FireServer(tostring(fake), localPlayer,
"this is funny")
      replicatedStorage.Events.ApplyGun:FireServer(tostring(real), localPlayer,
"this is funny")
                              repeat
                                    task.wait()
                              until localPlayer.Character:FindFirstChild("Hostage")
                              UILibrary:EventLog("You are godded and can kill
others", 5)
                        end
                  else
                        if localPlayer.Character.Humanoid.Health >= 0 then
                              replicatedStorage.Events.FallDamage:FireServer(0/0)
                              UILibrary:EventLog("You are godded but cannot kill
others", 5)
                        else
                              UILibrary:EventLog("You are already godded", 5)
                        end
                  end
            else
                  UILibrary:EventLog("You are not alive", 5)
            end
      end
      Menu["Misc"]["Exploits"]["God Mode"]["Button"].Pressed:Connect(exploits.god)
           -- Faliure
           UILibrary:EventLog("Unable to grab player", 5)
           return false
      end
      function exploits.grabCharacter(character: Model): boolean
            if Menu["Misc"]["Exploits"]["Action"]["Value"] == "Hold" then
                  -- Check if we are alive niggaaaaaaaaaaaa
                  if localPlayer.Character and
localPlayer.Character:FindFirstChild("Gun") then
                        -- Don't want to mistake this for the real fake
                        localPlayer.Character.Gun:Destroy()
                        UILibrary:EventLog("Grabbed " .. character.Name, 5)
                  else
                        -- Do it
                        UILibrary:EventLog("Unable to grab " .. character.Name, 5)
                        return
                  end
            end
      replicatedStorage.Events.DropMag:FireServer(localPlayer.Character.Gun)
                  task.wait(((50 + game.Stats.PerformanceStats.Ping:GetValue()) *
2) / 1000)
                  exploits.cloneInstance(workspace.Ray_Ignore)
                  localPlayer.Character.Gun:Destroy()
                  replicatedStorage.Events.ApplyGun:FireServer(client.fgun,
localPlayer)
            end
           -- Faliure
           return
      end
      local function grabCallback()
            -- El bruhino
            local playerName = Menu["Misc"]["Exploits"]["Player in Focus"]["Value"]
            local player = players:FindFirstChild(playerName)
            if player and player ~= localPlayer then
                  if player.Character and
player.Character:FindFirstChild("UpperTorso") then
                        -- Grab that nn
                        exploits.grabCharacter(player.Character)
                  else
                        UILibrary:EventLog(player.Name .. " is not alive at this
time", 5)
                  end
            else
                  UILibrary:EventLog("Cannot grab yourself", 5)
            end
      end
      replicatedStorage.Events.PlaySound:FireServer(player.Character,
replicatedStorage.Hostage.Head)
                  elseif action == "Desync" then
      replicatedStorage.Events.PlaySound:FireServer(player.Character,
player.Character.PrimaryPart)
                  end
            else
                  UILibrary:EventLog(player.Name .. " is not alive at this time",
5)
            end
      end)
      function exploits.blockvision()
            if localPlayer.Character and
localPlayer.Character:FindFirstChild("HumanoidRootPart") then
                  for i, v in next, (players:GetPlayers()) do
                        if v ~= localPlayer and v.Character and
v.Character:FindFirstChild("HumanoidRootPart") then
                              local char = v.Character
     replicatedStorage.Events.DropMag:FireServer(v2)
                                   end
                             end
                       end
                 end
           end
     end
      function exploits.kickeveryone()
            local ragdollpiece
            for i, v in next, (players:GetPlayers()) do
                  if v:FindFirstChild("Ragdoll") and
v.Ragdoll:FindFirstChild("Head") then
                        ragdollpiece = v.Ragdoll.Head
                        break
                  end
            end
            if ragdollpiece then
                  for i, v in next, (players:GetPlayers()) do
                        if v ~= localPlayer then
                              if v.Character and
v.Character:FindFirstChild("Humanoid") then
     replicatedStorage.Events.PlaySound:FireServer(v.Character, ragdollpiece)
                             end
                       end
                 end
replicatedStorage.Events.PlaySound:FireServer(game.StarterPlayer.StarterCharacter,
ragdollpiece)
                  repeat
                        task.wait()
                  until game.StarterPlayer.StarterCharacter:FindFirstChild("Head")
                  UILibrary:EventLog("The next time someone will spawn, they will
be kicked", 5)
            else
                  UILibrary:EventLog("Cannot kick everyone at this time", 5)
            end
      end
      Menu["Misc"]["Exploits"]["Kick all players"]
["Button"].Pressed:Connect(exploits.kickeveryone)          ]]
end
--ANCHOR settings
do
      menusettings.oldaccent = MenuParameters.UIcolors.Accent
      function menusettings.rgbtohsv(Color)
            local color = Color3.new(Color.R, Color.G, Color.B)
            local h, s, v = color:ToHSV()
            return h, s, v
      end
      function menusettings.updatecheattext()
            if Menu["Settings"]["Menu Settings"]["Custom Menu Name"]["Toggle"]
["Enabled"] == true then
                  Library.UI.CheatNameText.Text = Menu["Settings"]["Menu Settings"]
["Custom Menu Name Text"]["Value"]
                  Library.UI.Setwatermarkcheatname(Menu["Settings"]["Menu
Settings"]["Custom Menu Name Text"]["Value"])
           else
                  Library.UI.Setwatermarkcheatname(MenuParameters.CheatName)
                  Library.UI.CheatNameText.Text = MenuParameters.CheatName
            end
      end
      Menu["Settings"]["Menu Settings"]["Custom Menu Name"]
["Toggle"].Changed:Connect(menusettings.updatecheattext)
      Menu["Settings"]["Menu Settings"]["Custom Menu Name
Text"].Changed:Connect(menusettings.updatecheattext)
      function menusettings.updatecheataccent()
            local newcolor = menusettings.oldaccent
            if Menu["Settings"]["Menu Settings"]["Menu Accent"]["Toggle"]
["Enabled"] then
                  newcolor = Menu["Settings"]["Menu Settings"]["Menu Accent"]
["Color 1"]["Color"]
            end
            MenuParameters.UIcolors.Accent = newcolor
            for cf, c in next, (Library.Accents) do
                  if c:IsA("UIGradient") then
                        local Hue, Sat, Val = menusettings.rgbtohsv(newcolor)
                        local color = newcolor
                        c.Color = ColorSequence.new({
                              ColorSequenceKeypoint.new(0, Color3.fromHSV(Hue, Sat,
Val)),
                              ColorSequenceKeypoint.new(1,
Color3.fromRGB(math.clamp(color.R * 255 - 40, 0, 255), math.clamp(color.G * 255 -
40, 0, 255), math.clamp(color.B * 255 - 40, 0, 255)))
                        })
                  elseif c:IsA("TextButton") and c.TextColor3 ~=
MenuParameters.UIcolors.FullWhite then
                        c.TextColor3 = newcolor
                  else
                        if c.BackgroundColor3 ~= MenuParameters.UIcolors.ColorD
then
                              c.BackgroundColor3 = newcolor
                        end
                  end
            end
      end
cameraTasks.onCameraAdded()
env.Hack.mathModule = mathModule
env.Hack.timer = timer
env.Hack.trajectory = trajectory
env.Hack.ragebot = ragebot
env.Hack.legitbot = legitbot
env.Hack.misc = misc
env.Hack.visuals = visuals
env.Hack.movement = movement
env.Hack.playerInfo = playerInfo
env.Hack.raycastUtils = raycastUtils
      -- this was made when you could inline the drawing lib in synapse, since
thats no longer a thing, these functions stayed
      local function SetDrawing(obj, prop, val)
            obj[prop] = val
      end
      for i, v in next, ({"Network Send: ", "Network Recieve: ", "FPS: ", "Tick: ",
"Memory Usage: ", "Status: ", "Connected"}) do
            local Txt = visuals.createDrawing("Text", {["Size"] = 13, ["Center"] =
false, ["Outline"] = true, ["Font"] = Drawing.Fonts.Plex, ["Color"] =
Color3.fromRGB(255, 255, 255), ["Visible"] = true, ["Text"] = v})
            debugText[v] = Txt
            Txt.Position = Vector2.zero
            if v ~= "Connected" then
                  SetDrawing(Txt, "Position", newVector2(8, (camera.ViewportSize.Y
* 0.25) + (i * 15)))
            else
                  SetDrawing(Txt, "Position",
newVector2(GetDrawing(debugText["Status: "], "Position").X +
GetDrawing(debugText["Status: "], "TextBounds").X, GetDrawing(debugText["Status:
"], "Position").Y))
            end
      end
      local RefreshTick = tick()
      local FpsCount = 0
      local OldIncoming
      runService.RenderStepped:Connect(function(Time)
            for i, v in next, (debugText) do
                  SetDrawing(v, "Visible", Menu["Settings"]["Menu Settings"]["Show
Debug Info"]["Toggle"]["Enabled"])
            end
            FpsCount = FpsCount + 1
            if tick() - RefreshTick > 1 then
                  local outgoing =
game.Stats.PerformanceStats.NetworkSent:GetValue()
                  local incoming =
game.Stats.PerformanceStats.NetworkReceived:GetValue()
                  -- Text
                  SetDrawing(debugText["Memory Usage: "], "Text", "Memory Usage:
" .. math.floor(game.Stats.GetTotalMemoryUsageMb(game.Stats) + 0.5) .. " Mb")
                  SetDrawing(debugText["Network Send: "], "Text", "Network Send:
" .. math.floor(outgoing + 0.5) .. " kbps")
                  SetDrawing(debugText["Network Recieve: "], "Text", "Network
Recieve: " .. math.floor(incoming + 0.5) .. " kbps")
                  SetDrawing(debugText["FPS: "], "Text", "FPS: " .. FpsCount)
                  SetDrawing(debugText["Tick: "], "Text", "Tick: " ..
math.floor(tick() + 0.5))
                  -- Colorz
                  if outgoing > 64 then
                        SetDrawing(debugText["Network Send: "], "Color",
Color3.fromRGB(255, 0, 0))
                  else
                        SetDrawing(debugText["Network Send: "], "Color",
Color3.fromRGB(255, 255, 255))
                  end
                  if incoming < 1 then
                        SetDrawing(debugText["Network Recieve: "], "Color",
Color3.fromRGB(255, 0, 0))
                  else
                        SetDrawing(debugText["Network Recieve: "], "Color",
Color3.fromRGB(255, 255, 255))
                  end
                  if incoming == OldIncoming then
                        SetDrawing(debugText["Connected"], "Text", "Disconnected")
                        SetDrawing(debugText["Connected"], "Color", Color3.new(255,
0, 0))
                  else
                        SetDrawing(debugText["Connected"], "Text", "Connected")
                        SetDrawing(debugText["Connected"], "Color", Color3.new(0,
255, 0))
                  end
                  FpsCount = 0
                  OldIncoming = incoming
                  RefreshTick = tick()
            end
      end)
end
Library.UI:EventLog(string.format("Loaded in %s second(s)!",
tostring(mathModule.truncateNumber(os.clock() - cheatLoadingStartTick, 3))), 5)
UILibrary:Initialize()
Library.UI:EventLog("Press INSERT or DELETE to open / close the Menu!", 5)
Menu["Settings"]["Menu Settings"]["Watermark"]["Toggle"]["Enabled"] = true
Menu["Settings"]["Menu Settings"]["Keybinds"]["Toggle"]["Enabled"] = false
do
     for i, v in next, (listfiles("bloxsense/bloxsense_auto_exec")) do
           local success, err = pcall(function()
            coroutine.wrap(function()
                loadstring(readfile(v))()
            end)()
       end)
        if not success then
             Library.UI:EventLog("Failed to auto loaded script" .. v, 5)
        else
             Library.UI:EventLog("Auto loaded script" .. v, 5)
        end
      end
end