local Library = {} local _VERSION = 1.0 if not syn then game.Players.LocalPlayer:Kick("Require S^X") return end function Library:CreateWindow() --[[ -1 --> Dead 0 --> Not Ready 1 --> Ready ]] local UI_STATE = 0 if getgenv()._zk1r3tA8FHkcUsrYWdZ1 then getgenv()._zk1r3tA8FHkcUsrYWdZ1:Destroy() end -- Default assign local ScreenGui = Instance.new("ScreenGui") --syn.protect_gui(ScreenGui) local Frame = Instance.new("Frame") local TabFrame = Instance.new("ScrollingFrame") local UIListLayout = Instance.new("UIListLayout") local UIPadding = Instance.new("UIPadding") local PlaceNameLabel = Instance.new("TextLabel") local TitleLabel = Instance.new("TextLabel") local UIGradient = Instance.new("UIGradient") local Pages = Instance.new("Folder") getgenv().ELR_ = ScreenGui local ElixirUI = {} -- ScreenGui ScreenGui.Parent = game:GetService("CoreGui") ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Global ScreenGui.ResetOnSpawn = false ScreenGui.Enabled = false -- MainFrame Frame.Parent = ScreenGui Frame.AnchorPoint = Vector2.new(0.5, 0.5) Frame.BackgroundColor3 = Color3.fromRGB(84, 55, 126) Frame.BorderColor3 = Color3.fromRGB(27, 42, 53) Frame.BorderSizePixel = 0 Frame.Position = UDim2.new(0.5, 0, 0.5, 0) Frame.Size = UDim2.new(0, 600, 0, 299) -- TabFrame TabFrame.Name = "TabFrame" TabFrame.Parent = Frame TabFrame.Active = true TabFrame.AnchorPoint = Vector2.new(0.5, 0.5) TabFrame.BackgroundColor3 = Color3.fromRGB(31, 20, 47) TabFrame.BorderColor3 = Color3.fromRGB(27, 42, 53) TabFrame.BorderSizePixel = 0 TabFrame.Position = UDim2.new(0.166666672, 0, 0.566611648, 0) TabFrame.Size = UDim2.new(0, 200, 0, 260) TabFrame.CanvasSize = UDim2.new(0, 0, 1, 0) TabFrame.ScrollBarThickness = 8 UIListLayout.Parent = TabFrame UIListLayout.Padding = UDim.new(0, 5) UIListLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder UIPadding.Parent = TabFrame UIPadding.PaddingTop = UDim.new(0, 5) -- PlacenameLabel PlaceNameLabel.Name = "PlaceNameLabel" PlaceNameLabel.Parent = Frame PlaceNameLabel.AnchorPoint = Vector2.new(0.5, 0.5) PlaceNameLabel.BackgroundColor3 = Color3.fromRGB(255, 255, 255) PlaceNameLabel.BackgroundTransparency = 1.000 PlaceNameLabel.Position = UDim2.new(0.658333361, 0, 0.065121457, 0) PlaceNameLabel.Size = UDim2.new(0, 340, 0, 40) PlaceNameLabel.Font = Enum.Font.SourceSans PlaceNameLabel.Text = game:GetService("MarketplaceService"):GetProductInfo(game.PlaceId).Name PlaceNameLabel.TextColor3 = Color3.fromRGB(255, 255, 255) PlaceNameLabel.TextSize = 18.000 PlaceNameLabel.TextWrapped = true -- TitleLabel TitleLabel.Name = "TitleLabel" TitleLabel.Parent = Frame TitleLabel.AnchorPoint = Vector2.new(0.5, 0.5) TitleLabel.BackgroundColor3 = Color3.fromRGB(255, 255, 255) TitleLabel.BackgroundTransparency = 1.000 TitleLabel.Position = UDim2.new(0.166447341, 0, 0.0650607273, 0) TitleLabel.Size = UDim2.new(0, 199, 0, 40) TitleLabel.Font = Enum.Font.SciFi TitleLabel.Text = "Elixir" TitleLabel.TextColor3 = Color3.fromRGB(255, 255, 255) TitleLabel.TextSize = 24.000 TitleLabel.TextWrapped = true -- DragFrame local DragFrame = Instance.new("Frame") DragFrame.Name = "DragFrame" DragFrame.Parent = Frame DragFrame.BackgroundTransparency = 1.000 DragFrame.Active = true DragFrame.Size = UDim2.new(0, 600, 0, 39) -- UIGradient UIGradient.Color = ColorSequence.new{ColorSequenceKeypoint.new(0.00, Color3.fromRGB(131, 80, 209)), ColorSequenceKeypoint.new(1.00, Color3.fromRGB(230, 162, 163))} UIGradient.Rotation = 10 UIGradient.Parent = Frame -- Page Folder Pages.Name = "Pages" Pages.Parent = Frame -- Important local TabList = {} -- Store Tab local TabButtonList = {} -- Store Tab Button local ConfigPathList = {} -- for config -- Util function ElixirUI:FindTab(tab) if tab == nil then return nil end for _, v in pairs(TabList) do if v.Name == tab.Name then return v end end game.Players.LocalPlayer:Kick("Elixir: Unable to find Tab -> " .. tab) return nil end function ElixirUI:CreateTab(tabName : string) -- Page Frame local Page = Instance.new("ScrollingFrame") Page.Name = tabName .."Page" Page.Parent = Pages Page.Active = true Page.Visible = true Page.AnchorPoint = Vector2.new(0.5, 0.5) Page.BackgroundColor3 = Color3.fromRGB(32, 19, 57) Page.BorderSizePixel = 0 Page.Position = UDim2.new(0.666666687, 0, 0.565036118, 0) Page.Size = UDim2.new(0, 400, 0, 260) Page.ScrollBarThickness = 8 -- Tab Button local TabButton = Instance.new("TextButton") TabButton.Name = "TabButton" TabButton.Parent = TabFrame TabButton.BackgroundColor3 = Color3.fromRGB(255, 255, 255) TabButton.BackgroundTransparency = 1.000 TabButton.BorderSizePixel = 0 TabButton.Position = UDim2.new(0.075000003, 0, 0, 0) TabButton.Size = UDim2.new(0, 170, 0, 25) TabButton.Font = Enum.Font.SourceSans TabButton.Text = tabName or "DefaultTabName" TabButton.TextColor3 = Color3.fromRGB(150, 65, 220) TabButton.TextSize = 20.000 TabButton.TextXAlignment = Enum.TextXAlignment.Left local UIListLayout_2 = Instance.new("UIListLayout") UIListLayout_2.Parent = Page UIListLayout_2.SortOrder = Enum.SortOrder.LayoutOrder UIListLayout_2.Padding = UDim.new(0, 10) local UIPadding_2 = Instance.new("UIPadding") UIPadding_2.Parent = Page UIPadding_2.PaddingLeft = UDim.new(0, 10) UIPadding_2.PaddingTop = UDim.new(0, 10) TabButton.MouseButton1Click:Connect(function() ElixirUI:OpenTab(Page) end) table.insert(TabList, Page) table.insert(TabButtonList, TabButton) return Page end function ElixirUI:CreateHeader(text : string, tab : GuiObject) tab = ElixirUI:FindTab(tab) local Header = Instance.new("Frame") Header.Name = "Header" Header.Parent = tab Header.AnchorPoint = Vector2.new(0.5, 0.5) Header.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Header.BackgroundTransparency = 1.000 Header.BorderSizePixel = 0 Header.Position = UDim2.new(0.474358976, 0, 0.669291437, 0) Header.Size = UDim2.new(0, 370, 0, 30) local TextLabel_3 = Instance.new("TextLabel") TextLabel_3.Parent = Header TextLabel_3.BackgroundColor3 = Color3.fromRGB(255, 255, 255) TextLabel_3.BackgroundTransparency = 1.000 TextLabel_3.Size = UDim2.new(0, 200, 0, 25) TextLabel_3.Font = Enum.Font.SourceSans TextLabel_3.Text = text or "DefaultHeader" TextLabel_3.TextColor3 = Color3.fromRGB(255, 255, 255) TextLabel_3.TextSize = 26.000 TextLabel_3.TextWrapped = true TextLabel_3.TextXAlignment = Enum.TextXAlignment.Left local UIListLayout_5 = Instance.new("UIListLayout") UIListLayout_5.Parent = Header UIListLayout_5.SortOrder = Enum.SortOrder.LayoutOrder local Frame_2 = Instance.new("Frame") Frame_2.Parent = Header Frame_2.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Frame_2.Position = UDim2.new(0, 0, 0.444444448, 0) Frame_2.Size = UDim2.new(0, 370, 0, 5) local UICorner_5 = Instance.new("UICorner") UICorner_5.CornerRadius = UDim.new(0, 5) UICorner_5.Parent = Frame_2 end function ElixirUI:CreateButton(buttonLabel : string, tab : GuiObject, callback) tab = ElixirUI:FindTab(tab) callback = callback or function() end local Button = Instance.new("TextButton") Button.Name = "Button" Button.Parent = tab Button.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Button.Position = UDim2.new(0, 0, 0.216535553, 0) Button.Text = buttonLabel or "DefaultButtonLabel" Button.Size = UDim2.new(0, 100, 0, 30) Button.Font = Enum.Font.SourceSans Button.TextColor3 = Color3.fromRGB(0, 0, 0) Button.TextSize = 16.000 Button.AutomaticSize = Enum.AutomaticSize.X local UIPadding_6 = Instance.new("UIPadding", Button) UIPadding_6.PaddingRight = UDim.new(0, 5) UIPadding_6.PaddingLeft = UDim.new(0, 5) local UICorner_2 = Instance.new("UICorner", Button) Button.MouseButton1Click:Connect(function() callback() end) end function ElixirUI:CreateTextBox(label : string, text : string, tab : GuiObject) tab = ElixirUI:FindTab(tab) local TextBox = Instance.new("Frame") TextBox.Name = "TextBox" TextBox.Parent = tab TextBox.AnchorPoint = Vector2.new(0.5, 0.5) TextBox.BackgroundColor3 = Color3.fromRGB(255, 255, 255) TextBox.BackgroundTransparency = 1.000 TextBox.BorderSizePixel = 0 TextBox.Position = UDim2.new(0.474358976, 0, 0.0885827988, 0) TextBox.Size = UDim2.new(0, 370, 0, 45) local TextLabel = Instance.new("TextLabel") TextLabel.Parent = TextBox TextLabel.BackgroundColor3 = Color3.fromRGB(255, 255, 255) TextLabel.BackgroundTransparency = 1.000 TextLabel.Size = UDim2.new(0, 200, 0, 20) TextLabel.Font = Enum.Font.SourceSans TextLabel.Text = label or "DefaultTextBoxLabel" TextLabel.TextColor3 = Color3.fromRGB(255, 255, 255) TextLabel.TextSize = 18.000 TextLabel.TextWrapped = true TextLabel.TextXAlignment = Enum.TextXAlignment.Left local UIListLayout_3 = Instance.new("UIListLayout") UIListLayout_3.Parent = TextBox UIListLayout_3.SortOrder = Enum.SortOrder.LayoutOrder local TextBox_2 = Instance.new("TextBox") TextBox_2.Parent = TextBox TextBox_2.BackgroundColor3 = Color3.fromRGB(255, 255, 255) TextBox_2.BorderSizePixel = 0 TextBox_2.Position = UDim2.new(0, 0, 0.444444448, 0) TextBox_2.Size = UDim2.new(0, 355, 0, 25) TextBox_2.Font = Enum.Font.SourceSans TextBox_2.Text = text or "DefaultTextBoxPlaceholder" TextBox_2.TextColor3 = Color3.fromRGB(0, 0, 0) TextBox_2.TextSize = 16.000 local UICorner = Instance.new("UICorner") UICorner.CornerRadius = UDim.new(0, 6) UICorner.Parent = TextBox_2 end function ElixirUI:CreateInfoBox(message : string, tab : GuiObject) tab = ElixirUI:FindTab(tab) local InfoBox = Instance.new("TextLabel") InfoBox.Name = "InfoBox" InfoBox.Parent = tab InfoBox.BackgroundColor3 = Color3.fromRGB(255, 255, 255) InfoBox.BackgroundTransparency = 0.95 InfoBox.Size = UDim2.new(0, 355, 0, 25) InfoBox.Font = Enum.Font.SourceSans InfoBox.Text = message InfoBox.TextColor3 = Color3.fromRGB(255, 255, 255) InfoBox.TextSize = 18.000 InfoBox.TextWrapped = true InfoBox.TextXAlignment = Enum.TextXAlignment.Left local UICorner_3 = Instance.new("UICorner") UICorner_3.CornerRadius = UDim.new(0, 5) UICorner_3.Parent = InfoBox local UIPadding_3 = Instance.new("UIPadding") UIPadding_3.Parent = InfoBox UIPadding_3.PaddingLeft = UDim.new(0, 5) end function ElixirUI:CreateCheckBox(label : string, configPath : string, value : boolean, defaultValue : boolean, tab : GuiObject, callback) tab = ElixirUI:FindTab(tab) local CheckBox = Instance.new("Frame") CheckBox.Name = "CheckBox" CheckBox.Parent = tab CheckBox.AnchorPoint = Vector2.new(0.5, 0.5) CheckBox.BackgroundColor3 = Color3.fromRGB(255, 255, 255) CheckBox.BackgroundTransparency = 1.000 CheckBox.BorderSizePixel = 0 CheckBox.Position = UDim2.new(0.474358976, 0, 0.549212694, 0) CheckBox.Size = UDim2.new(0, 370, 0, 20) -- Store Value local BoolValue = Instance.new("BoolValue", CheckBox) BoolValue.Value = defaultValue or value local UIListLayout_4 = Instance.new("UIListLayout") UIListLayout_4.Parent = CheckBox UIListLayout_4.FillDirection = Enum.FillDirection.Horizontal UIListLayout_4.SortOrder = Enum.SortOrder.LayoutOrder UIListLayout_4.Padding = UDim.new(0, 5) local TextButton = Instance.new("TextButton") TextButton.Parent = CheckBox TextButton.BackgroundColor3 = ElixirUI:GetValue(CheckBox) == true and Color3.fromRGB(150, 65, 220) or Color3.fromRGB(45, 45, 45) TextButton.Size = UDim2.new(0, 20, 0, 20) TextButton.Font = Enum.Font.SourceSans TextButton.Text = "" TextButton.TextColor3 = Color3.fromRGB(0, 0, 0) TextButton.TextSize = 14.000 local UICorner_4 = Instance.new("UICorner") UICorner_4.CornerRadius = UDim.new(0, 10) UICorner_4.Parent = TextButton local TextLabel_2 = Instance.new("TextLabel") TextLabel_2.Parent = CheckBox TextLabel_2.BackgroundColor3 = Color3.fromRGB(255, 255, 255) TextLabel_2.BackgroundTransparency = 1.000 TextLabel_2.Position = UDim2.new(0.0540540554, 0, 0, 0) TextLabel_2.Size = UDim2.new(0, 140, 0, 20) TextLabel_2.Font = Enum.Font.SourceSans TextLabel_2.Text = label or "DefaultCheckBoxLabel" TextLabel_2.TextColor3 = Color3.fromRGB(255, 255, 255) TextLabel_2.TextSize = 20.000 TextLabel_2.TextWrapped = false TextLabel_2.TextXAlignment = Enum.TextXAlignment.Left TextLabel_2.TextYAlignment = Enum.TextYAlignment.Top TextButton.MouseButton1Click:Connect(function() ElixirUI:SetValue(CheckBox, not ElixirUI:GetValue(CheckBox)) TextButton.BackgroundColor3 = ElixirUI:GetValue(CheckBox) == true and Color3.fromRGB(150, 65, 220) or Color3.fromRGB(45, 45, 45) end) table.insert(ConfigPathList, { path = configPath, value = defaultValue }) -- TODO: add corotine loop callback end function ElixirUI:CreateSlider(label : string, min, max, value, tab : GuiObject, callback) tab = ElixirUI:FindTab(tab) callback = callback or function() end local Slider = Instance.new("Frame") local UICorner = Instance.new("UICorner") local TextLabel = Instance.new("TextLabel") local SliderValueBox = Instance.new("TextBox") local UICorner_2 = Instance.new("UICorner") local TextButton = Instance.new("TextButton") local SliderBar = Instance.new("ImageButton") local UICorner_3 = Instance.new("UICorner") local InnerBar = Instance.new("Frame") local UICorner_4 = Instance.new("UICorner") Slider.Name = "Slider" Slider.Parent = tab Slider.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Slider.BackgroundTransparency = 0.950 Slider.Position = UDim2.new(0, 0, 0.342519552, 0) Slider.Size = UDim2.new(0, 355, 0, 65) UICorner.CornerRadius = UDim.new(0, 5) UICorner.Parent = Slider -- Store Value local IntValue = Instance.new("IntValue", Slider) IntValue.Value = value TextLabel.Parent = Slider TextLabel.AnchorPoint = Vector2.new(0.5, 0.5) TextLabel.BackgroundColor3 = Color3.fromRGB(255, 255, 255) TextLabel.BackgroundTransparency = 1.000 TextLabel.Position = UDim2.new(0.259154916, 0, 0.223066598, 0) TextLabel.Size = UDim2.new(0, 170, 0, 25) TextLabel.Font = Enum.Font.SourceSans TextLabel.Text = label or "DefaultSliderLabel" TextLabel.TextColor3 = Color3.fromRGB(255, 255, 255) TextLabel.TextSize = 18.000 TextLabel.TextWrapped = true TextLabel.TextXAlignment = Enum.TextXAlignment.Left SliderValueBox.Name = "SliderValueBox" SliderValueBox.Parent = Slider SliderValueBox.AnchorPoint = Vector2.new(0.5, 0.5) SliderValueBox.BackgroundColor3 = Color3.fromRGB(255, 255, 255) SliderValueBox.BackgroundTransparency = 0.950 SliderValueBox.BorderSizePixel = 0 SliderValueBox.Position = UDim2.new(0.905633807, 0, 0.272106469, 0) SliderValueBox.Size = UDim2.new(0, 50, 0, 18) SliderValueBox.ClearTextOnFocus = false SliderValueBox.Font = Enum.Font.SourceSans SliderValueBox.Text = value SliderValueBox.TextColor3 = Color3.fromRGB(255, 255, 255) SliderValueBox.TextSize = 16.000 SliderValueBox.TextWrapped = true UICorner_2.CornerRadius = UDim.new(0, 6) UICorner_2.Parent = SliderValueBox -- Slider Anchor TextButton.Parent = Slider TextButton.AnchorPoint = Vector2.new(0.5, 0.5) TextButton.BackgroundColor3 = Color3.fromRGB(255, 255, 255) TextButton.BackgroundTransparency = 1 TextButton.Position = UDim2.new(0.0563380271, 0, 0.70768714, 0) TextButton.Size = UDim2.new(0, 10, 0, 21) TextButton.Text = "" -- Background Bar SliderBar.Name = "SliderBar" SliderBar.Parent = TextButton SliderBar.BackgroundColor3 = Color3.fromRGB(32, 19, 57) SliderBar.BorderSizePixel = 0 SliderBar.Position = UDim2.new(0, 0, -1.29112832e-05, 0) SliderBar.Size = UDim2.new(0, 322, 0, 20) SliderBar.AutoButtonColor = false UICorner_3.Parent = SliderBar -- Value Bar InnerBar.Name = "InnerBar" InnerBar.Parent = TextButton InnerBar.BackgroundColor3 = Color3.fromRGB(115, 51, 175) InnerBar.BorderSizePixel = 0 InnerBar.Position = UDim2.new(-0.00518013537, 0, -0.0197038651, 0) --InnerBar.Size = UDim2.new(0, 10, 0, 21) InnerBar.Size = UDim2.new(0, math.max(10, ((IntValue.Value / max) * SliderBar.AbsoluteSize.X)), 1, 0) UICorner_4.Parent = InnerBar -----Values----- local minvalue = min or 0 local maxvalue = max or 100 -----Variables----- local mouse = game.Players.LocalPlayer:GetMouse() local uis = game:GetService("UserInputService") local Value; SliderValueBox:GetPropertyChangedSignal("Text"):Connect(function() if string.len(SliderValueBox.Text) > 5 then SliderValueBox.Text = string.sub(SliderValueBox.Text, 1, 5) end Value = SliderValueBox.Text IntValue.Value = Value InnerBar.Size = UDim2.new(0, math.min(math.max(10, ((IntValue.Value / max) * SliderBar.AbsoluteSize.X)), 322), 1, 0) pcall(function() callback(Value) end) end) SliderBar.MouseButton1Down:Connect(function() Value = math.floor((((tonumber(maxvalue) - tonumber(minvalue)) / 322) * InnerBar.AbsoluteSize.X) + tonumber(minvalue)) or 0 SliderValueBox.Text = Value IntValue.Value = Value pcall(function() callback(Value) end) InnerBar.Size = UDim2.new(0, math.max(10, math.clamp(mouse.X - InnerBar.AbsolutePosition.X, 0, 322)), 0, 21) moveconnection = mouse.Move:Connect(function() SliderValueBox.Text = Value IntValue.Value = Value Value = math.floor((((tonumber(maxvalue) - tonumber(minvalue)) / 322) * InnerBar.AbsoluteSize.X) + tonumber(minvalue)) pcall(function() callback(Value) end) InnerBar.Size = UDim2.new(0, math.max(10, math.clamp(mouse.X - InnerBar.AbsolutePosition.X, 0, 322)), 0, 21) end) releaseconnection = uis.InputEnded:Connect(function(Mouse) if Mouse.UserInputType == Enum.UserInputType.MouseButton1 then Value = math.floor((((tonumber(maxvalue) - tonumber(minvalue)) / 322) * InnerBar.AbsoluteSize.X) + tonumber(minvalue)) SliderValueBox.Text = Value IntValue.Value = Value pcall(function() callback(Value) end) InnerBar.Size = UDim2.new(0, math.max(10, math.clamp(mouse.X - InnerBar.AbsolutePosition.X, 0, 322)), 0, 21) moveconnection:Disconnect() releaseconnection:Disconnect() end end) end) end function ElixirUI:CreateListBox(label : string, tab : GuiObject, values, defaultValue) tab = ElixirUI:FindTab(tab) local ListBox = Instance.new("Frame") local TextLabel_4 = Instance.new("TextLabel") local UIListLayout_6 = Instance.new("UIListLayout") local TextBox_3 = Instance.new("TextBox") local UICorner_6 = Instance.new("UICorner") local UIPadding_4 = Instance.new("UIPadding") local ScrollingFrame = Instance.new("ScrollingFrame") local UIListLayout_7 = Instance.new("UIListLayout") local TextLabel_5 = Instance.new("TextLabel") local UIPadding_5 = Instance.new("UIPadding") ListBox.Name = "ListBox" ListBox.Parent = tab ListBox.AnchorPoint = Vector2.new(0.5, 0.5) ListBox.BackgroundColor3 = Color3.fromRGB(255, 255, 255) ListBox.BackgroundTransparency = 1.000 ListBox.BorderSizePixel = 0 ListBox.Position = UDim2.new(0.474358976, 0, 0.285433084, 0) ListBox.Size = UDim2.new(0, 370, 0, 45) TextLabel_4.Parent = ListBox TextLabel_4.BackgroundColor3 = Color3.fromRGB(255, 255, 255) TextLabel_4.BackgroundTransparency = 1.000 TextLabel_4.Size = UDim2.new(0, 200, 0, 20) TextLabel_4.Font = Enum.Font.SourceSans TextLabel_4.Text = label or "DefaultListBoxLabel" TextLabel_4.TextColor3 = Color3.fromRGB(255, 255, 255) TextLabel_4.TextSize = 18.000 TextLabel_4.TextWrapped = true TextLabel_4.TextXAlignment = Enum.TextXAlignment.Left UIListLayout_6.Parent = ListBox UIListLayout_6.SortOrder = Enum.SortOrder.LayoutOrder TextBox_3.Parent = ListBox TextBox_3.BackgroundColor3 = Color3.fromRGB(255, 255, 255) TextBox_3.BorderSizePixel = 0 TextBox_3.Position = UDim2.new(0, 0, 0.444444448, 0) TextBox_3.Size = UDim2.new(0, 200, 0, 25) TextBox_3.ClearTextOnFocus = false TextBox_3.Font = Enum.Font.SourceSans --TextBox_3.Text = "-" TextBox_3.Text = defaultValue TextBox_3.TextColor3 = Color3.fromRGB(0, 0, 0) TextBox_3.TextSize = 16.000 TextBox_3.TextXAlignment = Enum.TextXAlignment.Left UICorner_6.CornerRadius = UDim.new(0, 5) UICorner_6.Parent = TextBox_3 UIPadding_4.Parent = TextBox_3 UIPadding_4.PaddingLeft = UDim.new(0, 5) ScrollingFrame.Parent = TextBox_3 ScrollingFrame.Active = true ScrollingFrame.BackgroundColor3 = Color3.fromRGB(255, 255, 255) ScrollingFrame.Position = UDim2.new(-0.025641026, 0, 0.899999976, 0) ScrollingFrame.Size = UDim2.new(0, 200, 0, 90) UIListLayout_7.Parent = ScrollingFrame UIListLayout_7.SortOrder = Enum.SortOrder.LayoutOrder TextLabel_5.Parent = ScrollingFrame TextLabel_5.BackgroundColor3 = Color3.fromRGB(255, 255, 255) TextLabel_5.BorderSizePixel = 0 TextLabel_5.Size = UDim2.new(0, 200, 0, 20) TextLabel_5.Font = Enum.Font.SourceSans TextLabel_5.Text = "ListObject_1" TextLabel_5.TextColor3 = Color3.fromRGB(0, 0, 0) TextLabel_5.TextSize = 14.000 TextLabel_5.TextXAlignment = Enum.TextXAlignment.Left UIPadding_5.Parent = TextLabel_5 UIPadding_5.PaddingLeft = UDim.new(0, 5) end function ElixirUI:GetValue(obj : GuiObject) return obj:FindFirstChild("Value").Value end function ElixirUI:SetValue(obj : GuiObject, value) obj:FindFirstChild("Value").Value = value end function ElixirUI:OpenTab(targetTab : GuiObject) targetTab = ElixirUI:FindTab(targetTab) for _, v in pairs(TabList) do -- Match if (v.Name == targetTab.Name) then TabList[_].Visible = true TabList[_].Active = true TabButtonList[_].TextColor3 = Color3.fromRGB(150, 65, 220) continue end -- Else TabList[_].Visible = false TabList[_].Active = false TabButtonList[_].TextColor3 = Color3.fromRGB(150, 150, 150) end end function ElixirUI:GetVersion() return _VERSION end -- Get Instance / Get ScreenGUI function ElixirUI:GetInstance() return ScreenGui end function ElixirUI:IsVisible() return ScreenGui.Enabled end function ElixirUI:IsLoaded() if ElixirUI:GetInstance() ~= nil and UI_STATE == 1 then return true end return false end function ElixirUI:Destroy() warn("Elixir > " .. #ElixirUI:GetInstance():GetDescendants() .. " obj(s) destroyed!\n") UI_STATE = -1 ElixirUI:GetInstance():Destroy() end function ElixirUI:Deploy() for _, v in pairs(TabList) do if (_ == 1) then continue end -- Page v.Active = false v.Visible = false -- TabButton TabButtonList[_].TextColor3 = Color3.fromRGB(150, 150, 150) end -- Make GUI Toggleable local Instance = ElixirUI:GetInstance() local isToggled = ElixirUI:IsVisible() local function onKeyPress(actionName, userInputState, inputObject) if (userInputState == Enum.UserInputState.Begin) then isToggled = not isToggled Instance.Enabled = not Instance.Enabled end end game.ContextActionService:BindAction("keyPress", onKeyPress, false, Enum.KeyCode.RightShift) -- Make GUI Draggable local UserInputService = game:GetService("UserInputService") local dragFrame = DragFrame local parentFrame = dragFrame.Parent local dragToggle, dragSpeed, dragStart, startPos = nil, 0.04, nil, nil local function updateInput(input) local delta = input.Position - dragStart local position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) --local ScreenWidth, ScreenHeight = ScreenGui.AbsoluteSize.X, ScreenGui.AbsoluteSize.Y game:GetService('TweenService'):Create(parentFrame, TweenInfo.new(dragSpeed), {Position = position}):Play() end dragFrame.InputBegan:Connect(function(input) if (input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch) then dragToggle = true dragStart = input.Position startPos = parentFrame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragToggle = false end end) end end) UserInputService.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then if dragToggle then updateInput(input) end end end) -- Print Log Header warn("--------- Elixir ---------") -- Load Configuration local cfg_lib = loadstring(game:HttpGet("https://cdn.inshallah.cc/elixir/library/cfg.lua"))() local config = cfg_lib:Init() warn("Elixir > Changed List") local newData = config:Compare(ConfigPathList, cfg_lib:Init():Load()) print("newData size = " .. #newData) for i, element in ipairs(newData) do print(element.path, tostring(element.value)) end config:Save(newData) --[[ local _UserConfig = cfg_lib:Init():Load() for i, e in ipairs(_UserConfig) do for j, k in ipairs(ConfigPathList) do if (e.path == k.path) and (e.value == k.value) then -- Same Path & Same Value continue -- skip elseif (e.path == k.path) and (e.value ~= k.value) then -- Same Path & Diff Value --save(path, value) continue else --writeDefault(path, defaultValue) end end end]] --[[ FOR DEBUG ONLY warn("Elixir > UserConfig...") for i, element in ipairs(_UserConfig) do print(element.path, tostring(element.value)) end warn("Elixir > ConfigPathList...") for i, element in ipairs(ConfigPathList) do print(element.path, tostring(element.value)) end ]] -- Show statistics print("Elixir > Preparing " .. #ElixirUI:GetInstance():GetDescendants() .. " objects.") print("Elixir > Loaded " .. #TabButtonList .. " tab buttons.") print("Elixir > Loaded " .. #TabList .. " pages.") warn("--------- ###### ---------\n") coroutine.wrap(function() repeat task.wait() until UI_STATE == -1 end)() -- Display everything ScreenGui.Enabled = true end UI_STATE = 1 return ElixirUI end return Library