Advertisement
Alpha_user

panel

Apr 7th, 2023
825
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 36.28 KB | Gaming | 0 0
  1. _G.Version = "1I"
  2. setclipboard(_G.Version)
  3. local Library = {
  4.     Logs = {},
  5.     Flags = {},
  6. }
  7. Library.__index = Library
  8.  
  9. local UserInputService = game:GetService("UserInputService")
  10. local TweenService = game:GetService("TweenService")
  11. local HttpService = game:GetService("HttpService")
  12. local RunService = game:GetService("RunService")
  13. local Players = game:GetService("Players")
  14. local CoreGui = game:GetService("CoreGui")
  15. local LocalPlayer = Players.LocalPlayer
  16. local Mouse = LocalPlayer:GetMouse()
  17.  
  18. local Utils = loadstring(game:HttpGet("https://raw.githubusercontent.com/Player788/luau1/main/lib2.lua"))()
  19. local Create = Utils.Create
  20. local Headshot = Utils.Headshot
  21. local UserId = Utils.GetUserId
  22. local Date = Utils.Date
  23. local Tween = Utils.Tween
  24. local MouseHover = Utils.MouseHover
  25. local BoolToString = Utils.BoolToString
  26. local toJSON = Utils.toJSON
  27. local toTable = Utils.toTable
  28. local EnumToString = Utils.EnumToString
  29. local Drag = Utils.Drag
  30. local OnClick = Utils.Click
  31.  
  32. local Exec = game:GetObjects("rbxassetid://12651264749")[1]
  33. Exec.Enabled = true
  34. local Main = Exec.Main
  35. local Init = Main.Init
  36. local Top = Main.Top Utils.Drag(Top, Main)
  37. local NoteFrame = Exec.Noties.Note
  38. local Elements = Main.ElementsScroll
  39. local Section = Elements.Section
  40. local Header = Elements.Header
  41. local TextButton = Elements.Button
  42. local ToggleButton = Elements.Toggle
  43. local InputBox = Elements.Textbox
  44. local KeybindButton = Elements.Keybind
  45. local Slider = Elements.Slider
  46. local Colorpicker = Elements.Colorpicker local Colorpicker_Frame = Init.Colorpicker
  47. local Dropdown = Elements.Dropdown local Dropdown_Options = Elements.Dropdown_Options local OptTemp = Elements.Option
  48. local Label = Elements.Label
  49.  
  50. local BlacklistedKeys = {Enum.KeyCode.Unknown,Enum.KeyCode.W,Enum.KeyCode.A,Enum.KeyCode.S,Enum.KeyCode.D,Enum.KeyCode.Up,Enum.KeyCode.Left,Enum.KeyCode.Down,Enum.KeyCode.Right,Enum.KeyCode.Slash,Enum.KeyCode.Tab,Enum.KeyCode.Backspace,Enum.KeyCode.Escape}
  51.  
  52. if syn then
  53.     syn.protect_gui(Exec)
  54.     Exec.Parent = game.CoreGui
  55. elseif gethui then
  56.     Exec.Parent = gethui()
  57. else
  58.     Exec.Parent = game.Players.LocalPlayer.PlayerGui
  59. end
  60.  
  61. function Index(Table, Key)
  62.     for _, v in next, Table do
  63.         if v == Key then
  64.             return true
  65.         end
  66.     end
  67. end
  68.  
  69. --function HereditaryAnim(instance, properties, value, excluded)
  70. --  for i,v in pairs(properties) do
  71. --      pcall(function()
  72. --          if instance[v] then
  73. --              Tween(instance, v, 1)
  74. --          end
  75. --      end)
  76. --  end
  77. --  for i, v in pairs(instance:GetDescendants()) do
  78. --      if v:IsA("GuiBase2d") then
  79. --          for x, y in pairs(properties) do
  80. --              pcall(function()
  81. --                  if v[y] then
  82. --                      if not excluded[v] then
  83. --                          Tween(v, y, 1)
  84. --                      end
  85.  
  86. --                  end
  87. --              end)
  88. --          end
  89. --      end
  90. --  end
  91. --end
  92.  
  93. function Library:Notification(Table)
  94.     wait(0.5)
  95.     spawn(function()
  96.         table.insert(Library.Logs, Table.Content)
  97.         local note = NoteFrame:Clone()
  98.         note.Parent = Exec.Noties
  99.         note.Message.Label.Text = Table.Content or ""
  100.         if typeof(Table[1]) == "number" then
  101.             local type_ = Table[1]
  102.             if type_ == 0 then
  103.                 note.Type.ImageButton.Image = "rbxassetid://7733658271"
  104.                 note.Type.ImageButton.ImageColor3 = Color3.fromRGB(255 ,50, 50)
  105.             elseif type_ == 1 then
  106.                 note.Type.ImageButton.Image = "rbxassetid://7733749837"
  107.                 note.Type.ImageButton.ImageColor3 = Color3.fromRGB(85, 170, 255)
  108.             elseif type_ == 2 then
  109.                 note.Type.ImageButton.Image = "rbxassetid://7733715400"
  110.                 note.Type.ImageButton.ImageColor3 = Color3.fromRGB(85, 170, 127)
  111.             end
  112.         end
  113.         note.Transparency = 1
  114.         note.Message.Label.TextTransparency = 1
  115.         note.Type.ImageButton.ImageTransparency = 1
  116.         note.Visible = true
  117.         Tween(note, "Transparency", 0)
  118.         Tween(note.Message.Label, "TextTransparency", 0)
  119.         Tween(note.Type.ImageButton, "ImageTransparency", 0)
  120.  
  121.         -- highlight
  122.         local highlight = note.Highlight
  123.         highlight.BackgroundColor3 = note.Type.ImageButton.ImageColor3
  124.         Tween(highlight, "Size", UDim2.fromScale(1.05,1.4), "Out", "Linear", 0.5)
  125.         Tween(highlight, "BackgroundTransparency", 1, "Out", "Linear", 0.5)
  126.  
  127.         wait(Table.Time or 5)
  128.         Tween(note, "Transparency", 1)
  129.         Tween(note.Message.Label, "TextTransparency", 1)
  130.  
  131.         local final = Tween(note.Type.ImageButton, "ImageTransparency", 1)
  132.         final.Completed:Connect(function()
  133.             note:Destroy()
  134.         end)
  135.  
  136.     end)
  137. end
  138.  
  139. function Library:Window(Table)
  140.  
  141.     local Window = {
  142.         Name = Table.Name or "Panel",
  143.         Creator = Table.Creator or "Exec",
  144.         Script = Table.Script or "Script",
  145.         Hotkey = {
  146.             Key = Enum.KeyCode.Semicolon,
  147.             Enabled = true
  148.         },
  149.         Saves = {
  150.             FileId = "raw",
  151.             Enabled = false
  152.         },
  153.         Sounds = Table.Sounds or "true",
  154.         KeySystem = {
  155.             Enabled = true,
  156.             External = false,
  157.             Key = "", -- URL of raw site if External is true.
  158.         },
  159.         Flag = Table.Flag or false
  160.     }
  161.  
  162.     local Access = false
  163.     if Table.Hotkey then
  164.         Window.Hotkey.Enabled = Table.Hotkey.Enabled or Window.Hotkey.Enabled
  165.         Window.Hotkey.Key = Table.Hotkey.Key or Window.Hotkey.Key
  166.     end
  167.     if Table.Saves then
  168.         Window.Saves.Enabled = Table.Saves.Enabled or Window.Saves.Enabled
  169.         Window.Saves.FileId = Table.Saves.FileId or Window.Saves.FileId
  170.         if not isfolder(Window.Saves.FileId) then
  171.             makefolder(Window.Saves.FileId)
  172.         end
  173.     end
  174.  
  175.     -- Loading
  176.     Exec.Main.ElementsScroll.Visible = false
  177.     Top.Visible = false
  178.     Init.Note2.Text = Window.Name .. " by " .. Window.Creator
  179.     Init.Note.Visible = true
  180.     Init.Note2.Visible = true
  181.     Init.Visible = true
  182.  
  183.     if Table.KeySystem and Table.KeySystem.Enabled then
  184.         Window.KeySystem.Enabled = Table.KeySystem.Enabled or Window.KeySystem.Enabled
  185.         Window.KeySystem.External = Table.KeySystem.External or Window.KeySystem.External
  186.         Window.KeySystem.Key = Table.KeySystem.Key or Window.KeySystem.Key
  187.  
  188.         if Window.KeySystem.External then
  189.             local Success, Response = pcall(function()
  190.                 Window.KeySystem.Key = game:HttpGet(Window.KeySystem.Key)
  191.             end)
  192.             if not Success then
  193.                 Library:Warn(Window.KeySystem.Key.." Error " ..tostring(Response))
  194.             end
  195.         end
  196.         if not Access then
  197.             local Attempts = math.random(3,5)
  198.             Init.Frame.Visible = true
  199.             Init.Frame.Textbox.FocusLost:Connect(function(Enter)
  200.                 if Enter then
  201.                     if Init.Frame.Textbox.Text == Window.KeySystem.Key then
  202.                         Tween(Init.Frame, "BackgroundTransparency", 1)
  203.                         Tween(Init.Frame.Textbox, "TextTransparency", 1)
  204.                         Tween(Init.Note, "Position", UDim2.fromScale(0.5, 0.45))
  205.                         Tween(Init.Note2, "Position", UDim2.fromScale(0.5, 0.55))
  206.                         wait(0.3)
  207.                         Tween(Init.Note, "TextTransparency", 1, "InOut", "Linear", 0.1)
  208.                         wait(0.1)
  209.                         Init.Note.Text = "Loading.."
  210.                         Tween(Init.Note, "TextTransparency", 0, "InOut", "Linear", 0.1)
  211.                         --Top.Visible = true
  212.                         --Exec.Main.ElementsScroll.Visible = true
  213.                         Access = true
  214.                     else
  215.                         Library:Warn("Invalid key, try again!")
  216.                         if Attempts == 0 then
  217.                             game.Players.LocalPlayer:Kick("KeySystem attempt limit exceeded")
  218.                         end
  219.                         Attempts -=1
  220.                     end
  221.                 end
  222.             end)
  223.  
  224.         end
  225.     else
  226.         Tween(Init.Note, "Position", UDim2.fromScale(0.5, 0.45))
  227.         Tween(Init.Note2, "Position", UDim2.fromScale(0.5, 0.55))
  228.         wait(0.3)
  229.         Tween(Init.Note, "TextTransparency", 1, "InOut", "Linear", 0.1)
  230.         wait(0.1)
  231.         Init.Note.Text = "Loading.."
  232.         Tween(Init.Note, "TextTransparency", 0, "InOut", "Linear", 0.1)
  233.         Access = true
  234.     end
  235.  
  236.     if Window.KeySystem then
  237.         repeat wait() until Access
  238.     end
  239.  
  240.     local Sections = {}
  241.     Sections.__index = Section
  242.  
  243.     local Elements = {}
  244.     Elements.__index = Elements
  245.  
  246.     Top.Box.TextBox:GetPropertyChangedSignal("Text"):Connect(function()
  247.         local Search = string.lower(Top.Box.TextBox.Text)
  248.         for i, v in pairs(Elements) do
  249.             if typeof(v) ~= "table" and v:IsA("Frame") then
  250.                 v.Parent.Visible = false
  251.                 if Search ~= "" then
  252.                     local Opt_ = string.lower(v.Name)
  253.                     if string.find(Opt_, Search) then
  254.                         v.Parent.Visible = true
  255.                     end
  256.                     if Search == Opt_ then
  257.                         Tween(v.Frame, "BackgroundTransparency", 0)
  258.                         wait(0.3)
  259.                         Tween(v.Frame, "BackgroundTransparency", 1)
  260.                     end
  261.                 elseif Search == "" then
  262.                     v.Parent.Visible = true
  263.                 end
  264.             end
  265.         end
  266.     end)
  267.  
  268.     function Window:Save()
  269.         local Data = {}
  270.         for i,v in pairs(Library.Flags) do
  271.             if v.Type == "Colorpicker" then
  272.                 Data[i] = {R = v.Value.R * 255, G = v.Value.G * 255, B = v.Value.B * 255}
  273.             elseif v.Type == "Bind" then
  274.                 Data[i] = v.Value.Name
  275.             else
  276.                 Data[i] = v.Value
  277.             end
  278.         end
  279.         writefile(Window.Saves.FileId .. "/" .. game.GameId .. ".txt", tostring(HttpService:JSONEncode(Data)))
  280.     end
  281.  
  282.     function Window:Load()
  283.         if isfile(Window.Saves.FileId .. "/" .. game.GameId .. ".txt") then
  284.             local file = readfile(Window.Saves.FileId .. "/" .. game.GameId .. ".txt")
  285.             local Data = HttpService:JSONDecode(file)
  286.             for i,v in pairs(Data) do
  287.                 if Library.Flags[i] then
  288.                     spawn(function()
  289.                         if Library.Flags[i].Type == "Colorpicker" then
  290.                             Library.Flags[i]:Set(Color3.fromRGB(v.R, v.G, v.B))
  291.                         elseif Library.Flags[i].Type == "Bind" then
  292.                             Library.Flags[i]:Set(Enum.KeyCode[v])
  293.                         else
  294.                             Library.Flags[i]:Set(v)
  295.                         end    
  296.                     end)
  297.                 else
  298.                     Library:Warn("Filesystem could not find flag '" .. i .."'")
  299.                 end
  300.             end
  301.             Library:Notification{2, Content = "Save loaded!"}
  302.         end
  303.     end
  304.  
  305.     function Window:AddSection(Table, Parent)
  306.         local Section_mt = setmetatable({}, Sections)
  307.         Section_mt.Name = Table.Name or "Section"
  308.         Section_mt.Image = Table.Image or "rbxassetid://7733917120"
  309.         Section_mt.Flag = Table.Flag or #Elements
  310.         local Section = Section:Clone()
  311.         Section.Name = Section_mt.Name
  312.         Section.Parent = Table.Parent or Exec.Main.ElementsScroll
  313.         local newHeader = Header:Clone() newHeader.Size = UDim2.new(1,0,0, Header.AbsoluteSize.Y)
  314.         newHeader.Parent = Section
  315.         newHeader.Icon.Image = Section_mt.Image
  316.         newHeader.Label.Text = Section_mt.Name
  317.         newHeader.Visible = true Section.Visible = true
  318.  
  319.         --table.insert(Elements, Section)
  320.  
  321.         -- Label
  322.         function Section_mt:AddLabel(Table)
  323.             local Label_mt = setmetatable({
  324.                 Name = Table.Name or Table.Text or "Label",
  325.                 CopiedText = Table.CopiedText or self.Name,
  326.                 TextColor = Table.TextColor or Color3.fromRGB(150,150,150),
  327.                 Flag = Table.Flag or #Elements,
  328.             }, Elements)
  329.             local Label = Label:Clone()
  330.             Label.Parent = Section or Main.ElementsScroll
  331.             Label.Frame.TextButton.Text = Label_mt.Name
  332.             Label.Frame.TextButton.TextColor3 = Label_mt.TextColor
  333.             Label.Name = Label_mt.Name
  334.             Label.Size = UDim2.new(1,0,0, Header.AbsoluteSize.Y)
  335.             Label.Visible = true
  336.  
  337.             table.insert(Elements, Label)  
  338.  
  339.             local Click = OnClick{Label, function()
  340.                 local x,y = pcall(function()
  341.                     --Label_mt.Callback()
  342.                     setclipboard(Label_mt.CopiedText)
  343.                     print(Label_mt.CopiedText)
  344.                 end)
  345.                 if not x then Library:Warn(y) end
  346.             end}
  347.  
  348.             Utils.ProxyHover(Click, Label.Frame, "BackgroundTransparency", 0,1)
  349.  
  350.             function Label_mt:AddLabel(Table)
  351.                 return Section_mt:AddLabel(Table)
  352.             end
  353.  
  354.             function Label_mt:Set(Name : string | number)
  355.                 Label.Frame.TextButton.Text = tostring(Name)
  356.             end
  357.             function Label_mt:Destroy()
  358.                 Label:Destroy()
  359.             end
  360.             Library.Flags[Label_mt.Flag] = Label_mt
  361.             return Label_mt
  362.         end
  363.  
  364.         -- Button
  365.         function Section_mt:AddButton(Table)
  366.             local Button_mt = setmetatable({
  367.                 Name = Table.Name or "Button",
  368.                 TextColor = Table.TextColor or Color3.fromRGB(200,200,200),
  369.                 Image = Table.Image or "rbxassetid://7734010405",
  370.                 Callback = Table.Callback or function() end,
  371.                 Flag = Table.Flag or #Elements,
  372.             }, Elements)
  373.  
  374.             local Button = TextButton:Clone()
  375.             Button.Parent = Section or Main.ElementsScroll
  376.             Button.Frame.Icon.Image = Button_mt.Image
  377.             Button.Frame.TextButton.Text = Button_mt.Name
  378.             Button.Frame.TextButton.TextColor3 = Button_mt.TextColor
  379.             Button.Name = Button_mt.Name
  380.             Button.Size = UDim2.new(1,0,0, Header.AbsoluteSize.Y)
  381.             Button.Visible = true
  382.  
  383.             table.insert(Elements, Button) 
  384.  
  385.             local Click = OnClick{Button, function()
  386.                 local x,y = pcall(function()
  387.                     Button_mt.Callback()
  388.                 end)
  389.                 if not x then Library:Warn(y) end
  390.             end}
  391.  
  392.             Utils.ProxyHover(Click, Button.Frame, "BackgroundTransparency", 0,1)
  393.  
  394.             function Button_mt:AddButton(Table)
  395.                 return Section_mt:AddButton(Table)
  396.             end
  397.  
  398.             function Button_mt:Set(Name : string | number)
  399.                 Button.Frame.TextButton.Text = tostring(Name)
  400.             end
  401.             function Button_mt:Destroy()
  402.                 Button:Destroy()
  403.             end
  404.             Library.Flags[Button_mt.Flag] = Button_mt
  405.             return Button_mt
  406.         end
  407.  
  408.         -- Textbox
  409.         function Section_mt:AddTextbox(Table)
  410.             local Input_mt = setmetatable({
  411.                 Name = Table.Name or "Textbox",
  412.                 TextColor = Table.TextColor or Color3.fromRGB(200,200,200),
  413.                 Image = Table.Image or "rbxassetid://7743874740",
  414.                 Callback = Table.Callback or function() end,
  415.                 PressEnter = Table.PressEnter or false,
  416.                 ClearOnFocus = Table.ClearOnFocus or true,
  417.                 --Default = Table.Default or "",
  418.                 Placeholder = Table.Placeholder or "Textbox",
  419.                 Flag = Table.Flag or #Elements,
  420.             }, Elements)
  421.  
  422.             local Textbox = InputBox:Clone()
  423.             Textbox.Parent = Section or Main.ElementsScroll
  424.             Textbox.Frame.Icon.Image = Input_mt.Image
  425.             --Textbox.Frame.Textbox.Text = Input_mt.Name
  426.             Textbox.Frame.Textbox.TextColor3 = Input_mt.TextColor
  427.             Textbox.Frame.Textbox.ClearTextOnFocus = Input_mt.ClearOnFocus
  428.             Textbox.Frame.Textbox.PlaceholderText = Input_mt.Placeholder
  429.             Textbox.Name = Input_mt.Name
  430.             Textbox.Size = UDim2.new(1,0,0, Header.AbsoluteSize.Y)
  431.             Textbox.Visible = true
  432.  
  433.             table.insert(Elements, Textbox)
  434.  
  435.             local Click = OnClick{Textbox, function()
  436.                 Textbox.Frame.Textbox:CaptureFocus()
  437.             end}
  438.  
  439.             Textbox.Frame.Textbox.FocusLost:Connect(function(enterPressed, v)
  440.                 if Input_mt.PressEnter and enterPressed then
  441.                     local x,y = pcall(function()
  442.                         Input_mt.Callback(Textbox.Frame.Textbox.Text)
  443.                     end)
  444.                     if not x then Library:Warn(y) end
  445.                 elseif not Input_mt.PressEnter then
  446.                     local x,y = pcall(function()
  447.                         Input_mt.Callback(Textbox.Frame.Textbox.Text)
  448.                     end)
  449.                     if not x then Library:Warn(y) end
  450.                 end
  451.  
  452.             end)
  453.  
  454.             Utils.ProxyHover(Click, Textbox.Frame, "BackgroundTransparency", 0,1)
  455.  
  456.             function Input_mt:AddTextbox(Table)
  457.                 return Section_mt:AddTextbox(Table)
  458.             end
  459.  
  460.             function Input_mt:Set(Name : string | number)
  461.                 Textbox.Frame.Textbox.Text = tostring(Name)
  462.             end
  463.             function Input_mt:Destroy()
  464.                 Textbox:Destroy()
  465.             end
  466.  
  467.             Library.Flags[Input_mt.Flag] = Input_mt
  468.             return Input_mt
  469.         end
  470.  
  471.         -- Toggle
  472.         function Section_mt:AddToggle(Table)
  473.             local Toggle_mt = setmetatable({
  474.                 Name = Table.Name or "Toggle",
  475.                 TextColor = Table.TextColor or Color3.fromRGB(200,200,200),
  476.                 Callback = Table.Callback or function() end,
  477.                 Value = Table.Default or false,
  478.                 Flag = Table.Flag or #Elements,
  479.                 Type = "Toggle",
  480.             }, Elements)
  481.  
  482.             local Toggle = ToggleButton:Clone()
  483.             Toggle.Parent = Section or Main.ElementsScroll
  484.             Toggle.Frame.TextButton.Text = Toggle_mt.Name
  485.             Toggle.Frame.TextButton.TextColor3 = Toggle_mt.TextColor
  486.             Toggle.Name = Toggle_mt.Name
  487.             Toggle.Size = UDim2.new(1,0,0, Header.AbsoluteSize.Y)
  488.             Toggle.Visible = true
  489.  
  490.             table.insert(Elements, Toggle)
  491.  
  492.             function Toggle_mt:Set(Boolean)
  493.                 Toggle_mt.Value = Boolean
  494.                 if Boolean then
  495.                     Tween(Toggle.Frame.Image, "BackgroundTransparency", 0)
  496.                 elseif not Boolean then
  497.                     Tween(Toggle.Frame.Image, "BackgroundTransparency", 0.85)
  498.                 end
  499.                 local x,y = pcall(function()
  500.                     Toggle_mt.Callback(Toggle_mt.Value)
  501.                 end)
  502.                 if not x then Library:Warn(y) end
  503.             end
  504.  
  505.             local Click = OnClick{Toggle, function()
  506.                 Toggle_mt:Set(not Toggle_mt.Value)
  507.                 if Table.Flag and Window.Saves.Enabled == true then
  508.                     Window:Save()
  509.                 end
  510.             end}
  511.  
  512.             function Toggle_mt:AddToggle(Table)
  513.                 return Section_mt:AddToggle(Table)
  514.             end
  515.  
  516.             function Toggle_mt:Destroy()
  517.                 Toggle:Destroy()
  518.             end
  519.             Utils.ProxyHover(Click, Toggle.Frame, "BackgroundTransparency", 0,1)
  520.             Toggle_mt:Set(Toggle_mt.Value)
  521.             Library.Flags[Toggle_mt.Flag] = Toggle_mt
  522.             return Toggle_mt
  523.         end
  524.  
  525.         -- Bind
  526.         function Section_mt:AddBind(Table)
  527.             local Bind_mt = setmetatable({
  528.                 Name = Table.Name or "Bind",
  529.                 Image = Table.Image or "rbxassetid://7733799275",
  530.                 TextColor = Table.TextColor or Color3.fromRGB(200,200,200),
  531.                 Callback = Table.Callback or function() end,
  532.                 Value = Table.Default or Enum.KeyCode.LeftAlt,
  533.                 Flag = Table.Flag or #Elements,
  534.                 Hold = Table.Hold or false,
  535.                 Type = "Bind",
  536.             }, Elements)
  537.  
  538.             local Bind = KeybindButton:Clone()
  539.             Bind.Parent = Section or Main.ElementsScroll
  540.             Bind.Frame.Icon.Image = Bind_mt.Image
  541.             Bind.Frame.TextButton.Text = Bind_mt.Name
  542.             Bind.Frame.TextButton.TextColor3 = Bind_mt.TextColor
  543.             Bind.Name = Bind_mt.Name
  544.             Bind.Size = UDim2.new(1,0,0, Header.AbsoluteSize.Y)
  545.             Bind.Visible = true
  546.  
  547.             table.insert(Elements, Bind)
  548.  
  549.             local Focus = false
  550.             local Holding = false
  551.  
  552.             local Click = OnClick{Bind, function()
  553.                 local x,y = pcall(function()
  554.                     Focus = true
  555.                     Bind.Frame.Bind.Text = "..."
  556.                 end)
  557.                 if not x then Library:Warn(y) end
  558.             end}
  559.  
  560.             UserInputService.InputBegan:Connect(function(Input)
  561.                 if Focus and Input.UserInputType == Enum.UserInputType.Keyboard then
  562.                     Bind_mt:Set(Input.KeyCode)
  563.                 elseif not Focus and Input.UserInputType == Enum.UserInputType.Keyboard and Input.KeyCode == Bind_mt.Value then
  564.                     if Bind_mt.Hold then
  565.                         Holding = true
  566.                         local x,y = pcall(function()
  567.                             Bind_mt.Callback(Holding)
  568.                         end)
  569.                         if not x then Library:Warn(y) end
  570.                     else
  571.                         local x,y = pcall(function()
  572.                             Bind_mt.Callback(Bind_mt.Value)
  573.                         end)
  574.                         if not x then Library:Warn(y) end
  575.                     end
  576.                 end
  577.             end)
  578.             UserInputService.InputEnded:Connect(function(Input)
  579.                 if Input.UserInputType == Enum.UserInputType.Keyboard and Input.KeyCode == Bind_mt.Value then
  580.                     if Bind_mt.Hold and Holding then
  581.                         Holding = false
  582.                         local x,y = pcall(function()
  583.                             Bind_mt.Callback(Holding)
  584.                         end)
  585.                         if not x then Library:Warn(y) end
  586.                     end
  587.                 end
  588.             end)
  589.  
  590.             function Bind_mt:Set(EnumItem)
  591.                 if not Index(BlacklistedKeys, EnumItem) then
  592.                     Bind_mt.Value  = EnumItem
  593.                     Bind.Frame.Bind.Text = EnumItem.Name
  594.                     Focus = false
  595.                     if Table.Flag and Window.Saves.Enabled == true then
  596.                         Window:Save()
  597.                     end
  598.                 else
  599.                     Bind.Frame.Bind.Text = Bind_mt.Value.Name
  600.                     Focus = false
  601.                     Library:Warn(EnumItem.Name .. " is a blacklisted key, try another one.")
  602.                 end
  603.             end
  604.  
  605.             function Bind_mt:AddBind(Table)
  606.                 return Section_mt:AddBind(Table)
  607.             end
  608.  
  609.             function Bind_mt:Destroy()
  610.                 Bind:Destroy()
  611.             end
  612.  
  613.             Utils.ProxyHover(Bind, Bind.Frame, "BackgroundTransparency", 0,1)
  614.             Utils.ProxyHover(Bind, Bind.Frame.Bind, "BackgroundColor3", Color3.fromRGB(35,35,35), Color3.fromRGB(45,45,45))
  615.             Bind_mt:Set(Bind_mt.Value)
  616.             Library.Flags[Bind_mt.Flag] = Bind_mt
  617.             return Bind_mt
  618.         end
  619.  
  620.         function Section_mt:AddSlider(Table)
  621.             local Slider_mt = setmetatable({
  622.                 Name = Table.Name or "Slider",
  623.                 Image = Table.Image or "rbxassetid://12622785342",
  624.                 Min = Table.Min or 0,
  625.                 Max = Table.Max or Table.Default or 25,
  626.                 Value = Table.Default or Table.Min or 0,
  627.                 Flag = Table.Flag or #Elements,
  628.                 TextColor = Table.TextColor or Color3.fromRGB(200,200,200),
  629.                 Increment = Table.Increment or 1,
  630.                 Callback = Table.Callback or function() end,
  631.                 Type = "Slider",
  632.             }, Elements)
  633.  
  634.             local newSlider = Slider:Clone()  
  635.             newSlider.Parent = Section or Main.ElementsScroll
  636.             newSlider.Frame.Textbox.Text = Slider_mt.Value
  637.             newSlider.Frame.Textbox.TextColor3 = Slider_mt.TextColor
  638.             newSlider.Frame.Textbox.PlaceholderText = Slider_mt.Name
  639.             newSlider.Frame.Icon.Image = Slider_mt.Image
  640.             newSlider.Name = Slider_mt.Name
  641.             newSlider.Size = UDim2.new(1,0,0, Header.AbsoluteSize.Y)
  642.             newSlider.Visible = true
  643.             local SliderBar = newSlider.Frame.Bar
  644.             local Click = OnClick({newSlider})
  645.  
  646.             table.insert(Elements, newSlider)
  647.  
  648.             local dragging = false
  649.             SliderBar.InputBegan:Connect(function(input)
  650.                 if input.UserInputType == Enum.UserInputType.MouseButton1 then
  651.                     dragging = true
  652.                 end
  653.             end)
  654.             SliderBar.InputEnded:Connect(function(input)
  655.                 if input.UserInputType == Enum.UserInputType.MouseButton1 then
  656.                     dragging = false
  657.                 end
  658.             end)
  659.             newSlider.Frame.Textbox.FocusLost:Connect(function()
  660.                 Slider_mt:Set(tonumber(newSlider.Frame.Textbox.Text))
  661.             end)
  662.             SliderBar.InputBegan:Connect(function(input)
  663.                 if input.UserInputType == Enum.UserInputType.MouseButton1 then
  664.                     local SizeScale = math.clamp((input.Position.X - SliderBar.AbsolutePosition.X) / SliderBar.AbsoluteSize.X, 0, 1)
  665.                     Slider_mt:Set(Slider_mt.Min + ((Slider_mt.Max - Slider_mt.Min) * SizeScale))
  666.                 end
  667.             end)
  668.             UserInputService.InputChanged:Connect(function(input)
  669.                 if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
  670.                     local SizeScale = math.clamp((input.Position.X - SliderBar.AbsolutePosition.X) / SliderBar.AbsoluteSize.X, 0, 1)
  671.                     Slider_mt:Set(Slider_mt.Min + ((Slider_mt.Max - Slider_mt.Min) * SizeScale))
  672.                 end
  673.             end)
  674.             local function Round(Number, Factor)
  675.                 local Result = math.floor(Number/Factor + (math.sign(Number) * 0.5)) * Factor
  676.                 if Result < 0 then
  677.                     Result = Result + Factor
  678.                 end
  679.                 return Result
  680.             end
  681.             function Slider_mt:Set(Value)
  682.                 if typeof(Value) == "number" then
  683.                     if Value > self.Max then
  684.                         Library:Warn("'".. Slider_mt.Name .. "' Value can't be greater than " .. self.Max)
  685.                         self:Set(Slider_mt.Value)
  686.                         return
  687.                     elseif Value < self.Min  then
  688.                         Library:Warn("'".. Slider_mt.Name .. "' Value can't be less than " .. self.Min)
  689.                         self:Set(Slider_mt.Value)
  690.                         return
  691.                     end
  692.                     if self.Increment < 1 then
  693.                         self.Value = string.format("%.".. #tostring(self.Increment)-string.find(tostring(self.Increment) or 0,"%.").."f", Value)
  694.                     else
  695.                         self.Value = math.clamp(Round(Value, self.Increment), self.Min, self.Max)
  696.                     end
  697.                     Tween(SliderBar.Fill, "Size", UDim2.fromScale((self.Value - self.Min) / (self.Max - self.Min), 1), "Out", "Quint", 0.1)
  698.                     newSlider.Frame.Textbox.Text = '<font color="rgb(150,150,150)">'.. Slider_mt.Name ..'</font>, ' .. self.Value
  699.                     local x,y = pcall(function()
  700.                         Slider_mt.Value = self.Value
  701.                         Slider_mt.Callback(self.Value)
  702.                         if Table.Flag and Window.Saves.Enabled == true then
  703.                             Window:Save()
  704.                         end
  705.                     end)
  706.                     if not x then Library:Warn(y) end
  707.                 else
  708.                     Library:Warn("'".. Slider_mt.Name .. "' Expected number got " .. tostring(typeof(Value)))
  709.                 end
  710.  
  711.             end
  712.             function Slider_mt:Destroy()
  713.                 newSlider:Destroy()
  714.             end
  715.             function Slider_mt:AddSlider(Table)
  716.                 return Section_mt:AddSlider(Table)     
  717.             end
  718.             Slider_mt:Set(Slider_mt.Value)
  719.             Utils.ProxyHover(newSlider, newSlider.Frame, "BackgroundTransparency", 0,1)
  720.             Library.Flags[Slider_mt.Flag] = Slider_mt
  721.             return Slider_mt
  722.         end
  723.  
  724.         --Dropdown
  725.         function Section_mt:AddDropdown(Table)
  726.             local Dropdown_mt = setmetatable({
  727.                 Name = Table.Name or Table.Default or "Dropdown",
  728.                 Options = Table.Options or {},
  729.                 Image = Table.Image or "rbxassetid://7733717447",
  730.                 Flag = Table.Flag or #Elements,
  731.                 TextColor = Table.TextColor or Color3.fromRGB(200,200,200),
  732.                 Callback = Table.Callback or function() end,
  733.                 Toggled = false,
  734.                 Value = Table.Default or false;
  735.                 Type = "Dropdown"
  736.             }, Elements)
  737.  
  738.             local newdrop = Dropdown:Clone(); newdrop.Parent = Section or Main.ElementsScroll
  739.             newdrop.Frame.Icon.Image = Dropdown_mt.Image
  740.             newdrop.Frame.Textbox.PlaceholderText = Dropdown_mt.Name
  741.             local Options = Dropdown_Options:Clone() Options.Parent = Section or Main.ElementsScroll
  742.             newdrop.Size = UDim2.new(1,0,0, Header.AbsoluteSize.Y)
  743.             Options.Size = UDim2.new(1,0,0, 0)
  744.             newdrop.Visible = true
  745.             newdrop.Name = Dropdown_mt.Name
  746.             Options.Name = Dropdown_mt.Name
  747.             local Input = newdrop.Frame.Textbox
  748.             local Button = newdrop.Frame.Icon
  749.  
  750.             table.insert(Elements, newdrop) table.insert(Elements, Options)
  751.  
  752.             Button.Activated:Connect(function()
  753.                 Dropdown_mt.Toggled = not Dropdown_mt.Toggled
  754.                 if Dropdown_mt.Toggled then
  755.                     Options.Visible = true
  756.                     Tween(Options, "Size",  UDim2.new(1,0,0, Dropdown_Options.AbsoluteSize.Y))
  757.                 elseif not Dropdown_mt.Toggled then        
  758.                     Tween(Options, "Size", UDim2.new(1,0,0,0))
  759.                     wait(0.3)
  760.                     Options.Visible = false
  761.                 end
  762.                 for i, v in pairs(Options.Frame.Dropdown_Options:GetChildren()) do
  763.                     if v:IsA("Frame") then
  764.                         v.Visible = true
  765.                     end
  766.                 end
  767.             end)
  768.             local function OnActivate(Option)
  769.                 if Option ~= false then
  770.                     if Index(Dropdown_mt.Options, Option) then
  771.                         local x,y = pcall(function()
  772.                             Dropdown_mt.Value = Option
  773.                             Dropdown_mt.Callback(Option)
  774.                             if Table.Flag and Window.Saves.Enabled == true then
  775.                                 Window:Save()
  776.                             end
  777.                         end)
  778.                         if x then Input.Text = tostring('<font color="rgb(150,150,150)">'.. Dropdown_mt.Name ..'</font>, ' .. Option or Option.Name) else Library:Warn(y) end
  779.                     else
  780.                         OnActivate(Dropdown_mt.Value)
  781.                         Library:Warn("'" .. Input.PlaceholderText .. "' " .. tostring(Option) .. " is not an available option to set")
  782.                     end
  783.                     Dropdown_mt.Toggled = false
  784.                     Tween(Options, "Size", UDim2.new(1,0,0,0))
  785.                     wait(0.3)
  786.                     Options.Visible = false
  787.                 end
  788.             end
  789.             Input.Focused:Connect(function()
  790.                 Dropdown_mt.Toggled = true         
  791.                 Options.Visible = true
  792.                 Tween(Options, "Size",  UDim2.new(1,0,0, Dropdown_Options.AbsoluteSize.Y))
  793.             end)
  794.             Input.FocusLost:Connect(function(enterPressed)
  795.                 if not enterPressed then return end
  796.                 OnActivate(Input.Text)
  797.             end)
  798.             Input.Changed:Connect(function()
  799.                 local Search = string.lower(Input.Text)
  800.                 for i, v in pairs(Options.Frame.Dropdown_Options:GetChildren()) do
  801.                     if v:IsA("Frame") then
  802.                         if Search ~= "" then
  803.                             local Opt = string.lower(v.Text.Text)
  804.                             if string.find(Opt, Search) then
  805.                                 v.Visible = true
  806.                             else
  807.                                 v.Visible = false
  808.                             end
  809.                         else
  810.                             v.Visible = true
  811.                         end
  812.                     end
  813.                 end
  814.             end)
  815.  
  816.             function Dropdown_mt:Set(Option)
  817.                 OnActivate(Option)
  818.             end
  819.             function Dropdown_mt:Remove(Option)
  820.                 if Index(Dropdown_mt.Options, Option) then
  821.                     for index, v in pairs(Dropdown_mt.Options) do
  822.                         if v == Option then
  823.                             table.remove(Dropdown_mt.Options, index)
  824.                         end
  825.                     end
  826.                     Dropdown_mt:Refresh(Dropdown_mt.Options, true)
  827.                 else
  828.                     Library:Warn("'" .. Input.PlaceholderText .. "' " .. tostring(Option) .. " is not an available option to remove")
  829.                 end
  830.             end
  831.             local function CreateOpt(v)
  832.                 local newOp = OptTemp:Clone()
  833.                 newOp.Parent = Options.Frame.Dropdown_Options
  834.                 newOp.Visible = true
  835.                 newOp.Text.Text = tostring(v)
  836.                 newOp.Text.Activated:Connect(function()
  837.                     OnActivate(v)
  838.                 end)
  839.                 Utils.ProxyHover(newOp, newOp.Text, "TextColor3", Color3.fromRGB(200,200,200), Color3.fromRGB(150,150,150))
  840.             end
  841.             function Dropdown_mt:Refresh(List, clear)
  842.                 if clear then
  843.                     Dropdown_mt.Options = List
  844.                     for _, v in pairs(Options.Frame.Dropdown_Options:GetChildren()) do
  845.                         if v:IsA("Frame") then
  846.                             v:Destroy()
  847.                         end
  848.                     end
  849.                     for _, v in pairs(Dropdown_mt.Options) do
  850.                         CreateOpt(v)
  851.                     end
  852.                 else
  853.                     for _, v in pairs(List) do
  854.                         table.insert(Dropdown_mt.Options, v)
  855.                     end
  856.                     for _, v in pairs(Options.Frame.Dropdown_Options:GetChildren()) do
  857.                         if v:IsA("Frame") then
  858.                             v:Destroy()
  859.                         end
  860.                     end
  861.                     for _, v in pairs(Dropdown_mt.Options) do
  862.                         CreateOpt(v)
  863.                     end
  864.                 end
  865.             end
  866.             function Dropdown_mt:Destroy()
  867.                 newdrop:Destroy()
  868.             end
  869.             function Dropdown_mt:AddDropdown(Table)
  870.                 return Section_mt:AddDropdown(Table)
  871.             end
  872.             Dropdown_mt:Refresh(Dropdown_mt.Options, true)
  873.             Dropdown_mt:Set(Dropdown_mt.Value)
  874.             Utils.ProxyHover(newdrop, newdrop.Frame, "BackgroundTransparency", 0,1)
  875.             Library.Flags[Dropdown_mt.Flag] = Dropdown_mt
  876.             return Dropdown_mt
  877.         end
  878.  
  879.         -- Colorpicker
  880.         function Section_mt:AddColorpicker(Table)
  881.  
  882.             local Colorpicker_mt = setmetatable({
  883.                 Name = Table.Name or "Colorpicker",
  884.                 Value = Table.Default or Color3.fromRGB(255, 255, 127),
  885.                 Flag = Table.Flag or #Elements,
  886.                 TextColor = Table.TextColor or Color3.fromRGB(200,200,200),
  887.                 Callback = Table.Callback or function() end,
  888.                 Toggled = false,
  889.                 Type = "Colorpicker"
  890.             }, Elements)
  891.  
  892.             local ColorH, ColorS, ColorV = 1, 1, 1
  893.             local newColor = Colorpicker:Clone(); newColor.Parent = Section or Main.ElementsScroll
  894.             newColor.Size = UDim2.new(1,0,0, Header.AbsoluteSize.Y)
  895.             newColor.Frame.Label.Text = Colorpicker_mt.Name
  896.             newColor.Visible = true
  897.             local Display = newColor.Frame.Image
  898.             local Color = Colorpicker_Frame.Color local ColorSelection = Color.ImageLabel
  899.             local Hue = Colorpicker_Frame.Hue local HueSelection = Hue.Line
  900.             local HideButton = Colorpicker_Frame.Minimize
  901.  
  902.             table.insert(Elements, newColor)
  903.  
  904.             ColorH = 1- (math.clamp(HueSelection.AbsolutePosition.Y - Hue.AbsolutePosition.Y, 0, Hue.AbsoluteSize.Y) / Hue.AbsoluteSize.Y)
  905.             ColorS = (math.clamp(ColorSelection.AbsolutePosition.X - Color.AbsolutePosition.X, 0, Color.AbsoluteSize.X) / Color.AbsoluteSize.X)
  906.             ColorV =1- (math.clamp(ColorSelection.AbsolutePosition.Y - Color.AbsolutePosition.Y, 0, Color.AbsoluteSize.Y) / Color.AbsoluteSize.Y)
  907.  
  908.             OnClick{ZIndex = 5, Colorpicker_Frame.Minimize, function()
  909.                 for i, v in pairs(Library.Flags) do
  910.                     pcall(function()
  911.                         if v.Type == "Colorpicker" then
  912.                             v.Toggled = false
  913.                         end
  914.                     end)
  915.                 end
  916.                 Tween(Colorpicker_Frame, "Position", UDim2.fromScale(0,1.5))
  917.             end}
  918.  
  919.             function Colorpicker_mt:Set(Value)
  920.                 Colorpicker_mt.Value = Value
  921.                 Display.BackgroundColor3 = Colorpicker_mt.Value
  922.                 local x, y = pcall(function()
  923.                     Colorpicker_mt.Callback(Display.BackgroundColor3)
  924.                     if Table.Flag and Window.Saves.Enabled == true then
  925.                         Window:Save()
  926.                     end
  927.                 end)
  928.                 if not x then Library:Warn(y) end
  929.             end
  930.  
  931.             local function Update()
  932.                 if not Colorpicker_mt.Toggled then return end
  933.                 Display.BackgroundColor3 = Color3.fromHSV(ColorH, ColorS, ColorV)
  934.                 Color.BackgroundColor3 = Color3.fromHSV(ColorH, 1, 1)
  935.                 Colorpicker_mt:Set(Display.BackgroundColor3)
  936.             end
  937.  
  938.             OnClick{newColor, function()
  939.                 for i, v in pairs(Library.Flags) do
  940.                     pcall(function()
  941.                         if v ~= Colorpicker_mt then
  942.                             v.Toggled = false
  943.                         end
  944.                     end)
  945.                 end
  946.                 Colorpicker_mt.Toggled = not Colorpicker_mt.Toggled
  947.                 if Colorpicker_mt.Toggled then
  948.                     Tween(Colorpicker_Frame, "Position", UDim2.fromScale(0,1))
  949.                     Color.BackgroundColor3 = Colorpicker_mt.Value
  950.                     Colorpicker_mt:Set(Colorpicker_mt.Value)
  951.  
  952.                 else
  953.                     Tween(Colorpicker_Frame, "Position", UDim2.fromScale(0,1.5))
  954.                 end
  955.             end}
  956.  
  957.             local dragging
  958.             Color.InputBegan:Connect(function(input)
  959.                 if input.UserInputType == Enum.UserInputType.MouseButton1 then
  960.                     dragging = true
  961.                 end
  962.             end)
  963.             Color.InputEnded:Connect(function(input)
  964.                 if input.UserInputType == Enum.UserInputType.MouseButton1 then
  965.                     dragging = false
  966.                 end
  967.             end)
  968.  
  969.             Color.InputBegan:Connect(function(input)
  970.                 if input.UserInputType == Enum.UserInputType.MouseButton1 then
  971.                     local ColorX = (math.clamp(Mouse.X - Color.AbsolutePosition.X, 0, Color.AbsoluteSize.X) / Color.AbsoluteSize.X)
  972.                     local ColorY = (math.clamp(Mouse.Y - Color.AbsolutePosition.Y, 0, Color.AbsoluteSize.Y) / Color.AbsoluteSize.Y)
  973.                     ColorSelection.Position = UDim2.new(ColorX, 0, ColorY, 0)
  974.                     ColorS = ColorX
  975.                     ColorV = 1 - ColorY
  976.                     Update()
  977.                 end
  978.             end)
  979.             UserInputService.InputChanged:Connect(function(input)
  980.                 if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
  981.                     local ColorX = (math.clamp(Mouse.X - Color.AbsolutePosition.X, 0, Color.AbsoluteSize.X) / Color.AbsoluteSize.X)
  982.                     local ColorY = (math.clamp(Mouse.Y - Color.AbsolutePosition.Y, 0, Color.AbsoluteSize.Y) / Color.AbsoluteSize.Y)
  983.                     ColorSelection.Position = UDim2.new(ColorX, 0, ColorY, 0)
  984.                     ColorS = ColorX
  985.                     ColorV = 1 - ColorY
  986.                     Update()
  987.                 end
  988.             end)
  989.             local dragging2
  990.             Hue.InputBegan:Connect(function(input)
  991.                 if input.UserInputType == Enum.UserInputType.MouseButton1 then
  992.                     dragging2 = true
  993.                 end
  994.             end)
  995.             Hue.InputEnded:Connect(function(input)
  996.                 if input.UserInputType == Enum.UserInputType.MouseButton1 then
  997.                     dragging2 = false
  998.                 end
  999.             end)
  1000.  
  1001.             Hue.InputBegan:Connect(function(input)
  1002.                 if input.UserInputType == Enum.UserInputType.MouseButton1 then
  1003.                     local HueY = (math.clamp(Mouse.Y - Hue.AbsolutePosition.Y, 0, Hue.AbsoluteSize.Y) / Hue.AbsoluteSize.Y)
  1004.                     HueSelection.Position = UDim2.new(0.5, 0, HueY, 0)
  1005.                     ColorH = 1 - HueY
  1006.                     Update()
  1007.                 end
  1008.             end)
  1009.             UserInputService.InputChanged:Connect(function(input)
  1010.                 if dragging2 and input.UserInputType == Enum.UserInputType.MouseMovement then
  1011.                     local HueY = (math.clamp(Mouse.Y - Hue.AbsolutePosition.Y, 0, Hue.AbsoluteSize.Y) / Hue.AbsoluteSize.Y)
  1012.                     HueSelection.Position = UDim2.new(0.5, 0, HueY, 0)
  1013.                     ColorH = 1 - HueY                  
  1014.                     Update()
  1015.                 end
  1016.             end)   
  1017.             function Colorpicker_mt:AddColorpicker(Table)
  1018.                 return Section_mt:AddColorpicker(Table)
  1019.             end
  1020.             Colorpicker_mt:Set(Colorpicker_mt.Value)
  1021.             -- change color background
  1022.             Utils.ProxyHover(newColor, newColor.Frame, "BackgroundTransparency", 0,1)
  1023.             Library.Flags[Colorpicker_mt.Flag] = Colorpicker_mt
  1024.             return Colorpicker_mt
  1025.         end
  1026.         function Section_mt:AddSection(Table)
  1027.             return Window:AddSection(Table)
  1028.         end
  1029.         function Section_mt:Destroy(Table)
  1030.             Section:Destroy()
  1031.         end
  1032.         Library.Flags[Section_mt.Flag] = Section_mt
  1033.  
  1034.         return Section_mt
  1035.     end
  1036.  
  1037.     Window:AddSection{Name = "Credits", Image = "rbxassetid://7743876054", Parent = Main.UIScroll}
  1038.     :AddLabel{Text = Window.Name .. " by " .. Window.Creator}
  1039.     :AddLabel{Text = Window.Script .. " by " .. Window.Creator}
  1040.     :AddLabel{Text = "UI by Exec", CopiedText = "github.com/Player788"}
  1041.  
  1042.     local Misc = Window:AddSection{Name = "Miscellaneous", Image = "rbxassetid://7743868936", Parent = Main.UIScroll}
  1043.     Misc:AddButton{Name = "Load Save", Image = "rbxassetid://7733964240", TextColor = Color3.fromRGB(150,150,150),
  1044.         Callback = function()
  1045.             Window:Load()
  1046.         end,
  1047.     }
  1048.     Misc:AddButton{Name = "Get Logs", Image = "rbxassetid://7733789088", TextColor = Color3.fromRGB(150,150,150),
  1049.         Callback = function()
  1050.             if typeof(setclipboard) == "function" then
  1051.                 setclipboard(HttpService:JSONEncode(Library.Logs))
  1052.                 Library:Notification{Content = "Logs copied to clipboard"}
  1053.             else
  1054.                 for i, v in pairs(Library.Logs) do
  1055.                     print("Log#"..i, v)
  1056.                 end
  1057.                 --print(HttpService:JSONEncode(Library.Logs))
  1058.                 Library:Notification{1, Content = "Logs printed in output"}
  1059.             end
  1060.         end
  1061.     }
  1062.  
  1063.     pcall(function()
  1064.         local rbx_join = loadstring(game:HttpGet('https://raw.githubusercontent.com/Player788/rbxscripts/main/roblox_join.lua'))()
  1065.         Misc:AddTextbox{Name = "Join Player",
  1066.             Placeholder = "Join by UserId",
  1067.             Image = "rbxassetid://7743875962",
  1068.             Callback = function(userid)
  1069.                 Library:Notification{1, Content = "Searching..."}
  1070.                 local var = rbx_join.Join(userid)
  1071.                 if var.Success then
  1072.                     Library:Notification{2, Content = var.Message}
  1073.                 elseif not var.Success then
  1074.                     Library:Notification{0, Content = var.Message}
  1075.                 end
  1076.             end
  1077.         }
  1078.     end)
  1079.  
  1080.     local frameToggle = true
  1081.     OnClick{ZIndex = 2, Top.Info, function()
  1082.         Tween(Top.Info.ImageButton, "ImageColor3", frameToggle and Color3.fromRGB(85, 170, 255) or Color3.fromRGB(200,200,200))
  1083.         frameToggle = not frameToggle
  1084.         Main.ElementsScroll.Visible = not Main.ElementsScroll.Visible
  1085.         Main.UIScroll.Visible = not Main.UIScroll.Visible
  1086.     end}
  1087.  
  1088.     Library.Flags[Window.Flag] = Window
  1089.  
  1090.     wait(0.3)
  1091.     Tween(Init, "BackgroundTransparency", 1)
  1092.     Tween(Init.Note, "TextTransparency", 1)
  1093.     Tween(Init.Note2, "TextTransparency", 1)
  1094.     wait(0.3)
  1095.     Top.Visible = true
  1096.     Exec.Main.ElementsScroll.Visible = true
  1097.  
  1098.     Library:Notification{2, Content = "Loaded Exec's Panel v" .. _G.Version}
  1099.     return Window
  1100. end
  1101.  
  1102. function Library:Warn(T)
  1103.     Library:Notification {0, Content = T}
  1104. end
  1105.  
  1106. function Library:Get(Flag : string | number)
  1107.     if not Library.Flags[Flag] then Library:Warn("Flag: " .. Flag .. " not found.") return end
  1108.     return Library.Flags[Flag]
  1109. end
  1110.  
  1111. function Library:Destroy()
  1112.     Exec:Destroy()
  1113. end
  1114.  
  1115. return Library
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement