Open source reanim V2 with your little friend
Key RequiredUniversal

Open source reanim V2 with your little friend

Universal ScriptMonkerMonker 9.3K views 2.6K executesUpdated May 4, 2025
4.0/ 5(5 votes)
4180% Positive
Lua Script•1924 lines (78616 chars)
print('Script start')
local Players = game:GetService("Players")
local Kavo = {}

local tween = game:GetService("TweenService")
local tweeninfo = TweenInfo.new
local input = game:GetService("UserInputService")
local run = game:GetService("RunService")

local Utility = {}
local Objects = {}
function Kavo:DraggingEnabled(frame, parent)
  parent = parent or frame
  local dragging = false
  local dragInput, mousePos, framePos
  frame.InputBegan:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 then
      dragging = true
      mousePos = input.Position
      framePos = parent.Position
      
      input.Changed:Connect(function()
        if input.UserInputState == Enum.UserInputState.End then
          dragging = false
        end
      end)
    end
  end)
  frame.InputChanged:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseMovement then
      dragInput = input
    end
  end)
  input.InputChanged:Connect(function(input)
    if input == dragInput and dragging then
      local delta = input.Position - mousePos
      parent.Position = UDim2.new(framePos.X.Scale, framePos.X.Offset + delta.X, framePos.Y.Scale, framePos.Y.Offset + delta.Y)
    end
  end)
end
function Utility:TweenObject(obj, properties, duration, ...)
  tween:Create(obj, tweeninfo(duration, ...), properties):Play()
