--[[ Essentials Built-In Elements ]] -- local RunService = game:GetService("RunService") local TweenService = game:GetService("TweenService") local UserInputService = game:GetService("UserInputService") local ReplicatedStorage = game:GetService("ReplicatedStorage") local Players = game:GetService("Players") local Player = Players.LocalPlayer local Mouse = Player:GetMouse() local GuiLocation = game.CoreGui local HttpService = game:GetService("HttpService") --[[ Mouse Library ]]-- local MouseLibrary = loadstring(game:HttpGet('https://raw.githubusercontent.com/TROLLERMASTERH/atOm-library/main/libraries/mouseLib.lua?flush_cache=True'))() --[[ Theme ]]-- local Package = { Name = "Essentials", Creator = "TROLLERMASTERH", Theme = { windows = { primaryColor = Color3.fromRGB(30, 34, 40), secondaryColor = Color3.fromRGB(30, 34, 40), titleColor = Color3.fromRGB(255, 255, 255), buttonColor = Color3.fromRGB(255, 255, 255), iconColor = Color3.fromRGB(255, 255, 255) }, imageTileButtons = { primaryColor = Color3.fromRGB(23, 23, 23), hoverImageColor = Color3.fromRGB(255, 193, 37), imageColor = Color3.fromRGB(255, 255, 255), icon = "http://www.roblox.com/asset/?id=7005536545" }, loaders = { primaryColor = Color3.fromRGB(255, 255, 255) }, sections = { primaryColor = Color3.fromRGB(43, 48, 56), titleColor = Color3.fromRGB(255, 255, 255) }, lines = { primaryColor = Color3.fromRGB(38, 38, 38) }, textboxes = { primaryColor = Color3.fromRGB(23, 23, 23), secondaryColor = Color3.fromRGB(38, 38, 38), focusColor = Color3.fromRGB(255, 193, 37), textColor = Color3.fromRGB(255, 255, 255) }, switches = { textColor = Color3.fromRGB(255, 255, 255), primaryColor = Color3.fromRGB(65, 73, 85), secondaryColor = Color3.fromRGB(255, 193, 37), ballPrimaryColor = Color3.fromRGB(255, 255, 255), ballSecondaryColor = Color3.fromRGB(65, 73, 85) }, sliders = { textColor = Color3.fromRGB(255, 255, 255), primaryColor = Color3.fromRGB(65, 73, 85), secondaryColor = Color3.fromRGB(255, 193, 37) }, buttons = { primaryColor = Color3.fromRGB(255, 193, 37), textColor = Color3.fromRGB(0, 0, 0) }, dropdowns = { primaryColor = Color3.fromRGB(65, 73, 85), secondaryColor = Color3.fromRGB(43, 48, 56), focusColor = Color3.fromRGB(255, 193, 37), textColor = Color3.fromRGB(255, 255, 255), hoverTextColor = Color3.fromRGB(0, 0, 0) }, checkboxes = { primaryColor = Color3.fromRGB(43, 48, 56), secondaryColor = Color3.fromRGB(65, 73, 85), focusColor = Color3.fromRGB(255, 193, 37) }, tabs = { primaryColor = Color3.fromRGB(255, 193, 37), secondaryColor = Color3.fromRGB(30, 34, 40), textColor = Color3.fromRGB(255, 255, 255) } } } --[[ Mouse Library ]] Package.Elements = { { Class = "CircleLoader", onCreate = function(self, elementSettings) local Bar = Instance.new("ImageLabel") Bar.Name = self.Class Bar.AnchorPoint = Vector2.new(0.5, 0.5) Bar.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Bar.BackgroundTransparency = 1.000 Bar.Position = UDim2.new(0.5, 0, 0.5, 0) Bar.Size = UDim2.new(0, 75, 0, 75) Bar.Image = "http://www.roblox.com/asset/?id=6992425635" local Destroyed = false local stopLoop = false local element element = _G.atOm:createElement( { Class = self.Class, onDestroy = function() Bar:Destroy() Destroyed = true end, userSettings = { { Property = "Size", Value = Bar.Size, Occuring = true, onChange = function(newValue) Bar.Size = newValue end }, { Property = "Position", Value = Bar.Position, Occuring = true, onChange = function(newValue) Bar.Position = newValue end }, { Property = "AnchorPoint", Value = Bar.AnchorPoint, Occuring = true, onChange = function(newValue) Bar.AnchorPoint = newValue end }, { Property = "primaryColor", Value = (_G.atOm.theme.loaders.primaryColor or Bar.BackgroundColor3), Occuring = true, onChange = function(newValue) Bar.BackgroundColor3 = newValue end }, { Property = "Progress", Value = 0, Maximum = 100, Minimum = 0, Occuring = true, onChange = function(newValue) Bar.Rotation = (360 * (newValue / 100)) end }, { Property = "RotationSpeed", Value = 1, Maximum = 10, Minimum = 0, Occuring = true }, { Property = "Loading", Value = false, Occuring = true }, { Property = "Parent", Value = Bar.Parent, onChange = function(newValue) Bar.Parent = newValue end } } } ) local loop loop = RunService.RenderStepped:Connect( function() if element.Loading == true then if element.Progress == 100 then element.Progress = 0 else element.Progress = element.Progress + element.RotationSpeed end end if Destroyed == true then loop:Disconnect() end end ) return element end }, { Class = "Section", onCreate = function(self, elementSettings) local Section = Instance.new("Frame") local Content = Instance.new("Frame") local UIListLayout = Instance.new("UIListLayout") local Title = Instance.new("TextLabel") Section.Name = "Section" Section.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Section.BackgroundTransparency = 1.000 Section.Size = UDim2.new(0, 200, 0, 185) -- Gui to Lua -- Version: 3.2 -- Instances: local Background = Instance.new("Frame") local UICorner = Instance.new("UICorner") --Properties: Background.Name = "Background" Background.Parent = Section Background.BackgroundColor3 = (_G.atOm.theme.sections.primaryColor or Color3.fromRGB(255, 255, 255)) Background.Position = UDim2.new(0, 5, 0, 5) Background.Size = UDim2.new(0, 220, 0, 122) UICorner.Parent = Background Content.Name = "Content" Content.Parent = Section Content.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Content.BackgroundTransparency = 1.000 Content.BorderColor3 = Color3.fromRGB(27, 42, 53) Content.Position = UDim2.new(0, 20, 0, 20) Content.Size = UDim2.new(0, 100, 0, 153) UIListLayout.Parent = Content UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder UIListLayout.Padding = UDim.new(0, 10) Title.Name = "Title" Title.Parent = Content Title.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Title.BackgroundTransparency = 1.000 Title.Size = UDim2.new(0, 200, 0, 30) Title.Font = Enum.Font.Roboto Title.Text = "" Title.TextColor3 = (_G.atOm.theme.sections.titleColor or Color3.fromRGB(255, 255, 255)) Title.TextSize = 25.000 Title.TextXAlignment = Enum.TextXAlignment.Left Title.TextYAlignment = Enum.TextYAlignment.Top local Destroyed = false local stopLoop = false local element element = _G.atOm:createElement( { Class = self.Class, onDestroy = function() Section:Destroy() Destroyed = true end, Content = Content, userSettings = { { Property = "Parent", Value = Section.Parent, onChange = function(newValue) Section.Parent = newValue end }, { Property = "Title", Value = Title.Text, onChange = function(newValue) Title.Text = newValue end }, { Property = "titleColor", Value = Title.TextColor3, onChange = function(newValue) Title.TextColor3 = newValue end }, { Property = "primaryColor", Value = Background.BackgroundColor3, onChange = function(newValue) Background.BackgroundColor3 = newValue end } } } ) local detectChange = false local updateSection updateSection = function() local ContentSize = UIListLayout.AbsoluteContentSize Content.Size = UDim2.new(0, ContentSize.X, 0, ContentSize.Y) local newSizeX = UIListLayout.AbsoluteContentSize.X + 30 local addX = ContentSize.X if addX < 0 then addX = 0 end if Section.Parent and Section.Parent.Parent then local Parent if Section.Parent.Parent:IsA("ScrollingFrame") then Parent = Section.Parent.Parent end if Section.Parent:IsA("ScrollingFrame") then Parent = Section.Parent end if Parent.AbsoluteWindowSize.X - 30 > ContentSize.X then newSizeX = Parent.AbsoluteWindowSize.X end if detectChange == false then detectChange = true Parent.Changed:Connect(function(Prop) if Prop == "AbsoluteWindowSize" then updateSection() end end) end end Section.Size = UDim2.new(0, newSizeX, 0, ContentSize.Y + 40) Background.Size = UDim2.new(0, newSizeX - 10, 0, ContentSize.Y + 30) end UIListLayout.Changed:Connect(updateSection) return element end }, { Class = "Seperator", onCreate = function(self, elementSettings) local Seperator = Instance.new("Frame") local Line = Instance.new("Frame") Seperator.Name = "Seperator" Seperator.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Seperator.BackgroundTransparency = 1.000 Seperator.Size = UDim2.new(0, 0, 0, 20) Line.Name = "Line" Line.Parent = Seperator Line.AnchorPoint = Vector2.new(0, 0.5) Line.BackgroundColor3 = (_G.atOm.theme.lines.primaryColor or Color3.fromRGB(38, 38, 38)) Line.BorderSizePixel = 0 Line.Position = UDim2.new(0, 10, 0.5, 0) Line.Size = UDim2.new(0, 0, 0, 2) local Destroyed = false local stopLoop = false local element element = _G.atOm:createElement( { Class = self.Class, onDestroy = function() Seperator:Destroy() Destroyed = true end, userSettings = { { Property = "Parent", Value = Seperator.Parent, onChange = function(newValue) Seperator.Parent = newValue local List = Seperator.Parent:FindFirstChild("UIListLayout") if List and Seperator.Parent:IsA("ScrollingFrame") then local refresh = function() if List.AbsoluteContentSize.X < Seperator.Parent.AbsoluteWindowSize.X then Line.Size = UDim2.new(0, Seperator.Parent.AbsoluteWindowSize.X - 20, 0, 2) else Line.Size = UDim2.new(0, List.AbsoluteContentSize.X -20, 0, 2) end end List.Changed:Connect(function() refresh() end) end end }, { Property = "primaryColor", Value = Line.BackgroundColor3, onChange = function(newValue) Line.BackgroundColor3 = newValue end } } } ) return element end }, { Class = "TextBox", onCreate = function(self, elementSettings) local TextBox = Instance.new("Frame") local Label = Instance.new("TextLabel") local UIListLayout = Instance.new("UIListLayout") local TextBox_2 = Instance.new("Frame") local TextBox_3 = Instance.new("TextBox") local Placeholder = Instance.new("TextLabel") local Line = Instance.new("Frame") local Highlight = Instance.new("Frame") TextBox.Name = "TextBox" TextBox.BackgroundColor3 = Color3.fromRGB(255, 255, 255) TextBox.BackgroundTransparency = 1.000 TextBox.BorderColor3 = Color3.fromRGB(27, 42, 53) TextBox.Size = UDim2.new(0, 200, 0, 54) TextBox.SizeConstraint = Enum.SizeConstraint.RelativeXX Label.Name = "Label" Label.Parent = TextBox Label.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Label.BackgroundTransparency = 1.000 Label.Position = UDim2.new(1, 10, 0, 0) Label.Size = UDim2.new(1, 0, 0, 18) Label.Font = Enum.Font.Roboto Label.Text = "" Label.Visible = false Label.TextColor3 = Color3.fromRGB(255, 255, 255) Label.TextSize = 18.000 Label.TextWrapped = false Label.TextXAlignment = Enum.TextXAlignment.Left UIListLayout.Parent = TextBox UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder UIListLayout.Padding = UDim.new(0, 6) TextBox_2.Name = "TextBox" TextBox_2.Parent = TextBox TextBox_2.BackgroundColor3 = (_G.atOm.theme.textboxes.primaryColor or Color3.fromRGB(23, 23, 23)) TextBox_2.BorderColor3 = (_G.atOm.theme.textboxes.secondaryColor or Color3.fromRGB(38, 38, 38)) TextBox_2.BorderSizePixel = 0 TextBox_2.Size = UDim2.new(0, 200, 0, 30) TextBox_3.Parent = TextBox_2 TextBox_3.AnchorPoint = Vector2.new(0.5, 0.5) TextBox_3.BackgroundColor3 = Color3.fromRGB(255, 255, 255) TextBox_3.BackgroundTransparency = 1.000 TextBox_3.BorderSizePixel = 0 TextBox_3.Position = UDim2.new(0.5, 0, 0.5, 0) TextBox_3.Size = UDim2.new(1, -20, 1, -5) TextBox_3.ClearTextOnFocus = false TextBox_3.Font = Enum.Font.Roboto TextBox_3.PlaceholderColor3 = Color3.fromRGB(178, 178, 178) TextBox_3.Text = "" TextBox_3.TextColor3 = (_G.atOm.theme.textboxes.textColor or Color3.fromRGB(255, 255, 255)) TextBox_3.TextSize = 11.000 TextBox_3.TextWrapped = true TextBox_3.TextXAlignment = Enum.TextXAlignment.Left Placeholder.Name = "Placeholder" Placeholder.Parent = TextBox_3 Placeholder.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Placeholder.BackgroundTransparency = 1.000 Placeholder.BorderColor3 = Color3.fromRGB(27, 42, 53) Placeholder.Size = UDim2.new(1, 0, 1, 0) Placeholder.Font = Enum.Font.Roboto Placeholder.Text = "" Placeholder.TextColor3 = (_G.atOm.theme.textboxes.textColor or Color3.fromRGB(255, 255, 255)) Placeholder.TextSize = 11.000 Placeholder.TextTransparency = 0.380 Placeholder.TextXAlignment = Enum.TextXAlignment.Left Line.Name = "Line" Line.Parent = TextBox_2 Line.AnchorPoint = Vector2.new(0.5, 1) Line.BackgroundColor3 = (_G.atOm.theme.textboxes.secondaryColor or Color3.fromRGB(38, 38, 38)) Line.BorderSizePixel = 0 Line.Position = UDim2.new(0.5, 0, 1, 0) Line.Size = UDim2.new(1, 0, 0, 2) Highlight.Name = "Highlight" Highlight.Parent = TextBox_2 Highlight.AnchorPoint = Vector2.new(0.5, 1) Highlight.BackgroundColor3 = (_G.atOm.theme.textboxes.focusColor or Color3.fromRGB(255, 193, 37)) Highlight.BorderSizePixel = 0 Highlight.Position = UDim2.new(0.5, 0, 1, 0) Highlight.Size = UDim2.new(0, 0, 0, 2) local Destroyed = false local stopLoop = false local onChanges = function() end local element element = _G.atOm:createElement( { Class = self.Class, onDestroy = function() TextBox:Destroy() Destroyed = true end, userSettings = { { Property = "Parent", Value = TextBox.Parent, onChange = function(newValue) TextBox.Parent = newValue end }, { Property = "primaryColor", Value = TextBox_2.BackgroundColor3, onChange = function(newValue) TextBox_2.BackgroundColor3 = newValue end }, { Property = "secondaryColor", Value = TextBox_2.BorderColor3, onChange = function(newValue) TextBox_2.BorderColor3 = newValue end }, { Property = "focusColor", Occuring = true, Value = Highlight.BackgroundColor3, onChange = function(newValue) Highlight.BackgroundColor3 = newValue end }, { Property = "Text", Occuring = true, Value = TextBox_3.Text, onChange = function(newValue) TextBox_3.Text = newValue end }, { Property = "textColor", Value = TextBox_3.TextColor3, onChange = function(newValue) TextBox_3.TextColor3 = newValue Placeholder.TextColor3 = newValue end }, { Property = "placeholder", Value = Placeholder.Text, Occuring = true, onChange = function(newValue) if newValue ~= "" then Placeholder.Visible = true Placeholder.Text = newValue else Placeholder.Visible = false end end }, { Property = "onChange", Value = function() end, Type = "Function", onChange = function(newValue) onChanges = newValue end }, { Property = "label", Value = Label.Text, Occuring = true, onChange = function(newValue) if newValue ~= "" then Label.Visible = true Label.Text = newValue else Label.Visible = false end end } } } ) local isInputed = false local Tween TextBox_3.Focused:Connect(function() if isInputed == false then Tween = TweenService:Create( Highlight, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out, 0, false, 0), { Size = UDim2.new(1, 0, 0, 2) } ) Tween:Play() end TextBox_2.BackgroundColor3 = element.secondaryColor end) TextBox_3.FocusLost:Connect(function() onChanges(TextBox_3.Text) if isInputed == false then Tween = TweenService:Create( Highlight, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out, 0, false, 0), { Size = UDim2.new(0, 0, 0, 2) } ) Tween:Play() end TextBox_2.BackgroundColor3 = element.primaryColor end) TextBox_3.Changed:Connect(function(Property) if Property == "Text" then if TextBox_3.Text ~= "" then isInputed = true Placeholder.Visible = false else isInputed = false Placeholder.Visible = true end end end) UIListLayout.Changed:Connect( function() TextBox.Size = UDim2.new(0, UIListLayout.AbsoluteContentSize.X, 0, UIListLayout.AbsoluteContentSize.Y) end ) return element end }, { Class = "Switch", onCreate = function(self, elementSettings) local Switch = Instance.new("Frame") local Label = Instance.new("TextLabel") local UIListLayout = Instance.new("UIListLayout") local Switch_2 = Instance.new("TextButton") local Ball = Instance.new("Frame") Switch.Name = "Switch" Switch.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Switch.BackgroundTransparency = 1.000 Switch.Size = UDim2.new(0, 55, 0, 49) Label.Name = "Label" Label.Parent = Switch Label.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Label.BackgroundTransparency = 1.000 Label.Position = UDim2.new(1, 10, 0, 0) Label.Size = UDim2.new(1, 0, 0, 18) Label.Font = Enum.Font.Roboto Label.Text = "" Label.TextColor3 = (_G.atOm.theme.switches.textColor or Color3.fromRGB(255, 255, 255)) Label.TextSize = 18.000 Label.TextXAlignment = Enum.TextXAlignment.Left UIListLayout.Parent = Switch UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder UIListLayout.Padding = UDim.new(0, 6) Switch_2.Name = "Switch" Switch_2.Parent = Switch Switch_2.BackgroundColor3 = (_G.atOm.theme.switches.primaryColor or Color3.fromRGB(38, 38, 38)) Switch_2.Size = UDim2.new(0, 55, 0, 25) Switch_2.AutoButtonColor = false Switch_2.Font = Enum.Font.SourceSans Switch_2.TextColor3 = Color3.fromRGB(0, 0, 0) Switch_2.TextSize = 14.000 Switch_2.TextTransparency = 1.000 local UICorner = Instance.new("UICorner") UICorner.CornerRadius = UDim.new(0, 15) UICorner.Parent = Switch_2 Ball.Name = "Ball" Ball.Parent = Switch_2 Ball.AnchorPoint = Vector2.new(0, 0.5) Ball.BackgroundColor3 = (_G.atOm.theme.switches.ballPrimaryColor or Color3.fromRGB(255, 255, 255)) Ball.Position = UDim2.new(0, 4, 0.5, 0) Ball.Size = UDim2.new(0, 21, 1, -4) local UICorner_2 = Instance.new("UICorner") UICorner_2.CornerRadius = UDim.new(0, 15) UICorner_2.Parent = Ball local Destroyed = false local stopLoop = false local onChanges = function() end local refreshSwitch local element local Padding = 4 local Tween local Tween2 local refreshSwitch = function() if element.Value == true then Tween = TweenService:Create( Ball, TweenInfo.new(0.125, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, false, 0), { Position = UDim2.new(1, -(Ball.Size.X.Offset + Padding), 0.5, 0), BackgroundColor3 = element.ballSecondaryColor } ) Tween2 = TweenService:Create( Switch_2, TweenInfo.new(0.125, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, false, 0), {BackgroundColor3 = element.secondaryColor} ) Tween:Play() Tween2:Play() else Tween = TweenService:Create( Ball, TweenInfo.new(0.125, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, false, 0), { Position = UDim2.new(0, Padding, 0.5, 0), BackgroundColor3 = element.ballPrimaryColor } ) Tween2 = TweenService:Create( Switch_2, TweenInfo.new(0.125, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, false, 0), {BackgroundColor3 = element.primaryColor} ) Tween:Play() Tween2:Play() end end element = _G.atOm:createElement( { Class = self.Class, onDestroy = function() Switch:Destroy() Destroyed = true end, userSettings = { { Property = "Parent", Value = Switch.Parent, onChange = function(newValue) Switch.Parent = newValue end }, { Property = "primaryColor", Value = Switch_2.BackgroundColor3, onChange = function(newValue) if element.Value == false then Switch_2.BackgroundColor3 = newValue end end }, { Property = "secondaryColor", Value = (_G.atOm.theme.switches.secondaryColor or Color3.fromRGB(255, 193, 37)), onChange = function(newValue) if element.Value == true then Switch_2.BackgroundColor3 = newValue end end }, { Property = "ballPrimaryColor", Value = Ball.BackgroundColor3, onChange = function(newValue) if element.Value == false then Ball.BackgroundColor3 = newValue end end }, { Property = "ballSecondaryColor", Value = (_G.atOm.theme.switches.ballSecondaryColor or Color3.fromRGB(38, 38, 38)), onChange = function(newValue) if element.Value == true then Ball.BackgroundColor3 = newValue end end }, { Property = "textColor", Occuring = true, Value = Label.TextColor3, onChange = function(newValue) Label.TextColor3 = newValue end }, { Property = "Value", Occuring = true, Value = false, onChange = function(newValue) refreshSwitch() end }, { Property = "onChange", Value = function() end, Type = "Function", onChange = function(newValue) onChanges = newValue end }, { Property = "label", Value = Label.Text, Occuring = true, onChange = function(newValue) if newValue ~= "" then Label.Visible = true Label.Text = newValue else Label.Visible = false end end } } } ) Switch_2.MouseButton1Click:Connect( function() element.Value = not element.Value onChanges(element.Value) refreshSwitch() end ) return element end }, { Class = "Checkbox", onCreate = function(self, elementSettings) local Checkbox = Instance.new("Frame") local UIListLayout = Instance.new("UIListLayout") local Trigger = Instance.new("TextButton") local Border = Instance.new("Frame") local UICorner = Instance.new("UICorner") local Background = Instance.new("Frame") local UICorner_2 = Instance.new("UICorner") local Check = Instance.new("Frame") local ImageLabel = Instance.new("ImageLabel") local Label = Instance.new("TextLabel") Checkbox.Name = "Checkbox" Checkbox.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Checkbox.BackgroundTransparency = 1.000 Checkbox.Size = UDim2.new(0, 95, 0, 20) UIListLayout.Parent = Checkbox UIListLayout.FillDirection = Enum.FillDirection.Horizontal UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder UIListLayout.VerticalAlignment = Enum.VerticalAlignment.Center UIListLayout.Padding = UDim.new(0, 20) Trigger.Name = "Trigger" Trigger.Parent = Checkbox Trigger.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Trigger.BackgroundTransparency = 1.000 Trigger.Size = UDim2.new(0, 20, 0, 20) Trigger.Font = Enum.Font.SourceSans Trigger.Text = "" Trigger.TextColor3 = Color3.fromRGB(0, 0, 0) Trigger.TextSize = 14.000 Border.Name = "Border" Border.Parent = Trigger Border.AnchorPoint = Vector2.new(0.5, 0.5) Border.BackgroundColor3 = (_G.atOm.theme.checkboxes.secondaryColor or Color3.fromRGB(38, 38, 38)) Border.BorderColor3 = Color3.fromRGB(27, 42, 53) Border.Position = UDim2.new(0.5, 0, 0.5, 0) Border.Size = UDim2.new(1, 0, 1, 0) UICorner.CornerRadius = UDim.new(0, 1) UICorner.Parent = Border Background.Name = "Background" Background.Parent = Trigger Background.AnchorPoint = Vector2.new(0.5, 0.5) Background.BackgroundColor3 = (_G.atOm.theme.checkboxes.primaryColor or Color3.fromRGB(23, 23, 23)) Background.BorderColor3 = Color3.fromRGB(27, 42, 53) Background.Position = UDim2.new(0.5, 0, 0.5, 0) Background.Size = UDim2.new(1, -4, 1, -4) UICorner_2.CornerRadius = UDim.new(0, 1) UICorner_2.Parent = Background Check.Name = "Check" Check.Parent = Background Check.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Check.BackgroundTransparency = 1.000 Check.BorderSizePixel = 0 Check.ClipsDescendants = true Check.Size = UDim2.new(0, 0, 1, 0) ImageLabel.Parent = Check ImageLabel.BackgroundColor3 = Color3.fromRGB(0, 0, 0) ImageLabel.BackgroundTransparency = 1.000 ImageLabel.BorderSizePixel = 0 ImageLabel.Size = UDim2.new(0, 16, 0, 16) ImageLabel.Image = "http://www.roblox.com/asset/?id=7039766584" ImageLabel.ImageColor3 = (_G.atOm.theme.checkboxes.primaryColor or Color3.fromRGB(23, 23, 23)) Label.Name = "Label" Label.Parent = Checkbox Label.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Label.BackgroundTransparency = 1.000 Label.Position = UDim2.new(1, 10, 0, 0) Label.Size = UDim2.new(1, 0, 0, 20) Label.Font = Enum.Font.Roboto Label.Text = "" Label.TextColor3 = Color3.fromRGB(255, 255, 255) Label.TextSize = 18.000 Label.TextWrapped = false Label.TextXAlignment = Enum.TextXAlignment.Left local Destroyed = false local stopLoop = false local Tween local onChanges = function() end local element local refreshCheckbox = function() if element.Value == true then Tween = TweenService:Create(Check, TweenInfo.new( 0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, false, 0 ), {Size = UDim2.new(1, 0,1, 0)}) Background.BackgroundColor3 = element.focusColor Border.BackgroundColor3 = element.focusColor else Tween = TweenService:Create(Check, TweenInfo.new( 0, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, false, 0 ), {Size = UDim2.new(0, 0,1, 0)}) Background.BackgroundColor3 = element.primaryColor Border.BackgroundColor3 = element.secondaryColor end Tween:Play() end element = _G.atOm:createElement( { Class = self.Class, onDestroy = function() Checkbox:Destroy() Destroyed = true end, userSettings = { { Property = "Parent", Value = Checkbox.Parent, onChange = function(newValue) Checkbox.Parent = newValue end }, { Property = "primaryColor", Value = Background.BackgroundColor3, onChange = function(newValue) if element.Value == false then Background.BackgroundColor3 = newValue end ImageLabel.ImageColor3 = newValue end }, { Property = "secondaryColor", Value = Border.BackgroundColor3, onChange = function(newValue) if element.Value == false then Border.BackgroundColor3 = newValue end end }, { Property = "focusColor", Value = (_G.atOm.theme.checkboxes.focusColor or Color3.fromRGB(255, 193, 37)), onChange = function(newValue) if element.Value == true then Background.BackgroundColor3 = newValue Border.BackgroundColor3 = newValue end end }, { Property = "Value", Occuring = true, Value = false, onChange = function(newValue) Selected = newValue refreshCheckbox() end }, { Property = "onChange", Value = function() end, Type = "Function", onChange = function(newValue) onChanges = newValue end }, { Property = "label", Value = Label.Text, Occuring = true, onChange = function(newValue) if newValue ~= "" then Label.Visible = true Label.Text = newValue else Label.Visible = false end Label.Size = UDim2.new(0, Label.TextBounds.X, 0, 20) end } } } ) Trigger.MouseButton1Click:Connect( function() element.Value = not element.Value onChanges(element.Value) refreshCheckbox() end ) UIListLayout.Changed:Connect(function() Checkbox.Size = UDim2.new(0, UIListLayout.AbsoluteContentSize.X, 0, UIListLayout.AbsoluteContentSize.Y) end) return element end }, { Class = "Slider", onCreate = function(self, elementSettings) local Slider_M = Instance.new("Frame") local Label = Instance.new("TextLabel") local UIListLayout = Instance.new("UIListLayout") Slider_M.Name = "Slider" Slider_M.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Slider_M.BackgroundTransparency = 1.000 Slider_M.Size = UDim2.new(0, 200, 0, 25) Label.Name = "Label" Label.Parent = Slider_M Label.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Label.BackgroundTransparency = 1.000 Label.Position = UDim2.new(1, 10, 0, 0) Label.Size = UDim2.new(1, 0, 0, 18) Label.Font = Enum.Font.Roboto Label.Text = "" Label.TextColor3 = (_G.atOm.theme.sliders.textColor or Color3.fromRGB(255, 255, 255)) Label.TextSize = 18.000 Label.TextXAlignment = Enum.TextXAlignment.Left UIListLayout.Parent = Slider_M UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder local Slider = Instance.new("Frame") local Ball = Instance.new("TextButton") local Line = Instance.new("Frame") local Filled = Instance.new("Frame") Slider.Name = "Slider" Slider.Parent = Slider_M Slider.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Slider.BackgroundTransparency = 1.000 Slider.Size = UDim2.new(0, 200, 0, 25) Ball.Name = "Ball" Ball.AnchorPoint = Vector2.new(0.5, 0.5) Ball.BackgroundColor3 = (_G.atOm.theme.sliders.primaryColor or Color3.fromRGB(38, 38, 38)) Ball.Position = UDim2.new(0, 0, 0.5, 0) Ball.Size = UDim2.new(0, 15, 0, 15) Ball.AutoButtonColor = false Ball.Font = Enum.Font.SourceSans Ball.Text = "" Ball.TextColor3 = Color3.fromRGB(0, 0, 0) Ball.TextSize = 14.000 Ball.TextTransparency = 1.000 Line.Name = "Line" Line.Parent = Slider Line.AnchorPoint = Vector2.new(0, 0.5) Line.BackgroundColor3 = (_G.atOm.theme.sliders.primaryColor or Color3.fromRGB(38, 38, 38)) Line.BorderSizePixel = 0 Line.Position = UDim2.new(0, 0, 0.5, 0) Line.Size = UDim2.new(1, 0, 0, 5) Ball.Parent = Slider Filled.Name = "Filled" Filled.Parent = Line Filled.BackgroundColor3 = (_G.atOm.theme.sliders.secondaryColor or Color3.fromRGB(255, 193, 37)) Filled.BorderSizePixel = 0 Filled.Size = UDim2.new(0, 0, 1, 0) local UICorner = Instance.new("UICorner") UICorner.CornerRadius = UDim.new(0, 4) UICorner.Parent = Line local UICorner_2 = Instance.new("UICorner") UICorner_2.CornerRadius = UDim.new(1, 0) UICorner_2.Parent = Ball local Destroyed = false local stopLoop = false local onChanges = function() end local isDragging = false local element local refreshBar = function() local x = (element.Value * (Slider.AbsoluteSize.X / element.Max)) Ball.Position = UDim2.new(0, x, 0.5, 0) Filled.Size = UDim2.new(0, x, 1, 0) end element = _G.atOm:createElement( { Class = self.Class, onDestroy = function() Slider_M:Destroy() Destroyed = true end, userSettings = { { Property = "Parent", Value = Slider_M.Parent, onChange = function(newValue) Slider_M.Parent = newValue end }, { Property = "primaryColor", Value = Ball.BackgroundColor3, onChange = function(newValue) Line.BackgroundColor3 = newValue if isDragging == false then Ball.BackgroundColor3 = newValue end end }, { Property = "secondaryColor", Value = Filled.BackgroundColor3, onChange = function(newValue) Filled.BackgroundColor3 = newValue if isDragging == true then Switch_2.BackgroundColor3 = newValue end end }, { Property = "textColor", Occuring = true, Value = Label.TextColor3, onChange = function(newValue) Label.TextColor3 = newValue end }, { Property = "Value", Occuring = true, Value = 1, onChange = function(newValue) onChanges(newValue) refreshBar() end }, { Property = "Max", Occuring = true, Value = 100, onChange = function(newValue) if element.Value > newValue then element.Value = newValue end end }, { Property = "Min", Occuring = true, Value = 0, onChange = function(newValue) if element.Value < newValue then element.Value = newValue end end }, { Property = "onChange", Value = function() end, Type = "Function", onChange = function(newValue) onChanges = newValue end }, { Property = "label", Value = Label.Text, Occuring = true, onChange = function(newValue) if newValue ~= "" then Label.Visible = true Label.Text = newValue else Label.Visible = false end end } } } ) UIListLayout.Changed:Connect( function() Slider_M.Size = UDim2.new(0, UIListLayout.AbsoluteContentSize.X, 0, UIListLayout.AbsoluteContentSize.Y) end ) Ball.MouseButton1Down:Connect( function() isDragging = true Ball.BackgroundColor3 = element.secondaryColor Ball.Size = UDim2.new(0, 20, 0, 20) end ) UserInputService.InputEnded:Connect( function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then isDragging = false Ball.Size = UDim2.new(0, 15, 0, 15) Ball.BackgroundColor3 = element.primaryColor end end ) UserInputService.InputChanged:Connect( function(input, gameProcessed) if input.UserInputType == Enum.UserInputType.MouseMovement then if isDragging then local x = (Mouse.X - Slider.AbsolutePosition.X) if x > Slider.AbsoluteSize.X then x = Slider.AbsoluteSize.X end if x < 0 then x = 0 end local newValue = ((x / Slider.AbsoluteSize.X) * element.Max) element.Value = newValue onChanges(newValue) Ball.Position = UDim2.new(0, x, 0.5, 0) Filled.Size = UDim2.new(0, x, 1, 0) end end end ) refreshBar() return element end }, { Class = "Button", onCreate = function(self, elementSettings) local Button = Instance.new("Frame") local TextButton = Instance.new("TextButton") Button.Name = "Button" Button.BackgroundColor3 = (_G.atOm.theme.buttons.primaryColor or Color3.fromRGB(255, 193, 37)) Button.Size = UDim2.new(0, 10, 0, 25) Button.BorderSizePixel = 0 local UICorner = Instance.new("UICorner") UICorner.CornerRadius = UDim.new(0, 6) UICorner.Parent = Button TextButton.Parent = Button TextButton.BackgroundColor3 = Color3.fromRGB(38, 38, 38) TextButton.BackgroundTransparency = 1.000 TextButton.Size = UDim2.new(1, 0, 1, 0) TextButton.Font = Enum.Font.Roboto TextButton.Text = "" TextButton.TextColor3 = (_G.atOm.theme.buttons.textColor or Color3.fromRGB(0, 0, 0)) TextButton.TextSize = 16.000 local Destroyed = false local stopLoop = false local element local refreshBar = function() local x = (element.Value * (Slider.AbsoluteSize.X / element.Max)) Ball.Position = UDim2.new(0, x, 0.5, 0) Filled.Size = UDim2.new(0, x, 1, 0) end element = _G.atOm:createElement( { Class = self.Class, onDestroy = function() Slider_M:Destroy() Destroyed = true end, userSettings = { { Property = "Parent", Value = Button.Parent, onChange = function(newValue) Button.Parent = newValue end }, { Property = "primaryColor", Value = Button.BackgroundColor3, onChange = function(newValue) Line.BackgroundColor3 = newValue if isDragging == false then Ball.BackgroundColor3 = newValue end end }, { Property = "textColor", Occuring = true, Value = TextButton.TextColor3, onChange = function(newValue) TextButton.TextColor3 = newValue end }, { Property = "Text", Occuring = true, Value = TextButton.Text, onChange = function(newValue) TextButton.Text = newValue end }, { Property = "onClick", Occuring = true, Value = function() end, onChange = function(newValue) TextButton.MouseButton1Click:Connect(newValue) end } } } ) local refreshButton = function() Button.Size = UDim2.new(0, (TextButton.TextBounds.X + 30), 0, 25) end TextButton.Changed:Connect(refreshButton) refreshButton() return element end }, { Class = "ImageTileButton", onCreate = function(self, elementSettings) local Back = Instance.new("ImageButton") local Image = Instance.new("ImageLabel") --Properties: Back.Name = "Back" Back.AnchorPoint = Vector2.new(0.5, 0.5) Back.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Back.BackgroundTransparency = 1.000 Back.BorderSizePixel = 0 Back.Position = UDim2.new(0.5, 0, 0.5, 0) Back.Size = UDim2.new(0, 100, 0, 100) Back.Image = "http://www.roblox.com/asset/?id=6992732640" Back.ImageColor3 = Color3.fromRGB(255, 255, 255) Back.AutoButtonColor = false Image.Name = "Image" Image.Parent = Back Image.AnchorPoint = Vector2.new(0.5, 0.5) Image.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Image.BackgroundTransparency = 1.000 Image.Position = UDim2.new(0.5, 0, 0.5, 0) Image.Size = UDim2.new(0.600000024, 0, 0.600000024, 0) Image.Image = "" local ToolTip = Instance.new("TextLabel") local ToolCorner = Instance.new("UICorner") ToolTip.Name = "ToolTip" ToolTip.Parent = Back ToolTip.AnchorPoint = Vector2.new(0, 0.5) ToolTip.BackgroundColor3 = Color3.fromRGB(23, 23, 23) ToolTip.Position = UDim2.new(1, 0, 0.5, 0) ToolTip.Size = UDim2.new(2, 0, 0.600000024, 0) ToolTip.Font = Enum.Font.RobotoCondensed ToolTip.Text = "" ToolTip.TextColor3 = Color3.fromRGB(255, 255, 255) ToolTip.TextSize = 14.000 ToolTip.Visible = false ToolTip.BackgroundTransparency = 1 ToolTip.TextTransparency = 1 ToolCorner.CornerRadius = UDim.new(0, 10) ToolCorner.Parent = ToolTip ToolTip.Changed:Connect( function() ToolTip.Size = UDim2.new(0, (ToolTip.TextBounds.X + 40), 0, (ToolTip.TextBounds.Y + 10)) end ) local Destroyed = false local stopLoop = false local element element = _G.atOm:createElement( { Class = self.Class, onDestroy = function() Back:Destroy() Destroyed = true end, userSettings = { { Property = "Size", Value = Back.Size, Occuring = true, onChange = function(newValue) Back.Size = newValue end }, { Property = "Parent", Value = Back.Parent, onChange = function(newValue) Back.Parent = newValue end }, { Property = "Image", Value = Image.Image, onChange = function(newValue) Image.Image = newValue end }, { Property = "onClick", Value = function() end, Type = "Function", onChange = function(newValue) Back.MouseButton1Click:Connect(newValue) end }, { Property = "primaryColor", Value = (_G.atOm.theme.imageTileButtons.primaryColor or Back.ImageColor3), onChange = function(newValue) Back.ImageColor3 = newValue end }, { Property = "imageColor", Value = (_G.atOm.theme.imageTileButtons.imageColor or Image.ImageColor3), Occuring = true, onChange = function(newValue) Image.ImageColor3 = newValue end }, { Property = "hoverSize", Value = true, Occuring = true }, { Property = "onHoverImageColor", Occuring = true, Value = false }, { Property = "hoverImageColor", Occuring = true, Value = (_G.atOm.theme.imageTileButtons.hoverImageColor or Color3.new(200, 200, 200)) }, { Property = "toolTip", Value = false, Occuring = true, onChange = function(newValue) if newValue == true then ToolTip.Visible = true else ToolTip.Visible = false end end }, { Property = "toolTipText", Value = ToolTip.Text, Occuring = true, onChange = function(newValue) ToolTip.Text = newValue end } } } ) local Tween local Tween2 local isHovering = false local onHover = function() if element.toolTip then Tween = TweenService:Create( ToolTip, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, false, 0), {BackgroundTransparency = 0, TextTransparency = 0} ) Tween:Play() end if element.hoverSize then Tween2 = Back:TweenSize( UDim2.new(0, (element.Size.X.Offset * 1.1), 0, (element.Size.Y.Offset * 1.1)), Enum.EasingDirection.In, Enum.EasingStyle.Sine, 0.125, true ) Tween2:Play() end if element.onHoverImageColor then Image.ImageColor3 = element.hoverImageColor end end local onLeave = function() if element.toolTip then Tween = TweenService:Create( ToolTip, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, false, 0), {BackgroundTransparency = 1, TextTransparency = 1} ) Tween:Play() end if element.hoverSize then Tween2 = Back:TweenSize(element.Size, Enum.EasingDirection.Out, Enum.EasingStyle.Sine, 0.125, true) Tween2:Play() end if element.onHoverImageColor then Image.ImageColor3 = element.imageColor end end MouseLibrary.bindMouseEvents(Back, onHover, onLeave) return element end }, { Class = "Dropdown", onCreate = function(self, elementSettings) local Main = Instance.new("Frame") local Dropdown = Instance.new("Frame") local UICorner = Instance.new("UICorner") local Border = Instance.new("Frame") local UICorner_2 = Instance.new("UICorner") local Background = Instance.new("Frame") local UICorner_3 = Instance.new("UICorner") local Button = Instance.new("TextButton") local ImageLabel = Instance.new("ImageLabel") local PlaceHolder = Instance.new("TextLabel") local List = Instance.new("Frame") local UICorner_4 = Instance.new("UICorner") local Content = Instance.new("Frame") local Content_2 = Instance.new("ScrollingFrame") local UIListLayout = Instance.new("UIListLayout") local ScrollBarX = Instance.new("Frame") local Bar = Instance.new("TextButton") local ScrollBarY = Instance.new("Frame") local Bar_2 = Instance.new("TextButton") local SearchBar = Instance.new("TextBox") local Line = Instance.new("Frame") local Selected = Instance.new("TextLabel") Main.Name = "Dropdown" Main.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Main.BackgroundTransparency = 1.000 Main.BorderSizePixel = 0 Main.Size = UDim2.new(0, 125, 0, 37) Dropdown.Name = "Dropdown" Dropdown.Parent = Main Dropdown.AnchorPoint = Vector2.new(0, 0.5) Dropdown.Position = UDim2.new(0, 0, 0.5, 0) Dropdown.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Dropdown.BackgroundTransparency = 1.000 Dropdown.BorderSizePixel = 0 Dropdown.Size = UDim2.new(0, 125, 0, 37) UICorner.CornerRadius = UDim.new(0, 4) UICorner.Parent = Dropdown Border.Name = "Border" Border.Parent = Dropdown Border.AnchorPoint = Vector2.new(0.5, 0) Border.BackgroundColor3 = Color3.fromRGB(255, 193, 37) Border.BorderSizePixel = 0 Border.Position = UDim2.new(0.5, 0, 0, -1) Border.Size = UDim2.new(1, 2, 1, 125) UICorner_2.CornerRadius = UDim.new(0, 4) UICorner_2.Parent = Border Background.Name = "Background" Background.Parent = Dropdown Background.AnchorPoint = Vector2.new(0.5, 0) Background.BackgroundColor3 = (_G.atOm.theme.dropdowns.secondaryColor or Color3.fromRGB(23, 23, 23)) Background.BorderSizePixel = 0 Background.Position = UDim2.new(0.5, 0, 0, 0) Background.Size = UDim2.new(1, 0, 1, 123) UICorner_3.CornerRadius = UDim.new(0, 4) UICorner_3.Parent = Background Button.Name = "Button" Button.Parent = Dropdown Button.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Button.BackgroundTransparency = 1.000 Button.Size = UDim2.new(1, 0, 1, 0) Button.Font = Enum.Font.SourceSans Button.Text = "" Button.TextColor3 = Color3.fromRGB(0, 0, 0) Button.TextSize = 14.000 Button.TextTransparency = 1.000 ImageLabel.Parent = Button ImageLabel.AnchorPoint = Vector2.new(1, 0.5) ImageLabel.BackgroundColor3 = Color3.fromRGB(255, 255, 255) ImageLabel.BackgroundTransparency = 1.000 ImageLabel.Position = UDim2.new(1, -5, 0.5, 0) ImageLabel.Size = UDim2.new(0, 25, 0, 25) ImageLabel.Image = "http://www.roblox.com/asset/?id=4978038300" PlaceHolder.Name = "Place Holder" PlaceHolder.Parent = Dropdown PlaceHolder.BackgroundColor3 = Color3.fromRGB(255, 255, 255) PlaceHolder.BackgroundTransparency = 1.000 PlaceHolder.BorderSizePixel = 0 PlaceHolder.Position = UDim2.new(0, 15, 0, 0) PlaceHolder.Size = UDim2.new(1, -15, 1, 0) PlaceHolder.Font = Enum.Font.Roboto PlaceHolder.RichText = true PlaceHolder.Text = "" PlaceHolder.TextColor3 = (_G.atOm.theme.dropdowns.textColor or Color3.fromRGB(255, 255, 255)) PlaceHolder.TextSize = 12.000 PlaceHolder.TextXAlignment = Enum.TextXAlignment.Left List.Name = "List" List.Parent = Dropdown List.BackgroundColor3 = (_G.atOm.theme.dropdowns.secondaryColor or Color3.fromRGB(23, 23, 23)) List.BackgroundTransparency = 1.000 List.BorderSizePixel = 0 List.Position = UDim2.new(0, 0, 1, 0) List.Size = UDim2.new(1, 0, 0, 155) UICorner_4.CornerRadius = UDim.new(0, 4) UICorner_4.Parent = List Content.Name = "Content" Content.Parent = List Content.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Content.BackgroundTransparency = 1.000 Content.BorderSizePixel = 0 Content.Position = UDim2.new(0, 0, 0, 30) Content.Size = UDim2.new(1, 0, 1, -30) Content_2.Name = "Content" Content_2.Parent = Content Content_2.Active = true Content_2.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Content_2.BackgroundTransparency = 1.000 Content_2.Size = UDim2.new(1, 0, 1, 0) Content_2.CanvasSize = UDim2.new(0, 0, 0, 0) Content_2.ScrollBarThickness = 8 Content_2.ScrollBarImageTransparency = 1 UIListLayout.Parent = Content_2 UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder ScrollBarX.Name = "ScrollBarX" ScrollBarX.Parent = Content ScrollBarX.AnchorPoint = Vector2.new(0, 1) ScrollBarX.BackgroundColor3 = Color3.fromRGB(38, 38, 38) ScrollBarX.BorderSizePixel = 0 ScrollBarX.Position = UDim2.new(0, 0, 1, 0) ScrollBarX.Size = UDim2.new(1, 0, 0, 8) ScrollBarX.Visible = false Bar.Name = "Bar" Bar.Parent = ScrollBarX Bar.AnchorPoint = Vector2.new(0, 0.5) Bar.BackgroundColor3 = Color3.fromRGB(77, 77, 77) Bar.BorderSizePixel = 0 Bar.Position = UDim2.new(0, 0, 0.5, 0) Bar.Size = UDim2.new(0, 100, 0, 10) Bar.AutoButtonColor = false Bar.Font = Enum.Font.SourceSans Bar.Text = "0" Bar.TextColor3 = Color3.fromRGB(0, 0, 0) Bar.TextSize = 14.000 Bar.TextTransparency = 1.000 ScrollBarY.Name = "ScrollBarY" ScrollBarY.Parent = Content ScrollBarY.AnchorPoint = Vector2.new(1, 0) ScrollBarY.BackgroundColor3 = Color3.fromRGB(38, 38, 38) ScrollBarY.BorderSizePixel = 0 ScrollBarY.Position = UDim2.new(1, 0, 0, 0) ScrollBarY.Size = UDim2.new(0, 8, 1, 0) ScrollBarY.Visible = false Bar_2.Name = "Bar" Bar_2.Parent = ScrollBarY Bar_2.AnchorPoint = Vector2.new(0.5, 0) Bar_2.BackgroundColor3 = Color3.fromRGB(77, 77, 77) Bar_2.BorderSizePixel = 0 Bar_2.Position = UDim2.new(0.5, 0, 0, 0) Bar_2.Size = UDim2.new(0, 10, 0, 100) Bar_2.AutoButtonColor = false Bar_2.Font = Enum.Font.SourceSans Bar_2.Text = "0" Bar_2.TextColor3 = Color3.fromRGB(0, 0, 0) Bar_2.TextSize = 14.000 Bar_2.TextTransparency = 1.000 SearchBar.Name = "Search Bar" SearchBar.Parent = List SearchBar.BackgroundColor3 = Color3.fromRGB(255, 255, 255) SearchBar.BackgroundTransparency = 1.000 SearchBar.BorderSizePixel = 0 SearchBar.Size = UDim2.new(1, 0, 0, 31) SearchBar.Font = Enum.Font.SourceSans SearchBar.PlaceholderText = "Search..." SearchBar.Text = "" SearchBar.TextColor3 = (_G.atOm.theme.dropdowns.textColor or Color3.fromRGB(255, 255, 255)) SearchBar.TextSize = 14.000 SearchBar.TextWrapped = true Line.Name = "Line" Line.Parent = SearchBar Line.BackgroundColor3 = (_G.atOm.theme.dropdowns.primaryColor or Color3.fromRGB(38, 38, 38)) Line.BorderSizePixel = 0 Line.Size = UDim2.new(1, 0, 0, 1) Selected.Name = "Selected" Selected.Parent = Dropdown Selected.BackgroundTransparency = 1.000 Selected.BorderSizePixel = 0 Selected.Position = UDim2.new(0, 15, 0, 0) Selected.Size = UDim2.new(1, -15, 1, 0) Selected.Visible = false Selected.Font = Enum.Font.Roboto Selected.Text = "" Selected.RichText = true Selected.TextColor3 = (_G.atOm.theme.dropdowns.focusColor or Color3.fromRGB(255, 193, 37)) Selected.TextSize = 12.000 Selected.TextWrapped = true Selected.TextXAlignment = Enum.TextXAlignment.Left local Destroyed = false local isDraggingY = false local isDraggingX = false local LastMouseMove = Vector2.new(0, 0) local Thickness = 8 local lastPosition = Vector2.new(0, 0) local isFocused = false local searchEnabled = false local selected = nil local maxYSize = 155 local onChanges = function(newValue) end local refreshDropdown = function() end local refreshList = function() end local refreshScrollBars = function() end local element element = _G.atOm:createElement( { Class = self.Class, onDestroy = function() Main:Destroy() Destroyed = true end, userSettings = { { Property = "Parent", Value = Main.Parent, onChange = function(newValue) Main.Parent = newValue end }, { Property = "primaryColor", Value = (_G.atOm.theme.dropdowns.primaryColor or Color3.fromRGB(38, 38, 38)), onChange = function(newValue) Line.BackgroundColor3 = newValue for i,v in pairs(Dropdown:GetDescendants()) do if v.Name == "Line" then v.BackgroundColor3 = newValue end end end }, { Property = "secondaryColor", Value = Background.BackgroundColor3, onChange = function(newValue) Background.BackgroundColor3 = newValue List.BackgroundColor3 = newValue end }, { Property = "focusColor", Value = Selected.TextColor3, onChange = function(newValue) Selected.TextColor3 = newValue for i,v in pairs(Content_2:GetChildren()) do if v.TextLabel then v.BackgroundColor3 = newValue end end end }, { Property = "textColor", Value = PlaceHolder.TextColor3, onChange = function(newValue) PlaceHolder.TextColor3 = newValue SearchBar.TextColor3 = newValue for i,v in pairs(Content_2:GetChildren()) do if v.TextLabel then v.TextLabel.TextColor3 = newValue end end end }, { Property = "hoverTextColor", Value = (_G.atOm.theme.dropdowns.hoverTextColor or Color3.fromRGB(0, 0, 0)) }, { Property = "placeholder", Value = "", onChange = function(newValue) PlaceHolder.Text = ""..newValue.."" end }, { Property = "searchEnabled", Value = false, onChange = function(newValue) searchEnabled = newValue refreshList() end }, { Property = "Value", Value = "", onChange = function(newValue) onChanges(newValue) end }, { Property = "onChange", Value = onChanges, onChange = function(newValue) onChanges = newValue end }, { Property = "Alignment", Value = "Bottom", Occuring = true, onChange = function(newValue) refreshDropdown() end }, { Property = "items", Value = {}, onChange = function(newValue) selected = nil for i,v in pairs(Content_2:GetChildren()) do if v:IsA("TextButton") then v:Destroy() end end for i,v in pairs(newValue) do local TextButton = Instance.new("TextButton") local TextLabel = Instance.new("TextLabel") local Line = Instance.new("Frame") TextButton.Parent = Content_2 TextButton.BackgroundColor3 = element.focusColor TextButton.BackgroundTransparency = 1.000 TextButton.BorderSizePixel = 0 TextButton.Size = UDim2.new(1, 0, 0, 31) TextButton.AutoButtonColor = false TextButton.Font = Enum.Font.SourceSans TextButton.Text = "" TextButton.TextColor3 = Color3.fromRGB(0, 0, 0) TextButton.TextSize = 14.000 TextButton.TextTransparency = 1.000 TextLabel.Parent = TextButton TextLabel.BackgroundColor3 = Color3.fromRGB(255, 255, 255) TextLabel.BackgroundTransparency = 1.000 TextLabel.Position = UDim2.new(0, 15, 0, 0) TextLabel.Size = UDim2.new(1, -15, 1, -1) TextLabel.Font = Enum.Font.Roboto TextLabel.Text = v TextLabel.TextColor3 = element.textColor TextLabel.TextSize = 12.000 TextLabel.TextStrokeColor3 = Color3.fromRGB(255, 255, 255) TextLabel.TextXAlignment = Enum.TextXAlignment.Left Line.Name = "Line" Line.Parent = TextButton Line.BackgroundColor3 = element.primaryColor Line.BorderSizePixel = 0 if element.Alignment == "Top" then Line.Position = UDim2.new(0, 0, 1, -1) end Line.Size = UDim2.new(1, 0, 0, 1) end refreshDropdown() end } } } ) local resizeBorder = function(Size) if element.Alignment == "Top" then Background.Size = UDim2.new(1, 0, 0, Size.Y) Border.Size = UDim2.new(1, 2, 0, (Size.Y + 2)) elseif element.Alignment == "Bottom" then Background.Size = UDim2.new(1, 0, 0, Size.Y) Border.Size = UDim2.new(1, 2, 0, (Size.Y + 2)) end for i,v in pairs(Content_2:GetChildren()) do if v:IsA("TextButton") and v:FindFirstChild("Line") then if element.Alignment == "Top" then v.Line.Position = UDim2.new(0, 0, 1, -1) else v.Line.Position = UDim2.new(0, 0, 0, 0) end end end if element.Alignment == "Top" then Line.Position = UDim2.new(0, 0, 1, -1) else Line.Position = UDim2.new(0, 0, 0, 0) end end local filterList = function(text) for i,v in pairs(Content_2:GetChildren()) do if v:IsA("TextButton") then local str = string.lower(v.TextLabel.Text) if string.find(str, string.lower(text)) then v.Visible = true else v.Visible = false end end end end SearchBar.Changed:Connect(function(Property) if Property == "Text" then filterList(SearchBar.Text) refreshList() end end) local refreshDropdown = function() if isFocused then Selected.Visible = false PlaceHolder.Visible = true PlaceHolder.TextColor3 = element.focusColor Border.Visible = true Background.BackgroundColor3 = element.secondaryColor ImageLabel.ImageColor3 = element.focusColor ImageLabel.Image = "http://www.roblox.com/asset/?id=4978037290" List.Visible = true Dropdown.ZIndex = 2 for i,v in pairs(Dropdown:GetDescendants()) do if v:IsA("GuiObject") then v.ZIndex = 2 end end resizeBorder(Vector2.new(Dropdown.AbsoluteSize.X, (Dropdown.AbsoluteSize.Y + List.AbsoluteSize.Y))) Dropdown.Size = UDim2.new(0, (PlaceHolder.TextBounds.X + 70), 0, 35) else if selected ~= nil then Selected.Text = ""..selected.TextLabel.Text.."" Selected.Visible = true PlaceHolder.Visible = false selected.BackgroundColor3 = element.focusColor Dropdown.Size = UDim2.new(0, (Selected.TextBounds.X + 70), 0, 35) else Selected.Visible = false PlaceHolder.Visible = true Dropdown.Size = UDim2.new(0, (PlaceHolder.TextBounds.X + 70), 0, 35) end PlaceHolder.TextColor3 = element.textColor Border.Visible = false Background.BackgroundColor3 = element.primaryColor ImageLabel.ImageColor3 = element.textColor ImageLabel.Image = "http://www.roblox.com/asset/?id=4978038300" List.Visible = false Dropdown.ZIndex = 1 for i,v in pairs(Dropdown:GetDescendants()) do if v:IsA("GuiObject") then v.ZIndex = 1 end end resizeBorder(Vector2.new(Dropdown.AbsoluteSize.X, (Dropdown.AbsoluteSize.Y))) end end local refreshList = function() local Y = UIListLayout.AbsoluteContentSize.Y if element.Alignment == "Bottom" then Background.AnchorPoint = Vector2.new(0.5, 0) Background.Position = UDim2.new(0.5, 0, 0, 0) Border.Position = UDim2.new(0.5, 0,0, -1) Border.AnchorPoint = Vector2.new(0.5, 0) List.AnchorPoint = Vector2.new(0, 0) List.Position = UDim2.new(0, 0, 1, 0) elseif element.Alignment == "Top" then Background.AnchorPoint = Vector2.new(0.5, 1) Background.Position = UDim2.new(0.5, 0, 1, 0) Border.Position = UDim2.new(0.5, 0, 1, 1) Border.AnchorPoint = Vector2.new(0.5, 1) List.AnchorPoint = Vector2.new(0, 1) List.Position = UDim2.new(0, 0, 0, 0) end if searchEnabled then SearchBar.Visible = true if element.Alignment == "Bottom" then Content.Position = UDim2.new(0, 0, 0, SearchBar.AbsoluteSize.Y) Content.Size = UDim2.new(1, 0, 1, -(SearchBar.AbsoluteSize.Y)) elseif element.Alignment == "Top" then Content.Position = UDim2.new(0, 0, 0, 0) Content.Size = UDim2.new(1, 0, 1, -(SearchBar.AbsoluteSize.Y)) end refreshDropdown() Y = Y + SearchBar.AbsoluteSize.Y else SearchBar.Visible = false Content.Position = UDim2.new(0, 0, 0, 0) Content.Size = UDim2.new(1, 0, 1, 0) refreshDropdown() end if Y > maxYSize then Y = maxYSize end List.Size = UDim2.new(1, 0, 0, Y) end Button.MouseButton1Click:Connect(function() isFocused = not isFocused refreshDropdown() end) refreshDropdown() local animateButton = function(instance) MouseLibrary.bindMouseEvents(instance, function() instance.BackgroundTransparency = 0 instance.TextLabel.TextColor3 = element.hoverTextColor end, function() if instance ~= selected then instance.BackgroundTransparency = 1 instance.TextLabel.TextColor3 = element.textColor end end) instance.MouseButton1Click:Connect(function() isFocused = false selected = instance element.Value = instance.TextLabel.Text refreshDropdown() end) end local refreshScrollBars = function() Content_2.CanvasSize = UDim2.new(0, (UIListLayout.AbsoluteContentSize.X), 0, UIListLayout.AbsoluteContentSize.Y) local canvas_scaleY = Content_2.CanvasPosition.Y / (Content_2.CanvasSize.Y.Offset - Content_2.AbsoluteWindowSize.Y) local Y = (1 - Bar_2.Size.Y.Scale) * canvas_scaleY local canvas_scaleX = Content_2.CanvasPosition.X / (Content_2.CanvasSize.X.Offset - Content_2.AbsoluteWindowSize.X) local X = (1 - Bar.Size.X.Scale) * canvas_scaleX local isXScroll = (UIListLayout.AbsoluteContentSize.X > Content_2.AbsoluteWindowSize.X) local isYScroll = (UIListLayout.AbsoluteContentSize.Y > Content_2.AbsoluteWindowSize.Y) if isXScroll and isYScroll then ScrollBarY.Size = UDim2.new(0, Thickness, 1, -(Thickness)) ScrollBarX.Size = UDim2.new(1, -(Thickness), 0, Thickness) else ScrollBarY.Size = UDim2.new(0, Thickness, 1, 0) ScrollBarX.Size = UDim2.new(1, 0, 0, Thickness) end if isXScroll then ScrollBarX.Visible = true Bar.Size = UDim2.new( (Content_2.AbsoluteWindowSize.X / Content_2.CanvasSize.X.Offset), 0, 0, (Thickness - 4) ) Bar.Position = UDim2.new(X, 0, Bar.Position.Y.Scale, 0) else Bar.Size = UDim2.new(0, 0, 0, (Thickness - 4)) ScrollBarX.Visible = false end if isYScroll then ScrollBarY.Visible = true Bar_2.Size = UDim2.new( 0, (Thickness - 4), (Content_2.AbsoluteWindowSize.Y / Content_2.CanvasSize.Y.Offset), 0 ) Bar_2.Position = UDim2.new(Bar_2.Position.X.Scale, 0, Y, 0) else Bar_2.Size = UDim2.new(0, (Thickness - 4), 0, 0) ScrollBarY.Visible = false end end refreshScrollBars() Bar_2.MouseButton1Down:Connect( function(x, y) LastMouseMove = Vector2.new(x, y) isDraggingY = true Bar_2.BackgroundColor3 = Color3.fromRGB(122, 122, 122) end ) Bar.MouseButton1Down:Connect( function(x, y) LastMouseMove = Vector2.new(x, y) isDraggingX = true Bar.BackgroundColor3 = Color3.fromRGB(122, 122, 122) end ) UserInputService.InputEnded:Connect( function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then isDraggingY = false isDraggingX = false LastMouseMove = Vector2.new(0, 0) Bar_2.BackgroundColor3 = Color3.fromRGB(77, 77, 77) Bar.BackgroundColor3 = Color3.fromRGB(77, 77, 77) end end ) UserInputService.InputChanged:Connect( function(input, gameProcessed) if input.UserInputType == Enum.UserInputType.MouseMovement then local x = Mouse.X local y = Mouse.Y if isDraggingY == true and UserInputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton1) then local DragY = (y - LastMouseMove.Y) LastMouseMove = Vector2.new(x, y) local scaleY = Content_2.CanvasSize.Y.Offset / (Content.AbsoluteSize.Y) local newY = (Content_2.CanvasPosition.Y + (DragY * scaleY)) Content_2.CanvasPosition = Vector2.new(Content_2.CanvasPosition.X, newY) elseif isDraggingX == true and UserInputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton1) then local DragX = (x - LastMouseMove.X) LastMouseMove = Vector2.new(x, y) local scaleX = Content_2.CanvasSize.X.Offset / (Content.AbsoluteSize.X) local newX = (Content_2.CanvasPosition.X + (DragX * scaleX)) Content_2.CanvasPosition = Vector2.new(newX, Content_2.CanvasPosition.Y) elseif (isDraggingY == true or isDraggingX == true) and not UserInputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton1) then isDraggingY = false isDraggingY = false LastMouseMove = Vector2.new(0, 0) Bar_2.BackgroundColor3 = Color3.fromRGB(77, 77, 77) Bar.BackgroundColor3 = Color3.fromRGB(77, 77, 77) end end end ) UIListLayout.Changed:Connect( function() Content_2.CanvasSize = UDim2.new(0, (UIListLayout.AbsoluteContentSize.X - Thickness), 0, UIListLayout.AbsoluteContentSize.Y - Thickness) refreshList() end ) Content_2.Changed:Connect( function() refreshScrollBars() end ) Content_2.CanvasSize = UDim2.new(0, (UIListLayout.AbsoluteContentSize.X - Thickness), 0, UIListLayout.AbsoluteContentSize.Y - Thickness) for i,v in pairs(Content_2:GetChildren()) do if v:IsA("TextButton") then animateButton(v) end end Content_2.ChildAdded:Connect(function(instance) if instance:IsA("TextButton") then animateButton(instance) end end) refreshList() return element end }, { Class = "Tabs", onCreate = function(self, elementSettings) local Tabs = Instance.new("Frame") local Top = Instance.new("Frame") local UIListLayout = Instance.new("UIListLayout") local Content = Instance.new("Frame") local Contents = Instance.new("ScrollingFrame") local UIListLayout_2 = Instance.new("UIListLayout") local UIListLayout_3 = Instance.new("UIListLayout") Tabs.Name = "Tabs" Tabs.BackgroundColor3 = Color3.fromRGB(38, 38, 38) Tabs.BackgroundTransparency = 1.000 Tabs.BorderSizePixel = 0 Tabs.Size = UDim2.new(1, 0, 1, 0) Top.Name = "Top" Top.Parent = Tabs Top.BackgroundColor3 = (_G.atOm.theme.tabs.secondaryColor or Color3.fromRGB(38, 38, 38)) Top.BorderSizePixel = 0 Top.Size = UDim2.new(1, 0, 0, 40) Top.LayoutOrder = 1 UIListLayout.Parent = Top UIListLayout.FillDirection = Enum.FillDirection.Horizontal UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder UIListLayout.VerticalAlignment = Enum.VerticalAlignment.Bottom Content.Name = "Content" Content.Parent = Tabs Content.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Content.BackgroundTransparency = 1.000 Content.Size = UDim2.new(1, 0, 1, -40) Content.LayoutOrder = 2 Contents.Name = "Contents" Contents.Parent = Content Contents.Active = true Contents.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Contents.BackgroundTransparency = 1.000 Contents.BorderSizePixel = 0 Contents.Size = UDim2.new(1, 0, 1, 0) UIListLayout_2.Parent = Contents UIListLayout_2.SortOrder = Enum.SortOrder.LayoutOrder UIListLayout_3.Parent = Tabs UIListLayout_3.SortOrder = Enum.SortOrder.LayoutOrder local ScrollBarX = Instance.new("Frame") local Bar = Instance.new("TextButton") local ScrollBarY = Instance.new("Frame") local Bar_2 = Instance.new("TextButton") ScrollBarX.Name = "ScrollBarX" ScrollBarX.Parent = Content ScrollBarX.AnchorPoint = Vector2.new(0, 1) ScrollBarX.BackgroundColor3 = Color3.fromRGB(38, 38, 38) ScrollBarX.BorderSizePixel = 0 ScrollBarX.Position = UDim2.new(0, 0, 1, 0) ScrollBarX.Size = UDim2.new(1, 0, 0, 12) ScrollBarX.Visible = false Bar.Name = "Bar" Bar.Parent = ScrollBarX Bar.AnchorPoint = Vector2.new(0, 0.5) Bar.BackgroundColor3 = Color3.fromRGB(77, 77, 77) Bar.BorderSizePixel = 0 Bar.Position = UDim2.new(0, 0, 0.5, 0) Bar.Size = UDim2.new(0, 100, 0, 14) Bar.AutoButtonColor = false Bar.Font = Enum.Font.SourceSans Bar.Text = "" Bar.TextColor3 = Color3.fromRGB(0, 0, 0) Bar.TextSize = 14.000 Bar.TextTransparency = 1.000 ScrollBarY.Name = "ScrollBarY" ScrollBarY.Parent = Content ScrollBarY.AnchorPoint = Vector2.new(1, 0) ScrollBarY.BackgroundColor3 = Color3.fromRGB(38, 38, 38) ScrollBarY.BorderSizePixel = 0 ScrollBarY.Position = UDim2.new(1, 0, 0, 0) ScrollBarY.Size = UDim2.new(0, 12, 1, 0) ScrollBarY.Visible = false Bar_2.Name = "Bar" Bar_2.Parent = ScrollBarY Bar_2.AnchorPoint = Vector2.new(0.5, 0) Bar_2.BackgroundColor3 = Color3.fromRGB(77, 77, 77) Bar_2.BorderSizePixel = 0 Bar_2.Position = UDim2.new(0.5, 0, 0, 0) Bar_2.Size = UDim2.new(0, 14, 0, 100) Bar_2.AutoButtonColor = false Bar_2.Font = Enum.Font.SourceSans Bar_2.Text = "" Bar_2.TextColor3 = Color3.fromRGB(0, 0, 0) Bar_2.TextSize = 14.000 Bar_2.TextTransparency = 1.000 local Destroyed = false local isDraggingY = false local isDraggingX = false local LastMouseMove = Vector2.new(0, 0) local Thickness = 12 local refreshScrollBars = function() end local element element = _G.atOm:createElement( { Class = self.Class, onDestroy = function() Tabs:Destroy() Destroyed = true end, userFunctions = { { Index = "createTab", Function = function(tab) --[[ Tab Button ]]-- local Tab = Instance.new("TextButton") local Line = Instance.new("Frame") Tab.Name = "Tab" Tab.Parent = Top Tab.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Tab.BackgroundTransparency = 1.000 Tab.BorderSizePixel = 0 Tab.Size = UDim2.new(0, 100, 1, -10) Tab.Font = Enum.Font.RobotoCondensed Tab.Text = tab Tab.TextColor3 = element.textColor Tab.TextSize = 16 Tab.TextYAlignment = Enum.TextYAlignment.Top Tab.Size = UDim2.new(0, Tab.TextBounds.X + 38, 0, 30) Line.Name = "Line" Line.Parent = Tab Line.BackgroundColor3 = element.primaryColor Line.Position = UDim2.new(0, 0, 1, -2) Line.Size = UDim2.new(1, 0, 0, 2) Line.Visible = false --[[ Tab Content ]]-- local TabContent = Instance.new("Frame") local _UIListLayout = Instance.new("UIListLayout") TabContent.Name = "TabContent" TabContent.Parent = Contents TabContent.BackgroundColor3 = Color3.fromRGB(255, 255, 255) TabContent.BackgroundTransparency = 1.000 TabContent.Visible = false _UIListLayout.Parent = TabContent _UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder _UIListLayout.Padding = UDim.new(0, 10) _UIListLayout.Changed:Connect(function(Property) if Property == "AbsoluteContentSize" then local newSize = _UIListLayout.AbsoluteContentSize TabContent.Size = UDim2.new(0, newSize.X, 0, newSize.Y) end end) local id = HttpService:GenerateGUID(false) local iTab = { Content = TabContent, Tab = Tab } local rTab = { Content = TabContent, destroyTab = function(self) element.tabs[id] = nil Tab:Destroy() TabContent:Destroy() self = nil end, selectTab = function(self) for i,v in pairs(element.tabs) do v.Content.Visible = false v.Tab.TextColor3 = element.textColor v.Tab.Line.Visible = false end TabContent.Visible = true Tab.TextColor3 = element.primaryColor Line.Visible = true end } element.tabs[id] = iTab Tab.MouseButton1Click:Connect(function() for i,v in pairs(element.tabs) do v.Content.Visible = false v.Tab.TextColor3 = element.textColor v.Tab.Line.Visible = false end TabContent.Visible = true Tab.TextColor3 = element.primaryColor Line.Visible = true end) return rTab end } }, userSettings = { { Property = "Parent", Value = Tabs.Parent, onChange = function(newValue) Tabs.Parent = newValue Tabs.Size = UDim2.new(1, 0, 0, newValue.AbsoluteSize.Y) end }, { Property = "primaryColor", Value = (_G.atOm.theme.tabs.primaryColor or Color3.fromRGB(38, 38, 38)), onChange = function(newValue) for i,v in pairs(element.Tabs) do v.Tab.Line.BackgroundColor3 = newValue end end }, { Property = "secondaryColor", Value = Top.BackgroundColor3, onChange = function(newValue) Top.BackgroundColor3 = newValue end }, { Property = "textColor", Value = (_G.atOm.theme.tabs.textColor or Color3.fromRGB(255, 255, 255)), onChange = function(newValue) for i,v in pairs(element.Tabs) do v.Tab.TextColor3 = newValue end end }, { Property = "tabs", Value = {}, Occuring = true } } } ) local refreshScrollBars = function() Contents.CanvasSize = UDim2.new(0, (Contents.UIListLayout.AbsoluteContentSize.X), 0, Contents.UIListLayout.AbsoluteContentSize.Y) local canvas_scaleY = Contents.CanvasPosition.Y / (Contents.CanvasSize.Y.Offset - Contents.AbsoluteWindowSize.Y) local Y = (1 - Bar_2.Size.Y.Scale) * canvas_scaleY local canvas_scaleX = Contents.CanvasPosition.X / (Contents.CanvasSize.X.Offset - Contents.AbsoluteWindowSize.X) local X = (1 - Bar.Size.X.Scale) * canvas_scaleX local isXScroll = (Contents.UIListLayout.AbsoluteContentSize.X > Contents.AbsoluteWindowSize.X) local isYScroll = (Contents.UIListLayout.AbsoluteContentSize.Y > Contents.AbsoluteWindowSize.Y) if isXScroll and isYScroll then ScrollBarY.Size = UDim2.new(0, Thickness, 1, -(Thickness)) ScrollBarX.Size = UDim2.new(1, -(Thickness), 0, Thickness) else ScrollBarY.Size = UDim2.new(0, Thickness, 1, 0) ScrollBarX.Size = UDim2.new(1, 0, 0, Thickness) end if isXScroll then ScrollBarX.Visible = true Bar.Size = UDim2.new( (Contents.AbsoluteWindowSize.X / Contents.CanvasSize.X.Offset), 0, 0, (Thickness - 4) ) Bar.Position = UDim2.new(X, 0, Bar.Position.Y.Scale, 0) else Bar.Size = UDim2.new(0, 0, 0, (Thickness - 4)) ScrollBarX.Visible = false end if isYScroll then ScrollBarY.Visible = true Bar_2.Size = UDim2.new( 0, (Thickness - 4), (Contents.AbsoluteWindowSize.Y / Contents.CanvasSize.Y.Offset), 0 ) Bar_2.Position = UDim2.new(Bar_2.Position.X.Scale, 0, Y, 0) else Bar_2.Size = UDim2.new(0, (Thickness - 4), 0, 0) ScrollBarY.Visible = false end end refreshScrollBars() Bar_2.MouseButton1Down:Connect( function(x, y) LastMouseMove = Vector2.new(x, y) isDraggingY = true Bar_2.BackgroundColor3 = Color3.fromRGB(122, 122, 122) end ) Bar.MouseButton1Down:Connect( function(x, y) LastMouseMove = Vector2.new(x, y) isDraggingX = true Bar.BackgroundColor3 = Color3.fromRGB(122, 122, 122) end ) UserInputService.InputEnded:Connect( function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then isDraggingY = false isDraggingX = false LastMouseMove = Vector2.new(0, 0) Bar_2.BackgroundColor3 = Color3.fromRGB(77, 77, 77) Bar.BackgroundColor3 = Color3.fromRGB(77, 77, 77) end end ) UserInputService.InputChanged:Connect( function(input, gameProcessed) if input.UserInputType == Enum.UserInputType.MouseMovement then local x = Mouse.X local y = Mouse.Y if isDraggingY == true and UserInputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton1) then local DragY = (y - LastMouseMove.Y) LastMouseMove = Vector2.new(x, y) local scaleY = Contents.CanvasSize.Y.Offset / (Content.AbsoluteSize.Y) local newY = (Contents.CanvasPosition.Y + (DragY * scaleY)) Contents.CanvasPosition = Vector2.new(Contents.CanvasPosition.X, newY) elseif isDraggingX == true and UserInputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton1) then local DragX = (x - LastMouseMove.X) LastMouseMove = Vector2.new(x, y) local scaleX = Contents.CanvasSize.X.Offset / (Content.AbsoluteSize.X) local newX = (Contents.CanvasPosition.X + (DragX * scaleX)) Contents.CanvasPosition = Vector2.new(newX, Contents.CanvasPosition.Y) elseif (isDraggingY == true or isDraggingX == true) and not UserInputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton1) then isDraggingY = false isDraggingY = false LastMouseMove = Vector2.new(0, 0) Bar_2.BackgroundColor3 = Color3.fromRGB(77, 77, 77) Bar.BackgroundColor3 = Color3.fromRGB(77, 77, 77) end end end ) Contents.UIListLayout.Changed:Connect( function() print("change") Contents.CanvasSize = UDim2.new(0, (Contents.UIListLayout.AbsoluteContentSize.X - Thickness), 0, Contents.UIListLayout.AbsoluteContentSize.Y - Thickness) end ) Contents.Changed:Connect( function() refreshScrollBars() end ) Contents.CanvasSize = UDim2.new(0, (Contents.UIListLayout.AbsoluteContentSize.X - Thickness), 0, Contents.UIListLayout.AbsoluteContentSize.Y - Thickness) return element end }, { Class = "Window", onCreate = function(self, elementSettings) local Window = Instance.new("ImageLabel") local Content = Instance.new("Frame") local Top = Instance.new("Frame") local Control = Instance.new("Frame") local UIListLayout = Instance.new("UIListLayout") local TextButton = Instance.new("TextButton") local ImageLabel = Instance.new("ImageLabel") local TextButton_2 = Instance.new("TextButton") local ImageLabel_2 = Instance.new("ImageLabel") local Info = Instance.new("Frame") local UIListLayout_2 = Instance.new("UIListLayout") local Logo = Instance.new("Frame") local ImageLabel_3 = Instance.new("ImageLabel") local WindowTitle = Instance.new("TextLabel") --Properties: Window.Name = "Window" Window.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Window.BackgroundTransparency = 1.000 Window.BorderColor3 = Color3.fromRGB(27, 42, 53) Window.BorderSizePixel = 0 Window.Position = UDim2.new(0.5, 0, 0.5, 0) Window.Size = UDim2.new(0, 700, 0, 472) Window.Image = "http://www.roblox.com/asset/?id=7005393664" Window.ImageColor3 = Color3.fromRGB(38, 38, 38) Window.AnchorPoint = Vector2.new(0.5, 0.5) Content.Name = "Content" Content.Parent = Window Content.BackgroundColor3 = (_G.atOm.theme.windows.primaryColor or Color3.fromRGB(23, 23, 23)) Content.BorderColor3 = Color3.fromRGB(23, 23, 23) Content.BorderSizePixel = 0 Content.Position = UDim2.new(0.0410000011, 0, 0.0390000008, 26) Content.Size = UDim2.new(0.917999983, 0, 0.921000004, -25) Top.Name = "Top" Top.Parent = Window Top.BackgroundColor3 = (_G.atOm.theme.windows.secondaryColor or Color3.fromRGB(38, 38, 38)) Top.BorderSizePixel = 0 Top.Position = UDim2.new(0.0410000011, 0, 0.0390000008, 1) Top.Size = UDim2.new(0.917999983, 0, 0, 25) Control.Name = "Control" Control.Parent = Top Control.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Control.BackgroundTransparency = 1.000 Control.BorderSizePixel = 0 Control.Size = UDim2.new(1, 0, 1, 0) UIListLayout.Parent = Control UIListLayout.FillDirection = Enum.FillDirection.Horizontal UIListLayout.HorizontalAlignment = Enum.HorizontalAlignment.Right UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder UIListLayout.VerticalAlignment = Enum.VerticalAlignment.Center TextButton.Parent = Control TextButton.BackgroundColor3 = (_G.atOm.theme.windows.secondaryColor or Color3.fromRGB(38, 38, 38)) TextButton.BorderSizePixel = 0 TextButton.Size = UDim2.new(0, 35, 0, 25) TextButton.Font = Enum.Font.SourceSans TextButton.Text = "" TextButton.TextColor3 = Color3.fromRGB(0, 0, 0) TextButton.TextSize = 14.000 ImageLabel.Parent = TextButton ImageLabel.AnchorPoint = Vector2.new(0.5, 0.5) ImageLabel.BackgroundColor3 = Color3.fromRGB(255, 255, 255) ImageLabel.BackgroundTransparency = 1.000 ImageLabel.Position = UDim2.new(0.5, 0, 0.5, 0) ImageLabel.Size = UDim2.new(1, 0, 1, -5) ImageLabel.Image = "http://www.roblox.com/asset/?id=7005448756" ImageLabel.ScaleType = Enum.ScaleType.Fit TextButton_2.Parent = Control TextButton_2.BackgroundColor3 = (_G.atOm.theme.windows.secondaryColor or Color3.fromRGB(38, 38, 38)) TextButton_2.BorderSizePixel = 0 TextButton_2.Size = UDim2.new(0, 35, 0, 25) TextButton_2.AutoButtonColor = false TextButton_2.Font = Enum.Font.SourceSans TextButton_2.Text = "" TextButton_2.TextColor3 = Color3.fromRGB(0, 0, 0) TextButton_2.TextSize = 14.000 ImageLabel_2.Parent = TextButton_2 ImageLabel_2.AnchorPoint = Vector2.new(0.5, 0.5) ImageLabel_2.BackgroundColor3 = Color3.fromRGB(255, 255, 255) ImageLabel_2.BackgroundTransparency = 1.000 ImageLabel_2.Position = UDim2.new(0.5, 0, 0.5, 0) ImageLabel_2.Size = UDim2.new(1, 0, 1, -5) ImageLabel_2.Image = "http://www.roblox.com/asset/?id=7005447610" ImageLabel_2.ScaleType = Enum.ScaleType.Fit Info.Name = "Info" Info.Parent = Top Info.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Info.BackgroundTransparency = 1.000 Info.BorderSizePixel = 0 Info.Size = UDim2.new(1, 0, 1, 0) UIListLayout_2.Parent = Info UIListLayout_2.FillDirection = Enum.FillDirection.Horizontal UIListLayout_2.SortOrder = Enum.SortOrder.LayoutOrder UIListLayout_2.VerticalAlignment = Enum.VerticalAlignment.Center UIListLayout_2.Padding = UDim.new(0, 5) Logo.Name = "Logo" Logo.Parent = Info Logo.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Logo.BackgroundTransparency = 1.000 Logo.Size = UDim2.new(0, 25, 0, 25) ImageLabel_3.Parent = Logo ImageLabel_3.AnchorPoint = Vector2.new(0.5, 0.5) ImageLabel_3.BackgroundColor3 = Color3.fromRGB(255, 255, 255) ImageLabel_3.BackgroundTransparency = 1.000 ImageLabel_3.BorderSizePixel = 0 ImageLabel_3.Position = UDim2.new(0.5, 0, 0.5, 0) ImageLabel_3.Size = UDim2.new(1, -5, 1, -5) ImageLabel_3.Image = "http://www.roblox.com/asset/?id=7005536545" ImageLabel_3.ScaleType = Enum.ScaleType.Fit WindowTitle.Name = "Window Title" WindowTitle.Parent = Info WindowTitle.BackgroundColor3 = Color3.fromRGB(255, 255, 255) WindowTitle.BackgroundTransparency = 1.000 WindowTitle.BorderSizePixel = 0 WindowTitle.Size = UDim2.new(0, 200, 1, 0) WindowTitle.Font = Enum.Font.Roboto WindowTitle.Text = "" WindowTitle.TextColor3 = Color3.fromRGB(255, 255, 255) WindowTitle.TextSize = 13.000 WindowTitle.TextWrapped = true WindowTitle.TextXAlignment = Enum.TextXAlignment.Left local Content_1 = Instance.new("ScrollingFrame") local UIListLayout_3 = Instance.new("UIListLayout") local ScrollBarY = Instance.new("Frame") local Bar = Instance.new("TextButton") local ScrollBarX = Instance.new("Frame") local Bar_2 = Instance.new("TextButton") --Properties: Content_1.Name = "Content" Content_1.Parent = Content Content_1.Active = true Content_1.BackgroundColor3 = (_G.atOm.theme.windows.primaryColor or Color3.fromRGB(23, 23, 23)) Content_1.BorderSizePixel = 0 Content_1.Size = UDim2.new(1, 0, 1, 0) Content_1.CanvasSize = UDim2.new(0, 0, 0, 0) Content_1.HorizontalScrollBarInset = Enum.ScrollBarInset.Always Content_1.ScrollBarThickness = 14 Content_1.ScrollBarImageTransparency = 1 UIListLayout_3.Parent = Content_1 UIListLayout_3.SortOrder = Enum.SortOrder.LayoutOrder ScrollBarY.Name = "ScrollBarY" ScrollBarY.Parent = Content ScrollBarY.AnchorPoint = Vector2.new(1, 0) ScrollBarY.BackgroundColor3 = Color3.fromRGB(38, 38, 38) ScrollBarY.BorderSizePixel = 0 ScrollBarY.Position = UDim2.new(1, 0, 0, 0) ScrollBarY.Size = UDim2.new(0, 14, 1, 0) ScrollBarY.Visible = false Bar.Name = "Bar" Bar.Parent = ScrollBarY Bar.AnchorPoint = Vector2.new(0.5, 0) Bar.BackgroundColor3 = Color3.fromRGB(77, 77, 77) Bar.BorderSizePixel = 0 Bar.Position = UDim2.new(0.5, 0, 0, 0) Bar.Size = UDim2.new(0, 10, 0, 100) Bar.AutoButtonColor = false Bar.Font = Enum.Font.SourceSans Bar.Text = "0" Bar.TextColor3 = Color3.fromRGB(0, 0, 0) Bar.TextSize = 14.000 Bar.TextTransparency = 1.000 ScrollBarX.Name = "ScrollBarX" ScrollBarX.Parent = Content ScrollBarX.AnchorPoint = Vector2.new(0, 1) ScrollBarX.BackgroundColor3 = Color3.fromRGB(38, 38, 38) ScrollBarX.BorderSizePixel = 0 ScrollBarX.Position = UDim2.new(0, 0, 1, 0) ScrollBarX.Size = UDim2.new(1, 0, 0, 14) ScrollBarX.Visible = false Bar_2.Name = "Bar" Bar_2.Parent = ScrollBarX Bar_2.AnchorPoint = Vector2.new(0, 0.5) Bar_2.BackgroundColor3 = Color3.fromRGB(77, 77, 77) Bar_2.BorderSizePixel = 0 Bar_2.Position = UDim2.new(0, 0, 0.5, 0) Bar_2.Size = UDim2.new(0, 100, 0, 10) Bar_2.AutoButtonColor = false Bar_2.Font = Enum.Font.SourceSans Bar_2.Text = "0" Bar_2.TextColor3 = Color3.fromRGB(0, 0, 0) Bar_2.TextSize = 14.000 Bar_2.TextTransparency = 1.000 local Destroyed = false local element element = _G.atOm:createElement( { Class = self.Class, onDestroy = function() Window:Destroy() Destroyed = true end, Content = Content_1, userSettings = { { Property = "Width", Value = Window.Size.X.Offset, Occuring = true, onChange = function(newValue) Window.Size = UDim2.new(0, newValue, 0, (newValue * 0.6750681198910082)) end }, { Property = "Visible", Value = Window.Visible, Occuring = true, onChange = function(newValue) Window.Visible = newValue end }, { Property = "Position", Value = Window.Position, Occuring = true, onChange = function(newValue) Window.Position = newValue end }, { Property = "AnchorPoint", Value = Window.AnchorPoint, Occuring = true, onChange = function(newValue) Window.AnchorPoint = newValue end }, { Property = "Parent", Value = Window.Parent, onChange = function(newValue) Window.Parent = newValue end }, { Property = "primaryColor", Value = Content.BackgroundColor3, Occuring = true, onChange = function(newValue) Content.BackgroundColor3 = newValue Content_1.BackgroundColor3 = newValue end }, { Property = "secondaryColor", Value = Top.BackgroundColor3, Occuring = true, onChange = function(newValue) Top.BackgroundColor3 = newValue TextButton.BackgroundColor3 = newValue TextButton_2.BackgroundColor3 = newValue end }, { Property = "titleColor", Value = (_G.atOm.theme.windows.titleColor or Title.TextColor3), Occuring = true, onChange = function(newValue) titleColor.TextColor3 = newValue end }, { Property = "buttonColor", Value = (_G.atOm.theme.windows.buttonColor or TextButton.ImageColor3), Occuring = true, onChange = function(newValue) TextButton.ImageColor3 = newValue TextButton_2.ImageColor3 = newValue end }, { Property = "iconColor", Value = (_G.atOm.theme.windows.iconColor or ImageLabel_3.ImageColor3), Occuring = true, onChange = function(newValue) ImageLabel_3.ImageColor3 = newValue end }, { Property = "Icon", Value = (_G.atOm.theme.windows.icon or ImageLabel_3.Image), Occuring = true, onChange = function(newValue) ImageLabel_3.Image = newValue end }, { Property = "Title", Value = WindowTitle.Text, Occuring = true, onChange = function(newValue) WindowTitle.Text = newValue end }, { Property = "closeDestroy", Value = true, Occuring = true, onChange = function() TextButton_2.MouseButton1Click:Connect( function() if element.closeDestroy == true then element:Destroy() else element.Visible = false end end ) end }, } } ) TextButton_2.MouseButton1Click:Connect( function() if element.closeDestroy == true then element:Destroy() else element.Visible = false end end ) local NormalInfo = { BackgroundColor3 = element.secondaryColor } local Tween local onHover = function() NormalInfo.BackgroundColor3 = element.secondaryColor Tween = TweenService:Create( TextButton_2, TweenInfo.new(0.25, Enum.EasingStyle.Sine, Enum.EasingDirection.Out, 0, false, 0), NormalInfo ) Tween:Play() end ImageLabel_2.MouseLeave:Connect(onHover) MouseLibrary.bindMouseEvents( TextButton_2, function() Tween = TweenService:Create( TextButton_2, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, false, 0), {BackgroundColor3 = Color3.fromRGB(255, 0, 0)} ) Tween:Play() end, onHover ) local refreshInfoBar = function() Info.Size = UDim2.new(1, -(UIListLayout.AbsoluteContentSize.X), 1, 0) end local isDraggingY = false local isDraggingX = false local LastMouseMove = Vector2.new(0, 0) local Thickness = 14 local lastPosition = Vector2.new(0, 0) local isTouchTopBar = false local isDragging = false local refreshScrollBars = function() Content_1.CanvasSize = UDim2.new(0, UIListLayout_3.AbsoluteContentSize.X, 0, UIListLayout_3.AbsoluteContentSize.Y) local canvas_scaleY = Content_1.CanvasPosition.Y / (Content_1.CanvasSize.Y.Offset - Content_1.AbsoluteWindowSize.Y) local Y = (1 - Bar.Size.Y.Scale) * canvas_scaleY local canvas_scaleX = Content_1.CanvasPosition.X / (Content_1.CanvasSize.X.Offset - Content_1.AbsoluteWindowSize.X) local X = (1 - Bar_2.Size.X.Scale) * canvas_scaleX local isXScroll = (UIListLayout_3.AbsoluteContentSize.X > Content_1.AbsoluteWindowSize.X) local isYScroll = (UIListLayout_3.AbsoluteContentSize.Y > Content_1.AbsoluteWindowSize.Y) if isXScroll and isYScroll then ScrollBarY.Size = UDim2.new(0, 14, 1, -(Thickness)) ScrollBarX.Size = UDim2.new(1, -(Thickness), 0, 14) else ScrollBarY.Size = UDim2.new(0, 14, 1, 0) ScrollBarX.Size = UDim2.new(1, 0, 0, 14) end if isXScroll then ScrollBarX.Visible = true Bar_2.Size = UDim2.new( (Content_1.AbsoluteWindowSize.X / Content_1.CanvasSize.X.Offset), 0, 0, (Thickness - 4) ) Bar_2.Position = UDim2.new(X, 0, Bar_2.Position.Y.Scale, 0) else Bar_2.Size = UDim2.new(0, 0, 0, (Thickness - 4)) ScrollBarX.Visible = false end if isYScroll then ScrollBarY.Visible = true Bar.Size = UDim2.new( 0, (Thickness - 4), (Content_1.AbsoluteWindowSize.Y / Content_1.CanvasSize.Y.Offset), 0 ) Bar.Position = UDim2.new(Bar.Position.X.Scale, 0, Y, 0) else Bar.Size = UDim2.new(0, (Thickness - 4), 0, 0) ScrollBarY.Visible = false end end refreshScrollBars() refreshInfoBar() UIListLayout_3.Changed:Connect( function() Content_1.CanvasSize = UDim2.new(0, UIListLayout_3.AbsoluteContentSize.X, 0, UIListLayout_3.AbsoluteContentSize.Y) end ) UIListLayout.Changed:Connect( function() refreshInfoBar() end ) Content_1.Changed:Connect( function() refreshScrollBars() end ) Info.MouseEnter:Connect( function() isTouchTopBar = true end ) Info.MouseLeave:Connect( function() isTouchTopBar = false end ) Bar.MouseButton1Down:Connect( function(x, y) LastMouseMove = Vector2.new(x, y) isDraggingY = true Bar.BackgroundColor3 = Color3.fromRGB(122, 122, 122) end ) Bar_2.MouseButton1Down:Connect( function(x, y) LastMouseMove = Vector2.new(x, y) isDraggingX = true Bar_2.BackgroundColor3 = Color3.fromRGB(122, 122, 122) end ) UserInputService.InputEnded:Connect( function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then isDraggingY = false isDraggingX = false isDragging = false lastPosition = Vector2.new(0, 0) LastMouseMove = Vector2.new(0, 0) Bar.BackgroundColor3 = Color3.fromRGB(77, 77, 77) Bar_2.BackgroundColor3 = Color3.fromRGB(77, 77, 77) end end ) UserInputService.InputChanged:Connect( function(input, gameProcessed) if input.UserInputType == Enum.UserInputType.MouseMovement then if isDragging then local Drag = Vector2.new((Mouse.X - lastPosition.X), (Mouse.Y - lastPosition.Y)) lastPosition = Vector2.new(Mouse.X, Mouse.Y) Window.Position = (Window.Position + UDim2.new(0, Drag.X, 0, Drag.Y)) end local x = Mouse.X local y = Mouse.Y if isDraggingY == true and UserInputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton1) then local DragY = (y - LastMouseMove.Y) LastMouseMove = Vector2.new(x, y) local scaleY = Content_1.CanvasSize.Y.Offset / (Content.AbsoluteSize.Y) local newY = (Content_1.CanvasPosition.Y + (DragY * scaleY)) Content_1.CanvasPosition = Vector2.new(Content_1.CanvasPosition.X, newY) elseif isDraggingX == true and UserInputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton1) then local DragX = (x - LastMouseMove.X) LastMouseMove = Vector2.new(x, y) local scaleX = Content_1.CanvasSize.X.Offset / (Content.AbsoluteSize.X) local newX = (Content_1.CanvasPosition.X + (DragX * scaleX)) Content_1.CanvasPosition = Vector2.new(newX, Content_1.CanvasPosition.Y) elseif (isDraggingY == true or isDraggingX == true) and not UserInputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton1) then isDraggingY = false isDraggingY = false LastMouseMove = Vector2.new(0, 0) Bar.BackgroundColor3 = Color3.fromRGB(77, 77, 77) Bar_2.BackgroundColor3 = Color3.fromRGB(77, 77, 77) end end end ) UserInputService.InputBegan:Connect( function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 and isTouchTopBar then isDragging = true lastPosition = Vector2.new(Mouse.X, Mouse.Y) end end ) return element end } } return Package