end
local themes = {
  SchemeColor = Color3.fromRGB(74, 99, 135),
  Background = Color3.fromRGB(36, 37, 43),
  Header = Color3.fromRGB(28, 29, 34),
  TextColor = Color3.fromRGB(255,255,255),
  ElementColor = Color3.fromRGB(32, 32, 38)
}
local themeStyles = {
  DarkTheme = {
    SchemeColor = Color3.fromRGB(64, 64, 64),
    Background = Color3.fromRGB(0, 0, 0),
    Header = Color3.fromRGB(0, 0, 0),
    TextColor = Color3.fromRGB(255,255,255),
    ElementColor = Color3.fromRGB(20, 20, 20)
  },
  LightTheme = {
    SchemeColor = Color3.fromRGB(150, 150, 150),
    Background = Color3.fromRGB(255,255,255),
    Header = Color3.fromRGB(200, 200, 200),
    TextColor = Color3.fromRGB(0,0,0),
    ElementColor = Color3.fromRGB(224, 224, 224)
  },
  BloodTheme = {
    SchemeColor = Color3.fromRGB(227, 27, 27),
    Background = Color3.fromRGB(10, 10, 10),
    Header = Color3.fromRGB(5, 5, 5),
    TextColor = Color3.fromRGB(255,255,255),
    ElementColor = Color3.fromRGB(20, 20, 20)
  },
  GrapeTheme = {
    SchemeColor = Color3.fromRGB(166, 71, 214),
    Background = Color3.fromRGB(64, 50, 71),
    Header = Color3.fromRGB(36, 28, 41),
    TextColor = Color3.fromRGB(255,255,255),
    ElementColor = Color3.fromRGB(74, 58, 84)
  },
  Ocean = {
    SchemeColor = Color3.fromRGB(86, 76, 251),
    Background = Color3.fromRGB(26, 32, 58),
    Header = Color3.fromRGB(38, 45, 71),
    TextColor = Color3.fromRGB(200, 200, 200),
    ElementColor = Color3.fromRGB(38, 45, 71)
  },
  Midnight = {
    SchemeColor = Color3.fromRGB(26, 189, 158),
    Background = Color3.fromRGB(44, 62, 82),
    Header = Color3.fromRGB(57, 81, 105),
    TextColor = Color3.fromRGB(255, 255, 255),
    ElementColor = Color3.fromRGB(52, 74, 95)
  },
  Sentinel = {
    SchemeColor = Color3.fromRGB(230, 35, 69),
    Background = Color3.fromRGB(32, 32, 32),
    Header = Color3.fromRGB(24, 24, 24),
    TextColor = Color3.fromRGB(119, 209, 138),
    ElementColor = Color3.fromRGB(24, 24, 24)
  },
  Synapse = {
    SchemeColor = Color3.fromRGB(46, 48, 43),
    Background = Color3.fromRGB(13, 15, 12),
    Header = Color3.fromRGB(36, 38, 35),
    TextColor = Color3.fromRGB(152, 99, 53),
    ElementColor = Color3.fromRGB(24, 24, 24)
  },
  Serpent = {
    SchemeColor = Color3.fromRGB(0, 166, 58),
    Background = Color3.fromRGB(31, 41, 43),
    Header = Color3.fromRGB(22, 29, 31),
    TextColor = Color3.fromRGB(255,255,255),
    ElementColor = Color3.fromRGB(22, 29, 31)
  }
}
local oldTheme = ""
local SettingsT = {}
local Name = "KavoConfig.JSON"
pcall(function()
if not pcall(function() readfile(Name) end) then
writefile(Name, game:service'HttpService':JSONEncode(SettingsT))
end
Settings = game:service'HttpService':JSONEncode(readfile(Name))
end)
local LibName = tostring(math.random(1, 100))..tostring(math.random(1,50))..tostring(math.random(1, 100))
function Kavo.CreateLib(kavName, themeList)
  if not themeList then
    themeList = themes
  end
  if themeList == "DarkTheme" then
    themeList = themeStyles.DarkTheme
  elseif themeList == "LightTheme" then
    themeList = themeStyles.LightTheme
  elseif themeList == "BloodTheme" then
    themeList = themeStyles.BloodTheme
  elseif themeList == "GrapeTheme" then
    themeList = themeStyles.GrapeTheme
  elseif themeList == "Ocean" then
    themeList = themeStyles.Ocean
  elseif themeList == "Midnight" then
    themeList = themeStyles.Midnight
  elseif themeList == "Sentinel" then
    themeList = themeStyles.Sentinel
  elseif themeList == "Synapse" then
    themeList = themeStyles.Synapse
  elseif themeList == "Serpent" then
    themeList = themeStyles.Serpent
  else
    if themeList.SchemeColor == nil then
      themeList.SchemeColor = Color3.fromRGB(74, 99, 135)
    elseif themeList.Background == nil then
      themeList.Background = Color3.fromRGB(36, 37, 43)
    elseif themeList.Header == nil then
      themeList.Header = Color3.fromRGB(28, 29, 34)
    elseif themeList.TextColor == nil then
      themeList.TextColor = Color3.fromRGB(255,255,255)
    elseif themeList.ElementColor == nil then
      themeList.ElementColor = Color3.fromRGB(32, 32, 38)
    end
  end
  themeList = themeList or {}
  local selectedTab 
  kavName = kavName or "Library"
  table.insert(Kavo, kavName)
  for i,v in pairs(game.CoreGui:GetChildren()) do
    if v:IsA("ScreenGui") and v.Name == kavName then
      v:Destroy()
    end
  end
  local ScreenGui = Instance.new("ScreenGui")
  local Main = Instance.new("Frame")
  local MainCorner = Instance.new("UICorner")
  local MainHeader = Instance.new("Frame")
  local headerCover = Instance.new("UICorner")
  local coverup = Instance.new("Frame")
  local title = Instance.new("TextLabel")
  local close = Instance.new("ImageButton")
  local MainSide = Instance.new("Frame")
  local sideCorner = Instance.new("UICorner")
  local coverup_2 = Instance.new("Frame")
  local tabFrames = Instance.new("Frame")
  local tabListing = Instance.new("UIListLayout")
  local pages = Instance.new("Frame")
  local Pages = Instance.new("Folder")
  local infoContainer = Instance.new("Frame")
  local blurFrame = Instance.new("Frame")
  Kavo:DraggingEnabled(MainHeader, Main)
  blurFrame.Name = "blurFrame"
  blurFrame.Parent = pages
  blurFrame.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  blurFrame.BackgroundTransparency = 1
  blurFrame.BorderSizePixel = 0
  blurFrame.Position = UDim2.new(-0.0222222228, 0, -0.0371747203, 0)
  blurFrame.Size = UDim2.new(0, 376, 0, 289)
  blurFrame.ZIndex = 999
  ScreenGui.Parent = game.CoreGui
  ScreenGui.Name = LibName
  ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
  ScreenGui.ResetOnSpawn = false
  Main.Name = "Main"
  Main.Parent = ScreenGui
  Main.BackgroundColor3 = themeList.Background
  Main.ClipsDescendants = true
  Main.Position = UDim2.new(0.336503863, 0, 0.275485456, 0)
  Main.Size = UDim2.new(0, 525, 0, 318)
  MainCorner.CornerRadius = UDim.new(0, 4)
  MainCorner.Name = "MainCorner"
  MainCorner.Parent = Main
  MainHeader.Name = "MainHeader"
  MainHeader.Parent = Main
  MainHeader.BackgroundColor3 = themeList.Header
  Objects[MainHeader] = "BackgroundColor3"
  MainHeader.Size = UDim2.new(0, 525, 0, 29)
  headerCover.CornerRadius = UDim.new(0, 4)
  headerCover.Name = "headerCover"
  headerCover.Parent = MainHeader
  coverup.Name = "coverup"
  coverup.Parent = MainHeader
  coverup.BackgroundColor3 = themeList.Header
  Objects[coverup] = "BackgroundColor3"
  coverup.BorderSizePixel = 0
  coverup.Position = UDim2.new(0, 0, 0.758620679, 0)
  coverup.Size = UDim2.new(0, 525, 0, 7)
  title.Name = "title"
  title.Parent = MainHeader
  title.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  title.BackgroundTransparency = 1.000
  title.BorderSizePixel = 0
  title.Position = UDim2.new(0.0171428565, 0, 0.344827592, 0)
  title.Size = UDim2.new(0, 204, 0, 8)
  title.Font = Enum.Font.Gotham
  title.RichText = true
  title.Text = kavName
  title.TextColor3 = Color3.fromRGB(245, 245, 245)
  title.TextSize = 16.000
  title.TextXAlignment = Enum.TextXAlignment.Left
  close.Name = "close"
  close.Parent = MainHeader
  close.BackgroundTransparency = 1.000
  close.Position = UDim2.new(0.949999988, 0, 0.137999997, 0)
  close.Size = UDim2.new(0, 21, 0, 21)
  close.ZIndex = 2
  close.Image = "rbxassetid://3926305904"
  close.ImageRectOffset = Vector2.new(284, 4)
  close.ImageRectSize = Vector2.new(24, 24)
  close.MouseButton1Click:Connect(function()
    tween:Create(close, TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut), {
      ImageTransparency = 1
    }):Play()
    wait()
    tween:Create(Main, TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
			Size = UDim2.new(0,0,0,0),
			Position = UDim2.new(0, Main.AbsolutePosition.X + (Main.AbsoluteSize.X / 2), 0, Main.AbsolutePosition.Y + (Main.AbsoluteSize.Y / 2))
		}):Play()
    wait(1)
    ScreenGui:Destroy()
  end)
  MainSide.Name = "MainSide"
  MainSide.Parent = Main
  MainSide.BackgroundColor3 = themeList.Header
  Objects[MainSide] = "Header"
  MainSide.Position = UDim2.new(-7.4505806e-09, 0, 0.0911949649, 0)
  MainSide.Size = UDim2.new(0, 149, 0, 289)
  sideCorner.CornerRadius = UDim.new(0, 4)
  sideCorner.Name = "sideCorner"
  sideCorner.Parent = MainSide
  coverup_2.Name = "coverup"
  coverup_2.Parent = MainSide
  coverup_2.BackgroundColor3 = themeList.Header
  Objects[coverup_2] = "Header"
  coverup_2.BorderSizePixel = 0
  coverup_2.Position = UDim2.new(0.949939311, 0, 0, 0)
  coverup_2.Size = UDim2.new(0, 7, 0, 289)
  tabFrames.Name = "tabFrames"
  tabFrames.Parent = MainSide
  tabFrames.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  tabFrames.BackgroundTransparency = 1.000
  tabFrames.Position = UDim2.new(0.0438990258, 0, -0.00066378375, 0)
  tabFrames.Size = UDim2.new(0, 135, 0, 283)
  tabListing.Name = "tabListing"
  tabListing.Parent = tabFrames
  tabListing.SortOrder = Enum.SortOrder.LayoutOrder
  pages.Name = "pages"
  pages.Parent = Main
  pages.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  pages.BackgroundTransparency = 1.000
  pages.BorderSizePixel = 0
  pages.Position = UDim2.new(0.299047589, 0, 0.122641519, 0)
  pages.Size = UDim2.new(0, 360, 0, 269)
  Pages.Name = "Pages"
  Pages.Parent = pages
  infoContainer.Name = "infoContainer"
  infoContainer.Parent = Main
  infoContainer.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  infoContainer.BackgroundTransparency = 1.000
  infoContainer.BorderColor3 = Color3.fromRGB(27, 42, 53)
  infoContainer.ClipsDescendants = true
  infoContainer.Position = UDim2.new(0.299047619, 0, 0.874213815, 0)
  infoContainer.Size = UDim2.new(0, 368, 0, 33)
  coroutine.wrap(function()
    while wait() do
      Main.BackgroundColor3 = themeList.Background
      MainHeader.BackgroundColor3 = themeList.Header
      MainSide.BackgroundColor3 = themeList.Header
      coverup_2.BackgroundColor3 = themeList.Header
      coverup.BackgroundColor3 = themeList.Header
    end
  end)()
  local Tabs = {}
  local first = true
  function Tabs:NewTab(tabName)
    tabName = tabName or "Tab"
    local tabButton = Instance.new("TextButton")
    local UICorner = Instance.new("UICorner")
    local page = Instance.new("ScrollingFrame")
    local pageListing = Instance.new("UIListLayout")
    local function UpdateSize()
      local cS = pageListing.AbsoluteContentSize
      tween:Create(page, TweenInfo.new(0.15, Enum.EasingStyle.Linear, Enum.EasingDirection.In), {
        CanvasSize = UDim2.new(0,cS.X,0,cS.Y)
      }):Play()
    end
    page.Name = "Page"
    page.Parent = Pages
    page.Active = true
    page.BackgroundColor3 = themeList.Background
    page.BorderSizePixel = 0
    page.Position = UDim2.new(0, 0, -0.00371747208, 0)
    page.Size = UDim2.new(1, 0, 1, 0)
    page.ScrollBarThickness = 5
    page.Visible = false
    page.ScrollBarImageColor3 = Color3.fromRGB(themeList.SchemeColor.r * 255 - 16, themeList.SchemeColor.g * 255 - 15, themeList.SchemeColor.b * 255 - 28)
    pageListing.Name = "pageListing"
    pageListing.Parent = page
    pageListing.SortOrder = Enum.SortOrder.LayoutOrder
    pageListing.Padding = UDim.new(0, 5)
    tabButton.Name = tabName.."TabButton"
    tabButton.Parent = tabFrames
    tabButton.BackgroundColor3 = themeList.SchemeColor
    Objects[tabButton] = "SchemeColor"
    tabButton.Size = UDim2.new(0, 135, 0, 28)
    tabButton.AutoButtonColor = false
    tabButton.Font = Enum.Font.Gotham
    tabButton.Text = tabName
    tabButton.TextColor3 = themeList.TextColor
    Objects[tabButton] = "TextColor3"
    tabButton.TextSize = 14.000
    tabButton.BackgroundTransparency = 1
    if first then
      first = false
      page.Visible = true
      tabButton.BackgroundTransparency = 0
      UpdateSize()
    else
      page.Visible = false
      tabButton.BackgroundTransparency = 1
    end
    UICorner.CornerRadius = UDim.new(0, 5)
    UICorner.Parent = tabButton
    table.insert(Tabs, tabName)
    UpdateSize()
    page.ChildAdded:Connect(UpdateSize)
    page.ChildRemoved:Connect(UpdateSize)
    tabButton.MouseButton1Click:Connect(function()
      UpdateSize()
      for i,v in next, Pages:GetChildren() do
        v.Visible = false
      end
      page.Visible = true
      for i,v in next, tabFrames:GetChildren() do
        if v:IsA("TextButton") then
          if themeList.SchemeColor == Color3.fromRGB(255,255,255) then
            Utility:TweenObject(v, {TextColor3 = Color3.fromRGB(255,255,255)}, 0.2)
          end 
          if themeList.SchemeColor == Color3.fromRGB(0,0,0) then
            Utility:TweenObject(v, {TextColor3 = Color3.fromRGB(0,0,0)}, 0.2)
          end 
          Utility:TweenObject(v, {BackgroundTransparency = 1}, 0.2)
        end
      end
      if themeList.SchemeColor == Color3.fromRGB(255,255,255) then
        Utility:TweenObject(tabButton, {TextColor3 = Color3.fromRGB(0,0,0)}, 0.2)
      end 
      if themeList.SchemeColor == Color3.fromRGB(0,0,0) then
        Utility:TweenObject(tabButton, {TextColor3 = Color3.fromRGB(255,255,255)}, 0.2)
      end 
      Utility:TweenObject(tabButton, {BackgroundTransparency = 0}, 0.2)
    end)
    local Sections = {}
    local focusing = false
    local viewDe = false
    coroutine.wrap(function()
      while wait() do
        page.BackgroundColor3 = themeList.Background
        page.ScrollBarImageColor3 = Color3.fromRGB(themeList.SchemeColor.r * 255 - 16, themeList.SchemeColor.g * 255 - 15, themeList.SchemeColor.b * 255 - 28)
        tabButton.TextColor3 = themeList.TextColor
        tabButton.BackgroundColor3 = themeList.SchemeColor
      end
    end)()
    function Sections:NewSection(secName, hidden)
      secName = secName or "Section"
      local sectionFunctions = {}
      local modules = {}
	  hidden = hidden or false
      local sectionFrame = Instance.new("Frame")
      local sectionlistoknvm = Instance.new("UIListLayout")
      local sectionHead = Instance.new("Frame")
      local sHeadCorner = Instance.new("UICorner")
      local sectionName = Instance.new("TextLabel")
      local sectionInners = Instance.new("Frame")
      local sectionElListing = Instance.new("UIListLayout")	
	  if hidden then
		sectionHead.Visible = false
	  else
		sectionHead.Visible = true
	  end
      sectionFrame.Name = "sectionFrame"
      sectionFrame.Parent = page
      sectionFrame.BackgroundColor3 = themeList.Background
      sectionFrame.BorderSizePixel = 0
      sectionlistoknvm.Name = "sectionlistoknvm"
      sectionlistoknvm.Parent = sectionFrame
      sectionlistoknvm.SortOrder = Enum.SortOrder.LayoutOrder
      sectionlistoknvm.Padding = UDim.new(0, 5)
      for i,v in pairs(sectionInners:GetChildren()) do
        while wait() do
          if v:IsA("Frame") or v:IsA("TextButton") then
            function size(pro)
              if pro == "Size" then
                UpdateSize()
                updateSectionFrame()
              end
            end
            v.Changed:Connect(size)
          end
        end
      end
      sectionHead.Name = "sectionHead"
      sectionHead.Parent = sectionFrame
      sectionHead.BackgroundColor3 = themeList.SchemeColor
      Objects[sectionHead] = "BackgroundColor3"
      sectionHead.Size = UDim2.new(0, 352, 0, 33)
      sHeadCorner.CornerRadius = UDim.new(0, 4)
      sHeadCorner.Name = "sHeadCorner"
      sHeadCorner.Parent = sectionHead
      sectionName.Name = "sectionName"
      sectionName.Parent = sectionHead
      sectionName.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
      sectionName.BackgroundTransparency = 1.000
      sectionName.BorderColor3 = Color3.fromRGB(27, 42, 53)
      sectionName.Position = UDim2.new(0.0198863633, 0, 0, 0)
      sectionName.Size = UDim2.new(0.980113626, 0, 1, 0)
      sectionName.Font = Enum.Font.Gotham
      sectionName.Text = secName
      sectionName.RichText = true
      sectionName.TextColor3 = themeList.TextColor
      Objects[sectionName] = "TextColor3"
      sectionName.TextSize = 14.000
      sectionName.TextXAlignment = Enum.TextXAlignment.Left
      if themeList.SchemeColor == Color3.fromRGB(255,255,255) then
        Utility:TweenObject(sectionName, {TextColor3 = Color3.fromRGB(0,0,0)}, 0.2)
      end 
      if themeList.SchemeColor == Color3.fromRGB(0,0,0) then
        Utility:TweenObject(sectionName, {TextColor3 = Color3.fromRGB(255,255,255)}, 0.2)
      end
      sectionInners.Name = "sectionInners"
      sectionInners.Parent = sectionFrame
      sectionInners.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
      sectionInners.BackgroundTransparency = 1.000
      sectionInners.Position = UDim2.new(0, 0, 0.190751448, 0)
      sectionElListing.Name = "sectionElListing"
      sectionElListing.Parent = sectionInners
      sectionElListing.SortOrder = Enum.SortOrder.LayoutOrder
      sectionElListing.Padding = UDim.new(0, 3)
    coroutine.wrap(function()
      while wait() do
        sectionFrame.BackgroundColor3 = themeList.Background
        sectionHead.BackgroundColor3 = themeList.SchemeColor
        tabButton.TextColor3 = themeList.TextColor
        tabButton.BackgroundColor3 = themeList.SchemeColor
        sectionName.TextColor3 = themeList.TextColor
      end
    end)()
      local function updateSectionFrame()
        local innerSc = sectionElListing.AbsoluteContentSize
        sectionInners.Size = UDim2.new(1, 0, 0, innerSc.Y)
        local frameSc = sectionlistoknvm.AbsoluteContentSize
        sectionFrame.Size = UDim2.new(0, 352, 0, frameSc.Y)
      end
        updateSectionFrame()
        UpdateSize()
      local Elements = {}
      function Elements:NewButton(bname,tipINf, callback)
        showLogo = showLogo or true
        local ButtonFunction = {}
        tipINf = tipINf or "Tip: Clicking this nothing will happen!"
        bname = bname or "Click Me!"
        callback = callback or function() end
        local buttonElement = Instance.new("TextButton")
        local UICorner = Instance.new("UICorner")
        local btnInfo = Instance.new("TextLabel")
        local viewInfo = Instance.new("ImageButton")
        local touch = Instance.new("ImageLabel")
        local Sample = Instance.new("ImageLabel")
        table.insert(modules, bname)
        buttonElement.Name = bname
        buttonElement.Parent = sectionInners
        buttonElement.BackgroundColor3 = themeList.ElementColor
        buttonElement.ClipsDescendants = true
        buttonElement.Size = UDim2.new(0, 352, 0, 33)
        buttonElement.AutoButtonColor = false
        buttonElement.Font = Enum.Font.SourceSans
        buttonElement.Text = ""
        buttonElement.TextColor3 = Color3.fromRGB(0, 0, 0)
        buttonElement.TextSize = 14.000
        Objects[buttonElement] = "BackgroundColor3"
        UICorner.CornerRadius = UDim.new(0, 4)
        UICorner.Parent = buttonElement
        viewInfo.Name = "viewInfo"
        viewInfo.Parent = buttonElement
        viewInfo.BackgroundTransparency = 1.000
        viewInfo.LayoutOrder = 9
        viewInfo.Position = UDim2.new(0.930000007, 0, 0.151999995, 0)
        viewInfo.Size = UDim2.new(0, 23, 0, 23)
        viewInfo.ZIndex = 2
        viewInfo.Image = "rbxassetid://3926305904"
        viewInfo.ImageColor3 = themeList.SchemeColor
        Objects[viewInfo] = "ImageColor3"
        viewInfo.ImageRectOffset = Vector2.new(764, 764)
        viewInfo.ImageRectSize = Vector2.new(36, 36)
        Sample.Name = "Sample"
        Sample.Parent = buttonElement
        Sample.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
        Sample.BackgroundTransparency = 1.000
        Sample.Image = "rbxassetid://4560909609"
        Sample.ImageColor3 = themeList.SchemeColor
        Objects[Sample] = "ImageColor3"
        Sample.ImageTransparency = 0.600
        local moreInfo = Instance.new("TextLabel")
        local UICorner = Instance.new("UICorner")
        moreInfo.Name = "TipMore"
        moreInfo.Parent = infoContainer
        moreInfo.BackgroundColor3 = Color3.fromRGB(themeList.SchemeColor.r * 255 - 14, themeList.SchemeColor.g * 255 - 17, themeList.SchemeColor.b * 255 - 13)
        moreInfo.Position = UDim2.new(0, 0, 2, 0)
        moreInfo.Size = UDim2.new(0, 353, 0, 33)
        moreInfo.ZIndex = 9
        moreInfo.Font = Enum.Font.GothamSemibold
        moreInfo.Text = " "..tipINf
        moreInfo.RichText = true
        moreInfo.TextColor3 = themeList.TextColor
        Objects[moreInfo] = "TextColor3"
        moreInfo.TextSize = 14.000
        moreInfo.TextXAlignment = Enum.TextXAlignment.Left
        Objects[moreInfo] = "BackgroundColor3"
        UICorner.CornerRadius = UDim.new(0, 4)
        UICorner.Parent = moreInfo
        touch.Name = "touch"
        touch.Parent = buttonElement
        touch.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
        touch.BackgroundTransparency = 1.000
        touch.BorderColor3 = Color3.fromRGB(27, 42, 53)
        touch.Position = UDim2.new(0.0199999996, 0, 0.180000007, 0)
        touch.Size = UDim2.new(0, 21, 0, 21)
        touch.Image = "rbxassetid://3926305904"
        touch.ImageColor3 = themeList.SchemeColor
        Objects[touch] = "SchemeColor"
        touch.ImageRectOffset = Vector2.new(84, 204)
        touch.ImageRectSize = Vector2.new(36, 36)
        touch.ImageTransparency = 0
        btnInfo.Name = "btnInfo"
        btnInfo.Parent = buttonElement
        btnInfo.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
        btnInfo.BackgroundTransparency = 1.000
        btnInfo.Position = UDim2.new(0.096704483, 0, 0.272727281, 0)
        btnInfo.Size = UDim2.new(0, 314, 0, 14)
        btnInfo.Font = Enum.Font.GothamSemibold
        btnInfo.Text = bname
        btnInfo.RichText = true
        btnInfo.TextColor3 = themeList.TextColor
        Objects[btnInfo] = "TextColor3"
        btnInfo.TextSize = 14.000
        btnInfo.TextXAlignment = Enum.TextXAlignment.Left
        if themeList.SchemeColor == Color3.fromRGB(255,255,255) then
          Utility:TweenObject(moreInfo, {TextColor3 = Color3.fromRGB(0,0,0)}, 0.2)
        end 
        if themeList.SchemeColor == Color3.fromRGB(0,0,0) then
          Utility:TweenObject(moreInfo, {TextColor3 = Color3.fromRGB(255,255,255)}, 0.2)
        end 
        updateSectionFrame()
        UpdateSize()
        local ms = game.Players.LocalPlayer:GetMouse()
        local btn = buttonElement
        local sample = Sample
        btn.MouseButton1Click:Connect(function()
          if not focusing then
            callback()
            local c = sample:Clone()
            c.Parent = btn
            local x, y = (ms.X - c.AbsolutePosition.X), (ms.Y - c.AbsolutePosition.Y)
            c.Position = UDim2.new(0, x, 0, y)
            local len, size = 0.35, nil
            if btn.AbsoluteSize.X >= btn.AbsoluteSize.Y then
              size = (btn.AbsoluteSize.X * 1.5)
            else
              size = (btn.AbsoluteSize.Y * 1.5)
            end
            c:TweenSizeAndPosition(UDim2.new(0, size, 0, size), UDim2.new(0.5, (-size / 2), 0.5, (-size / 2)), 'Out', 'Quad', len, true, nil)
            for i = 1, 10 do
              c.ImageTransparency = c.ImageTransparency + 0.05
              wait(len / 12)
            end
            c:Destroy()
          else
            for i,v in next, infoContainer:GetChildren() do
              Utility:TweenObject(v, {Position = UDim2.new(0,0,2,0)}, 0.2)
              focusing = false
            end
            Utility:TweenObject(blurFrame, {BackgroundTransparency = 1}, 0.2)
          end
        end)
        local hovering = false
        btn.MouseEnter:Connect(function()
          if not focusing then
            tween:Create(btn, TweenInfo.new(0.1, Enum.EasingStyle.Linear, Enum.EasingDirection.In), {
              BackgroundColor3 = Color3.fromRGB(themeList.ElementColor.r * 255 + 8, themeList.ElementColor.g * 255 + 9, themeList.ElementColor.b * 255 + 10)
            }):Play()
            hovering = true
          end
        end)
        btn.MouseLeave:Connect(function()
          if not focusing then 
            tween:Create(btn, TweenInfo.new(0.1, Enum.EasingStyle.Linear, Enum.EasingDirection.In), {
              BackgroundColor3 = themeList.ElementColor
            }):Play()
            hovering = false
          end
        end)
        viewInfo.MouseButton1Click:Connect(function()
          if not viewDe then
            viewDe = true
            focusing = true
            for i,v in next, infoContainer:GetChildren() do
              if v ~= moreInfo then
                Utility:TweenObject(v, {Position = UDim2.new(0,0,2,0)}, 0.2)
              end
            end
            Utility:TweenObject(moreInfo, {Position = UDim2.new(0,0,0,0)}, 0.2)
            Utility:TweenObject(blurFrame, {BackgroundTransparency = 0.5}, 0.2)
            Utility:TweenObject(btn, {BackgroundColor3 = themeList.ElementColor}, 0.2)
            wait(1.5)
            focusing = false
            Utility:TweenObject(moreInfo, {Position = UDim2.new(0,0,2,0)}, 0.2)
            Utility:TweenObject(blurFrame, {BackgroundTransparency = 1}, 0.2)
            wait(0)
            viewDe = false
          end
        end)
        coroutine.wrap(function()
          while wait() do
            if not hovering then
              buttonElement.BackgroundColor3 = themeList.ElementColor
            end
            viewInfo.ImageColor3 = themeList.SchemeColor
            Sample.ImageColor3 = themeList.SchemeColor
            moreInfo.BackgroundColor3 = Color3.fromRGB(themeList.SchemeColor.r * 255 - 14, themeList.SchemeColor.g * 255 - 17, themeList.SchemeColor.b * 255 - 13)
            moreInfo.TextColor3 = themeList.TextColor
            touch.ImageColor3 = themeList.SchemeColor
            btnInfo.TextColor3 = themeList.TextColor
          end
        end)()
        function ButtonFunction:UpdateButton(newTitle)
          btnInfo.Text = newTitle
        end
        return ButtonFunction
      end
      function Elements:NewTextBox(tname, tTip, callback)
        tname = tname or "Textbox"
        tTip = tTip or "Gets a value of Textbox"
        callback = callback or function() end
        local textboxElement = Instance.new("TextButton")
        local UICorner = Instance.new("UICorner")
        local viewInfo = Instance.new("ImageButton")
        local write = Instance.new("ImageLabel")
        local TextBox = Instance.new("TextBox")
        local UICorner_2 = Instance.new("UICorner")
        local togName = Instance.new("TextLabel")
        textboxElement.Name = "textboxElement"
        textboxElement.Parent = sectionInners
        textboxElement.BackgroundColor3 = themeList.ElementColor
        textboxElement.ClipsDescendants = true
        textboxElement.Size = UDim2.new(0, 352, 0, 33)
        textboxElement.AutoButtonColor = false
        textboxElement.Font = Enum.Font.SourceSans
        textboxElement.Text = ""
        textboxElement.TextColor3 = Color3.fromRGB(0, 0, 0)
        textboxElement.TextSize = 14.000
        UICorner.CornerRadius = UDim.new(0, 4)
        UICorner.Parent = textboxElement
        viewInfo.Name = "viewInfo"
        viewInfo.Parent = textboxElement
        viewInfo.BackgroundTransparency = 1.000
        viewInfo.LayoutOrder = 9
        viewInfo.Position = UDim2.new(0.930000007, 0, 0.151999995, 0)
        viewInfo.Size = UDim2.new(0, 23, 0, 23)
        viewInfo.ZIndex = 2
        viewInfo.Image = "rbxassetid://3926305904"
        viewInfo.ImageColor3 = themeList.SchemeColor
        viewInfo.ImageRectOffset = Vector2.new(764, 764)
        viewInfo.ImageRectSize = Vector2.new(36, 36)
        write.Name = "write"
        write.Parent = textboxElement
        write.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
        write.BackgroundTransparency = 1.000
        write.BorderColor3 = Color3.fromRGB(27, 42, 53)
        write.Position = UDim2.new(0.0199999996, 0, 0.180000007, 0)
        write.Size = UDim2.new(0, 21, 0, 21)
        write.Image = "rbxassetid://3926305904"
        write.ImageColor3 = themeList.SchemeColor
        write.ImageRectOffset = Vector2.new(324, 604)
        write.ImageRectSize = Vector2.new(36, 36)
        TextBox.Parent = textboxElement
        TextBox.BackgroundColor3 = Color3.fromRGB(themeList.ElementColor.r * 255 - 6, themeList.ElementColor.g * 255 - 6, themeList.ElementColor.b * 255 - 7)
        TextBox.BorderSizePixel = 0
        TextBox.ClipsDescendants = true
        TextBox.Position = UDim2.new(0.488749921, 0, 0.212121218, 0)
        TextBox.Size = UDim2.new(0, 150, 0, 18)
        TextBox.ZIndex = 99
        TextBox.ClearTextOnFocus = false
        TextBox.Font = Enum.Font.Gotham
        TextBox.PlaceholderColor3 = Color3.fromRGB(themeList.SchemeColor.r * 255 - 19, themeList.SchemeColor.g * 255 - 26, themeList.SchemeColor.b * 255 - 35)
        TextBox.PlaceholderText = "Type here!"
        TextBox.Text = ""
        TextBox.TextColor3 = themeList.SchemeColor
        TextBox.TextSize = 12.000
        UICorner_2.CornerRadius = UDim.new(0, 4)
        UICorner_2.Parent = TextBox
        togName.Name = "togName"
        togName.Parent = textboxElement
        togName.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
        togName.BackgroundTransparency = 1.000
        togName.Position = UDim2.new(0.096704483, 0, 0.272727281, 0)
        togName.Size = UDim2.new(0, 138, 0, 14)
        togName.Font = Enum.Font.GothamSemibold
        togName.Text = tname
        togName.RichText = true
        togName.TextColor3 = themeList.TextColor
        togName.TextSize = 14.000
        togName.TextXAlignment = Enum.TextXAlignment.Left
        local moreInfo = Instance.new("TextLabel")
        local UICorner = Instance.new("UICorner")
        moreInfo.Name = "TipMore"
        moreInfo.Parent = infoContainer
        moreInfo.BackgroundColor3 = Color3.fromRGB(themeList.SchemeColor.r * 255 - 14, themeList.SchemeColor.g * 255 - 17, themeList.SchemeColor.b * 255 - 13)
        moreInfo.Position = UDim2.new(0, 0, 2, 0)
        moreInfo.Size = UDim2.new(0, 353, 0, 33)
        moreInfo.ZIndex = 9
        moreInfo.Font = Enum.Font.GothamSemibold
        moreInfo.RichText = true
        moreInfo.Text = " "..tTip
        moreInfo.TextColor3 = Color3.fromRGB(255, 255, 255)
        moreInfo.TextSize = 14.000
        moreInfo.TextXAlignment = Enum.TextXAlignment.Left
        if themeList.SchemeColor == Color3.fromRGB(255,255,255) then
          Utility:TweenObject(moreInfo, {TextColor3 = Color3.fromRGB(0,0,0)}, 0.2)
        end 
        if themeList.SchemeColor == Color3.fromRGB(0,0,0) then
          Utility:TweenObject(moreInfo, {TextColor3 = Color3.fromRGB(255,255,255)}, 0.2)
        end 
        UICorner.CornerRadius = UDim.new(0, 4)
        UICorner.Parent = moreInfo
        updateSectionFrame()
        UpdateSize()
        local btn = textboxElement
        local infBtn = viewInfo
        btn.MouseButton1Click:Connect(function()
          if focusing then
            for i,v in next, infoContainer:GetChildren() do
              Utility:TweenObject(v, {Position = UDim2.new(0,0,2,0)}, 0.2)
              focusing = false
            end
            Utility:TweenObject(blurFrame, {BackgroundTransparency = 1}, 0.2)
          end
        end)
        local hovering = false
        btn.MouseEnter:Connect(function()
          if not focusing then
            tween:Create(btn, TweenInfo.new(0.1, Enum.EasingStyle.Linear, Enum.EasingDirection.In), {
              BackgroundColor3 = Color3.fromRGB(themeList.ElementColor.r * 255 + 8, themeList.ElementColor.g * 255 + 9, themeList.ElementColor.b * 255 + 10)
            }):Play()
            hovering = true
          end 
        end)
        btn.MouseLeave:Connect(function()
          if not focusing then
            tween:Create(btn, TweenInfo.new(0.1, Enum.EasingStyle.Linear, Enum.EasingDirection.In), {
              BackgroundColor3 = themeList.ElementColor
            }):Play()
            hovering = false
          end
        end)
        TextBox.FocusLost:Connect(function(EnterPressed)
          if focusing then
            for i,v in next, infoContainer:GetChildren() do
              Utility:TweenObject(v, {Position = UDim2.new(0,0,2,0)}, 0.2)
              focusing = false
            end
            Utility:TweenObject(blurFrame, {BackgroundTransparency = 1}, 0.2)
          end
          if not EnterPressed then 
            return
          else
            callback(TextBox.Text)
            wait(0.18)
            TextBox.Text = "" 
          end
        end)
        viewInfo.MouseButton1Click:Connect(function()
          if not viewDe then
            viewDe = true
            focusing = true
            for i,v in next, infoContainer:GetChildren() do
              if v ~= moreInfo then
                Utility:TweenObject(v, {Position = UDim2.new(0,0,2,0)}, 0.2)
              end
            end
            Utility:TweenObject(moreInfo, {Position = UDim2.new(0,0,0,0)}, 0.2)
            Utility:TweenObject(blurFrame, {BackgroundTransparency = 0.5}, 0.2)
            Utility:TweenObject(btn, {BackgroundColor3 = themeList.ElementColor}, 0.2)
            wait(1.5)
            focusing = false
            Utility:TweenObject(moreInfo, {Position = UDim2.new(0,0,2,0)}, 0.2)
            Utility:TweenObject(blurFrame, {BackgroundTransparency = 1}, 0.2)
            wait(0)
            viewDe = false
          end
        end)
        coroutine.wrap(function()
          while wait() do
            if not hovering then
              textboxElement.BackgroundColor3 = themeList.ElementColor
            end
            TextBox.BackgroundColor3 = Color3.fromRGB(themeList.ElementColor.r * 255 - 6, themeList.ElementColor.g * 255 - 6, themeList.ElementColor.b * 255 - 7)
            viewInfo.ImageColor3 = themeList.SchemeColor
            moreInfo.BackgroundColor3 = Color3.fromRGB(themeList.SchemeColor.r * 255 - 14, themeList.SchemeColor.g * 255 - 17, themeList.SchemeColor.b * 255 - 13)
            moreInfo.TextColor3 = themeList.TextColor
            write.ImageColor3 = themeList.SchemeColor
            togName.TextColor3 = themeList.TextColor
            TextBox.PlaceholderColor3 = Color3.fromRGB(themeList.SchemeColor.r * 255 - 19, themeList.SchemeColor.g * 255 - 26, themeList.SchemeColor.b * 255 - 35)
            TextBox.TextColor3 = themeList.SchemeColor
          end
        end)()
      end
        function Elements:NewToggle(tname, nTip, callback)
          local TogFunction = {}
          tname = tname or "Toggle"
          nTip = nTip or "Prints Current Toggle State"
          callback = callback or function() end
          local toggled = false
          table.insert(SettingsT, tname)
          local toggleElement = Instance.new("TextButton")
          local UICorner = Instance.new("UICorner")
          local toggleDisabled = Instance.new("ImageLabel")
          local toggleEnabled = Instance.new("ImageLabel")
          local togName = Instance.new("TextLabel")
          local viewInfo = Instance.new("ImageButton")
          local Sample = Instance.new("ImageLabel")
          toggleElement.Name = "toggleElement"
          toggleElement.Parent = sectionInners
          toggleElement.BackgroundColor3 = themeList.ElementColor
          toggleElement.ClipsDescendants = true
          toggleElement.Size = UDim2.new(0, 352, 0, 33)
          toggleElement.AutoButtonColor = false
          toggleElement.Font = Enum.Font.SourceSans
          toggleElement.Text = ""
          toggleElement.TextColor3 = Color3.fromRGB(0, 0, 0)
          toggleElement.TextSize = 14.000
          UICorner.CornerRadius = UDim.new(0, 4)
          UICorner.Parent = toggleElement
          toggleDisabled.Name = "toggleDisabled"
          toggleDisabled.Parent = toggleElement
          toggleDisabled.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
          toggleDisabled.BackgroundTransparency = 1.000
          toggleDisabled.Position = UDim2.new(0.0199999996, 0, 0.180000007, 0)
          toggleDisabled.Size = UDim2.new(0, 21, 0, 21)
          toggleDisabled.Image = "rbxassetid://3926309567"
          toggleDisabled.ImageColor3 = themeList.SchemeColor
          toggleDisabled.ImageRectOffset = Vector2.new(628, 420)
          toggleDisabled.ImageRectSize = Vector2.new(48, 48)
          toggleEnabled.Name = "toggleEnabled"
          toggleEnabled.Parent = toggleElement
          toggleEnabled.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
          toggleEnabled.BackgroundTransparency = 1.000
          toggleEnabled.Position = UDim2.new(0.0199999996, 0, 0.180000007, 0)
          toggleEnabled.Size = UDim2.new(0, 21, 0, 21)
          toggleEnabled.Image = "rbxassetid://3926309567"
          toggleEnabled.ImageColor3 = themeList.SchemeColor
          toggleEnabled.ImageRectOffset = Vector2.new(784, 420)
          toggleEnabled.ImageRectSize = Vector2.new(48, 48)
          toggleEnabled.ImageTransparency = 1.000
          togName.Name = "togName"
          togName.Parent = toggleElement
          togName.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
          togName.BackgroundTransparency = 1.000
          togName.Position = UDim2.new(0.096704483, 0, 0.272727281, 0)
          togName.Size = UDim2.new(0, 288, 0, 14)
          togName.Font = Enum.Font.GothamSemibold
          togName.Text = tname
          togName.RichText = true
          togName.TextColor3 = themeList.TextColor
          togName.TextSize = 14.000
          togName.TextXAlignment = Enum.TextXAlignment.Left
          viewInfo.Name = "viewInfo"
          viewInfo.Parent = toggleElement
          viewInfo.BackgroundTransparency = 1.000
          viewInfo.LayoutOrder = 9
          viewInfo.Position = UDim2.new(0.930000007, 0, 0.151999995, 0)
          viewInfo.Size = UDim2.new(0, 23, 0, 23)
          viewInfo.ZIndex = 2
          viewInfo.Image = "rbxassetid://3926305904"
          viewInfo.ImageColor3 = themeList.SchemeColor
          viewInfo.ImageRectOffset = Vector2.new(764, 764)
          viewInfo.ImageRectSize = Vector2.new(36, 36)
          Sample.Name = "Sample"
          Sample.Parent = toggleElement
          Sample.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
          Sample.BackgroundTransparency = 1.000
          Sample.Image = "rbxassetid://4560909609"
          Sample.ImageColor3 = themeList.SchemeColor
          Sample.ImageTransparency = 0.600
          local moreInfo = Instance.new("TextLabel")
          local UICorner = Instance.new("UICorner")
          moreInfo.Name = "TipMore"
          moreInfo.Parent = infoContainer
          moreInfo.BackgroundColor3 = Color3.fromRGB(themeList.SchemeColor.r * 255 - 14, themeList.SchemeColor.g * 255 - 17, themeList.SchemeColor.b * 255 - 13)
          moreInfo.Position = UDim2.new(0, 0, 2, 0)
          moreInfo.Size = UDim2.new(0, 353, 0, 33)
          moreInfo.ZIndex = 9
          moreInfo.Font = Enum.Font.GothamSemibold
          moreInfo.RichText = true
          moreInfo.Text = " "..nTip
          moreInfo.TextColor3 = themeList.TextColor
          moreInfo.TextSize = 14.000
          moreInfo.TextXAlignment = Enum.TextXAlignment.Left
          UICorner.CornerRadius = UDim.new(0, 4)
          UICorner.Parent = moreInfo
          local ms = game.Players.LocalPlayer:GetMouse()
          if themeList.SchemeColor == Color3.fromRGB(255,255,255) then
            Utility:TweenObject(moreInfo, {TextColor3 = Color3.fromRGB(0,0,0)}, 0.2)
          end 
          if themeList.SchemeColor == Color3.fromRGB(0,0,0) then
            Utility:TweenObject(moreInfo, {TextColor3 = Color3.fromRGB(255,255,255)}, 0.2)
          end
          local btn = toggleElement
          local sample = Sample
          local img = toggleEnabled
          local infBtn = viewInfo
        updateSectionFrame()
        UpdateSize()
          btn.MouseButton1Click:Connect(function()
            if not focusing then
              if toggled == false then
                tween:Create(img, TweenInfo.new(0.11, Enum.EasingStyle.Linear,Enum.EasingDirection.In), {
                  ImageTransparency = 0
                }):Play()
                local c = sample:Clone()
                c.Parent = btn
                local x, y = (ms.X - c.AbsolutePosition.X), (ms.Y - c.AbsolutePosition.Y)
                c.Position = UDim2.new(0, x, 0, y)
                local len, size = 0.35, nil
                if btn.AbsoluteSize.X >= btn.AbsoluteSize.Y then
                  size = (btn.AbsoluteSize.X * 1.5)
                else
                  size = (btn.AbsoluteSize.Y * 1.5)
                end
                c:TweenSizeAndPosition(UDim2.new(0, size, 0, size), UDim2.new(0.5, (-size / 2), 0.5, (-size / 2)), 'Out', 'Quad', len, true, nil)
                for i = 1, 10 do
                  c.ImageTransparency = c.ImageTransparency + 0.05
                  wait(len / 12)
                end
                c:Destroy()
              else
                tween:Create(img, TweenInfo.new(0.11, Enum.EasingStyle.Linear,Enum.EasingDirection.In), {
                  ImageTransparency = 1
                }):Play()
                local c = sample:Clone()
                c.Parent = btn
                local x, y = (ms.X - c.AbsolutePosition.X), (ms.Y - c.AbsolutePosition.Y)
                c.Position = UDim2.new(0, x, 0, y)
                local len, size = 0.35, nil
                if btn.AbsoluteSize.X >= btn.AbsoluteSize.Y then
                  size = (btn.AbsoluteSize.X * 1.5)
                else
                  size = (btn.AbsoluteSize.Y * 1.5)
                end
                c:TweenSizeAndPosition(UDim2.new(0, size, 0, size), UDim2.new(0.5, (-size / 2), 0.5, (-size / 2)), 'Out', 'Quad', len, true, nil)
                for i = 1, 10 do
                  c.ImageTransparency = c.ImageTransparency + 0.05
                  wait(len / 12)
                end
                c:Destroy()
              end
              toggled = not toggled
              pcall(callback, toggled)
            else
              for i,v in next, infoContainer:GetChildren() do
                Utility:TweenObject(v, {Position = UDim2.new(0,0,2,0)}, 0.2)
                focusing = false
              end
              Utility:TweenObject(blurFrame, {BackgroundTransparency = 1}, 0.2)
            end
          end)
          local hovering = false
          btn.MouseEnter:Connect(function()
            if not focusing then
              tween:Create(btn, TweenInfo.new(0.1, Enum.EasingStyle.Linear, Enum.EasingDirection.In), {
                BackgroundColor3 = Color3.fromRGB(themeList.ElementColor.r * 255 + 8, themeList.ElementColor.g * 255 + 9, themeList.ElementColor.b * 255 + 10)
              }):Play()
              hovering = true
            end 
          end)
          btn.MouseLeave:Connect(function()
            if not focusing then
              tween:Create(btn, TweenInfo.new(0.1, Enum.EasingStyle.Linear, Enum.EasingDirection.In), {
                BackgroundColor3 = themeList.ElementColor
              }):Play()
              hovering = false
            end
          end)
          coroutine.wrap(function()
            while wait() do
              if not hovering then
                toggleElement.BackgroundColor3 = themeList.ElementColor
              end
              toggleDisabled.ImageColor3 = themeList.SchemeColor
              toggleEnabled.ImageColor3 = themeList.SchemeColor
              togName.TextColor3 = themeList.TextColor
              viewInfo.ImageColor3 = themeList.SchemeColor
              Sample.ImageColor3 = themeList.SchemeColor
              moreInfo.BackgroundColor3 = Color3.fromRGB(themeList.SchemeColor.r * 255 - 14, themeList.SchemeColor.g * 255 - 17, themeList.SchemeColor.b * 255 - 13)
              moreInfo.TextColor3 = themeList.TextColor
            end
          end)()
          viewInfo.MouseButton1Click:Connect(function()
            if not viewDe then
              viewDe = true
              focusing = true
              for i,v in next, infoContainer:GetChildren() do
                if v ~= moreInfo then
                  Utility:TweenObject(v, {Position = UDim2.new(0,0,2,0)}, 0.2)
                end
              end
              Utility:TweenObject(moreInfo, {Position = UDim2.new(0,0,0,0)}, 0.2)
              Utility:TweenObject(blurFrame, {BackgroundTransparency = 0.5}, 0.2)
              Utility:TweenObject(btn, {BackgroundColor3 = themeList.ElementColor}, 0.2)
              wait(1.5)
              focusing = false
              Utility:TweenObject(moreInfo, {Position = UDim2.new(0,0,2,0)}, 0.2)
              Utility:TweenObject(blurFrame, {BackgroundTransparency = 1}, 0.2)
              wait(0)
              viewDe = false
            end
          end)
          function TogFunction:UpdateToggle(newText, isTogOn)
            isTogOn = isTogOn or toggle
            if newText ~= nil then 
              togName.Text = newText
            end
            if isTogOn then
              toggled = true
              tween:Create(img, TweenInfo.new(0.11, Enum.EasingStyle.Linear,Enum.EasingDirection.In), {
                ImageTransparency = 0
              }):Play()
              pcall(callback, toggled)
            else
              toggled = false
              tween:Create(img, TweenInfo.new(0.11, Enum.EasingStyle.Linear,Enum.EasingDirection.In), {
                ImageTransparency = 1
              }):Play()
              pcall(callback, toggled)
            end
          end
          return TogFunction
      end
      function Elements:NewSlider(slidInf, slidTip, maxvalue, minvalue, callback)
        slidInf = slidInf or "Slider"
        slidTip = slidTip or "Slider tip here"
        maxvalue = maxvalue or 500
        minvalue = minvalue or 16
        startVal = startVal or 0
        callback = callback or function() end
        local sliderElement = Instance.new("TextButton")
        local UICorner = Instance.new("UICorner")
        local togName = Instance.new("TextLabel")
        local viewInfo = Instance.new("ImageButton")
        local sliderBtn = Instance.new("TextButton")
        local UICorner_2 = Instance.new("UICorner")
        local UIListLayout = Instance.new("UIListLayout")
        local sliderDrag = Instance.new("Frame")
        local UICorner_3 = Instance.new("UICorner")
        local write = Instance.new("ImageLabel")
        local val = Instance.new("TextLabel")
        sliderElement.Name = "sliderElement"
        sliderElement.Parent = sectionInners
        sliderElement.BackgroundColor3 = themeList.ElementColor
        sliderElement.ClipsDescendants = true
        sliderElement.Size = UDim2.new(0, 352, 0, 33)
        sliderElement.AutoButtonColor = false
        sliderElement.Font = Enum.Font.SourceSans
        sliderElement.Text = ""
        sliderElement.TextColor3 = Color3.fromRGB(0, 0, 0)
        sliderElement.TextSize = 14.000
        UICorner.CornerRadius = UDim.new(0, 4)
        UICorner.Parent = sliderElement
        togName.Name = "togName"
        togName.Parent = sliderElement
        togName.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
        togName.BackgroundTransparency = 1.000
        togName.Position = UDim2.new(0.096704483, 0, 0.272727281, 0)
        togName.Size = UDim2.new(0, 138, 0, 14)
        togName.Font = Enum.Font.GothamSemibold
        togName.Text = slidInf
        togName.RichText = true
        togName.TextColor3 = themeList.TextColor
        togName.TextSize = 14.000
        togName.TextXAlignment = Enum.TextXAlignment.Left
        viewInfo.Name = "viewInfo"
        viewInfo.Parent = sliderElement
        viewInfo.BackgroundTransparency = 1.000
        viewInfo.LayoutOrder = 9
        viewInfo.Position = UDim2.new(0.930000007, 0, 0.151999995, 0)
        viewInfo.Size = UDim2.new(0, 23, 0, 23)
        viewInfo.ZIndex = 2
        viewInfo.Image = "rbxassetid://3926305904"
        viewInfo.ImageColor3 = themeList.SchemeColor
        viewInfo.ImageRectOffset = Vector2.new(764, 764)
        viewInfo.ImageRectSize = Vector2.new(36, 36)
        sliderBtn.Name = "sliderBtn"
        sliderBtn.Parent = sliderElement
        sliderBtn.BackgroundColor3 = Color3.fromRGB(themeList.ElementColor.r * 255 + 5, themeList.ElementColor.g * 255 + 5, themeList.ElementColor.b * 255 + 5)
        sliderBtn.BorderSizePixel = 0
        sliderBtn.Position = UDim2.new(0.488749951, 0, 0.393939406, 0)
        sliderBtn.Size = UDim2.new(0, 149, 0, 6)
        sliderBtn.AutoButtonColor = false
        sliderBtn.Font = Enum.Font.SourceSans
        sliderBtn.Text = ""
        sliderBtn.TextColor3 = Color3.fromRGB(0, 0, 0)
        sliderBtn.TextSize = 14.000
        UICorner_2.Parent = sliderBtn
        UIListLayout.Parent = sliderBtn
        UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
        UIListLayout.VerticalAlignment = Enum.VerticalAlignment.Center
        sliderDrag.Name = "sliderDrag"
        sliderDrag.Parent = sliderBtn
        sliderDrag.BackgroundColor3 = themeList.SchemeColor
        sliderDrag.BorderColor3 = Color3.fromRGB(74, 99, 135)
        sliderDrag.BorderSizePixel = 0
        sliderDrag.Size = UDim2.new(-0.671140969, 100,1,0)
        UICorner_3.Parent = sliderDrag
        write.Name = "write"
        write.Parent = sliderElement
        write.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
        write.BackgroundTransparency = 1.000
        write.BorderColor3 = Color3.fromRGB(27, 42, 53)
        write.Position = UDim2.new(0.0199999996, 0, 0.180000007, 0)
        write.Size = UDim2.new(0, 21, 0, 21)
        write.Image = "rbxassetid://3926307971"
        write.ImageColor3 = themeList.SchemeColor
        write.ImageRectOffset = Vector2.new(404, 164)
        write.ImageRectSize = Vector2.new(36, 36)
        val.Name = "val"
        val.Parent = sliderElement
        val.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
        val.BackgroundTransparency = 1.000
        val.Position = UDim2.new(0.352386296, 0, 0.272727281, 0)
        val.Size = UDim2.new(0, 41, 0, 14)
        val.Font = Enum.Font.GothamSemibold
        val.Text = minvalue
        val.TextColor3 = themeList.TextColor
        val.TextSize = 14.000
        val.TextTransparency = 1.000
        val.TextXAlignment = Enum.TextXAlignment.Right
        local moreInfo = Instance.new("TextLabel")
        local UICorner = Instance.new("UICorner")
        moreInfo.Name = "TipMore"
        moreInfo.Parent = infoContainer
        moreInfo.BackgroundColor3 = Color3.fromRGB(themeList.SchemeColor.r * 255 - 14, themeList.SchemeColor.g * 255 - 17, themeList.SchemeColor.b * 255 - 13)
        moreInfo.Position = UDim2.new(0, 0, 2, 0)
        moreInfo.Size = UDim2.new(0, 353, 0, 33)
        moreInfo.ZIndex = 9
        moreInfo.Font = Enum.Font.GothamSemibold
        moreInfo.Text = " "..slidTip
        moreInfo.TextColor3 = themeList.TextColor
        moreInfo.TextSize = 14.000
        moreInfo.RichText = true
        moreInfo.TextXAlignment = Enum.TextXAlignment.Left
        UICorner.CornerRadius = UDim.new(0, 4)
        UICorner.Parent = moreInfo
        if themeList.SchemeColor == Color3.fromRGB(255,255,255) then
          Utility:TweenObject(moreInfo, {TextColor3 = Color3.fromRGB(0,0,0)}, 0.2)
        end 
        if themeList.SchemeColor == Color3.fromRGB(0,0,0) then
          Utility:TweenObject(moreInfo, {TextColor3 = Color3.fromRGB(255,255,255)}, 0.2)
        end
        updateSectionFrame()
        UpdateSize()
        local mouse = game:GetService("Players").LocalPlayer:GetMouse();
        local ms = game.Players.LocalPlayer:GetMouse()
        local uis = game:GetService("UserInputService")
        local btn = sliderElement
        local infBtn = viewInfo
        local hovering = false
        btn.MouseEnter:Connect(function()
          if not focusing then
            tween:Create(btn, TweenInfo.new(0.1, Enum.EasingStyle.Linear, Enum.EasingDirection.In), {
              BackgroundColor3 = Color3.fromRGB(themeList.ElementColor.r * 255 + 8, themeList.ElementColor.g * 255 + 9, themeList.ElementColor.b * 255 + 10)
            }):Play()
            hovering = true
          end 
        end)
        btn.MouseLeave:Connect(function()
          if not focusing then
            tween:Create(btn, TweenInfo.new(0.1, Enum.EasingStyle.Linear, Enum.EasingDirection.In), {
              BackgroundColor3 = themeList.ElementColor
            }):Play()
            hovering = false
          end
        end)
        coroutine.wrap(function()
          while wait() do
            if not hovering then
              sliderElement.BackgroundColor3 = themeList.ElementColor
            end
            moreInfo.TextColor3 = themeList.TextColor
            moreInfo.BackgroundColor3 = Color3.fromRGB(themeList.SchemeColor.r * 255 - 14, themeList.SchemeColor.g * 255 - 17, themeList.SchemeColor.b * 255 - 13)
            val.TextColor3 = themeList.TextColor
            write.ImageColor3 = themeList.SchemeColor
            togName.TextColor3 = themeList.TextColor
            viewInfo.ImageColor3 = themeList.SchemeColor
            sliderBtn.BackgroundColor3 = Color3.fromRGB(themeList.ElementColor.r * 255 + 5, themeList.ElementColor.g * 255 + 5, themeList.ElementColor.b * 255 + 5)
            sliderDrag.BackgroundColor3 = themeList.SchemeColor
          end
        end)()
        local Value
        sliderBtn.MouseButton1Down:Connect(function()
          if not focusing then
            tween:Create(val, TweenInfo.new(0.1, Enum.EasingStyle.Linear, Enum.EasingDirection.In), {
              TextTransparency = 0
            }):Play()
            Value = math.floor((((tonumber(maxvalue) - tonumber(minvalue)) / 149) * sliderDrag.AbsoluteSize.X) + tonumber(minvalue)) or 0
            pcall(function()
              callback(Value)
            end)
            sliderDrag:TweenSize(UDim2.new(0, math.clamp(mouse.X - sliderDrag.AbsolutePosition.X, 0, 149), 0, 6), "InOut", "Linear", 0.05, true)
            moveconnection = mouse.Move:Connect(function()
              val.Text = Value
              Value = math.floor((((tonumber(maxvalue) - tonumber(minvalue)) / 149) * sliderDrag.AbsoluteSize.X) + tonumber(minvalue))
              pcall(function()
                callback(Value)
              end)
              sliderDrag:TweenSize(UDim2.new(0, math.clamp(mouse.X - sliderDrag.AbsolutePosition.X, 0, 149), 0, 6), "InOut", "Linear", 0.05, true)
            end)
            releaseconnection = uis.InputEnded:Connect(function(Mouse)
              if Mouse.UserInputType == Enum.UserInputType.MouseButton1 then
                Value = math.floor((((tonumber(maxvalue) - tonumber(minvalue)) / 149) * sliderDrag.AbsoluteSize.X) + tonumber(minvalue))
                pcall(function()
                  callback(Value)
                end)
                val.Text = Value
                tween:Create(val, TweenInfo.new(0.1, Enum.EasingStyle.Linear, Enum.EasingDirection.In), {
                  TextTransparency = 1
                }):Play()
                sliderDrag:TweenSize(UDim2.new(0, math.clamp(mouse.X - sliderDrag.AbsolutePosition.X, 0, 149), 0, 6), "InOut", "Linear", 0.05, true)
                moveconnection:Disconnect()
                releaseconnection:Disconnect()
              end
            end)
          else
            for i,v in next, infoContainer:GetChildren() do
              Utility:TweenObject(v, {Position = UDim2.new(0,0,2,0)}, 0.2)
              focusing = false
            end
            Utility:TweenObject(blurFrame, {BackgroundTransparency = 1}, 0.2)
          end
        end)
        viewInfo.MouseButton1Click:Connect(function()
          if not viewDe then
            viewDe = true
            focusing = true
            for i,v in next, infoContainer:GetChildren() do
              if v ~= moreInfo then
                Utility:TweenObject(v, {Position = UDim2.new(0,0,2,0)}, 0.2)
              end
            end
            Utility:TweenObject(moreInfo, {Position = UDim2.new(0,0,0,0)}, 0.2)
            Utility:TweenObject(blurFrame, {BackgroundTransparency = 0.5}, 0.2)
            Utility:TweenObject(btn, {BackgroundColor3 = themeList.ElementColor}, 0.2)
            wait(1.5)
            focusing = false
            Utility:TweenObject(moreInfo, {Position = UDim2.new(0,0,2,0)}, 0.2)
            Utility:TweenObject(blurFrame, {BackgroundTransparency = 1}, 0.2)
            wait(0)
            viewDe = false
          end
        end)    
      end
      function Elements:NewLabel(title)
      	local labelFunctions = {}
      	local label = Instance.new("TextLabel")
      	local UICorner = Instance.new("UICorner")
      	label.Name = "label"
      	label.Parent = sectionInners
      	label.BackgroundColor3 = themeList.SchemeColor
      	label.BorderSizePixel = 0
				label.ClipsDescendants = true
      	label.Text = title
      		label.Size = UDim2.new(0, 352, 0, 33)
	      label.Font = Enum.Font.Gotham
	      label.Text = " "..title
	      label.RichText = true
	      label.TextColor3 = themeList.TextColor
	      Objects[label] = "TextColor3"
	      label.TextSize = 14.000
	      label.TextXAlignment = Enum.TextXAlignment.Left
	      	UICorner.CornerRadius = UDim.new(0, 4)
        UICorner.Parent = label
	      if themeList.SchemeColor == Color3.fromRGB(255,255,255) then
	        Utility:TweenObject(label, {TextColor3 = Color3.fromRGB(0,0,0)}, 0.2)
	      end 
	      if themeList.SchemeColor == Color3.fromRGB(0,0,0) then
	        Utility:TweenObject(label, {TextColor3 = Color3.fromRGB(255,255,255)}, 0.2)
	      end
		    coroutine.wrap(function()
		      while wait() do
		        label.BackgroundColor3 = themeList.SchemeColor
		        label.TextColor3 = themeList.TextColor
		      end
		    end)()
        updateSectionFrame()
        UpdateSize()
        function labelFunctions:UpdateLabel(newText)
        	if label.Text ~= " "..newText then
        		label.Text = " "..newText
        	end
        end	
        return labelFunctions
      end	
      return Elements
    end
    return Sections
  end 
  return Tabs
end

local LocalPlayer = Players.LocalPlayer
local Camera = workspace.CurrentCamera

local loopAnim = false
local speed = 1
local play = false

local kfs
local keyframes = {}

local ped2ed = {
	[Enum.PoseEasingDirection.In] = Enum.EasingDirection.In,
	[Enum.PoseEasingDirection.Out] = Enum.EasingDirection.Out,
	[Enum.PoseEasingDirection.InOut] = Enum.EasingDirection.InOut
}

local pes2es = {
	[Enum.PoseEasingStyle.Linear] = Enum.EasingStyle.Linear,
	[Enum.PoseEasingStyle.Elastic] = Enum.EasingStyle.Elastic,
	[Enum.PoseEasingStyle.Bounce] = Enum.EasingStyle.Bounce
}

local function logOutput(logType, message, bypass)
	if (bypass or getgenv().Network.Output.Enabled) and typeof(logType) == "function" then
		logType(getgenv().Network.Output.Prefix .. message)
	end
end

if not getgenv().Network then
	local Network = {
		BaseParts = {},
		Output = {
			Enabled = true,
			Prefix = "[NETWORK] ",
			Send = logOutput
		},
		CharacterRelative = false,
		Velocity = Vector3.new(14.46262424, 14.46262424, 14.46262424)
	}
	getgenv().Network = Network

	logOutput(print, ": Loading.")

	function Network.RetainPart(part, returnFake)
		logOutput(print, 'Checking '..tostring(part)..'...')
		logOutput(print, 'Is an Instance: '..tostring(typeof(part) == "Instance"))
		logOutput(print, 'Is a Part: '..tostring(part:IsA("Part") or part:IsA("MeshPart")))
		logOutput(print, 'Is a descendant of workspace: '..tostring(part:IsDescendantOf(workspace)))
		assert(typeof(part) == "Instance" and (part:IsA("Part") or part:IsA("MeshPart")) and part:IsDescendantOf(workspace), "RetainPart Error: Invalid part.")
		if returnFake and typeof(returnFake) ~= "boolean" then
			error("RetainPart Error: Invalid returnFake flag.")
		end
		if table.find(Network.BaseParts, part) then
			logOutput(warn, "Part already retained: " .. part:GetFullName())
			return false
		end

		if Network.CharacterRelative then
			local character = LocalPlayer.Character
			if not (character and character.PrimaryPart) then
				logOutput(warn, "Character.PrimaryPart not found.")
				return false
			end
			local dist = (character.PrimaryPart.Position - part.Position).Magnitude
			if dist > 1000 then
				logOutput(warn, "Part too far from character: " .. part:GetFullName())
				return false
			end
		end

		table.insert(Network.BaseParts, part)
		part.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
		logOutput(print, "PartOwnership applied to: " .. part:GetFullName())
		return returnFake and FakePart or true
	end

	function Network.RemovePart(part)
		assert(typeof(part) == "Instance" and part:IsA("BasePart"), "RemovePart Error: Invalid part.")
		local idx = table.find(Network.BaseParts, part)
		if idx then
			table.remove(Network.BaseParts, idx)
			logOutput(print, "Removed PartOwnership from: " .. part:GetFullName())
		else
			logOutput(warn, "Part not found: " .. part:GetFullName())
		end
	end

	local SuperStepper = Instance.new("BindableEvent")
	Network.SuperStepper = SuperStepper
	for _, event in ipairs({run.Stepped, run.Heartbeat}) do
		event:Connect(function()
			SuperStepper:Fire(SuperStepper, tick())
		end)
	end

	Network.PartOwnership = {
		Enabled = false,
		PreMethodSettings = {}
	}

	function Network.PartOwnership.Enable()
		if Network.PartOwnership.Enabled then
			logOutput(warn, "PartOwnership already enabled.")
			return
		end
		Network.PartOwnership.Enabled = true
		Network.PartOwnership.PreMethodSettings = {
			ReplicationFocus = LocalPlayer.ReplicationFocus,
			SimulationRadius = gethiddenproperty(LocalPlayer, "SimulationRadius")
		}
		LocalPlayer.ReplicationFocus = workspace

		Network.PartOwnership.Connection = SuperStepper.Event:Connect(function()
			sethiddenproperty(LocalPlayer, "SimulationRadius", math.huge)
			for _, part in ipairs(Network.BaseParts) do
				task.spawn(function()
					if part:IsDescendantOf(workspace) then
						if Network.CharacterRelative then
							local character = LocalPlayer.Character
							if not (character and character.PrimaryPart) then
								logOutput(warn, "Missing Character.PrimaryPart.")
								return
							end
							if (character.PrimaryPart.Position - part.Position).Magnitude > 1000 then
								logOutput(warn, "Part too far: " .. part:GetFullName())
								Network.RemovePart(part)
								return
							end
						end
						part.Velocity = Network.Velocity + Vector3.new(0, math.cos(tick() * 10) / 100, 0)
					else
						Network.RemovePart(part)
					end
				end)
			end
		end)
		logOutput(print, "PartOwnership enabled.")
	end

	function Network.PartOwnership.Disable()
		if not Network.PartOwnership.Connection then
			logOutput(warn, "PartOwnership already disabled.")
			return
		end
		Network.PartOwnership.Connection:Disconnect()
		LocalPlayer.ReplicationFocus = Network.PartOwnership.PreMethodSettings.ReplicationFocus
		sethiddenproperty(LocalPlayer, "SimulationRadius", Network.PartOwnership.PreMethodSettings.SimulationRadius)
		for _, part in ipairs(Network.BaseParts) do
			Network.RemovePart(part)
		end
		Network.BaseParts = {}
		Network.PartOwnership.Enabled = false
		logOutput(print, "PartOwnership disabled.")
	end

	logOutput(print, ": Loaded.")
end

task.spawn(getgenv().Network.PartOwnership.Enable)

local chr = LocalPlayer.Character

local clone = Players:CreateHumanoidModelFromDescription(Instance.new("HumanoidDescription"), Enum.HumanoidRigType.R6)
for _,v in clone:GetChildren() do
  if v:IsA('Part') then
	v.Transparency = 0.9
  v.CollisionGroup = "Player"
    for _,j in v:GetChildren() do
      if not j:IsA('Motor6D') then
        j:Destroy()
      end
    end
  end
end
clone.Animate:Destroy()
clone['Body Colors']:Destroy()
clone.Humanoid.HumanoidDescription:Destroy()
clone.Humanoid.Status:Destroy()
clone.Humanoid.DisplayDistanceType=2
clone.HumanoidRootPart.CFrame = chr.HumanoidRootPart.CFrame
clone.Parent = workspace
local cloneHrp = clone.HumanoidRootPart

local part2at = {
	["HumanoidRootPart"] = clone.HumanoidRootPart.RootJoint,
	["Torso"] = clone.HumanoidRootPart.RootJoint,
	["Left Arm"] = clone.Torso['Left Shoulder'],
	["Right Arm"] = clone.Torso['Right Shoulder'],
	["Left Leg"] = clone.Torso['Left Hip'],
	["Right Leg"] = clone.Torso['Right Hip'],
	["Head"] = clone.Torso.Neck
}

local part2C0 = {
	["HumanoidRootPart"] = clone.HumanoidRootPart.RootJoint.C0,
	["Torso"] = clone.HumanoidRootPart.RootJoint.C0,
	["Left Arm"] = clone.Torso['Left Shoulder'].C0,
	["Right Arm"] = clone.Torso['Right Shoulder'].C0,
	["Left Leg"] = clone.Torso['Left Hip'].C0,
	["Right Leg"] = clone.Torso['Right Hip'].C0,
	["Head"] = clone.Torso.Neck.C0
}

local pet = chr['TwitterBird'].Handle
local root
local handsAndLegs = {}

if chr:FindFirstChildOfClass('Humanoid').RigType == Enum.HumanoidRigType.R15 then
	for _,v in chr:FindFirstChildOfClass('Humanoid'):GetAccessories() do
		if v.Name == "MeshPartAccessory" or v.Name == "International Fedora" then
			if v.Handle.MeshId == "rbxassetid://4819720316" then
				root = v.Handle
			else
				table.insert(handsAndLegs, v.Handle)
			end
		end
	end
else
	for _,v in chr:FindFirstChildOfClass('Humanoid'):GetAccessories() do
		if v.Name == "MeshPartAccessory" or v.Name == "International Fedora" then
			if v.Handle.SpecialMesh.MeshId == "rbxassetid://4819720316" then
				root = v.Handle
			else
				table.insert(handsAndLegs, v.Handle)
			end
		end
	end
end

local function createAlignMovers(partFrom, partTo, rotOffset)
		local atFrom = Instance.new('Attachment', partFrom)
		local atTo = Instance.new('Attachment', partTo)
		atTo.CFrame = rotOffset

		local alignPos = Instance.new('AlignPosition', partFrom)
		alignPos.MaxForce = math.huge
		alignPos.MaxAxesForce = Vector3.new(math.huge,math.huge,math.huge)
		alignPos.Attachment0 = atFrom
		alignPos.Attachment1 = atTo
		alignPos.RigidityEnabled = true

		local alignRot = Instance.new('AlignOrientation', partFrom)
		alignRot.MaxTorque = math.huge
		alignRot.Attachment0 = atFrom
		alignRot.Attachment1 = atTo
		alignRot.RigidityEnabled = true

		task.spawn(function()
			while task.wait() do
				partFrom.CFrame = partTo.CFrame*rotOffset
			end
		end)
end

replicatesignal(LocalPlayer.ConnectDiedSignalBackend)
task.wait(Players.RespawnTime-1)
chr.HumanoidRootPart.CFrame = CFrame.new(0, 100000, 0)
task.wait(1.1)
chr:FindFirstChildOfClass("Humanoid"):ChangeState(15)
task.wait()
local rp = getgenv().Network.RetainPart
rp(root)
rp(pet)
for _,v in handsAndLegs do
	rp(v)
end

createAlignMovers(handsAndLegs[1], clone['Right Arm'], CFrame.Angles(math.rad(90), 0, -math.rad(90)))
createAlignMovers(handsAndLegs[2], clone['Left Arm'], CFrame.Angles(math.rad(90), 0, math.rad(90)))
createAlignMovers(handsAndLegs[3], clone['Right Leg'], CFrame.Angles(math.rad(90), 0, -math.rad(90)))
createAlignMovers(handsAndLegs[4], clone['Left Leg'], CFrame.Angles(math.rad(90), 0, math.rad(90)))

createAlignMovers(root, clone.Torso, CFrame.Angles(0, 0, -math.rad(15)))

local bpPet = Instance.new("BodyPosition", pet)
bpPet.D = 100
bpPet.P = 10000
bpPet.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
bpPet.Position = cloneHrp.Position

local bgPet = Instance.new("BodyGyro", pet)
bgPet.D = 100
bgPet.P = 10000
bgPet.MaxTorque = Vector3.new(math.huge, math.huge, math.huge)
bgPet.CFrame = cloneHrp.CFrame

LocalPlayer.Character = clone

Camera.CameraSubject = clone.Humanoid

spawn(function()
	local Figure = clone
	local Torso, Humanoid = Figure:WaitForChild("Torso"), Figure:WaitForChild("Humanoid")
	local RS, LS, RH, LH, Neck = Torso:WaitForChild("Right Shoulder"), Torso:WaitForChild("Left Shoulder"), Torso:WaitForChild("Right Hip"), Torso:WaitForChild("Left Hip"), Torso:WaitForChild("Neck")
	local pose, currentAnim, currentAnimTrack, currentAnimInstance, currentAnimSpeed, currentAnimKeyframeHandler = "Standing", "", nil, nil, 1, nil
	local toolAnim, toolAnimTime, jumpAnimTime, jumpAnimDuration = "None", 0, 0, 0.3
	local animTable, emoteNames = {}, { wave = false, point = false, dance1 = true, dance2 = true, dance3 = true, laugh = false, cheer = false }
	local dances = {"dance1", "dance2", "dance3"}

	local animNames = {
		idle = {{id="rbxassetid://180435571",weight=9},{id="rbxassetid://180435792",weight=1}},
		walk = {{id="rbxassetid://180426354",weight=10}}, run = {{id="run.xml",weight=10}},
		jump = {{id="rbxassetid://125750702",weight=10}}, fall = {{id="rbxassetid://180436148",weight=10}},
		climb = {{id="rbxassetid://180436334",weight=10}}, sit = {{id="rbxassetid://178130996",weight=10}},
		toolnone = {{id="rbxassetid://182393478",weight=10}}, toolslash = {{id="rbxassetid://129967390",weight=10}},
		toollunge = {{id="rbxassetid://129967478",weight=10}}, wave = {{id="rbxassetid://128777973",weight=10}},
		point = {{id="rbxassetid://128853357",weight=10}}, dance1 = {{id="rbxassetid://182435998",weight=10},{id="rbxassetid://182491037",weight=10},{id="rbxassetid://182491065",weight=10}},
		dance2 = {{id="rbxassetid://182436842",weight=10},{id="rbxassetid://182491248",weight=10},{id="rbxassetid://182491277",weight=10}},
		dance3 = {{id="rbxassetid://182436935",weight=10},{id="rbxassetid://182491368",weight=10},{id="rbxassetid://182491423",weight=10}},
		laugh = {{id="rbxassetid://129423131",weight=10}}, cheer = {{id="rbxassetid://129423030",weight=10}}
	}

	local function getRigScale()
		local success, scale = pcall(function() return UserSettings():IsUserFeatureEnabled("UserAnimateScaleRun") end)
		return success and scale and Figure:GetScale() or 1
	end

	local function configureAnimationSet(name, fileList)
		animTable[name] = {count=0, totalWeight=0, connections={}}
		for i, anim in ipairs(fileList) do
			local obj = Instance.new("Animation")
			obj.Name, obj.AnimationId = name, anim.id
			animTable[name][i] = {anim=obj, weight=anim.weight}
			animTable[name].count += 1
			animTable[name].totalWeight += anim.weight
		end
	end

	local function stopAllAnimations()
		if currentAnimTrack then currentAnimTrack:Stop(); currentAnimTrack:Destroy() end
		if currentAnimKeyframeHandler then currentAnimKeyframeHandler:Disconnect() end
		currentAnim, currentAnimTrack, currentAnimInstance = "", nil, nil
	end

	local function playAnimation(name, t, humanoid)
		local roll, idx = math.random(1, animTable[name].totalWeight), 1
		while roll > animTable[name][idx].weight do roll -= animTable[name][idx].weight; idx += 1 end
		local anim = animTable[name][idx].anim
		if anim ~= currentAnimInstance then
			stopAllAnimations()
			currentAnimTrack = humanoid:LoadAnimation(anim)
			currentAnimTrack.Priority = Enum.AnimationPriority.Core
			currentAnimTrack:Play(t)
			currentAnim = name
			currentAnimInstance = anim
		end
	end

	for name, list in pairs(animNames) do configureAnimationSet(name, list) end

	local function move(time)
		local tool = Figure:FindFirstChildWhichIsA("Tool")
		if pose == "FreeFall" and jumpAnimTime <= 0 then playAnimation("fall", 0.3, Humanoid)
		elseif pose == "Seated" then playAnimation("sit", 0.5, Humanoid)
		elseif pose == "Running" then playAnimation("walk", 0.1, Humanoid) end

		if tool then
			local animStr = tool:FindFirstChild("toolanim")
			if animStr and animStr:IsA("StringValue") then
				toolAnim = animStr.Value; animStr:Destroy(); toolAnimTime = time + 0.3
			end
			if time > toolAnimTime then toolAnim = "None" end
		else
			toolAnim = "None"; toolAnimTime = 0
		end
	end

	Humanoid.Died:Connect(function() pose = "Dead" end)
	Humanoid.Running:Connect(function(s)
		s /= getRigScale()
		if s > 0.01 then
			playAnimation("walk", 0.1, Humanoid)
			if currentAnimInstance and currentAnimInstance.AnimationId:find("180426354") then
				currentAnimTrack:AdjustSpeed(s / 14.5)
			end
			pose = "Running"
		else
			if emoteNames[currentAnim] == nil then
				playAnimation("idle", 0.1, Humanoid)
				pose = "Standing"
			end
		end
	end)

	Humanoid.Jumping:Connect(function()
		playAnimation("jump", 0.1, Humanoid)
		jumpAnimTime = jumpAnimDuration
		pose = "Jumping"
	end)

	Humanoid.Climbing:Connect(function(s)
		s /= getRigScale()
		playAnimation("climb", 0.1, Humanoid)
		currentAnimTrack:AdjustSpeed(s / 12)
		pose = "Climbing"
	end)

	Humanoid.GettingUp:Connect(function() pose = "GettingUp" end)
	Humanoid.FreeFalling:Connect(function() if jumpAnimTime <= 0 then playAnimation("fall", 0.3, Humanoid) end pose = "FreeFall" end)
	Humanoid.FallingDown:Connect(function() pose = "FallingDown" end)
	Humanoid.Seated:Connect(function() pose = "Seated" end)
	Humanoid.PlatformStanding:Connect(function() pose = "PlatformStanding" end)
	Humanoid.Swimming:Connect(function(s) pose = s > 0 and "Running" or "Standing" end)

	game:GetService("Players").LocalPlayer.Chatted:Connect(function(msg)
		local emote = msg == "/e dance" and dances[math.random(#dances)] or msg:match("^/e (.+)$") or msg:match("^/emote (.+)$")
		if pose == "Standing" and emote and emoteNames[emote] then playAnimation(emote, 0.1, Humanoid) end
	end)

	chr.Animate.PlayEmote.OnInvoke = function(emote)
		if pose ~= "Standing" then return false end
		if emoteNames[emote] then playAnimation(emote, 0.1, Humanoid); return true, currentAnimTrack end
		return false
	end

	playAnimation("idle", 0.1, Humanoid)
	while Figure.Parent do local _, t = wait(0.1); move(t) end
end)

local willNotFollowMe = false
local targetOffset = Vector3.zero
local target
local tempPlr

local function getNearestPlr()
	local lowest = math.huge
	local NearestPlayer
	for _,plr in pairs(Players:GetPlayers()) do
		if plr ~= LocalPlayer and plr.Character then
			local distance = plr:DistanceFromCharacter(cloneHrp.Position)
			if distance < lowest then
				lowest = distance
				NearestPlayer = plr
			end
		end
	end
	return NearestPlayer
end

spawn(function()
	while wait(math.random(30, 60)) do
		targetOffset = Vector3.zero
		if math.random(0, 10) > 5 then
			target = getNearestPlr().Character.Head
			willNotFollowMe = true
		else
			tempPlr = getNearestPlr().Character
			if tempPlr:FindFirstChild('LowerTorso') then
				target = tempPlr.LowerTorso
				willNotFollowMe = true
			elseif tempPlr:FindFirstChild('Torso') then
				target = tempPlr.Torso
				targetOffset = Vector3.new(0, -1, 0)
				willNotFollowMe = true
			end
		end
		if willNotFollowMe then
    		wait(math.random(10, 30))
    		willNotFollowMe = false
    	end
	end
end)

local petRot1 = CFrame.Angles(0, 0, 0)
local petRot2 = CFrame.Angles(0, math.rad(180), 0)
if pet:FindFirstChildOfClass('Attachment').CFrame.LookVector.Z == 1 then
  petRot1 = CFrame.Angles(0, math.rad(180), 0)
  petRot2 = CFrame.Angles(0, 0, 0)
end

run.Heartbeat:Connect(function(deltaTime)
	local tempCFrame
	local tempPos
	if willNotFollowMe then
		if target then
			if (pet.Position - target.Position).Magnitude > 800 then
				bpPet.Position = target.Position
				pet.Position = target.Position
			elseif (pet.Position - target.Position).Magnitude > 2 then
				tempCFrame = CFrame.lookAt(pet.Position, target.Position + targetOffset)*petRot1
				bgPet.CFrame = tempCFrame
				tempPos = (pet.Position - ((bgPet.CFrame*petRot2).LookVector * deltaTime * 20))
				bpPet.Position = tempPos
				pet.Position = tempPos
			end
		else
			willNotFollowMe = false
		end
	else
		if (pet.Position - cloneHrp.Position).Magnitude > 800 then
			bpPet.Position = cloneHrp.Position
			pet.Position = cloneHrp.Position
		elseif (pet.Position - cloneHrp.Position).Magnitude > 3 then
			tempCFrame = CFrame.lookAt(pet.Position, cloneHrp.Position)*petRot1
			bgPet.CFrame = tempCFrame
			tempPos = pet.Position - ((bgPet.CFrame*petRot2).LookVector * deltaTime * 20)
			bpPet.Position = tempPos
			pet.Position = tempPos
		end
	end
end)

local Window = Kavo.CreateLib("Custom animator", "DarkTheme")
local Tab = Window:NewTab("Main")
local Section = Tab:NewSection("Main")

Section:NewLabel("This is animator for R6 anims that can play anims on this reanim, but not on the plr, cuz anim isnt from roblox")
Section:NewTextBox("Animation ID", "Type your animation id here", function(id)
	spawn(function()
		kfs = game:GetObjects('rbxassetid://'..id)[1]

		keyframes = kfs:GetChildren()
		table.sort(keyframes, function(a, b)
			return a.Time < b.Time
		end)
	end)
end)
Section:NewToggle("Loop animation", "Loops animation", function(state)
  loopAnim = state
end)
Section:NewSlider("Animation speed", "Change your animation speed", 100, 1, function(s)
  speed = s
end)
Section:NewButton("Play animation", "Plays animation", function()
  play = true
end)
Section:NewButton("Stop animation", "Stops animation", function()
  play = false
end)

local lastTime = 0
while wait() do
	if play then
		lastTime = 0
		for _, kf in ipairs(keyframes) do
			local delay = kf.Time - lastTime
			lastTime = kf.Time

			for _, pose in kf:GetDescendants() do
				local motor = assert(part2at[pose.Name], "No motor found for part: " .. pose.Name)
				local baseC0 = assert(part2C0[pose.Name], "No base C0 found for part: " .. pose.Name)

				local targetC0 = baseC0 * pose.CFrame

				local tweenInfo = TweenInfo.new(
					delay / speed,
					pes2es[pose.EasingStyle],
					ped2ed[pose.EasingDirection],
					0,
					false,
					0
				)

				local goal = {C0 = targetC0}
				local tween = tween:Create(motor, tweenInfo, goal)
				tween:Play()
			end

			task.wait(delay / speed)
		end
	end
	if not loopAnim then
		play = false
		part2at['Torso'].C0 = part2C0['Torso']
		part2at['Head'].C0 = part2C0['Head']
		part2at['Right Arm'].C0 = part2C0['Right Arm']
		part2at['Left Arm'].C0 = part2C0['Left Arm']
		part2at['Right Leg'].C0 = part2C0['Right Leg']
		part2at['Left Leg'].C0 = part2C0['Left Leg']
	end
end

Features & Information

"your little friend" in the title means "pet", because scriptblox doesn't allow the word "pet" in script title This is my open-source reanim V2 script. Also I added pet that follows you. Accessories: https://www.roblox.com/catalog/4819740796/Robox and 4 any fedoras any accessory for a pet DONT FORGET TO SCALE THESE ACCESSORIES TO MAX You can change your pet accessory on line 1557 and body parts(NO HEAD) on line 1561 UPDATE 14/05/2025 Fixed bugs with fedoras, and pet following you backwards. Now by default, pet will be twitter bird. To get it, you need to go to https://www.roblox.com/redeem, in code section type TweetROBLOX and press redeem. Don't forget to equip it!
#reanim#cool#open source#free#universal

Community Comments (5)

elimiqueiaseroelimiqueiaseroMay 4, 2025

windows ...

elimiqueiaseroelimiqueiaseroMay 4, 2025

what

elimiqueiaseroelimiqueiaseroMay 4, 2025

@monker avatar 3 ?

MonkerMonkerMay 5, 2025

@vigiakenny wdym

FEscript_showcaserFEscript_showcaserJan 26, 2026

It not loading. 🥲

More Scripts for Universal Scripts