saltar al contenido principal
paste
bin
.ca
type · paste · share
⌘
K
Familia
La familia bin
pastebin.ca
centro
Share text and code with expiry and privacy controls.
imagebin.ca
Upload and share images with direct links.
filebin.ca
Drop a file and get a shareable link.
notebin.ca
Write Markdown notes with durable links.
turl.ca
Short, reputation-checked links.
attn.ca
Notifications and alerts for your services.
voicebin.ca
Record and share short voice clips.
dnsbin.ca
Inspect DNS and debug records.
Docs
Iniciar sesión
?
← volver a la publicación
›
Editar / bifurcar
maclib ui
#7REm6pY6GB
public / public
nueva versión
por @jade-jellyfish-0960
creado 8 days ago
sin caducidad
199.0 KB
sintaxis:
lua
Tus cambios crean una nueva publicación enlazada a esta — la original no se toca.
nueva versión
Tus cambios crean una nueva publicación enlazada a esta — la original no se toca.
Título (opcional)
Nombre de archivo
Sintaxis
lua
text
bash
c
cpp
css
diff
dockerfile
go
html
ini
java
javascript
json
kotlin
lua
makefile
markdown
nginx
php
python
ruby
rust
shellscript
sql
swift
toml
typescript
xml
yaml
Visibilidad
Feed público
Acceso
public
Caduca
7 días
10 min
1 hora
1 día
7 días
30 días
90 días
personalizada…
Caducidad personalizada
Nota de cambio
(opcional)
Esta publicación aparecerá en el feed público. Cambia Visibilidad si solo quieres compartirla por enlace.
Crear nueva versión
Cancelar
Pegar o escribir…
local MacLib = { Options = {}, Folder = "Maclib", GetService = function(service) return cloneref and cloneref(game:GetService(service)) or game:GetService(service) end } --// Services local TweenService = MacLib.GetService("TweenService") local RunService = MacLib.GetService("RunService") local HttpService = MacLib.GetService("HttpService") local ContentProvider = MacLib.GetService("ContentProvider") local UserInputService = MacLib.GetService("UserInputService") local Lighting = MacLib.GetService("Lighting") local Players = MacLib.GetService("Players") --// Variables local isStudio = RunService:IsStudio() local LocalPlayer = Players.LocalPlayer local windowState local acrylicBlur local hasGlobalSetting local tabs = {} local currentTabInstance = nil local tabIndex = 0 local unloaded = false local assets = { interFont = "rbxassetid://12187365364", userInfoBlurred = "rbxassetid://18824089198", toggleBackground = "rbxassetid://18772190202", togglerHead = "rbxassetid://18772309008", buttonImage = "rbxassetid://10709791437", searchIcon = "rbxassetid://86737463322606", colorWheel = "rbxassetid://2849458409", colorTarget = "rbxassetid://73265255323268", grid = "rbxassetid://121484455191370", globe = "rbxassetid://108952102602834", transform = "rbxassetid://90336395745819", dropdown = "rbxassetid://18865373378", sliderbar = "rbxassetid://18772615246", sliderhead = "rbxassetid://18772834246", } --// Functions local function GetGui() local newGui = Instance.new("ScreenGui") newGui.ScreenInsets = Enum.ScreenInsets.None newGui.ResetOnSpawn = false newGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling newGui.DisplayOrder = 2147483647 local parent = RunService:IsStudio() and LocalPlayer:FindFirstChild("PlayerGui") or (gethui and gethui()) or (cloneref and cloneref(MacLib.GetService("CoreGui")) or MacLib.GetService("CoreGui")) newGui.Parent = parent return newGui end local function Tween(instance, tweeninfo, propertytable) return TweenService:Create(instance, tweeninfo, propertytable) end --// Library Functions function MacLib:Window(Settings) local WindowFunctions = {Settings = Settings} if Settings.AcrylicBlur ~= nil then acrylicBlur = Settings.AcrylicBlur else acrylicBlur = true end local macLib = GetGui() local notifications = Instance.new("Frame") notifications.Name = "Notifications" notifications.BackgroundColor3 = Color3.fromRGB(255, 255, 255) notifications.BackgroundTransparency = 1 notifications.BorderColor3 = Color3.fromRGB(0, 0, 0) notifications.BorderSizePixel = 0 notifications.Size = UDim2.fromScale(1, 1) notifications.Parent = macLib notifications.ZIndex = 2 local notificationsUIListLayout = Instance.new("UIListLayout") notificationsUIListLayout.Name = "NotificationsUIListLayout" notificationsUIListLayout.Padding = UDim.new(0, 10) notificationsUIListLayout.HorizontalAlignment = Enum.HorizontalAlignment.Right notificationsUIListLayout.SortOrder = Enum.SortOrder.LayoutOrder notificationsUIListLayout.VerticalAlignment = Enum.VerticalAlignment.Bottom notificationsUIListLayout.Parent = notifications local notificationsUIPadding = Instance.new("UIPadding") notificationsUIPadding.Name = "NotificationsUIPadding" notificationsUIPadding.PaddingBottom = UDim.new(0, 10) notificationsUIPadding.PaddingLeft = UDim.new(0, 10) notificationsUIPadding.PaddingRight = UDim.new(0, 10) notificationsUIPadding.PaddingTop = UDim.new(0, 10) notificationsUIPadding.Parent = notifications local base = Instance.new("Frame") base.Name = "Base" base.AnchorPoint = Vector2.new(0.5, 0.5) base.BackgroundColor3 = Color3.fromRGB(15, 15, 15) base.BackgroundTransparency = Settings.AcrylicBlur and 0.05 or 0 base.BorderColor3 = Color3.fromRGB(0, 0, 0) base.BorderSizePixel = 0 base.Position = UDim2.fromScale(0.5, 0.5) base.Size = Settings.Size or UDim2.fromOffset(868, 650) local baseUIScale = Instance.new("UIScale") baseUIScale.Name = "BaseUIScale" baseUIScale.Parent = base local baseUICorner = Instance.new("UICorner") baseUICorner.Name = "BaseUICorner" baseUICorner.CornerRadius = UDim.new(0, 10) baseUICorner.Parent = base local baseUIStroke = Instance.new("UIStroke") baseUIStroke.Name = "BaseUIStroke" baseUIStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border baseUIStroke.Color = Color3.fromRGB(255, 255, 255) baseUIStroke.Transparency = 0.9 baseUIStroke.Parent = base local sidebar = Instance.new("Frame") sidebar.Name = "Sidebar" sidebar.BackgroundColor3 = Color3.fromRGB(255, 255, 255) sidebar.BackgroundTransparency = 1 sidebar.BorderColor3 = Color3.fromRGB(0, 0, 0) sidebar.BorderSizePixel = 0 sidebar.Position = UDim2.fromScale(-3.52e-08, 4.69e-08) sidebar.Size = UDim2.fromScale(0.325, 1) local divider = Instance.new("Frame") divider.Name = "Divider" divider.AnchorPoint = Vector2.new(1, 0) divider.BackgroundColor3 = Color3.fromRGB(255, 255, 255) divider.BackgroundTransparency = 0.9 divider.BorderColor3 = Color3.fromRGB(0, 0, 0) divider.BorderSizePixel = 0 divider.Position = UDim2.fromScale(1, 0) divider.Size = UDim2.new(0, 1, 1, 0) divider.Parent = sidebar local dividerInteract = Instance.new("TextButton") dividerInteract.Name = "DividerInteract" dividerInteract.AnchorPoint = Vector2.new(0.5, 0) dividerInteract.BackgroundColor3 = Color3.fromRGB(255, 255, 255) dividerInteract.BackgroundTransparency = 1 dividerInteract.BorderColor3 = Color3.fromRGB(0, 0, 0) dividerInteract.BorderSizePixel = 0 dividerInteract.FontFace = Font.new("rbxasset://fonts/families/SourceSansPro.json") dividerInteract.Position = UDim2.fromScale(0.5, 0) dividerInteract.Size = UDim2.new(1, 6, 1, 0) dividerInteract.Text = "" dividerInteract.TextColor3 = Color3.fromRGB(0, 0, 0) dividerInteract.TextSize = 14 dividerInteract.Parent = divider local windowControls = Instance.new("Frame") windowControls.Name = "WindowControls" windowControls.BackgroundColor3 = Color3.fromRGB(255, 255, 255) windowControls.BackgroundTransparency = 1 windowControls.BorderColor3 = Color3.fromRGB(0, 0, 0) windowControls.BorderSizePixel = 0 windowControls.Size = UDim2.new(1, 0, 0, 31) local controls = Instance.new("Frame") controls.Name = "Controls" controls.BackgroundColor3 = Color3.fromRGB(119, 174, 94) controls.BackgroundTransparency = 1 controls.BorderColor3 = Color3.fromRGB(0, 0, 0) controls.BorderSizePixel = 0 controls.Size = UDim2.fromScale(1, 1) local uIListLayout = Instance.new("UIListLayout") uIListLayout.Name = "UIListLayout" uIListLayout.Padding = UDim.new(0, 5) uIListLayout.FillDirection = Enum.FillDirection.Horizontal uIListLayout.SortOrder = Enum.SortOrder.LayoutOrder uIListLayout.VerticalAlignment = Enum.VerticalAlignment.Center uIListLayout.Parent = controls local uIPadding = Instance.new("UIPadding") uIPadding.Name = "UIPadding" uIPadding.PaddingLeft = UDim.new(0, 11) uIPadding.Parent = controls local windowControlSettings = { sizes = { enabled = UDim2.fromOffset(8, 8), disabled = UDim2.fromOffset(7, 7) }, transparencies = { enabled = 0, disabled = 1 }, strokeTransparency = 0.9, } local stroke = Instance.new("UIStroke") stroke.Name = "BaseUIStroke" stroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border stroke.Color = Color3.fromRGB(255, 255, 255) stroke.Transparency = windowControlSettings.strokeTransparency local exit = Instance.new("TextButton") exit.Name = "Exit" exit.FontFace = Font.new("rbxasset://fonts/families/SourceSansPro.json") exit.Text = "" exit.TextColor3 = Color3.fromRGB(0, 0, 0) exit.TextSize = 14 exit.AutoButtonColor = false exit.BackgroundColor3 = Color3.fromRGB(250, 93, 86) exit.BorderColor3 = Color3.fromRGB(0, 0, 0) exit.BorderSizePixel = 0 local uICorner = Instance.new("UICorner") uICorner.Name = "UICorner" uICorner.CornerRadius = UDim.new(1, 0) uICorner.Parent = exit exit.Parent = controls local minimize = Instance.new("TextButton") minimize.Name = "Minimize" minimize.FontFace = Font.new("rbxasset://fonts/families/SourceSansPro.json") minimize.Text = "" minimize.TextColor3 = Color3.fromRGB(0, 0, 0) minimize.TextSize = 14 minimize.AutoButtonColor = false minimize.BackgroundColor3 = Color3.fromRGB(252, 190, 57) minimize.BorderColor3 = Color3.fromRGB(0, 0, 0) minimize.BorderSizePixel = 0 minimize.LayoutOrder = 1 local uICorner1 = Instance.new("UICorner") uICorner1.Name = "UICorner" uICorner1.CornerRadius = UDim.new(1, 0) uICorner1.Parent = minimize minimize.Parent = controls local maximize = Instance.new("TextButton") maximize.Name = "Maximize" maximize.FontFace = Font.new("rbxasset://fonts/families/SourceSansPro.json") maximize.Text = "" maximize.TextColor3 = Color3.fromRGB(0, 0, 0) maximize.TextSize = 14 maximize.AutoButtonColor = false maximize.BackgroundColor3 = Color3.fromRGB(119, 174, 94) maximize.BorderColor3 = Color3.fromRGB(0, 0, 0) maximize.BorderSizePixel = 0 maximize.LayoutOrder = 1 local uICorner2 = Instance.new("UICorner") uICorner2.Name = "UICorner" uICorner2.CornerRadius = UDim.new(1, 0) uICorner2.Parent = maximize maximize.Parent = controls local function applyState(button, enabled) local size = enabled and windowControlSettings.sizes.enabled or windowControlSettings.sizes.disabled local transparency = enabled and windowControlSettings.transparencies.enabled or windowControlSettings.transparencies.disabled button.Size = size button.BackgroundTransparency = transparency button.Active = enabled button.Interactable = enabled for _, child in ipairs(button:GetChildren()) do if child:IsA("UIStroke") then child.Transparency = transparency end end if not enabled then stroke:Clone().Parent = button end end applyState(maximize, false) local controlsList = {exit, minimize} for _, button in pairs(controlsList) do local buttonName = button.Name local isEnabled = true if Settings.DisabledWindowControls and table.find(Settings.DisabledWindowControls, buttonName) then isEnabled = false end applyState(button, isEnabled) end controls.Parent = windowControls local divider1 = Instance.new("Frame") divider1.Name = "Divider" divider1.AnchorPoint = Vector2.new(0, 1) divider1.BackgroundColor3 = Color3.fromRGB(255, 255, 255) divider1.BackgroundTransparency = 0.9 divider1.BorderColor3 = Color3.fromRGB(0, 0, 0) divider1.BorderSizePixel = 0 divider1.Position = UDim2.fromScale(0, 1) divider1.Size = UDim2.new(1, 0, 0, 1) divider1.Parent = windowControls windowControls.Parent = sidebar local information = Instance.new("Frame") information.Name = "Information" information.BackgroundColor3 = Color3.fromRGB(255, 255, 255) information.BackgroundTransparency = 1 information.BorderColor3 = Color3.fromRGB(0, 0, 0) information.BorderSizePixel = 0 information.Position = UDim2.fromOffset(0, 31) information.Size = UDim2.new(1, 0, 0, 60) local divider2 = Instance.new("Frame") divider2.Name = "Divider" divider2.AnchorPoint = Vector2.new(0, 1) divider2.BackgroundColor3 = Color3.fromRGB(255, 255, 255) divider2.BackgroundTransparency = 0.9 divider2.BorderColor3 = Color3.fromRGB(0, 0, 0) divider2.BorderSizePixel = 0 divider2.Position = UDim2.fromScale(0, 1) divider2.Size = UDim2.new(1, 0, 0, 1) divider2.Parent = information local informationHolder = Instance.new("Frame") informationHolder.Name = "InformationHolder" informationHolder.BackgroundColor3 = Color3.fromRGB(255, 255, 255) informationHolder.BackgroundTransparency = 1 informationHolder.BorderColor3 = Color3.fromRGB(0, 0, 0) informationHolder.BorderSizePixel = 0 informationHolder.Size = UDim2.fromScale(1, 1) local informationHolderUIPadding = Instance.new("UIPadding") informationHolderUIPadding.Name = "InformationHolderUIPadding" informationHolderUIPadding.PaddingBottom = UDim.new(0, 10) informationHolderUIPadding.PaddingLeft = UDim.new(0, 23) informationHolderUIPadding.PaddingRight = UDim.new(0, 22) informationHolderUIPadding.PaddingTop = UDim.new(0, 10) informationHolderUIPadding.Parent = informationHolder local globalSettingsButton = Instance.new("ImageButton") globalSettingsButton.Name = "GlobalSettingsButton" globalSettingsButton.Image = assets.globe globalSettingsButton.ImageTransparency = 0.5 globalSettingsButton.AnchorPoint = Vector2.new(1, 0.5) globalSettingsButton.BackgroundColor3 = Color3.fromRGB(255, 255, 255) globalSettingsButton.BackgroundTransparency = 1 globalSettingsButton.BorderColor3 = Color3.fromRGB(0, 0, 0) globalSettingsButton.BorderSizePixel = 0 globalSettingsButton.Position = UDim2.fromScale(1, 0.5) globalSettingsButton.Size = UDim2.fromOffset(16,16) globalSettingsButton.Parent = informationHolder local function ChangeGlobalSettingsButtonState(State) if State == "Default" then Tween(globalSettingsButton, TweenInfo.new(0.2, Enum.EasingStyle.Sine), { ImageTransparency = 0.5 }):Play() elseif State == "Hover" then Tween(globalSettingsButton, TweenInfo.new(0.2, Enum.EasingStyle.Sine), { ImageTransparency = 0.3 }):Play() end end globalSettingsButton.MouseEnter:Connect(function() ChangeGlobalSettingsButtonState("Hover") end) globalSettingsButton.MouseLeave:Connect(function() ChangeGlobalSettingsButtonState("Default") end) local titleFrame = Instance.new("Frame") titleFrame.Name = "TitleFrame" titleFrame.BackgroundColor3 = Color3.fromRGB(255, 255, 255) titleFrame.BackgroundTransparency = 1 titleFrame.BorderColor3 = Color3.fromRGB(0, 0, 0) titleFrame.BorderSizePixel = 0 titleFrame.Size = UDim2.fromScale(1, 1) local title = Instance.new("TextLabel") title.Name = "Title" title.FontFace = Font.new( assets.interFont, Enum.FontWeight.SemiBold, Enum.FontStyle.Normal ) title.Text = Settings.Title title.TextColor3 = Color3.fromRGB(255, 255, 255) title.RichText = true title.TextSize = 18 title.TextTransparency = 0.1 title.TextTruncate = Enum.TextTruncate.SplitWord title.TextXAlignment = Enum.TextXAlignment.Left title.TextYAlignment = Enum.TextYAlignment.Top title.AutomaticSize = Enum.AutomaticSize.Y title.BackgroundColor3 = Color3.fromRGB(255, 255, 255) title.BackgroundTransparency = 1 title.BorderColor3 = Color3.fromRGB(0, 0, 0) title.BorderSizePixel = 0 title.Size = UDim2.new(1, -20, 0, 0) title.Parent = titleFrame local subtitle = Instance.new("TextLabel") subtitle.Name = "Subtitle" subtitle.FontFace = Font.new( assets.interFont, Enum.FontWeight.Medium, Enum.FontStyle.Normal ) subtitle.RichText = true subtitle.Text = Settings.Subtitle subtitle.RichText = true subtitle.TextColor3 = Color3.fromRGB(255, 255, 255) subtitle.TextSize = 12 subtitle.TextTransparency = 0.7 subtitle.TextTruncate = Enum.TextTruncate.SplitWord subtitle.TextXAlignment = Enum.TextXAlignment.Left subtitle.TextYAlignment = Enum.TextYAlignment.Top subtitle.AutomaticSize = Enum.AutomaticSize.Y subtitle.BackgroundColor3 = Color3.fromRGB(255, 255, 255) subtitle.BackgroundTransparency = 1 subtitle.BorderColor3 = Color3.fromRGB(0, 0, 0) subtitle.BorderSizePixel = 0 subtitle.LayoutOrder = 1 subtitle.Size = UDim2.new(1, -20, 0, 0) subtitle.Parent = titleFrame local titleFrameUIListLayout = Instance.new("UIListLayout") titleFrameUIListLayout.Name = "TitleFrameUIListLayout" titleFrameUIListLayout.Padding = UDim.new(0, 3) titleFrameUIListLayout.SortOrder = Enum.SortOrder.LayoutOrder titleFrameUIListLayout.VerticalAlignment = Enum.VerticalAlignment.Center titleFrameUIListLayout.Parent = titleFrame titleFrame.Parent = informationHolder informationHolder.Parent = information information.Parent = sidebar local sidebarGroup = Instance.new("Frame") sidebarGroup.Name = "SidebarGroup" sidebarGroup.BackgroundColor3 = Color3.fromRGB(255, 255, 255) sidebarGroup.BackgroundTransparency = 1 sidebarGroup.BorderColor3 = Color3.fromRGB(0, 0, 0) sidebarGroup.BorderSizePixel = 0 sidebarGroup.Position = UDim2.fromOffset(0, 91) sidebarGroup.Size = UDim2.new(1, 0, 1, -91) local userInfo = Instance.new("Frame") userInfo.Name = "UserInfo" userInfo.AnchorPoint = Vector2.new(0, 1) userInfo.BackgroundColor3 = Color3.fromRGB(255, 255, 255) userInfo.BackgroundTransparency = 1 userInfo.BorderColor3 = Color3.fromRGB(0, 0, 0) userInfo.BorderSizePixel = 0 userInfo.Position = UDim2.fromScale(0, 1) userInfo.Size = UDim2.new(1, 0, 0, 107) local informationGroup = Instance.new("Frame") informationGroup.Name = "InformationGroup" informationGroup.BackgroundColor3 = Color3.fromRGB(255, 255, 255) informationGroup.BackgroundTransparency = 1 informationGroup.BorderColor3 = Color3.fromRGB(0, 0, 0) informationGroup.BorderSizePixel = 0 informationGroup.Size = UDim2.fromScale(1, 1) local informationGroupUIPadding = Instance.new("UIPadding") informationGroupUIPadding.Name = "InformationGroupUIPadding" informationGroupUIPadding.PaddingBottom = UDim.new(0, 17) informationGroupUIPadding.PaddingLeft = UDim.new(0, 25) informationGroupUIPadding.Parent = informationGroup local informationGroupUIListLayout = Instance.new("UIListLayout") informationGroupUIListLayout.Name = "InformationGroupUIListLayout" informationGroupUIListLayout.FillDirection = Enum.FillDirection.Horizontal informationGroupUIListLayout.SortOrder = Enum.SortOrder.LayoutOrder informationGroupUIListLayout.VerticalAlignment = Enum.VerticalAlignment.Center informationGroupUIListLayout.Parent = informationGroup local userId = LocalPlayer.UserId local thumbType = Enum.ThumbnailType.AvatarBust local thumbSize = Enum.ThumbnailSize.Size48x48 local headshotImage, isReady = Players:GetUserThumbnailAsync(userId, thumbType, thumbSize) local headshot = Instance.new("ImageLabel") headshot.Name = "Headshot" headshot.BackgroundColor3 = Color3.fromRGB(255, 255, 255) headshot.BackgroundTransparency = 1 headshot.BorderColor3 = Color3.fromRGB(0, 0, 0) headshot.BorderSizePixel = 0 headshot.Size = UDim2.fromOffset(32, 32) headshot.Image = (isReady and headshotImage) or "rbxassetid://0" local uICorner3 = Instance.new("UICorner") uICorner3.Name = "UICorner" uICorner3.CornerRadius = UDim.new(1, 0) uICorner3.Parent = headshot local baseUIStroke2 = Instance.new("UIStroke") baseUIStroke2.Name = "BaseUIStroke" baseUIStroke2.ApplyStrokeMode = Enum.ApplyStrokeMode.Border baseUIStroke2.Color = Color3.fromRGB(255, 255, 255) baseUIStroke2.Transparency = 0.9 baseUIStroke2.Parent = headshot headshot.Parent = informationGroup local userAndDisplayFrame = Instance.new("Frame") userAndDisplayFrame.Name = "UserAndDisplayFrame" userAndDisplayFrame.BackgroundColor3 = Color3.fromRGB(255, 255, 255) userAndDisplayFrame.BackgroundTransparency = 1 userAndDisplayFrame.BorderColor3 = Color3.fromRGB(0, 0, 0) userAndDisplayFrame.BorderSizePixel = 0 userAndDisplayFrame.LayoutOrder = 1 userAndDisplayFrame.Size = UDim2.new(1, -42, 0, 32) local displayName = Instance.new("TextLabel") displayName.Name = "DisplayName" displayName.FontFace = Font.new( assets.interFont, Enum.FontWeight.SemiBold, Enum.FontStyle.Normal ) displayName.Text = LocalPlayer.DisplayName displayName.TextColor3 = Color3.fromRGB(255, 255, 255) displayName.TextSize = 13 displayName.TextTransparency = 0.1 displayName.TextTruncate = Enum.TextTruncate.SplitWord displayName.TextXAlignment = Enum.TextXAlignment.Left displayName.TextYAlignment = Enum.TextYAlignment.Top displayName.AutomaticSize = Enum.AutomaticSize.XY displayName.BackgroundColor3 = Color3.fromRGB(255, 255, 255) displayName.BackgroundTransparency = 1 displayName.BorderColor3 = Color3.fromRGB(0, 0, 0) displayName.BorderSizePixel = 0 displayName.Parent = userAndDisplayFrame displayName.Size = UDim2.fromScale(1,0) local userAndDisplayFrameUIPadding = Instance.new("UIPadding") userAndDisplayFrameUIPadding.Name = "UserAndDisplayFrameUIPadding" userAndDisplayFrameUIPadding.PaddingLeft = UDim.new(0, 8) userAndDisplayFrameUIPadding.PaddingTop = UDim.new(0, 3) userAndDisplayFrameUIPadding.Parent = userAndDisplayFrame local userAndDisplayFrameUIListLayout = Instance.new("UIListLayout") userAndDisplayFrameUIListLayout.Name = "UserAndDisplayFrameUIListLayout" userAndDisplayFrameUIListLayout.Padding = UDim.new(0, 1) userAndDisplayFrameUIListLayout.SortOrder = Enum.SortOrder.LayoutOrder userAndDisplayFrameUIListLayout.Parent = userAndDisplayFrame local username = Instance.new("TextLabel") username.Name = "Username" username.FontFace = Font.new( assets.interFont, Enum.FontWeight.SemiBold, Enum.FontStyle.Normal ) username.Text = "@" .. LocalPlayer.Name username.TextColor3 = Color3.fromRGB(255, 255, 255) username.TextSize = 12 username.TextTransparency = 0.7 username.TextTruncate = Enum.TextTruncate.SplitWord username.TextXAlignment = Enum.TextXAlignment.Left username.TextYAlignment = Enum.TextYAlignment.Top username.AutomaticSize = Enum.AutomaticSize.XY username.BackgroundColor3 = Color3.fromRGB(255, 255, 255) username.BackgroundTransparency = 1 username.BorderColor3 = Color3.fromRGB(0, 0, 0) username.BorderSizePixel = 0 username.LayoutOrder = 1 username.Parent = userAndDisplayFrame username.Size = UDim2.fromScale(1,0) userAndDisplayFrame.Parent = informationGroup informationGroup.Parent = userInfo local userInfoUIPadding = Instance.new("UIPadding") userInfoUIPadding.Name = "UserInfoUIPadding" userInfoUIPadding.PaddingLeft = UDim.new(0, 10) userInfoUIPadding.PaddingRight = UDim.new(0, 10) userInfoUIPadding.Parent = userInfo userInfo.Parent = sidebarGroup local sidebarGroupUIPadding = Instance.new("UIPadding") sidebarGroupUIPadding.Name = "SidebarGroupUIPadding" sidebarGroupUIPadding.PaddingLeft = UDim.new(0, 10) sidebarGroupUIPadding.PaddingRight = UDim.new(0, 10) sidebarGroupUIPadding.PaddingTop = UDim.new(0, 31) sidebarGroupUIPadding.Parent = sidebarGroup local tabSwitchers = Instance.new("Frame") tabSwitchers.Name = "TabSwitchers" tabSwitchers.BackgroundColor3 = Color3.fromRGB(255, 255, 255) tabSwitchers.BackgroundTransparency = 1 tabSwitchers.BorderColor3 = Color3.fromRGB(0, 0, 0) tabSwitchers.BorderSizePixel = 0 tabSwitchers.Size = UDim2.new(1, 0, 1, -107) local tabSwitchersScrollingFrame = Instance.new("ScrollingFrame") tabSwitchersScrollingFrame.Name = "TabSwitchersScrollingFrame" tabSwitchersScrollingFrame.AutomaticCanvasSize = Enum.AutomaticSize.Y tabSwitchersScrollingFrame.BottomImage = "" tabSwitchersScrollingFrame.CanvasSize = UDim2.new() tabSwitchersScrollingFrame.ScrollBarImageTransparency = 0.8 tabSwitchersScrollingFrame.ScrollBarThickness = 1 tabSwitchersScrollingFrame.TopImage = "" tabSwitchersScrollingFrame.BackgroundColor3 = Color3.fromRGB(255, 255, 255) tabSwitchersScrollingFrame.BackgroundTransparency = 1 tabSwitchersScrollingFrame.BorderColor3 = Color3.fromRGB(0, 0, 0) tabSwitchersScrollingFrame.BorderSizePixel = 0 tabSwitchersScrollingFrame.Size = UDim2.fromScale(1, 1) local tabSwitchersScrollingFrameUIListLayout = Instance.new("UIListLayout") tabSwitchersScrollingFrameUIListLayout.Name = "TabSwitchersScrollingFrameUIListLayout" tabSwitchersScrollingFrameUIListLayout.Padding = UDim.new(0, 17) tabSwitchersScrollingFrameUIListLayout.SortOrder = Enum.SortOrder.LayoutOrder tabSwitchersScrollingFrameUIListLayout.Parent = tabSwitchersScrollingFrame local tabSwitchersScrollingFrameUIPadding = Instance.new("UIPadding") tabSwitchersScrollingFrameUIPadding.Name = "TabSwitchersScrollingFrameUIPadding" tabSwitchersScrollingFrameUIPadding.PaddingTop = UDim.new(0, 2) tabSwitchersScrollingFrameUIPadding.Parent = tabSwitchersScrollingFrame tabSwitchersScrollingFrame.Parent = tabSwitchers tabSwitchers.Parent = sidebarGroup sidebarGroup.Parent = sidebar sidebar.Parent = base local content = Instance.new("Frame") content.Name = "Content" content.AnchorPoint = Vector2.new(1, 0) content.BackgroundColor3 = Color3.fromRGB(255, 255, 255) content.BackgroundTransparency = 1 content.BorderColor3 = Color3.fromRGB(0, 0, 0) content.BorderSizePixel = 0 content.Position = UDim2.fromScale(1, 4.69e-08) content.Size = UDim2.new(0, (base.AbsoluteSize.X - sidebar.AbsoluteSize.X), 1, 0) local resizingContent = false local defaultSidebarWidth = sidebar.AbsoluteSize.X local initialMouseX, initialSidebarWidth local snapRange = 20 local minSidebarWidth = 107 local maxSidebarWidth = base.AbsoluteSize.X - minSidebarWidth local TweenSettings = { DefaultTransparency = 0.9, HoverTransparency = 0.85, EasingStyle = Enum.EasingStyle.Sine } local function ChangeState(State) Tween(divider, TweenInfo.new(0.2, TweenSettings.EasingStyle), { BackgroundTransparency = State == "Idle" and TweenSettings.DefaultTransparency or TweenSettings.HoverTransparency }):Play() end dividerInteract.MouseEnter:Connect(function() ChangeState("Hover") end) dividerInteract.MouseLeave:Connect(function() ChangeState("Idle") end) dividerInteract.MouseButton1Down:Connect(function() resizingContent = true initialMouseX = UserInputService:GetMouseLocation().X initialSidebarWidth = sidebar.AbsoluteSize.X end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then resizingContent = false end end) UserInputService.InputChanged:Connect(function(input) if resizingContent and input.UserInputType == Enum.UserInputType.MouseMovement then local deltaX = UserInputService:GetMouseLocation().X - initialMouseX local newSidebarWidth = initialSidebarWidth + deltaX if math.abs(newSidebarWidth - defaultSidebarWidth) < snapRange then newSidebarWidth = defaultSidebarWidth else newSidebarWidth = math.clamp(newSidebarWidth, minSidebarWidth, maxSidebarWidth) end sidebar.Size = UDim2.new(0, newSidebarWidth, 1, 0) content.Size = UDim2.new(0, base.AbsoluteSize.X - newSidebarWidth, 1, 0) end end) local topbar = Instance.new("Frame") topbar.Name = "Topbar" topbar.BackgroundColor3 = Color3.fromRGB(255, 255, 255) topbar.BackgroundTransparency = 1 topbar.BorderColor3 = Color3.fromRGB(0, 0, 0) topbar.BorderSizePixel = 0 topbar.Size = UDim2.new(1, 0, 0, 63) local divider4 = Instance.new("Frame") divider4.Name = "Divider" divider4.AnchorPoint = Vector2.new(0, 1) divider4.BackgroundColor3 = Color3.fromRGB(255, 255, 255) divider4.BackgroundTransparency = 0.9 divider4.BorderColor3 = Color3.fromRGB(0, 0, 0) divider4.BorderSizePixel = 0 divider4.Position = UDim2.fromScale(0, 1) divider4.Size = UDim2.new(1, 0, 0, 1) divider4.Parent = topbar local elements = Instance.new("Frame") elements.Name = "Elements" elements.BackgroundColor3 = Color3.fromRGB(255, 255, 255) elements.BackgroundTransparency = 1 elements.BorderColor3 = Color3.fromRGB(0, 0, 0) elements.BorderSizePixel = 0 elements.Size = UDim2.fromScale(1, 1) local uIPadding2 = Instance.new("UIPadding") uIPadding2.Name = "UIPadding" uIPadding2.PaddingLeft = UDim.new(0, 20) uIPadding2.PaddingRight = UDim.new(0, 20) uIPadding2.Parent = elements local moveIcon = Instance.new("ImageButton") moveIcon.Name = "MoveIcon" moveIcon.Image = assets.transform moveIcon.ImageTransparency = 0.7 moveIcon.AnchorPoint = Vector2.new(1, 0.5) moveIcon.BackgroundColor3 = Color3.fromRGB(255, 255, 255) moveIcon.BackgroundTransparency = 1 moveIcon.BorderColor3 = Color3.fromRGB(0, 0, 0) moveIcon.BorderSizePixel = 0 moveIcon.Position = UDim2.fromScale(1, 0.5) moveIcon.Size = UDim2.fromOffset(15, 15) moveIcon.Parent = elements moveIcon.Visible = not Settings.DragStyle or Settings.DragStyle == 1 local interact = Instance.new("TextButton") interact.Name = "Interact" interact.FontFace = Font.new("rbxasset://fonts/families/SourceSansPro.json") interact.Text = "" interact.TextColor3 = Color3.fromRGB(0, 0, 0) interact.TextSize = 14 interact.AnchorPoint = Vector2.new(0.5, 0.5) interact.BackgroundColor3 = Color3.fromRGB(255, 255, 255) interact.BackgroundTransparency = 1 interact.BorderColor3 = Color3.fromRGB(0, 0, 0) interact.BorderSizePixel = 0 interact.Position = UDim2.fromScale(0.5, 0.5) interact.Size = UDim2.fromOffset(40, 40) interact.Parent = moveIcon local function ChangemoveIconState(State) if State == "Default" then Tween(moveIcon, TweenInfo.new(0.2, Enum.EasingStyle.Sine), { ImageTransparency = 0.7 }):Play() elseif State == "Hover" then Tween(moveIcon, TweenInfo.new(0.2, Enum.EasingStyle.Sine), { ImageTransparency = 0.4 }):Play() end end interact.MouseEnter:Connect(function() ChangemoveIconState("Hover") end) interact.MouseLeave:Connect(function() ChangemoveIconState("Default") end) local dragging_ = false local dragInput local dragStart local startPos local function update(input) local delta = input.Position - dragStart base.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end local function onDragStart(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging_ = true dragStart = input.Position startPos = base.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging_ = false end end) end end local function onDragUpdate(input) if dragging_ and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then dragInput = input end end if not Settings.DragStyle or Settings.DragStyle == 1 then interact.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then onDragStart(input) end end) interact.InputChanged:Connect(onDragUpdate) UserInputService.InputChanged:Connect(function(input) if input == dragInput and dragging_ then update(input) end end) interact.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging_ = false end end) elseif Settings.DragStyle == 2 then base.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then onDragStart(input) end end) base.InputChanged:Connect(onDragUpdate) UserInputService.InputChanged:Connect(function(input) if input == dragInput and dragging_ then update(input) end end) base.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging_ = false end end) end local currentTab = Instance.new("TextLabel") currentTab.Name = "CurrentTab" currentTab.FontFace = Font.new(assets.interFont) currentTab.RichText = true currentTab.Text = "" currentTab.RichText = true currentTab.TextColor3 = Color3.fromRGB(255, 255, 255) currentTab.TextSize = 15 currentTab.TextTransparency = 0.5 currentTab.TextTruncate = Enum.TextTruncate.SplitWord currentTab.TextXAlignment = Enum.TextXAlignment.Left currentTab.TextYAlignment = Enum.TextYAlignment.Top currentTab.AnchorPoint = Vector2.new(0, 0.5) currentTab.AutomaticSize = Enum.AutomaticSize.Y currentTab.BackgroundColor3 = Color3.fromRGB(255, 255, 255) currentTab.BackgroundTransparency = 1 currentTab.BorderColor3 = Color3.fromRGB(0, 0, 0) currentTab.BorderSizePixel = 0 currentTab.Position = UDim2.fromScale(0, 0.5) currentTab.Size = UDim2.fromScale(0.9, 0) currentTab.Parent = elements elements.Parent = topbar topbar.Parent = content content.Parent = base local globalSettings = Instance.new("Frame") globalSettings.Name = "GlobalSettings" globalSettings.AutomaticSize = Enum.AutomaticSize.XY globalSettings.BackgroundColor3 = Color3.fromRGB(15, 15, 15) globalSettings.BorderColor3 = Color3.fromRGB(0, 0, 0) globalSettings.BorderSizePixel = 0 globalSettings.Position = UDim2.fromScale(0.298, 0.104) local globalSettingsUIStroke = Instance.new("UIStroke") globalSettingsUIStroke.Name = "GlobalSettingsUIStroke" globalSettingsUIStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border globalSettingsUIStroke.Color = Color3.fromRGB(255, 255, 255) globalSettingsUIStroke.Transparency = 0.9 globalSettingsUIStroke.Parent = globalSettings local globalSettingsUICorner = Instance.new("UICorner") globalSettingsUICorner.Name = "GlobalSettingsUICorner" globalSettingsUICorner.CornerRadius = UDim.new(0, 10) globalSettingsUICorner.Parent = globalSettings local globalSettingsUIPadding = Instance.new("UIPadding") globalSettingsUIPadding.Name = "GlobalSettingsUIPadding" globalSettingsUIPadding.PaddingBottom = UDim.new(0, 10) globalSettingsUIPadding.PaddingTop = UDim.new(0, 10) globalSettingsUIPadding.Parent = globalSettings local globalSettingsUIListLayout = Instance.new("UIListLayout") globalSettingsUIListLayout.Name = "GlobalSettingsUIListLayout" globalSettingsUIListLayout.Padding = UDim.new(0, 5) globalSettingsUIListLayout.SortOrder = Enum.SortOrder.LayoutOrder globalSettingsUIListLayout.Parent = globalSettings local globalSettingsUIScale = Instance.new("UIScale") globalSettingsUIScale.Name = "GlobalSettingsUIScale" globalSettingsUIScale.Scale = 1e-07 globalSettingsUIScale.Parent = globalSettings globalSettings.Parent = base base.Parent = macLib function WindowFunctions:UpdateTitle(NewTitle) title.Text = NewTitle end function WindowFunctions:UpdateSubtitle(NewSubtitle) subtitle.Text = NewSubtitle end local hovering local toggled = globalSettingsUIScale.Scale == 1 and true or false local function toggle() if not toggled then local intween = Tween(globalSettingsUIScale, TweenInfo.new(0.2, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out), { Scale = 1 }) intween:Play() intween.Completed:Wait() toggled = true elseif toggled then local outtween = Tween(globalSettingsUIScale, TweenInfo.new(0.2, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out), { Scale = 0 }) outtween:Play() outtween.Completed:Wait() toggled = false end end globalSettingsButton.MouseButton1Click:Connect(function() if not hasGlobalSetting then return end toggle() end) globalSettings.MouseEnter:Connect(function() hovering = true end) globalSettings.MouseLeave:Connect(function() hovering = false end) UserInputService.InputEnded:Connect(function(inp) if inp.UserInputType == Enum.UserInputType.MouseButton1 and toggled and not hovering then toggle() end end) local BlurTarget = base local HS = HttpService local camera = workspace.CurrentCamera local MTREL = "Glass" local binds = {} local wedgeguid = HS:GenerateGUID(true) local DepthOfField for _,v in pairs(Lighting:GetChildren()) do if not v:IsA("DepthOfFieldEffect") and v:HasTag(".") then DepthOfField = Instance.new('DepthOfFieldEffect') DepthOfField.FarIntensity = 0 DepthOfField.FocusDistance = 51.6 DepthOfField.InFocusRadius = 50 DepthOfField.NearIntensity = 1 DepthOfField.Name = HS:GenerateGUID(true) DepthOfField:AddTag(".") elseif v:IsA("DepthOfFieldEffect") and v:HasTag(".") then DepthOfField = v end end if not DepthOfField then DepthOfField = Instance.new('DepthOfFieldEffect') DepthOfField.FarIntensity = 0 DepthOfField.FocusDistance = 51.6 DepthOfField.InFocusRadius = 50 DepthOfField.NearIntensity = 1 DepthOfField.Name = HS:GenerateGUID(true) DepthOfField:AddTag(".") end local frame = Instance.new('Frame') frame.Parent = BlurTarget frame.Size = UDim2.new(0.97, 0, 0.97, 0) frame.Position = UDim2.new(0.5, 0, 0.5, 0) frame.AnchorPoint = Vector2.new(0.5, 0.5) frame.BackgroundTransparency = 1 frame.Name = HS:GenerateGUID(true) do local function IsNotNaN(x) return x == x end local continue = IsNotNaN(camera:ScreenPointToRay(0,0).Origin.x) while not continue do RunService.RenderStepped:Wait() continue = IsNotNaN(camera:ScreenPointToRay(0,0).Origin.x) end end local DrawQuad; do local acos, max, pi, sqrt = math.acos, math.max, math.pi, math.sqrt local sz = 0.2 local function DrawTriangle(v1, v2, v3, p0, p1) local s1 = (v1 - v2).magnitude local s2 = (v2 - v3).magnitude local s3 = (v3 - v1).magnitude local smax = max(s1, s2, s3) local A, B, C if s1 == smax then A, B, C = v1, v2, v3 elseif s2 == smax then A, B, C = v2, v3, v1 elseif s3 == smax then A, B, C = v3, v1, v2 end local para = ( (B-A).x*(C-A).x + (B-A).y*(C-A).y + (B-A).z*(C-A).z ) / (A-B).magnitude local perp = sqrt((C-A).magnitude^2 - para*para) local dif_para = (A - B).magnitude - para local st = CFrame.new(B, A) local za = CFrame.Angles(pi/2,0,0) local cf0 = st local Top_Look = (cf0 * za).lookVector local Mid_Point = A + CFrame.new(A, B).lookVector * para local Needed_Look = CFrame.new(Mid_Point, C).lookVector local dot = Top_Look.x*Needed_Look.x + Top_Look.y*Needed_Look.y + Top_Look.z*Needed_Look.z local ac = CFrame.Angles(0, 0, acos(dot)) cf0 = cf0 * ac if ((cf0 * za).lookVector - Needed_Look).magnitude > 0.01 then cf0 = cf0 * CFrame.Angles(0, 0, -2*acos(dot)) end cf0 = cf0 * CFrame.new(0, perp/2, -(dif_para + para/2)) local cf1 = st * ac * CFrame.Angles(0, pi, 0) if ((cf1 * za).lookVector - Needed_Look).magnitude > 0.01 then cf1 = cf1 * CFrame.Angles(0, 0, 2*acos(dot)) end cf1 = cf1 * CFrame.new(0, perp/2, dif_para/2) if not p0 then p0 = Instance.new('Part') p0.FormFactor = 'Custom' p0.TopSurface = 0 p0.BottomSurface = 0 p0.Anchored = true p0.CanCollide = false p0.CastShadow = false p0.Material = MTREL p0.Size = Vector3.new(sz, sz, sz) p0.Name = HS:GenerateGUID(true) local mesh = Instance.new('SpecialMesh', p0) mesh.MeshType = 2 mesh.Name = wedgeguid end p0[wedgeguid].Scale = Vector3.new(0, perp/sz, para/sz) p0.CFrame = cf0 if not p1 then p1 = p0:clone() end p1[wedgeguid].Scale = Vector3.new(0, perp/sz, dif_para/sz) p1.CFrame = cf1 return p0, p1 end function DrawQuad(v1, v2, v3, v4, parts) parts[1], parts[2] = DrawTriangle(v1, v2, v3, parts[1], parts[2]) parts[3], parts[4] = DrawTriangle(v3, v2, v4, parts[3], parts[4]) end end if binds[frame] then return binds[frame].parts end local parts = {} local parents = {} do local function add(child) if child:IsA'GuiObject' then parents[#parents + 1] = child add(child.Parent) end end add(frame) end local function IsVisible(instance) while instance do if instance:IsA("GuiObject") then if not instance.Visible then return false end elseif instance:IsA("ScreenGui") then if not instance.Enabled then return false end break end instance = instance.Parent end return true end local function UpdateOrientation(fetchProps) if not IsVisible(frame) or not acrylicBlur or unloaded then for _, pt in pairs(parts) do pt.Parent = nil DepthOfField.Enabled = false DepthOfField.Parent = nil end return end if not DepthOfField.Parent then DepthOfField.Parent = Lighting end DepthOfField.Enabled = true local properties = { Transparency = 0.98; BrickColor = BrickColor.new('Institutional white'); } local zIndex = 1 - 0.05*frame.ZIndex local tl, br = frame.AbsolutePosition, frame.AbsolutePosition + frame.AbsoluteSize local tr, bl = Vector2.new(br.x, tl.y), Vector2.new(tl.x, br.y) do local rot = 0; for _, v in ipairs(parents) do rot = rot + v.Rotation end if rot ~= 0 and rot%180 ~= 0 then local mid = tl:lerp(br, 0.5) local s, c = math.sin(math.rad(rot)), math.cos(math.rad(rot)) local vec = tl tl = Vector2.new(c*(tl.x - mid.x) - s*(tl.y - mid.y), s*(tl.x - mid.x) + c*(tl.y - mid.y)) + mid tr = Vector2.new(c*(tr.x - mid.x) - s*(tr.y - mid.y), s*(tr.x - mid.x) + c*(tr.y - mid.y)) + mid bl = Vector2.new(c*(bl.x - mid.x) - s*(bl.y - mid.y), s*(bl.x - mid.x) + c*(bl.y - mid.y)) + mid br = Vector2.new(c*(br.x - mid.x) - s*(br.y - mid.y), s*(br.x - mid.x) + c*(br.y - mid.y)) + mid end end DrawQuad( camera:ScreenPointToRay(tl.x, tl.y, zIndex).Origin, camera:ScreenPointToRay(tr.x, tr.y, zIndex).Origin, camera:ScreenPointToRay(bl.x, bl.y, zIndex).Origin, camera:ScreenPointToRay(br.x, br.y, zIndex).Origin, parts ) if fetchProps then for _, pt in pairs(parts) do pt.Parent = camera end for propName, propValue in pairs(properties) do for _, pt in pairs(parts) do pt[propName] = propValue end end end end UpdateOrientation(true) RunService.RenderStepped:Connect(UpdateOrientation) function WindowFunctions:GlobalSetting(Settings) hasGlobalSetting = true local GlobalSettingFunctions = {} local globalSetting = Instance.new("TextButton") globalSetting.Name = "GlobalSetting" globalSetting.FontFace = Font.new("rbxasset://fonts/families/SourceSansPro.json") globalSetting.Text = "" globalSetting.TextColor3 = Color3.fromRGB(0, 0, 0) globalSetting.TextSize = 14 globalSetting.BackgroundColor3 = Color3.fromRGB(255, 255, 255) globalSetting.BackgroundTransparency = 1 globalSetting.BorderColor3 = Color3.fromRGB(0, 0, 0) globalSetting.BorderSizePixel = 0 globalSetting.Size = UDim2.fromOffset(200, 30) local globalSettingToggleUIPadding = Instance.new("UIPadding") globalSettingToggleUIPadding.Name = "GlobalSettingToggleUIPadding" globalSettingToggleUIPadding.PaddingLeft = UDim.new(0, 15) globalSettingToggleUIPadding.Parent = globalSetting local settingName = Instance.new("TextLabel") settingName.Name = "SettingName" settingName.FontFace = Font.new(assets.interFont) settingName.Text = Settings.Name settingName.RichText = true settingName.TextColor3 = Color3.fromRGB(255, 255, 255) settingName.TextSize = 13 settingName.TextTransparency = 0.5 settingName.TextTruncate = Enum.TextTruncate.SplitWord settingName.TextXAlignment = Enum.TextXAlignment.Left settingName.TextYAlignment = Enum.TextYAlignment.Top settingName.AnchorPoint = Vector2.new(0, 0.5) settingName.AutomaticSize = Enum.AutomaticSize.Y settingName.BackgroundColor3 = Color3.fromRGB(255, 255, 255) settingName.BackgroundTransparency = 1 settingName.BorderColor3 = Color3.fromRGB(0, 0, 0) settingName.BorderSizePixel = 0 settingName.Position = UDim2.fromScale(1.3e-07, 0.5) settingName.Size = UDim2.new(1,-40,0,0) settingName.Parent = globalSetting local globalSettingToggleUIListLayout = Instance.new("UIListLayout") globalSettingToggleUIListLayout.Name = "GlobalSettingToggleUIListLayout" globalSettingToggleUIListLayout.Padding = UDim.new(0, 10) globalSettingToggleUIListLayout.FillDirection = Enum.FillDirection.Horizontal globalSettingToggleUIListLayout.SortOrder = Enum.SortOrder.LayoutOrder globalSettingToggleUIListLayout.VerticalAlignment = Enum.VerticalAlignment.Center globalSettingToggleUIListLayout.Parent = globalSetting local checkmark = Instance.new("TextLabel") checkmark.Name = "Checkmark" checkmark.FontFace = Font.new( assets.interFont, Enum.FontWeight.Medium, Enum.FontStyle.Normal ) checkmark.Text = "✓" checkmark.TextColor3 = Color3.fromRGB(255, 255, 255) checkmark.TextSize = 13 checkmark.TextTransparency = 1 checkmark.TextXAlignment = Enum.TextXAlignment.Left checkmark.TextYAlignment = Enum.TextYAlignment.Top checkmark.AnchorPoint = Vector2.new(0, 0.5) checkmark.AutomaticSize = Enum.AutomaticSize.Y checkmark.BackgroundColor3 = Color3.fromRGB(255, 255, 255) checkmark.BackgroundTransparency = 1 checkmark.BorderColor3 = Color3.fromRGB(0, 0, 0) checkmark.BorderSizePixel = 0 checkmark.LayoutOrder = -1 checkmark.Position = UDim2.fromScale(1.3e-07, 0.5) checkmark.Size = UDim2.fromOffset(-10, 0) checkmark.Parent = globalSetting globalSetting.Parent = globalSettings local tweensettings = { duration = 0.2, easingStyle = Enum.EasingStyle.Quint, transparencyIn = 0.2, transparencyOut = 0.5, checkSizeIncrease = 12, checkSizeDecrease = -globalSettingToggleUIListLayout.Padding.Offset, waitTime = 1 } local tweens = { checkIn = Tween(checkmark, TweenInfo.new(tweensettings.duration, tweensettings.easingStyle), { Size = UDim2.new(checkmark.Size.X.Scale, tweensettings.checkSizeIncrease, checkmark.Size.Y.Scale, checkmark.Size.Y.Offset) }), checkOut = Tween(checkmark, TweenInfo.new(tweensettings.duration, tweensettings.easingStyle),{ Size = UDim2.new(checkmark.Size.X.Scale, tweensettings.checkSizeDecrease, checkmark.Size.Y.Scale, checkmark.Size.Y.Offset) }), nameIn = Tween(settingName, TweenInfo.new(tweensettings.duration, tweensettings.easingStyle),{ TextTransparency = tweensettings.transparencyIn }), nameOut = Tween(settingName, TweenInfo.new(tweensettings.duration, tweensettings.easingStyle),{ TextTransparency = tweensettings.transparencyOut }) } local function Toggle(State) if not State then tweens.checkOut:Play() tweens.nameOut:Play() checkmark:GetPropertyChangedSignal("AbsoluteSize"):Connect(function() if checkmark.AbsoluteSize.X <= 0 then checkmark.TextTransparency = 1 end end) else tweens.checkIn:Play() tweens.nameIn:Play() checkmark:GetPropertyChangedSignal("AbsoluteSize"):Connect(function() if checkmark.AbsoluteSize.X > 0 then checkmark.TextTransparency = 0 end end) end end local toggled = Settings.Default Toggle(toggled) globalSetting.MouseButton1Click:Connect(function() toggled = not toggled Toggle(toggled) task.spawn(function() if Settings.Callback then Settings.Callback(toggled) end end) end) function GlobalSettingFunctions:UpdateName(NewName) settingName.Text = NewName end function GlobalSettingFunctions:UpdateState(NewState) Toggle(NewState) toggled = NewState end return GlobalSettingFunctions end function WindowFunctions:TabGroup() local SectionFunctions = {} local tabGroup = Instance.new("Frame") tabGroup.Name = "Section" tabGroup.AutomaticSize = Enum.AutomaticSize.Y tabGroup.BackgroundColor3 = Color3.fromRGB(255, 255, 255) tabGroup.BackgroundTransparency = 1 tabGroup.BorderColor3 = Color3.fromRGB(0, 0, 0) tabGroup.BorderSizePixel = 0 tabGroup.Size = UDim2.fromScale(1, 0) local divider3 = Instance.new("Frame") divider3.Name = "Divider" divider3.AnchorPoint = Vector2.new(0.5, 1) divider3.BackgroundColor3 = Color3.fromRGB(255, 255, 255) divider3.BackgroundTransparency = 0.9 divider3.BorderColor3 = Color3.fromRGB(0, 0, 0) divider3.BorderSizePixel = 0 divider3.Position = UDim2.fromScale(0.5, 1) divider3.Size = UDim2.new(1, -21, 0, 1) divider3.Parent = tabGroup local sectionTabSwitchers = Instance.new("Frame") sectionTabSwitchers.Name = "SectionTabSwitchers" sectionTabSwitchers.BackgroundColor3 = Color3.fromRGB(255, 255, 255) sectionTabSwitchers.BackgroundTransparency = 1 sectionTabSwitchers.BorderColor3 = Color3.fromRGB(0, 0, 0) sectionTabSwitchers.BorderSizePixel = 0 sectionTabSwitchers.Size = UDim2.fromScale(1, 1) local uIListLayout1 = Instance.new("UIListLayout") uIListLayout1.Name = "UIListLayout" uIListLayout1.Padding = UDim.new(0, 15) uIListLayout1.HorizontalAlignment = Enum.HorizontalAlignment.Center uIListLayout1.SortOrder = Enum.SortOrder.LayoutOrder uIListLayout1.Parent = sectionTabSwitchers local uIPadding1 = Instance.new("UIPadding") uIPadding1.Name = "UIPadding" uIPadding1.PaddingBottom = UDim.new(0, 15) uIPadding1.Parent = sectionTabSwitchers sectionTabSwitchers.Parent = tabGroup tabGroup.Parent = tabSwitchersScrollingFrame function SectionFunctions:Tab(Settings) local TabFunctions = {Settings = Settings} local tabSwitcher = Instance.new("TextButton") tabSwitcher.Name = "TabSwitcher" tabSwitcher.FontFace = Font.new("rbxasset://fonts/families/SourceSansPro.json") tabSwitcher.Text = "" tabSwitcher.TextColor3 = Color3.fromRGB(0, 0, 0) tabSwitcher.TextSize = 14 tabSwitcher.AutoButtonColor = false tabSwitcher.AnchorPoint = Vector2.new(0.5, 0) tabSwitcher.BackgroundColor3 = Color3.fromRGB(255, 255, 255) tabSwitcher.BackgroundTransparency = 1 tabSwitcher.BorderColor3 = Color3.fromRGB(0, 0, 0) tabSwitcher.BorderSizePixel = 0 tabSwitcher.Position = UDim2.fromScale(0.5, 0) tabSwitcher.Size = UDim2.new(1, -21, 0, 40) tabIndex += 1 tabSwitcher.LayoutOrder = tabIndex local tabSwitcherUICorner = Instance.new("UICorner") tabSwitcherUICorner.Name = "TabSwitcherUICorner" tabSwitcherUICorner.Parent = tabSwitcher local tabSwitcherUIStroke = Instance.new("UIStroke") tabSwitcherUIStroke.Name = "TabSwitcherUIStroke" tabSwitcherUIStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border tabSwitcherUIStroke.Color = Color3.fromRGB(255, 255, 255) tabSwitcherUIStroke.Transparency = 1 tabSwitcherUIStroke.Parent = tabSwitcher local tabSwitcherUIListLayout = Instance.new("UIListLayout") tabSwitcherUIListLayout.Name = "TabSwitcherUIListLayout" tabSwitcherUIListLayout.Padding = UDim.new(0, 9) tabSwitcherUIListLayout.FillDirection = Enum.FillDirection.Horizontal tabSwitcherUIListLayout.SortOrder = Enum.SortOrder.LayoutOrder tabSwitcherUIListLayout.VerticalAlignment = Enum.VerticalAlignment.Center tabSwitcherUIListLayout.Parent = tabSwitcher local tabImage if Settings.Image then tabImage = Instance.new("ImageLabel") tabImage.Name = "TabImage" tabImage.Image = Settings.Image tabImage.ImageTransparency = 0.5 tabImage.BackgroundColor3 = Color3.fromRGB(255, 255, 255) tabImage.BackgroundTransparency = 1 tabImage.BorderColor3 = Color3.fromRGB(0, 0, 0) tabImage.BorderSizePixel = 0 tabImage.Size = UDim2.fromOffset(18, 18) tabImage.Parent = tabSwitcher end local tabSwitcherName = Instance.new("TextLabel") tabSwitcherName.Name = "TabSwitcherName" tabSwitcherName.FontFace = Font.new( assets.interFont, Enum.FontWeight.Medium, Enum.FontStyle.Normal ) tabSwitcherName.Text = Settings.Name tabSwitcherName.RichText = true tabSwitcherName.TextColor3 = Color3.fromRGB(255, 255, 255) tabSwitcherName.TextSize = 16 tabSwitcherName.TextTransparency = 0.5 tabSwitcherName.TextTruncate = Enum.TextTruncate.SplitWord tabSwitcherName.TextXAlignment = Enum.TextXAlignment.Left tabSwitcherName.TextYAlignment = Enum.TextYAlignment.Top tabSwitcherName.AutomaticSize = Enum.AutomaticSize.Y tabSwitcherName.BackgroundColor3 = Color3.fromRGB(255, 255, 255) tabSwitcherName.BackgroundTransparency = 1 tabSwitcherName.BorderColor3 = Color3.fromRGB(0, 0, 0) tabSwitcherName.BorderSizePixel = 0 tabSwitcherName.Size = UDim2.fromScale(1, 0) tabSwitcherName.Parent = tabSwitcher tabSwitcherName.LayoutOrder = 1 local tabSwitcherUIPadding = Instance.new("UIPadding") tabSwitcherUIPadding.Name = "TabSwitcherUIPadding" tabSwitcherUIPadding.PaddingLeft = UDim.new(0, 24) tabSwitcherUIPadding.PaddingRight = UDim.new(0, 35) tabSwitcherUIPadding.PaddingTop = UDim.new(0, 1) tabSwitcherUIPadding.Parent = tabSwitcher tabSwitcher.Parent = sectionTabSwitchers local elements1 = Instance.new("Frame") elements1.Name = "Elements" elements1.BackgroundColor3 = Color3.fromRGB(255, 255, 255) elements1.BackgroundTransparency = 1 elements1.BorderColor3 = Color3.fromRGB(0, 0, 0) elements1.BorderSizePixel = 0 elements1.Position = UDim2.fromOffset(0, 63) elements1.Size = UDim2.new(1, 0, 1, -63) elements1.ClipsDescendants = true local elementsUIPadding = Instance.new("UIPadding") elementsUIPadding.Name = "ElementsUIPadding" elementsUIPadding.PaddingRight = UDim.new(0, 5) elementsUIPadding.PaddingTop = UDim.new(0, 10) elementsUIPadding.PaddingBottom = UDim.new(0, 10) elementsUIPadding.Parent = elements1 local elementsScrolling = Instance.new("ScrollingFrame") elementsScrolling.Name = "ElementsScrolling" elementsScrolling.AutomaticCanvasSize = Enum.AutomaticSize.Y elementsScrolling.BottomImage = "" elementsScrolling.CanvasSize = UDim2.new() elementsScrolling.ScrollBarImageTransparency = 0.5 elementsScrolling.ScrollBarThickness = 1 elementsScrolling.TopImage = "" elementsScrolling.BackgroundColor3 = Color3.fromRGB(255, 255, 255) elementsScrolling.BackgroundTransparency = 1 elementsScrolling.BorderColor3 = Color3.fromRGB(0, 0, 0) elementsScrolling.BorderSizePixel = 0 elementsScrolling.Size = UDim2.fromScale(1, 1) elementsScrolling.ClipsDescendants = false local elementsScrollingUIPadding = Instance.new("UIPadding") elementsScrollingUIPadding.Name = "ElementsScrollingUIPadding" elementsScrollingUIPadding.PaddingBottom = UDim.new(0, 5) elementsScrollingUIPadding.PaddingLeft = UDim.new(0, 11) elementsScrollingUIPadding.PaddingRight = UDim.new(0, 3) elementsScrollingUIPadding.PaddingTop = UDim.new(0, 5) elementsScrollingUIPadding.Parent = elementsScrolling local elementsScrollingUIListLayout = Instance.new("UIListLayout") elementsScrollingUIListLayout.Name = "ElementsScrollingUIListLayout" elementsScrollingUIListLayout.Padding = UDim.new(0, 15) elementsScrollingUIListLayout.FillDirection = Enum.FillDirection.Horizontal elementsScrollingUIListLayout.SortOrder = Enum.SortOrder.LayoutOrder elementsScrollingUIListLayout.Parent = elementsScrolling local left = Instance.new("Frame") left.Name = "Left" left.AutomaticSize = Enum.AutomaticSize.Y left.BackgroundColor3 = Color3.fromRGB(0, 0, 0) left.BackgroundTransparency = 1 left.BorderColor3 = Color3.fromRGB(0, 0, 0) left.BorderSizePixel = 0 left.Position = UDim2.fromScale(0.512, 0) left.Size = UDim2.new(0.5, -10, 0, 0) local leftUIListLayout = Instance.new("UIListLayout") leftUIListLayout.Name = "LeftUIListLayout" leftUIListLayout.Padding = UDim.new(0, 15) leftUIListLayout.SortOrder = Enum.SortOrder.LayoutOrder leftUIListLayout.Parent = left left.Parent = elementsScrolling local right = Instance.new("Frame") right.Name = "Right" right.AutomaticSize = Enum.AutomaticSize.Y right.BackgroundColor3 = Color3.fromRGB(0, 0, 0) right.BackgroundTransparency = 1 right.BorderColor3 = Color3.fromRGB(0, 0, 0) right.BorderSizePixel = 0 right.LayoutOrder = 1 right.Position = UDim2.fromScale(0.512, 0) right.Size = UDim2.new(0.5, -10, 0, 0) local rightUIListLayout = Instance.new("UIListLayout") rightUIListLayout.Name = "RightUIListLayout" rightUIListLayout.Padding = UDim.new(0, 15) rightUIListLayout.SortOrder = Enum.SortOrder.LayoutOrder rightUIListLayout.Parent = right right.Parent = elementsScrolling elementsScrolling.Parent = elements1 function TabFunctions:Section(Settings) local SectionFunctions = {} local section = Instance.new("Frame") section.Name = "Section" section.AutomaticSize = Enum.AutomaticSize.Y section.BackgroundColor3 = Color3.fromRGB(255, 255, 255) section.BackgroundTransparency = 0.98 section.BorderColor3 = Color3.fromRGB(0, 0, 0) section.BorderSizePixel = 0 section.Position = UDim2.fromScale(0, 6.78e-08) section.Size = UDim2.fromScale(1, 0) section.ClipsDescendants = true section.Parent = Settings.Side == "Left" and left or right local sectionUICorner = Instance.new("UICorner") sectionUICorner.Name = "SectionUICorner" sectionUICorner.Parent = section local sectionUIStroke = Instance.new("UIStroke") sectionUIStroke.Name = "SectionUIStroke" sectionUIStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border sectionUIStroke.Color = Color3.fromRGB(255, 255, 255) sectionUIStroke.Transparency = 0.95 sectionUIStroke.Parent = section local sectionUIListLayout = Instance.new("UIListLayout") sectionUIListLayout.Name = "SectionUIListLayout" sectionUIListLayout.Padding = UDim.new(0, 10) sectionUIListLayout.SortOrder = Enum.SortOrder.LayoutOrder sectionUIListLayout.Parent = section local sectionUIPadding = Instance.new("UIPadding") sectionUIPadding.Name = "SectionUIPadding" sectionUIPadding.PaddingBottom = UDim.new(0, 20) sectionUIPadding.PaddingLeft = UDim.new(0, 20) sectionUIPadding.PaddingRight = UDim.new(0, 18) sectionUIPadding.PaddingTop = UDim.new(0, 22) sectionUIPadding.Parent = section function SectionFunctions:Button(Settings, Flag) local ButtonFunctions = {Settings = Settings} local button = Instance.new("Frame") button.Name = "Button" button.AutomaticSize = Enum.AutomaticSize.Y button.BackgroundColor3 = Color3.fromRGB(0, 0, 0) button.BackgroundTransparency = 1 button.BorderColor3 = Color3.fromRGB(0, 0, 0) button.BorderSizePixel = 0 button.Size = UDim2.new(1, 0, 0, 38) button.Parent = section local buttonInteract = Instance.new("TextButton") buttonInteract.Name = "ButtonInteract" buttonInteract.FontFace = Font.new(assets.interFont) buttonInteract.RichText = true buttonInteract.TextColor3 = Color3.fromRGB(255, 255, 255) buttonInteract.TextSize = 13 buttonInteract.TextTransparency = 0.5 buttonInteract.TextTruncate = Enum.TextTruncate.AtEnd buttonInteract.TextXAlignment = Enum.TextXAlignment.Left buttonInteract.BackgroundColor3 = Color3.fromRGB(255, 255, 255) buttonInteract.BackgroundTransparency = 1 buttonInteract.BorderColor3 = Color3.fromRGB(0, 0, 0) buttonInteract.BorderSizePixel = 0 buttonInteract.Size = UDim2.fromScale(1, 1) buttonInteract.Parent = button buttonInteract.Text = ButtonFunctions.Settings.Name local buttonImage = Instance.new("ImageLabel") buttonImage.Name = "ButtonImage" buttonImage.Image = assets.buttonImage buttonImage.ImageTransparency = 0.5 buttonImage.AnchorPoint = Vector2.new(1, 0.5) buttonImage.BackgroundColor3 = Color3.fromRGB(255, 255, 255) buttonImage.BackgroundTransparency = 1 buttonImage.BorderColor3 = Color3.fromRGB(0, 0, 0) buttonImage.BorderSizePixel = 0 buttonImage.Position = UDim2.fromScale(1, 0.5) buttonImage.Size = UDim2.fromOffset(15, 15) buttonImage.Parent = button local TweenSettings = { DefaultTransparency = 0.5, HoverTransparency = 0.3, EasingStyle = Enum.EasingStyle.Sine } local function ChangeState(State) if State == "Idle" then Tween(buttonInteract, TweenInfo.new(0.2, TweenSettings.EasingStyle), { TextTransparency = TweenSettings.DefaultTransparency }):Play() Tween(buttonImage, TweenInfo.new(0.2, TweenSettings.EasingStyle), { ImageTransparency = TweenSettings.DefaultTransparency }):Play() elseif State == "Hover" then Tween(buttonInteract, TweenInfo.new(0.2, TweenSettings.EasingStyle), { TextTransparency = TweenSettings.HoverTransparency }):Play() Tween(buttonImage, TweenInfo.new(0.2, TweenSettings.EasingStyle), { ImageTransparency = TweenSettings.HoverTransparency }):Play() end end local function Callback() if ButtonFunctions.Settings.Callback then ButtonFunctions.Settings.Callback() end end buttonInteract.MouseEnter:Connect(function() ChangeState("Hover") end) buttonInteract.MouseLeave:Connect(function() ChangeState("Idle") end) buttonInteract.MouseButton1Click:Connect(Callback) function ButtonFunctions:UpdateName(Name) buttonInteract.Text = Name end function ButtonFunctions:SetVisibility(State) button.Visible = State end if Flag then MacLib.Options[Flag] = ButtonFunctions end return ButtonFunctions end function SectionFunctions:Toggle(Settings, Flag) local ToggleFunctions = { Settings = Settings, IgnoreConfig = false, Class = "Toggle" } local toggle = Instance.new("Frame") toggle.Name = "Toggle" toggle.AutomaticSize = Enum.AutomaticSize.Y toggle.BackgroundColor3 = Color3.fromRGB(0, 0, 0) toggle.BackgroundTransparency = 1 toggle.BorderColor3 = Color3.fromRGB(0, 0, 0) toggle.BorderSizePixel = 0 toggle.Size = UDim2.new(1, 0, 0, 38) toggle.Parent = section local toggleName = Instance.new("TextLabel") toggleName.Name = "ToggleName" toggleName.FontFace = Font.new(assets.interFont) toggleName.Text = ToggleFunctions.Settings.Name toggleName.RichText = true toggleName.TextColor3 = Color3.fromRGB(255, 255, 255) toggleName.TextSize = 13 toggleName.TextTransparency = 0.5 toggleName.TextTruncate = Enum.TextTruncate.AtEnd toggleName.TextXAlignment = Enum.TextXAlignment.Left toggleName.TextYAlignment = Enum.TextYAlignment.Top toggleName.AnchorPoint = Vector2.new(0, 0.5) toggleName.AutomaticSize = Enum.AutomaticSize.Y toggleName.BackgroundColor3 = Color3.fromRGB(255, 255, 255) toggleName.BackgroundTransparency = 1 toggleName.BorderColor3 = Color3.fromRGB(0, 0, 0) toggleName.BorderSizePixel = 0 toggleName.Position = UDim2.fromScale(0, 0.5) toggleName.Size = UDim2.new(1, -50, 0, 0) toggleName.Parent = toggle local toggle1 = Instance.new("ImageButton") toggle1.Name = "Toggle" toggle1.Image = assets.toggleBackground toggle1.ImageColor3 = Color3.fromRGB(87, 86, 86) toggle1.AutoButtonColor = false toggle1.AnchorPoint = Vector2.new(1, 0.5) toggle1.BackgroundColor3 = Color3.fromRGB(255, 255, 255) toggle1.BackgroundTransparency = 1 toggle1.BorderColor3 = Color3.fromRGB(0, 0, 0) toggle1.BorderSizePixel = 0 toggle1.Position = UDim2.fromScale(1, 0.5) toggle1.Size = UDim2.fromOffset(41, 21) toggle1.ImageTransparency = 0.5 local toggleUIPadding = Instance.new("UIPadding") toggleUIPadding.Name = "ToggleUIPadding" toggleUIPadding.PaddingBottom = UDim.new(0, 1) toggleUIPadding.PaddingLeft = UDim.new(0, -2) toggleUIPadding.PaddingRight = UDim.new(0, 3) toggleUIPadding.PaddingTop = UDim.new(0, 1) toggleUIPadding.Parent = toggle1 local togglerHead = Instance.new("ImageLabel") togglerHead.Name = "TogglerHead" togglerHead.Image = assets.togglerHead togglerHead.ImageColor3 = Color3.fromRGB(255, 255, 255) togglerHead.AnchorPoint = Vector2.new(1, 0.5) togglerHead.BackgroundColor3 = Color3.fromRGB(255, 255, 255) togglerHead.BackgroundTransparency = 1 togglerHead.BorderColor3 = Color3.fromRGB(0, 0, 0) togglerHead.BorderSizePixel = 0 togglerHead.Position = UDim2.fromScale(0.5, 0.5) togglerHead.Size = UDim2.fromOffset(15, 15) togglerHead.ZIndex = 2 togglerHead.Parent = toggle1 togglerHead.ImageTransparency = 0.8 toggle1.Parent = toggle local toggle1Transparency = {Enabled = 0, Disabled = 0.5} local togglerHeadTransparency = {Enabled = 0, Disabled = 0.85} local TweenSettings = { Info = TweenInfo.new(0.15, Enum.EasingStyle.Quad), EnabledPosition = UDim2.new(1, 0, 0.5, 0), DisabledPosition = UDim2.new(0.5, 0, 0.5, 0), } local togglebool = ToggleFunctions.Settings.Default local function NewState(State, callback) local transparencyValues = State and {toggle1Transparency.Enabled, togglerHeadTransparency.Enabled} or {toggle1Transparency.Disabled, togglerHeadTransparency.Disabled} local position = State and TweenSettings.EnabledPosition or TweenSettings.DisabledPosition Tween(toggle1, TweenSettings.Info, { ImageTransparency = transparencyValues[1] }):Play() Tween(togglerHead, TweenSettings.Info, { ImageTransparency = transparencyValues[2] }):Play() Tween(togglerHead, TweenSettings.Info, { Position = position }):Play() ToggleFunctions.State = State if callback then callback(togglebool) end end NewState(togglebool) local function Toggle() togglebool = not togglebool NewState(togglebool, ToggleFunctions.Settings.Callback) end toggle1.MouseButton1Click:Connect(Toggle) function ToggleFunctions:Toggle() Toggle() end function ToggleFunctions:UpdateState(State) togglebool = State NewState(togglebool, ToggleFunctions.Settings.Callback) end function ToggleFunctions:GetState() return togglebool end function ToggleFunctions:UpdateName(Name) toggleName.Text = Name end function ToggleFunctions:SetVisibility(State) toggle.Visible = State end if Flag then MacLib.Options[Flag] = ToggleFunctions end return ToggleFunctions end function SectionFunctions:Slider(Settings, Flag) local SliderFunctions = { Settings = Settings, IgnoreConfig = false, Class = "Slider" } local slider = Instance.new("Frame") slider.Name = "Slider" slider.AutomaticSize = Enum.AutomaticSize.Y slider.BackgroundColor3 = Color3.fromRGB(0, 0, 0) slider.BackgroundTransparency = 1 slider.BorderColor3 = Color3.fromRGB(0, 0, 0) slider.BorderSizePixel = 0 slider.Size = UDim2.new(1, 0, 0, 38) slider.Parent = section local sliderName = Instance.new("TextLabel") sliderName.Name = "SliderName" sliderName.FontFace = Font.new(assets.interFont) sliderName.Text = SliderFunctions.Settings.Name sliderName.RichText = true sliderName.TextColor3 = Color3.fromRGB(255, 255, 255) sliderName.TextSize = 13 sliderName.TextTransparency = 0.5 sliderName.TextTruncate = Enum.TextTruncate.AtEnd sliderName.TextXAlignment = Enum.TextXAlignment.Left sliderName.TextYAlignment = Enum.TextYAlignment.Top sliderName.AnchorPoint = Vector2.new(0, 0.5) sliderName.AutomaticSize = Enum.AutomaticSize.XY sliderName.BackgroundColor3 = Color3.fromRGB(255, 255, 255) sliderName.BackgroundTransparency = 1 sliderName.BorderColor3 = Color3.fromRGB(0, 0, 0) sliderName.BorderSizePixel = 0 sliderName.Position = UDim2.fromScale(1.3e-07, 0.5) sliderName.Parent = slider local sliderElements = Instance.new("Frame") sliderElements.Name = "SliderElements" sliderElements.AnchorPoint = Vector2.new(1, 0) sliderElements.BackgroundColor3 = Color3.fromRGB(255, 255, 255) sliderElements.BackgroundTransparency = 1 sliderElements.BorderColor3 = Color3.fromRGB(0, 0, 0) sliderElements.BorderSizePixel = 0 sliderElements.Position = UDim2.fromScale(1, 0) sliderElements.Size = UDim2.fromScale(1, 1) local sliderValue = Instance.new("TextBox") sliderValue.Name = "SliderValue" sliderValue.FontFace = Font.new(assets.interFont) sliderValue.TextColor3 = Color3.fromRGB(255, 255, 255) sliderValue.TextSize = 12 sliderValue.TextTransparency = 0.1 --sliderValue.TextTruncate = Enum.TextTruncate.AtEnd sliderValue.BackgroundColor3 = Color3.fromRGB(255, 255, 255) sliderValue.BackgroundTransparency = 0.95 sliderValue.BorderColor3 = Color3.fromRGB(0, 0, 0) sliderValue.BorderSizePixel = 0 sliderValue.LayoutOrder = 1 sliderValue.Position = UDim2.fromScale(-0.0789, 0.171) sliderValue.Size = UDim2.fromOffset(41, 21) sliderValue.ClipsDescendants = true local sliderValueUICorner = Instance.new("UICorner") sliderValueUICorner.Name = "SliderValueUICorner" sliderValueUICorner.CornerRadius = UDim.new(0, 4) sliderValueUICorner.Parent = sliderValue local sliderValueUIStroke = Instance.new("UIStroke") sliderValueUIStroke.Name = "SliderValueUIStroke" sliderValueUIStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border sliderValueUIStroke.Color = Color3.fromRGB(255, 255, 255) sliderValueUIStroke.Transparency = 0.9 sliderValueUIStroke.Parent = sliderValue local sliderValueUIPadding = Instance.new("UIPadding") sliderValueUIPadding.Name = "SliderValueUIPadding" sliderValueUIPadding.PaddingLeft = UDim.new(0, 2) sliderValueUIPadding.PaddingRight = UDim.new(0, 2) sliderValueUIPadding.Parent = sliderValue sliderValue.Parent = sliderElements local sliderElementsUIListLayout = Instance.new("UIListLayout") sliderElementsUIListLayout.Name = "SliderElementsUIListLayout" sliderElementsUIListLayout.Padding = UDim.new(0, 20) sliderElementsUIListLayout.FillDirection = Enum.FillDirection.Horizontal sliderElementsUIListLayout.HorizontalAlignment = Enum.HorizontalAlignment.Right sliderElementsUIListLayout.SortOrder = Enum.SortOrder.LayoutOrder sliderElementsUIListLayout.VerticalAlignment = Enum.VerticalAlignment.Center sliderElementsUIListLayout.Parent = sliderElements local sliderBar = Instance.new("ImageLabel") sliderBar.Name = "SliderBar" sliderBar.Image = assets.sliderbar sliderBar.ImageColor3 = Color3.fromRGB(87, 86, 86) sliderBar.BackgroundColor3 = Color3.fromRGB(255, 255, 255) sliderBar.BackgroundTransparency = 1 sliderBar.BorderColor3 = Color3.fromRGB(0, 0, 0) sliderBar.BorderSizePixel = 0 sliderBar.Position = UDim2.fromScale(0.219, 0.457) sliderBar.Size = UDim2.fromOffset(123, 3) local sliderHead = Instance.new("ImageButton") sliderHead.Name = "SliderHead" sliderHead.Image = assets.sliderhead sliderHead.AnchorPoint = Vector2.new(0.5, 0.5) sliderHead.BackgroundColor3 = Color3.fromRGB(255, 255, 255) sliderHead.BackgroundTransparency = 1 sliderHead.BorderColor3 = Color3.fromRGB(0, 0, 0) sliderHead.BorderSizePixel = 0 sliderHead.Position = UDim2.fromScale(1, 0.5) sliderHead.Size = UDim2.fromOffset(12, 12) sliderHead.Parent = sliderBar sliderBar.Parent = sliderElements local sliderElementsUIPadding = Instance.new("UIPadding") sliderElementsUIPadding.Name = "SliderElementsUIPadding" sliderElementsUIPadding.PaddingTop = UDim.new(0, 3) sliderElementsUIPadding.Parent = sliderElements sliderElements.Parent = slider local dragging = false local DisplayMethods = { Hundredths = function(sliderValue) -- Deprecated use Settings.Precision return string.format("%.2f", sliderValue) end, Tenths = function(sliderValue) -- Deprecated use Settings.Precision return string.format("%.1f", sliderValue) end, Round = function(sliderValue, precision) if precision then return string.format("%." .. precision .. "f", sliderValue) else return tostring(math.round(sliderValue)) end end, Degrees = function(sliderValue, precision) local formattedValue = precision and string.format("%." .. precision .. "f", sliderValue) or tostring(sliderValue) return formattedValue .. "°" end, Percent = function(sliderValue, precision) local percentage = (sliderValue - SliderFunctions.Settings.Minimum) / (SliderFunctions.Settings.Maximum - SliderFunctions.Settings.Minimum) * 100 return precision and string.format("%." .. precision .. "f", percentage) .. "%" or tostring(math.round(percentage)) .. "%" end, Value = function(sliderValue, precision) return precision and string.format("%." .. precision .. "f", sliderValue) or tostring(sliderValue) end } local ValueDisplayMethod = DisplayMethods[SliderFunctions.Settings.DisplayMethod] or DisplayMethods.Value local finalValue local function SetValue(val, ignorecallback) local posXScale if typeof(val) == "Instance" then local input = val posXScale = math.clamp((input.Position.X - sliderBar.AbsolutePosition.X) / sliderBar.AbsoluteSize.X, 0, 1) else local value = val posXScale = (value - SliderFunctions.Settings.Minimum) / (SliderFunctions.Settings.Maximum - Settings.Minimum) end local pos = UDim2.new(posXScale, 0, 0.5, 0) sliderHead.Position = pos finalValue = posXScale * (SliderFunctions.Settings.Maximum - SliderFunctions.Settings.Minimum) + Settings.Minimum sliderValue.Text = (Settings.Prefix or "") .. ValueDisplayMethod(finalValue, SliderFunctions.Settings.Precision) .. (Settings.Suffix or "") if not ignorecallback then task.spawn(function() if SliderFunctions.Settings.Callback then SliderFunctions.Settings.Callback(finalValue) end end) end SliderFunctions.Value = finalValue end SetValue(SliderFunctions.Settings.Default, true) sliderHead.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true SetValue(input) end end) sliderHead.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = false if SliderFunctions.Settings.onInputComplete then SliderFunctions.Settings.onInputComplete(finalValue) end end end) sliderValue.FocusLost:Connect(function(enterPressed) local inputText = sliderValue.Text local value, isPercent = inputText:match("^(%-?%d+%.?%d*)(%%?)$") if value then value = tonumber(value) isPercent = isPercent == "%" if isPercent then value = SliderFunctions.Settings.Minimum + (value / 100) * (SliderFunctions.Settings.Maximum - SliderFunctions.Settings.Minimum) end local newValue = math.clamp(value, SliderFunctions.Settings.Minimum, SliderFunctions.Settings.Maximum) SetValue(newValue) else sliderValue.Text = ValueDisplayMethod(sliderValue) end if SliderFunctions.Settings.onInputComplete then SliderFunctions.Settings.onInputComplete(finalValue) end end) UserInputService.InputChanged:Connect(function(input) if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then SetValue(input) end end) local function updateSliderBarSize() local padding = sliderElementsUIListLayout.Padding.Offset local sliderValueWidth = sliderValue.AbsoluteSize.X local sliderNameWidth = sliderName.AbsoluteSize.X local totalWidth = sliderElements.AbsoluteSize.X local newBarWidth = (totalWidth - (padding + sliderValueWidth + sliderNameWidth + 20)) / baseUIScale.Scale sliderBar.Size = UDim2.new(sliderBar.Size.X.Scale, newBarWidth, sliderBar.Size.Y.Scale, sliderBar.Size.Y.Offset) end updateSliderBarSize() sliderName:GetPropertyChangedSignal("AbsoluteSize"):Connect(updateSliderBarSize) section:GetPropertyChangedSignal("AbsoluteSize"):Connect(updateSliderBarSize) function SliderFunctions:UpdateName(Name) sliderName = Name end function SliderFunctions:SetVisibility(State) slider.Visible = State end function SliderFunctions:UpdateValue(Value) SetValue(tonumber(Value), true) end function SliderFunctions:GetValue() return finalValue end if Flag then MacLib.Options[Flag] = SliderFunctions end return SliderFunctions end function SectionFunctions:Input(Settings, Flag) local InputFunctions = { Settings = Settings, IgnoreConfig = false, Class = "Input" } local input = Instance.new("Frame") input.Name = "Input" input.AutomaticSize = Enum.AutomaticSize.Y input.BackgroundColor3 = Color3.fromRGB(0, 0, 0) input.BackgroundTransparency = 1 input.BorderColor3 = Color3.fromRGB(0, 0, 0) input.BorderSizePixel = 0 input.Size = UDim2.new(1, 0, 0, 38) input.Parent = section local inputName = Instance.new("TextLabel") inputName.Name = "InputName" inputName.FontFace = Font.new(assets.interFont) inputName.Text = InputFunctions.Settings.Name inputName.RichText = true inputName.TextColor3 = Color3.fromRGB(255, 255, 255) inputName.TextSize = 13 inputName.TextTransparency = 0.5 inputName.TextTruncate = Enum.TextTruncate.AtEnd inputName.TextXAlignment = Enum.TextXAlignment.Left inputName.TextYAlignment = Enum.TextYAlignment.Top inputName.AnchorPoint = Vector2.new(0, 0.5) inputName.AutomaticSize = Enum.AutomaticSize.XY inputName.BackgroundColor3 = Color3.fromRGB(255, 255, 255) inputName.BackgroundTransparency = 1 inputName.BorderColor3 = Color3.fromRGB(0, 0, 0) inputName.BorderSizePixel = 0 inputName.Position = UDim2.fromScale(0, 0.5) inputName.Parent = input local inputBox = Instance.new("TextBox") inputBox.Name = "InputBox" inputBox.FontFace = Font.new(assets.interFont) inputBox.Text = "Hello world!" inputBox.TextColor3 = Color3.fromRGB(255, 255, 255) inputBox.TextSize = 12 inputBox.TextTransparency = 0.1 inputBox.AnchorPoint = Vector2.new(1, 0.5) inputBox.AutomaticSize = Enum.AutomaticSize.X inputBox.BackgroundColor3 = Color3.fromRGB(255, 255, 255) inputBox.BackgroundTransparency = 0.95 inputBox.BorderColor3 = Color3.fromRGB(0, 0, 0) inputBox.BorderSizePixel = 0 inputBox.ClipsDescendants = true inputBox.LayoutOrder = 1 inputBox.Position = UDim2.fromScale(1, 0.5) inputBox.Size = UDim2.fromOffset(21, 21) inputBox.TextXAlignment = Enum.TextXAlignment.Right local inputBoxUICorner = Instance.new("UICorner") inputBoxUICorner.Name = "InputBoxUICorner" inputBoxUICorner.CornerRadius = UDim.new(0, 4) inputBoxUICorner.Parent = inputBox local inputBoxUIStroke = Instance.new("UIStroke") inputBoxUIStroke.Name = "InputBoxUIStroke" inputBoxUIStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border inputBoxUIStroke.Color = Color3.fromRGB(255, 255, 255) inputBoxUIStroke.Transparency = 0.9 inputBoxUIStroke.Parent = inputBox local inputBoxUIPadding = Instance.new("UIPadding") inputBoxUIPadding.Name = "InputBoxUIPadding" inputBoxUIPadding.PaddingLeft = UDim.new(0, 5) inputBoxUIPadding.PaddingRight = UDim.new(0, 5) inputBoxUIPadding.Parent = inputBox local inputBoxUISizeConstraint = Instance.new("UISizeConstraint") inputBoxUISizeConstraint.Name = "InputBoxUISizeConstraint" inputBoxUISizeConstraint.Parent = inputBox inputBox.Parent = input local Input = input local InputBox = inputBox local InputName = inputName local Constraint = inputBoxUISizeConstraint local function applyCharacterLimit(value) if InputFunctions.Settings.CharacterLimit then return value:sub(1, InputFunctions.Settings.CharacterLimit) end return value end local CharacterSubs = { All = function(value) return applyCharacterLimit(value) end, Numeric = function(value) local result = value:match("^%-?%d*$") and value or value:gsub("[^%d-]", ""):gsub("(%-)", function(match, pos) return pos == 1 and match or "" end) return applyCharacterLimit(result) end, Alphabetic = function(value) return applyCharacterLimit(value:gsub("[^a-zA-Z ]", "")) end, AlphaNumeric = function(value) return applyCharacterLimit(value:gsub("[^a-zA-Z0-9]", "")) end, } local AcceptedCharacters if type(InputFunctions.Settings.AcceptedCharacters) == "function" then AcceptedCharacters = InputFunctions.Settings.AcceptedCharacters else AcceptedCharacters = CharacterSubs[InputFunctions.Settings.AcceptedCharacters] or CharacterSubs.All end InputBox.AutomaticSize = Enum.AutomaticSize.X local function checkSize() local nameWidth = InputName.AbsoluteSize.X local totalWidth = Input.AbsoluteSize.X local maxWidth = (totalWidth - nameWidth - 20) / baseUIScale.Scale Constraint.MaxSize = Vector2.new(maxWidth, 9e9) end checkSize() InputName:GetPropertyChangedSignal("AbsoluteSize"):Connect(checkSize) InputBox.FocusLost:Connect(function() local inputText = InputBox.Text local filteredText = AcceptedCharacters(inputText) InputBox.Text = filteredText task.spawn(function() if InputFunctions.Settings.Callback then InputFunctions.Settings.Callback(filteredText) end end) end) InputBox.Text = InputFunctions.Settings.Default or "" InputBox.PlaceholderText = InputFunctions.Settings.Placeholder or "" InputBox:GetPropertyChangedSignal("Text"):Connect(function() InputBox.Text = AcceptedCharacters(InputBox.Text) if InputFunctions.Settings.onChanged then InputFunctions.Settings.onChanged(InputBox.Text) end InputFunctions.Text = InputBox.Text end) function InputFunctions:UpdateName(Name) inputName.Text = Name end function InputFunctions:SetVisibility(State) input.Visible = State end function InputFunctions:GetInput() return InputBox.Text end function InputFunctions:UpdatePlaceholder(Placeholder) inputBox.PlaceholderText = Placeholder end function InputFunctions:UpdateText(Text) local filteredText = AcceptedCharacters(Text) InputBox.Text = filteredText InputFunctions.Text = filteredText task.spawn(function() if InputFunctions.Settings.Callback then InputFunctions.Settings.Callback(filteredText) end end) end if Flag then MacLib.Options[Flag] = InputFunctions end return InputFunctions end function SectionFunctions:Keybind(Settings, Flag) local KeybindFunctions = { Settings = Settings, IgnoreConfig = false, Class = "Keybind" } local keybind = Instance.new("Frame") keybind.Name = "Keybind" keybind.AutomaticSize = Enum.AutomaticSize.Y keybind.BackgroundColor3 = Color3.fromRGB(0, 0, 0) keybind.BackgroundTransparency = 1 keybind.BorderColor3 = Color3.fromRGB(0, 0, 0) keybind.BorderSizePixel = 0 keybind.Size = UDim2.new(1, 0, 0, 38) keybind.Parent = section local keybindName = Instance.new("TextLabel") keybindName.Name = "KeybindName" keybindName.FontFace = Font.new(assets.interFont) keybindName.Text = KeybindFunctions.Settings.Name keybindName.RichText = true keybindName.TextColor3 = Color3.fromRGB(255, 255, 255) keybindName.TextSize = 13 keybindName.TextTransparency = 0.5 keybindName.TextTruncate = Enum.TextTruncate.AtEnd keybindName.TextXAlignment = Enum.TextXAlignment.Left keybindName.TextYAlignment = Enum.TextYAlignment.Top keybindName.AnchorPoint = Vector2.new(0, 0.5) keybindName.AutomaticSize = Enum.AutomaticSize.XY keybindName.BackgroundColor3 = Color3.fromRGB(255, 255, 255) keybindName.BackgroundTransparency = 1 keybindName.BorderColor3 = Color3.fromRGB(0, 0, 0) keybindName.BorderSizePixel = 0 keybindName.Position = UDim2.fromScale(0, 0.5) keybindName.Parent = keybind local binderBox = Instance.new("TextBox") binderBox.Name = "BinderBox" binderBox.CursorPosition = -1 binderBox.FontFace = Font.new(assets.interFont) binderBox.PlaceholderText = "..." binderBox.Text = "" binderBox.TextColor3 = Color3.fromRGB(255, 255, 255) binderBox.TextSize = 12 binderBox.TextTransparency = 0.1 binderBox.AnchorPoint = Vector2.new(1, 0.5) binderBox.AutomaticSize = Enum.AutomaticSize.X binderBox.BackgroundColor3 = Color3.fromRGB(255, 255, 255) binderBox.BackgroundTransparency = 0.95 binderBox.BorderColor3 = Color3.fromRGB(0, 0, 0) binderBox.BorderSizePixel = 0 binderBox.ClipsDescendants = true binderBox.LayoutOrder = 1 binderBox.Position = UDim2.fromScale(1, 0.5) binderBox.Size = UDim2.fromOffset(21, 21) local binderBoxUICorner = Instance.new("UICorner") binderBoxUICorner.Name = "BinderBoxUICorner" binderBoxUICorner.CornerRadius = UDim.new(0, 4) binderBoxUICorner.Parent = binderBox local binderBoxUIStroke = Instance.new("UIStroke") binderBoxUIStroke.Name = "BinderBoxUIStroke" binderBoxUIStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border binderBoxUIStroke.Color = Color3.fromRGB(255, 255, 255) binderBoxUIStroke.Transparency = 0.9 binderBoxUIStroke.Parent = binderBox local binderBoxUIPadding = Instance.new("UIPadding") binderBoxUIPadding.Name = "BinderBoxUIPadding" binderBoxUIPadding.PaddingLeft = UDim.new(0, 5) binderBoxUIPadding.PaddingRight = UDim.new(0, 5) binderBoxUIPadding.Parent = binderBox local binderBoxUISizeConstraint = Instance.new("UISizeConstraint") binderBoxUISizeConstraint.Name = "BinderBoxUISizeConstraint" binderBoxUISizeConstraint.Parent = binderBox binderBox.Parent = keybind local focused local isBinding = false local reset = false local binded = KeybindFunctions.Settings.Default local function resetFocusState() focused = false isBinding = false binderBox:ReleaseFocus() end if binded then binderBox.Text = binded.Name end binderBox.Focused:Connect(function() focused = true end) binderBox.FocusLost:Connect(function() focused = false end) UserInputService.InputBegan:Connect(function(inp) if focused and not isBinding then isBinding = true local Event Event = UserInputService.InputBegan:Connect(function(input) if KeybindFunctions.Settings.Blacklist and (table.find(KeybindFunctions.KeybindFunctions.Settings.Blacklist, input.KeyCode) or table.find(KeybindFunctions.Settings.Blacklist, input.UserInputType)) then binderBox:ReleaseFocus() resetFocusState() Event:Disconnect() return end if input.UserInputType == Enum.UserInputType.Keyboard then binded = input.KeyCode binderBox.Text = input.KeyCode.Name elseif input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.MouseButton2 then binded = input.UserInputType binderBox.Text = input.UserInputType.Name end if KeybindFunctions.Settings.onBinded then KeybindFunctions.Settings.onBinded(binded) end reset = true resetFocusState() Event:Disconnect() end) else if not reset and (inp.KeyCode == binded or inp.UserInputType == binded) then if KeybindFunctions.Settings.Callback then KeybindFunctions.Settings.Callback(binded) end if KeybindFunctions.Settings.onBindHeld then KeybindFunctions.Settings.onBindHeld(true, binded) end else reset = false end end end) UserInputService.InputEnded:Connect(function(inp) if not focused and not isBinding then if inp.KeyCode == binded or inp.UserInputType == binded then if Settings.onBindHeld then Settings.onBindHeld(false, binded) end end end end) function KeybindFunctions:Bind(Key) binded = Key binderBox.Text = Key.Name end function KeybindFunctions:Unbind() binded = nil binderBox.Text = "" end function KeybindFunctions:GetBind() return binded end function KeybindFunctions:UpdateName(Name) keybindName = Name end function KeybindFunctions:SetVisibility(State) keybind.Visible = State end if Flag then MacLib.Options[Flag] = KeybindFunctions end return KeybindFunctions end function SectionFunctions:Dropdown(Settings, Flag) local DropdownFunctions = { Settings = Settings, IgnoreConfig = false, Class = "Dropdown" } local Selected = {} local OptionObjs = {} local dropdown = Instance.new("Frame") dropdown.Name = "Dropdown" dropdown.BackgroundColor3 = Color3.fromRGB(255, 255, 255) dropdown.BackgroundTransparency = 0.985 dropdown.BorderColor3 = Color3.fromRGB(0, 0, 0) dropdown.BorderSizePixel = 0 dropdown.Size = UDim2.new(1, 0, 0, 38) dropdown.Parent = section dropdown.ClipsDescendants = true local dropdownUIPadding = Instance.new("UIPadding") dropdownUIPadding.Name = "DropdownUIPadding" dropdownUIPadding.PaddingLeft = UDim.new(0, 15) dropdownUIPadding.PaddingRight = UDim.new(0, 15) dropdownUIPadding.Parent = dropdown local interact = Instance.new("TextButton") interact.Name = "Interact" interact.FontFace = Font.new("rbxasset://fonts/families/SourceSansPro.json") interact.Text = "" interact.TextColor3 = Color3.fromRGB(0, 0, 0) interact.TextSize = 14 interact.BackgroundColor3 = Color3.fromRGB(255, 255, 255) interact.BackgroundTransparency = 1 interact.BorderColor3 = Color3.fromRGB(0, 0, 0) interact.BorderSizePixel = 0 interact.Size = UDim2.new(1, 0, 0, 38) interact.Parent = dropdown local dropdownName = Instance.new("TextLabel") dropdownName.Name = "DropdownName" dropdownName.FontFace = Font.new(assets.interFont) dropdownName.Text = Settings.Default and (DropdownFunctions.Settings.Name .. " • " .. table.concat(Selected, ", ")) or (DropdownFunctions.Settings.Name .. "...") dropdownName.RichText = true dropdownName.TextColor3 = Color3.fromRGB(255, 255, 255) dropdownName.TextSize = 13 dropdownName.TextTransparency = 0.5 dropdownName.TextTruncate = Enum.TextTruncate.SplitWord dropdownName.TextXAlignment = Enum.TextXAlignment.Left dropdownName.AutomaticSize = Enum.AutomaticSize.Y dropdownName.BackgroundColor3 = Color3.fromRGB(255, 255, 255) dropdownName.BackgroundTransparency = 1 dropdownName.BorderColor3 = Color3.fromRGB(0, 0, 0) dropdownName.BorderSizePixel = 0 dropdownName.Size = UDim2.new(1, -20, 0, 38) dropdownName.Parent = dropdown local dropdownUIStroke = Instance.new("UIStroke") dropdownUIStroke.Name = "DropdownUIStroke" dropdownUIStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border dropdownUIStroke.Color = Color3.fromRGB(255, 255, 255) dropdownUIStroke.Transparency = 0.95 dropdownUIStroke.Parent = dropdown local dropdownUICorner = Instance.new("UICorner") dropdownUICorner.Name = "DropdownUICorner" dropdownUICorner.CornerRadius = UDim.new(0, 6) dropdownUICorner.Parent = dropdown local dropdownImage = Instance.new("ImageLabel") dropdownImage.Name = "DropdownImage" dropdownImage.Image = assets.dropdown dropdownImage.ImageTransparency = 0.5 dropdownImage.AnchorPoint = Vector2.new(1, 0) dropdownImage.BackgroundColor3 = Color3.fromRGB(255, 255, 255) dropdownImage.BackgroundTransparency = 1 dropdownImage.BorderColor3 = Color3.fromRGB(0, 0, 0) dropdownImage.BorderSizePixel = 0 dropdownImage.Position = UDim2.new(1, 0, 0, 12) dropdownImage.Size = UDim2.fromOffset(14, 14) dropdownImage.Parent = dropdown local dropdownFrame = Instance.new("Frame") dropdownFrame.Name = "DropdownFrame" dropdownFrame.BackgroundColor3 = Color3.fromRGB(255, 255, 255) dropdownFrame.BackgroundTransparency = 1 dropdownFrame.BorderColor3 = Color3.fromRGB(0, 0, 0) dropdownFrame.BorderSizePixel = 0 dropdownFrame.ClipsDescendants = true dropdownFrame.Size = UDim2.fromScale(1, 1) dropdownFrame.Visible = false dropdownFrame.AutomaticSize = Enum.AutomaticSize.Y local dropdownFrameUIPadding = Instance.new("UIPadding") dropdownFrameUIPadding.Name = "DropdownFrameUIPadding" dropdownFrameUIPadding.PaddingTop = UDim.new(0, 38) dropdownFrameUIPadding.PaddingBottom = UDim.new(0, 10) dropdownFrameUIPadding.Parent = dropdownFrame local dropdownFrameUIListLayout = Instance.new("UIListLayout") dropdownFrameUIListLayout.Name = "DropdownFrameUIListLayout" dropdownFrameUIListLayout.Padding = UDim.new(0, 5) dropdownFrameUIListLayout.SortOrder = Enum.SortOrder.LayoutOrder dropdownFrameUIListLayout.Parent = dropdownFrame local search = Instance.new("Frame") search.Name = "Search" search.BackgroundColor3 = Color3.fromRGB(255, 255, 255) search.BackgroundTransparency = 0.95 search.BorderColor3 = Color3.fromRGB(0, 0, 0) search.BorderSizePixel = 0 search.LayoutOrder = -1 search.Size = UDim2.new(1, 0, 0, 30) search.Parent = dropdownFrame search.Visible = DropdownFunctions.Settings.Search local sectionUICorner = Instance.new("UICorner") sectionUICorner.Name = "SectionUICorner" sectionUICorner.Parent = search local searchIcon = Instance.new("ImageLabel") searchIcon.Name = "SearchIcon" searchIcon.Image = assets.searchIcon searchIcon.ImageColor3 = Color3.fromRGB(180, 180, 180) searchIcon.AnchorPoint = Vector2.new(0, 0.5) searchIcon.BackgroundColor3 = Color3.fromRGB(255, 255, 255) searchIcon.BackgroundTransparency = 1 searchIcon.BorderColor3 = Color3.fromRGB(0, 0, 0) searchIcon.BorderSizePixel = 0 searchIcon.Position = UDim2.fromScale(0, 0.5) searchIcon.Size = UDim2.fromOffset(12, 12) searchIcon.Parent = search local uIPadding = Instance.new("UIPadding") uIPadding.Name = "UIPadding" uIPadding.PaddingLeft = UDim.new(0, 15) uIPadding.Parent = search local searchBox = Instance.new("TextBox") searchBox.Name = "SearchBox" searchBox.CursorPosition = -1 searchBox.FontFace = Font.new( assets.interFont, Enum.FontWeight.Medium, Enum.FontStyle.Normal ) searchBox.PlaceholderColor3 = Color3.fromRGB(150, 150, 150) searchBox.PlaceholderText = "Search..." searchBox.Text = "" searchBox.TextColor3 = Color3.fromRGB(200, 200, 200) searchBox.TextSize = 14 searchBox.TextXAlignment = Enum.TextXAlignment.Left searchBox.BackgroundColor3 = Color3.fromRGB(255, 255, 255) searchBox.BackgroundTransparency = 1 searchBox.BorderColor3 = Color3.fromRGB(0, 0, 0) searchBox.BorderSizePixel = 0 searchBox.Size = UDim2.fromScale(1, 1) local function CalculateDropdownSize() local totalHeight = 0 local visibleChildrenCount = 0 local padding = dropdownFrameUIPadding.PaddingTop.Offset + dropdownFrameUIPadding.PaddingBottom.Offset for _, v in pairs(dropdownFrame:GetChildren()) do if not v:IsA("UIComponent") and v.Visible then totalHeight += v.AbsoluteSize.Y visibleChildrenCount += 1 end end local spacing = dropdownFrameUIListLayout.Padding.Offset * (visibleChildrenCount - 1) return totalHeight + spacing + padding end local function findOption() local searchTerm = searchBox.Text:lower() for _, v in pairs(OptionObjs) do local optionText = v.NameLabel.Text:lower() local isVisible = string.find(optionText, searchTerm) ~= nil if v.Button.Visible ~= isVisible then v.Button.Visible = isVisible end end dropdown.Size = UDim2.new(1, 0, 0, CalculateDropdownSize()) end searchBox:GetPropertyChangedSignal("Text"):Connect(findOption) local uIPadding1 = Instance.new("UIPadding") uIPadding1.Name = "UIPadding" uIPadding1.PaddingLeft = UDim.new(0, 23) uIPadding1.Parent = searchBox searchBox.Parent = search local tweensettings = { duration = 0.2, easingStyle = Enum.EasingStyle.Quint, transparencyIn = 0.2, transparencyOut = 0.5, checkSizeIncrease = 12, checkSizeDecrease = -13, waitTime = 1 } local function Toggle(optionName, State) local option = OptionObjs[optionName] if not option then return end local checkmark = option.Checkmark local optionNameLabel = option.NameLabel if State then if DropdownFunctions.Settings.Multi then if not table.find(Selected, optionName) then table.insert(Selected, optionName) DropdownFunctions.Value = Selected end else for name, opt in pairs(OptionObjs) do if name ~= optionName then Tween(opt.Checkmark, TweenInfo.new(tweensettings.duration, tweensettings.easingStyle), { Size = UDim2.new(opt.Checkmark.Size.X.Scale, tweensettings.checkSizeDecrease, opt.Checkmark.Size.Y.Scale, opt.Checkmark.Size.Y.Offset) }):Play() Tween(opt.NameLabel, TweenInfo.new(tweensettings.duration, tweensettings.easingStyle), { TextTransparency = tweensettings.transparencyOut }):Play() opt.Checkmark.TextTransparency = 1 end end Selected = {optionName} DropdownFunctions.Value = Selected[1] end Tween(checkmark, TweenInfo.new(tweensettings.duration, tweensettings.easingStyle), { Size = UDim2.new(checkmark.Size.X.Scale, tweensettings.checkSizeIncrease, checkmark.Size.Y.Scale, checkmark.Size.Y.Offset) }):Play() Tween(optionNameLabel, TweenInfo.new(tweensettings.duration, tweensettings.easingStyle), { TextTransparency = tweensettings.transparencyIn }):Play() checkmark.TextTransparency = 0 else if DropdownFunctions.Settings.Multi then local idx = table.find(Selected, optionName) if idx then table.remove(Selected, idx) end else Selected = {} end Tween(checkmark, TweenInfo.new(tweensettings.duration, tweensettings.easingStyle), { Size = UDim2.new(checkmark.Size.X.Scale, tweensettings.checkSizeDecrease, checkmark.Size.Y.Scale, checkmark.Size.Y.Offset) }):Play() Tween(optionNameLabel, TweenInfo.new(tweensettings.duration, tweensettings.easingStyle), { TextTransparency = tweensettings.transparencyOut }):Play() checkmark.TextTransparency = 1 end if Settings.Required and #Selected == 0 and not State then return end if #Selected > 0 then dropdownName.Text = DropdownFunctions.Settings.Name .. " • " .. table.concat(Selected, ", ") else dropdownName.Text = DropdownFunctions.Settings.Name .. "..." end end local dropped = false local db = false local function ToggleDropdown() if db then return end db = true local defaultDropdownSize = 38 local isDropdownOpen = not dropped local targetSize = isDropdownOpen and UDim2.new(1, 0, 0, CalculateDropdownSize()) or UDim2.new(1, 0, 0, defaultDropdownSize) local dropTween = Tween(dropdown, TweenInfo.new(0.2, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out), { Size = targetSize }) local iconTween = Tween(dropdownImage, TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), { Rotation = isDropdownOpen and -90 or 0 }) dropTween:Play() iconTween:Play() if isDropdownOpen then dropdownFrame.Visible = true dropTween.Completed:Connect(function() db = false end) else dropTween.Completed:Connect(function() dropdownFrame.Visible = false db = false end) end dropped = isDropdownOpen end interact.MouseButton1Click:Connect(ToggleDropdown) local function addOption(i, v) local option = Instance.new("TextButton") option.Name = "Option" option.FontFace = Font.new("rbxasset://fonts/families/SourceSansPro.json") option.Text = "" option.TextColor3 = Color3.fromRGB(0, 0, 0) option.TextSize = 14 option.BackgroundColor3 = Color3.fromRGB(255, 255, 255) option.BackgroundTransparency = 1 option.BorderColor3 = Color3.fromRGB(0, 0, 0) option.BorderSizePixel = 0 option.Size = UDim2.new(1, 0, 0, 30) local optionUIPadding = Instance.new("UIPadding") optionUIPadding.Name = "OptionUIPadding" optionUIPadding.PaddingLeft = UDim.new(0, 15) optionUIPadding.Parent = option local optionName = Instance.new("TextLabel") optionName.Name = "OptionName" optionName.FontFace = Font.new(assets.interFont) optionName.Text = v optionName.RichText = true optionName.TextColor3 = Color3.fromRGB(255, 255, 255) optionName.TextSize = 13 optionName.TextTransparency = 0.5 optionName.TextTruncate = Enum.TextTruncate.AtEnd optionName.TextXAlignment = Enum.TextXAlignment.Left optionName.TextYAlignment = Enum.TextYAlignment.Top optionName.AnchorPoint = Vector2.new(0, 0.5) optionName.AutomaticSize = Enum.AutomaticSize.XY optionName.BackgroundColor3 = Color3.fromRGB(255, 255, 255) optionName.BackgroundTransparency = 1 optionName.BorderColor3 = Color3.fromRGB(0, 0, 0) optionName.BorderSizePixel = 0 optionName.Position = UDim2.fromScale(1.3e-07, 0.5) optionName.Parent = option local optionUIListLayout = Instance.new("UIListLayout") optionUIListLayout.Name = "OptionUIListLayout" optionUIListLayout.Padding = UDim.new(0, 10) optionUIListLayout.FillDirection = Enum.FillDirection.Horizontal optionUIListLayout.SortOrder = Enum.SortOrder.LayoutOrder optionUIListLayout.VerticalAlignment = Enum.VerticalAlignment.Center optionUIListLayout.Parent = option local checkmark = Instance.new("TextLabel") checkmark.Name = "Checkmark" checkmark.FontFace = Font.new(assets.interFont) checkmark.Text = "✓" checkmark.TextColor3 = Color3.fromRGB(255, 255, 255) checkmark.TextSize = 13 checkmark.TextTransparency = 1 checkmark.TextXAlignment = Enum.TextXAlignment.Left checkmark.TextYAlignment = Enum.TextYAlignment.Top checkmark.AnchorPoint = Vector2.new(0, 0.5) checkmark.AutomaticSize = Enum.AutomaticSize.Y checkmark.BackgroundColor3 = Color3.fromRGB(255, 255, 255) checkmark.BackgroundTransparency = 1 checkmark.BorderColor3 = Color3.fromRGB(0, 0, 0) checkmark.BorderSizePixel = 0 checkmark.LayoutOrder = -1 checkmark.Position = UDim2.fromScale(1.3e-07, 0.5) checkmark.Size = UDim2.fromOffset(-10, 0) checkmark.Parent = option option.Parent = dropdownFrame dropdownFrame.Parent = dropdown OptionObjs[v] = { Index = i, Button = option, NameLabel = optionName, Checkmark = checkmark } local tweensettings = { duration = 0.2, easingStyle = Enum.EasingStyle.Quint, transparencyIn = 0.2, transparencyOut = 0.5, checkSizeIncrease = 12, checkSizeDecrease = -optionUIListLayout.Padding.Offset, waitTime = 1 } local tweens = { checkIn = Tween(checkmark, TweenInfo.new(tweensettings.duration, tweensettings.easingStyle), { Size = UDim2.new(checkmark.Size.X.Scale, tweensettings.checkSizeIncrease, checkmark.Size.Y.Scale, checkmark.Size.Y.Offset) }), checkOut = Tween(checkmark, TweenInfo.new(tweensettings.duration, tweensettings.easingStyle),{ Size = UDim2.new(checkmark.Size.X.Scale, tweensettings.checkSizeDecrease, checkmark.Size.Y.Scale, checkmark.Size.Y.Offset) }), nameIn = Tween(optionName, TweenInfo.new(tweensettings.duration, tweensettings.easingStyle),{ TextTransparency = tweensettings.transparencyIn }), nameOut = Tween(optionName, TweenInfo.new(tweensettings.duration, tweensettings.easingStyle),{ TextTransparency = tweensettings.transparencyOut }) } local isSelected = false if DropdownFunctions.Settings.Default then if DropdownFunctions.Settings.Multi then isSelected = table.find(DropdownFunctions.Settings.Default, v) and true or false else isSelected = (DropdownFunctions.Settings.Default == i) and true or false end end Toggle(v, isSelected) local option = OptionObjs[v].Button option.MouseButton1Click:Connect(function() local isSelected = table.find(Selected, v) and true or false local newSelected = not isSelected if DropdownFunctions.Settings.Required and not newSelected and #Selected <= 1 then return end Toggle(v, newSelected) task.spawn(function() if DropdownFunctions.Settings.Multi then local Return = {} for _, opt in ipairs(Selected) do Return[opt] = true end if DropdownFunctions.Settings.Callback then DropdownFunctions.Settings.Callback(Return) end else if newSelected and DropdownFunctions.Settings.Callback then DropdownFunctions.Settings.Callback(Selected[1] or nil) end end end) end) if dropped then dropdown.Size = UDim2.new(1, 0, 0, CalculateDropdownSize()) end end if DropdownFunctions.Settings.Options then for i, v in pairs(DropdownFunctions.Settings.Options) do addOption(i, v) end end function DropdownFunctions:UpdateName(New) dropdownName.Text = New end function DropdownFunctions:SetVisibility(State) dropdown.Visible = State end function DropdownFunctions:UpdateSelection(newSelection) if not newSelection then return end for option, _ in pairs(OptionObjs) do Toggle(option, false) end local selectedOptions = {} if type(newSelection) == "number" then for option, data in pairs(OptionObjs) do local isSelected = data.Index == newSelection Toggle(option, isSelected) if isSelected then table.insert(selectedOptions, option) end end elseif type(newSelection) == "string" then for option, data in pairs(OptionObjs) do local isSelected = option == newSelection Toggle(option, isSelected) if isSelected then table.insert(selectedOptions, option) end end elseif type(newSelection) == "table" then for option, _ in pairs(OptionObjs) do local isSelected = table.find(newSelection, option) ~= nil Toggle(option, isSelected) if isSelected then table.insert(selectedOptions, option) end end end if DropdownFunctions.Settings.Callback then if DropdownFunctions.Settings.Multi then local Return = {} for _, opt in ipairs(selectedOptions) do Return[opt] = true end DropdownFunctions.Settings.Callback(Return) else DropdownFunctions.Settings.Callback(selectedOptions[1] or nil) end end end function DropdownFunctions:InsertOptions(newOptions) if not newOptions then return end DropdownFunctions.Settings.Options = newOptions for i, v in pairs(newOptions) do addOption(i, v) end end function DropdownFunctions:ClearOptions() for _, optionData in pairs(OptionObjs) do optionData.Button:Destroy() end OptionObjs = {} Selected = {} if dropped then dropdown.Size = UDim2.new(1, 0, 0, CalculateDropdownSize()) end end function DropdownFunctions:GetOptions() local optionsStatus = {} for option, data in pairs(OptionObjs) do local isSelected = table.find(Selected, option) and true or false optionsStatus[option] = isSelected end return optionsStatus end function DropdownFunctions:RemoveOptions(remove) if not remove then return end for _, optionName in ipairs(remove) do local optionData = OptionObjs[optionName] if optionData then for i = #Selected, 1, -1 do if Selected[i] == optionName then table.remove(Selected, i) end end optionData.Button:Destroy() OptionObjs[optionName] = nil end end if dropped then dropdown.Size = UDim2.new(1, 0, 0, CalculateDropdownSize()) end end function DropdownFunctions:IsOption(optionName) if not optionName then return end return OptionObjs[optionName] ~= nil end if Flag then MacLib.Options[Flag] = DropdownFunctions end return DropdownFunctions end function SectionFunctions:Colorpicker(Settings, Flag) local ColorpickerFunctions = { Settings = Settings, IgnoreConfig = false, Class = "Colorpicker" } local isAlpha = ColorpickerFunctions.Settings.Alpha and true or false ColorpickerFunctions.Color = ColorpickerFunctions.Settings.Default ColorpickerFunctions.Alpha = isAlpha and ColorpickerFunctions.Settings.Alpha local colorpicker = Instance.new("Frame") colorpicker.Name = "Colorpicker" colorpicker.AutomaticSize = Enum.AutomaticSize.Y colorpicker.BackgroundColor3 = Color3.fromRGB(0, 0, 0) colorpicker.BackgroundTransparency = 1 colorpicker.BorderColor3 = Color3.fromRGB(0, 0, 0) colorpicker.BorderSizePixel = 0 colorpicker.Size = UDim2.new(1, 0, 0, 38) colorpicker.Parent = section local colorpickerName = Instance.new("TextLabel") colorpickerName.Name = "KeybindName" colorpickerName.FontFace = Font.new(assets.interFont) colorpickerName.Text = Settings.Name colorpickerName.TextColor3 = Color3.fromRGB(255, 255, 255) colorpickerName.TextSize = 13 colorpickerName.TextTransparency = 0.5 colorpickerName.RichText = true colorpickerName.TextTruncate = Enum.TextTruncate.AtEnd colorpickerName.TextXAlignment = Enum.TextXAlignment.Left colorpickerName.TextYAlignment = Enum.TextYAlignment.Top colorpickerName.AnchorPoint = Vector2.new(0, 0.5) colorpickerName.AutomaticSize = Enum.AutomaticSize.XY colorpickerName.BackgroundColor3 = Color3.fromRGB(255, 255, 255) colorpickerName.BackgroundTransparency = 1 colorpickerName.BorderColor3 = Color3.fromRGB(0, 0, 0) colorpickerName.BorderSizePixel = 0 colorpickerName.Position = UDim2.fromScale(0, 0.5) colorpickerName.Parent = colorpicker local colorCbg = Instance.new("ImageLabel") colorCbg.Name = "NewColor" colorCbg.Image = assets.grid colorCbg.ScaleType = Enum.ScaleType.Tile colorCbg.TileSize = UDim2.fromOffset(500, 500) colorCbg.AnchorPoint = Vector2.new(1, 0.5) colorCbg.BackgroundColor3 = Color3.fromRGB(255, 255, 255) colorCbg.BackgroundTransparency = 1 colorCbg.BorderColor3 = Color3.fromRGB(0, 0, 0) colorCbg.BorderSizePixel = 0 colorCbg.Position = UDim2.fromScale(1, 0.5) colorCbg.Size = UDim2.fromOffset(21, 21) local colorC = Instance.new("Frame") colorC.Name = "Color" colorC.AnchorPoint = Vector2.new(0.5, 0.5) colorC.BackgroundColor3 = ColorpickerFunctions.Color colorC.BorderSizePixel = 0 colorC.Position = UDim2.fromScale(0.5, 0.5) colorC.Size = UDim2.fromScale(1, 1) colorC.BackgroundTransparency = ColorpickerFunctions.Alpha or 0 local uICorner = Instance.new("UICorner") uICorner.Name = "UICorner" uICorner.CornerRadius = UDim.new(0, 6) uICorner.Parent = colorC local interact = Instance.new("TextButton") interact.Name = "Interact" interact.FontFace = Font.new("rbxasset://fonts/families/SourceSansPro.json") interact.Text = "" interact.TextColor3 = Color3.fromRGB(0, 0, 0) interact.TextSize = 14 interact.BackgroundColor3 = Color3.fromRGB(255, 255, 255) interact.BackgroundTransparency = 1 interact.BorderColor3 = Color3.fromRGB(0, 0, 0) interact.BorderSizePixel = 0 interact.Size = UDim2.fromScale(1, 1) interact.Parent = colorC colorC.Parent = colorCbg local uICorner1 = Instance.new("UICorner") uICorner1.Name = "UICorner" uICorner1.CornerRadius = UDim.new(0, 8) uICorner1.Parent = colorCbg colorCbg.Parent = colorpicker local colorPicker = Instance.new("Frame") colorPicker.Name = "ColorPicker" colorPicker.BackgroundColor3 = Color3.fromRGB(0, 0, 0) colorPicker.BackgroundTransparency = 0.5 colorPicker.BorderColor3 = Color3.fromRGB(0, 0, 0) colorPicker.BorderSizePixel = 0 colorPicker.Size = UDim2.fromScale(1, 1) colorPicker.Visible = false local baseUICorner = Instance.new("UICorner") baseUICorner.Name = "BaseUICorner" baseUICorner.CornerRadius = UDim.new(0, 10) baseUICorner.Parent = colorPicker local prompt = Instance.new("Frame") prompt.Name = "Prompt" prompt.AnchorPoint = Vector2.new(0.5, 0.5) prompt.AutomaticSize = Enum.AutomaticSize.Y prompt.BackgroundColor3 = Color3.fromRGB(15, 15, 15) prompt.BorderColor3 = Color3.fromRGB(0, 0, 0) prompt.BorderSizePixel = 0 prompt.Position = UDim2.fromScale(0.5, 0.5) prompt.Size = UDim2.fromOffset(420, 0) local promptUIScale = Instance.new("UIScale") promptUIScale.Name = "BaseUIScale" promptUIScale.Parent = prompt promptUIScale.Scale = 0.95 local globalSettingsUIStroke = Instance.new("UIStroke") globalSettingsUIStroke.Name = "GlobalSettingsUIStroke" globalSettingsUIStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border globalSettingsUIStroke.Color = Color3.fromRGB(255, 255, 255) globalSettingsUIStroke.Transparency = 0.9 globalSettingsUIStroke.Parent = prompt local globalSettingsUICorner = Instance.new("UICorner") globalSettingsUICorner.Name = "GlobalSettingsUICorner" globalSettingsUICorner.CornerRadius = UDim.new(0, 10) globalSettingsUICorner.Parent = prompt local uIListLayout = Instance.new("UIListLayout") uIListLayout.Name = "UIListLayout" uIListLayout.Padding = UDim.new(0, 10) uIListLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center uIListLayout.SortOrder = Enum.SortOrder.LayoutOrder uIListLayout.Parent = prompt local colorOptions = Instance.new("Frame") colorOptions.Name = "ColorOptions" colorOptions.AutomaticSize = Enum.AutomaticSize.XY colorOptions.BackgroundColor3 = Color3.fromRGB(255, 255, 255) colorOptions.BackgroundTransparency = 1 colorOptions.BorderColor3 = Color3.fromRGB(0, 0, 0) colorOptions.BorderSizePixel = 0 colorOptions.LayoutOrder = 1 colorOptions.Size = UDim2.fromScale(1, 0) local value = Instance.new("TextButton") value.Name = "Value" value.FontFace = Font.new("rbxasset://fonts/families/SourceSansPro.json") value.Text = "" value.TextColor3 = Color3.fromRGB(0, 0, 0) value.TextSize = 14 value.AutoButtonColor = false value.BackgroundColor3 = Color3.fromRGB(255, 255, 255) value.BorderColor3 = Color3.fromRGB(0, 0, 0) value.BorderSizePixel = 0 value.LayoutOrder = 1 value.Position = UDim2.fromScale(0.092, 0.886) value.Size = UDim2.new(1, 0, 0, 15) local uIGradient = Instance.new("UIGradient") uIGradient.Name = "UIGradient" uIGradient.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 255, 255)), ColorSequenceKeypoint.new(1, Color3.fromRGB(0, 0, 0)), }) uIGradient.Parent = value local slide = Instance.new("Frame") slide.Name = "Slide" slide.AnchorPoint = Vector2.new(0, 0.5) slide.BackgroundColor3 = Color3.fromRGB(255, 255, 255) slide.BorderColor3 = Color3.fromRGB(27, 42, 53) slide.BorderSizePixel = 0 slide.Position = UDim2.fromScale(0, 0.5) slide.Size = UDim2.new(0, 13, 1, 8) local uICorner = Instance.new("UICorner") uICorner.Name = "UICorner" uICorner.CornerRadius = UDim.new(1, 0) uICorner.Parent = slide local uIStroke = Instance.new("UIStroke") uIStroke.Name = "UIStroke" uIStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border uIStroke.Transparency = 0.5 uIStroke.Parent = slide slide.Parent = value local uICorner1 = Instance.new("UICorner") uICorner1.Name = "UICorner" uICorner1.CornerRadius = UDim.new(0, 6) uICorner1.Parent = value local uIStroke1 = Instance.new("UIStroke") uIStroke1.Name = "UIStroke" uIStroke1.ApplyStrokeMode = Enum.ApplyStrokeMode.Border uIStroke1.Color = Color3.fromRGB(255, 255, 255) uIStroke1.Transparency = 0.9 local uIGradient1 = Instance.new("UIGradient") uIGradient1.Name = "UIGradient" uIGradient1.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 255, 255)), ColorSequenceKeypoint.new(1, Color3.fromRGB(0, 0, 0)), }) uIGradient1.Rotation = 180 uIGradient1.Parent = uIStroke1 uIStroke1.Parent = value value.Parent = colorOptions local uIListLayout1 = Instance.new("UIListLayout") uIListLayout1.Name = "UIListLayout" uIListLayout1.Padding = UDim.new(0, 25) uIListLayout1.SortOrder = Enum.SortOrder.LayoutOrder uIListLayout1.Parent = colorOptions local wheel = Instance.new("Frame") wheel.Name = "Wheel" wheel.AutomaticSize = Enum.AutomaticSize.Y wheel.BackgroundColor3 = Color3.fromRGB(255, 255, 255) wheel.BackgroundTransparency = 1 wheel.BorderColor3 = Color3.fromRGB(0, 0, 0) wheel.BorderSizePixel = 0 wheel.Size = UDim2.new(1, 0, 0, 100) local wheel1 = Instance.new("ImageButton") wheel1.Name = "Wheel" wheel1.Image = assets.colorWheel wheel1.AutoButtonColor = false wheel1.Active = false wheel1.BackgroundColor3 = Color3.fromRGB(248, 248, 248) wheel1.BackgroundTransparency = 1 wheel1.BorderColor3 = Color3.fromRGB(27, 42, 53) wheel1.Selectable = false wheel1.Size = UDim2.fromOffset(220, 220) wheel1.SizeConstraint = Enum.SizeConstraint.RelativeYY local target = Instance.new("ImageLabel") target.Name = "Target" target.Image = assets.colorTarget target.ImageColor3 = Color3.fromRGB(0, 0, 0) target.AnchorPoint = Vector2.new(0.5, 0.5) target.BackgroundColor3 = Color3.fromRGB(255, 255, 255) target.BackgroundTransparency = 1 target.BorderColor3 = Color3.fromRGB(27, 42, 53) target.Position = UDim2.fromScale(0.5, 0.5) target.Size = UDim2.fromOffset(22, 22) target.SizeConstraint = Enum.SizeConstraint.RelativeYY target.Parent = wheel1 wheel1.Parent = wheel local inputs = Instance.new("Frame") inputs.Name = "Inputs" inputs.AnchorPoint = Vector2.new(1, 0.5) inputs.AutomaticSize = Enum.AutomaticSize.XY inputs.BackgroundColor3 = Color3.fromRGB(255, 255, 255) inputs.BackgroundTransparency = 1 inputs.BorderColor3 = Color3.fromRGB(0, 0, 0) inputs.BorderSizePixel = 0 inputs.LayoutOrder = 1 inputs.Position = UDim2.fromScale(1, 0.5) local uIListLayout2 = Instance.new("UIListLayout") uIListLayout2.Name = "UIListLayout" uIListLayout2.Padding = UDim.new(0, 5) uIListLayout2.SortOrder = Enum.SortOrder.LayoutOrder uIListLayout2.Parent = inputs local red = Instance.new("Frame") red.Name = "Red" red.AutomaticSize = Enum.AutomaticSize.XY red.BackgroundColor3 = Color3.fromRGB(0, 0, 0) red.BackgroundTransparency = 1 red.BorderColor3 = Color3.fromRGB(0, 0, 0) red.BorderSizePixel = 0 red.LayoutOrder = 1 red.Size = UDim2.fromOffset(0, 38) local inputName = Instance.new("TextLabel") inputName.Name = "InputName" inputName.FontFace = Font.new(assets.interFont) inputName.Text = "Red" inputName.TextColor3 = Color3.fromRGB(255, 255, 255) inputName.TextSize = 13 inputName.TextTransparency = 0.5 inputName.TextTruncate = Enum.TextTruncate.AtEnd inputName.TextXAlignment = Enum.TextXAlignment.Left inputName.TextYAlignment = Enum.TextYAlignment.Top inputName.AnchorPoint = Vector2.new(0, 0.5) inputName.AutomaticSize = Enum.AutomaticSize.XY inputName.BackgroundColor3 = Color3.fromRGB(255, 255, 255) inputName.BackgroundTransparency = 1 inputName.BorderColor3 = Color3.fromRGB(0, 0, 0) inputName.BorderSizePixel = 0 inputName.LayoutOrder = 2 inputName.Position = UDim2.fromScale(0, 0.5) inputName.Parent = red local uIListLayout3 = Instance.new("UIListLayout") uIListLayout3.Name = "UIListLayout" uIListLayout3.Padding = UDim.new(0, 15) uIListLayout3.FillDirection = Enum.FillDirection.Horizontal uIListLayout3.SortOrder = Enum.SortOrder.LayoutOrder uIListLayout3.VerticalAlignment = Enum.VerticalAlignment.Center uIListLayout3.Parent = red local inputBox = Instance.new("TextBox") inputBox.Name = "InputBox" inputBox.ClearTextOnFocus = false inputBox.CursorPosition = -1 inputBox.FontFace = Font.new(assets.interFont) inputBox.Text = "255" inputBox.TextColor3 = Color3.fromRGB(255, 255, 255) inputBox.TextSize = 12 inputBox.TextTransparency = 0.1 inputBox.TextXAlignment = Enum.TextXAlignment.Left inputBox.AnchorPoint = Vector2.new(1, 0.5) inputBox.BackgroundColor3 = Color3.fromRGB(255, 255, 255) inputBox.BackgroundTransparency = 0.95 inputBox.BorderColor3 = Color3.fromRGB(0, 0, 0) inputBox.BorderSizePixel = 0 inputBox.ClipsDescendants = true inputBox.LayoutOrder = 1 inputBox.Position = UDim2.fromScale(1, 0.5) inputBox.Size = UDim2.fromOffset(75, 25) local inputBoxUICorner = Instance.new("UICorner") inputBoxUICorner.Name = "InputBoxUICorner" inputBoxUICorner.CornerRadius = UDim.new(0, 4) inputBoxUICorner.Parent = inputBox local inputBoxUIStroke = Instance.new("UIStroke") inputBoxUIStroke.Name = "InputBoxUIStroke" inputBoxUIStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border inputBoxUIStroke.Color = Color3.fromRGB(255, 255, 255) inputBoxUIStroke.Transparency = 0.9 inputBoxUIStroke.Parent = inputBox local inputBoxUISizeConstraint = Instance.new("UISizeConstraint") inputBoxUISizeConstraint.Name = "InputBoxUISizeConstraint" inputBoxUISizeConstraint.Parent = inputBox local inputBoxUIPadding = Instance.new("UIPadding") inputBoxUIPadding.Name = "InputBoxUIPadding" inputBoxUIPadding.PaddingLeft = UDim.new(0, 8) inputBoxUIPadding.PaddingRight = UDim.new(0, 10) inputBoxUIPadding.Parent = inputBox inputBox.Parent = red red.Parent = inputs local green = Instance.new("Frame") green.Name = "Green" green.AutomaticSize = Enum.AutomaticSize.XY green.BackgroundColor3 = Color3.fromRGB(0, 0, 0) green.BackgroundTransparency = 1 green.BorderColor3 = Color3.fromRGB(0, 0, 0) green.BorderSizePixel = 0 green.LayoutOrder = 2 green.Size = UDim2.fromOffset(0, 38) local inputName1 = Instance.new("TextLabel") inputName1.Name = "InputName" inputName1.FontFace = Font.new(assets.interFont) inputName1.Text = "Green" inputName1.TextColor3 = Color3.fromRGB(255, 255, 255) inputName1.TextSize = 13 inputName1.TextTransparency = 0.5 inputName1.TextTruncate = Enum.TextTruncate.AtEnd inputName1.TextXAlignment = Enum.TextXAlignment.Left inputName1.TextYAlignment = Enum.TextYAlignment.Top inputName1.AnchorPoint = Vector2.new(0, 0.5) inputName1.AutomaticSize = Enum.AutomaticSize.XY inputName1.BackgroundColor3 = Color3.fromRGB(255, 255, 255) inputName1.BackgroundTransparency = 1 inputName1.BorderColor3 = Color3.fromRGB(0, 0, 0) inputName1.BorderSizePixel = 0 inputName1.LayoutOrder = 2 inputName1.Position = UDim2.fromScale(0, 0.5) inputName1.Parent = green local uIListLayout4 = Instance.new("UIListLayout") uIListLayout4.Name = "UIListLayout" uIListLayout4.Padding = UDim.new(0, 15) uIListLayout4.FillDirection = Enum.FillDirection.Horizontal uIListLayout4.SortOrder = Enum.SortOrder.LayoutOrder uIListLayout4.VerticalAlignment = Enum.VerticalAlignment.Center uIListLayout4.Parent = green local inputBox1 = Instance.new("TextBox") inputBox1.Name = "InputBox" inputBox1.ClearTextOnFocus = false inputBox1.FontFace = Font.new(assets.interFont) inputBox1.Text = "255" inputBox1.TextColor3 = Color3.fromRGB(255, 255, 255) inputBox1.TextSize = 12 inputBox1.TextTransparency = 0.1 inputBox1.TextXAlignment = Enum.TextXAlignment.Left inputBox1.AnchorPoint = Vector2.new(1, 0.5) inputBox1.BackgroundColor3 = Color3.fromRGB(255, 255, 255) inputBox1.BackgroundTransparency = 0.95 inputBox1.BorderColor3 = Color3.fromRGB(0, 0, 0) inputBox1.BorderSizePixel = 0 inputBox1.ClipsDescendants = true inputBox1.LayoutOrder = 1 inputBox1.Position = UDim2.fromScale(1, 0.5) inputBox1.Size = UDim2.fromOffset(75, 25) local inputBoxUICorner1 = Instance.new("UICorner") inputBoxUICorner1.Name = "InputBoxUICorner" inputBoxUICorner1.CornerRadius = UDim.new(0, 4) inputBoxUICorner1.Parent = inputBox1 local inputBoxUIStroke1 = Instance.new("UIStroke") inputBoxUIStroke1.Name = "InputBoxUIStroke" inputBoxUIStroke1.ApplyStrokeMode = Enum.ApplyStrokeMode.Border inputBoxUIStroke1.Color = Color3.fromRGB(255, 255, 255) inputBoxUIStroke1.Transparency = 0.9 inputBoxUIStroke1.Parent = inputBox1 local inputBoxUISizeConstraint1 = Instance.new("UISizeConstraint") inputBoxUISizeConstraint1.Name = "InputBoxUISizeConstraint" inputBoxUISizeConstraint1.Parent = inputBox1 local inputBoxUIPadding1 = Instance.new("UIPadding") inputBoxUIPadding1.Name = "InputBoxUIPadding" inputBoxUIPadding1.PaddingLeft = UDim.new(0, 8) inputBoxUIPadding1.PaddingRight = UDim.new(0, 10) inputBoxUIPadding1.Parent = inputBox1 inputBox1.Parent = green green.Parent = inputs local blue = Instance.new("Frame") blue.Name = "Blue" blue.AutomaticSize = Enum.AutomaticSize.XY blue.BackgroundColor3 = Color3.fromRGB(0, 0, 0) blue.BackgroundTransparency = 1 blue.BorderColor3 = Color3.fromRGB(0, 0, 0) blue.BorderSizePixel = 0 blue.LayoutOrder = 3 blue.Size = UDim2.fromOffset(0, 38) local inputName2 = Instance.new("TextLabel") inputName2.Name = "InputName" inputName2.FontFace = Font.new(assets.interFont) inputName2.Text = "Blue" inputName2.TextColor3 = Color3.fromRGB(255, 255, 255) inputName2.TextSize = 13 inputName2.TextTransparency = 0.5 inputName2.TextTruncate = Enum.TextTruncate.AtEnd inputName2.TextXAlignment = Enum.TextXAlignment.Left inputName2.TextYAlignment = Enum.TextYAlignment.Top inputName2.AnchorPoint = Vector2.new(0, 0.5) inputName2.AutomaticSize = Enum.AutomaticSize.XY inputName2.BackgroundColor3 = Color3.fromRGB(255, 255, 255) inputName2.BackgroundTransparency = 1 inputName2.BorderColor3 = Color3.fromRGB(0, 0, 0) inputName2.BorderSizePixel = 0 inputName2.LayoutOrder = 2 inputName2.Position = UDim2.fromScale(0, 0.5) inputName2.Parent = blue local uIListLayout5 = Instance.new("UIListLayout") uIListLayout5.Name = "UIListLayout" uIListLayout5.Padding = UDim.new(0, 15) uIListLayout5.FillDirection = Enum.FillDirection.Horizontal uIListLayout5.SortOrder = Enum.SortOrder.LayoutOrder uIListLayout5.VerticalAlignment = Enum.VerticalAlignment.Center uIListLayout5.Parent = blue local inputBox2 = Instance.new("TextBox") inputBox2.Name = "InputBox" inputBox2.ClearTextOnFocus = false inputBox2.FontFace = Font.new(assets.interFont) inputBox2.Text = "255" inputBox2.TextColor3 = Color3.fromRGB(255, 255, 255) inputBox2.TextSize = 12 inputBox2.TextTransparency = 0.1 inputBox2.TextXAlignment = Enum.TextXAlignment.Left inputBox2.AnchorPoint = Vector2.new(1, 0.5) inputBox2.BackgroundColor3 = Color3.fromRGB(255, 255, 255) inputBox2.BackgroundTransparency = 0.95 inputBox2.BorderColor3 = Color3.fromRGB(0, 0, 0) inputBox2.BorderSizePixel = 0 inputBox2.ClipsDescendants = true inputBox2.LayoutOrder = 1 inputBox2.Position = UDim2.fromScale(1, 0.5) inputBox2.Size = UDim2.fromOffset(75, 25) local inputBoxUICorner2 = Instance.new("UICorner") inputBoxUICorner2.Name = "InputBoxUICorner" inputBoxUICorner2.CornerRadius = UDim.new(0, 4) inputBoxUICorner2.Parent = inputBox2 local inputBoxUIStroke2 = Instance.new("UIStroke") inputBoxUIStroke2.Name = "InputBoxUIStroke" inputBoxUIStroke2.ApplyStrokeMode = Enum.ApplyStrokeMode.Border inputBoxUIStroke2.Color = Color3.fromRGB(255, 255, 255) inputBoxUIStroke2.Transparency = 0.9 inputBoxUIStroke2.Parent = inputBox2 local inputBoxUISizeConstraint2 = Instance.new("UISizeConstraint") inputBoxUISizeConstraint2.Name = "InputBoxUISizeConstraint" inputBoxUISizeConstraint2.Parent = inputBox2 local inputBoxUIPadding2 = Instance.new("UIPadding") inputBoxUIPadding2.Name = "InputBoxUIPadding" inputBoxUIPadding2.PaddingLeft = UDim.new(0, 8) inputBoxUIPadding2.PaddingRight = UDim.new(0, 10) inputBoxUIPadding2.Parent = inputBox2 inputBox2.Parent = blue blue.Parent = inputs local alpha = Instance.new("Frame") alpha.Name = "Alpha" alpha.AutomaticSize = Enum.AutomaticSize.XY alpha.BackgroundColor3 = Color3.fromRGB(0, 0, 0) alpha.BackgroundTransparency = 1 alpha.BorderColor3 = Color3.fromRGB(0, 0, 0) alpha.BorderSizePixel = 0 alpha.LayoutOrder = 4 alpha.Size = UDim2.fromOffset(0, 38) alpha.Visible = isAlpha local inputName3 = Instance.new("TextLabel") inputName3.Name = "InputName" inputName3.FontFace = Font.new(assets.interFont) inputName3.Text = "Alpha" inputName3.TextColor3 = Color3.fromRGB(255, 255, 255) inputName3.TextSize = 13 inputName3.TextTransparency = 0.5 inputName3.TextTruncate = Enum.TextTruncate.AtEnd inputName3.TextXAlignment = Enum.TextXAlignment.Left inputName3.TextYAlignment = Enum.TextYAlignment.Top inputName3.AnchorPoint = Vector2.new(0, 0.5) inputName3.AutomaticSize = Enum.AutomaticSize.XY inputName3.BackgroundColor3 = Color3.fromRGB(255, 255, 255) inputName3.BackgroundTransparency = 1 inputName3.BorderColor3 = Color3.fromRGB(0, 0, 0) inputName3.BorderSizePixel = 0 inputName3.LayoutOrder = 2 inputName3.Position = UDim2.fromScale(0, 0.5) inputName3.Parent = alpha local uIListLayout6 = Instance.new("UIListLayout") uIListLayout6.Name = "UIListLayout" uIListLayout6.Padding = UDim.new(0, 15) uIListLayout6.FillDirection = Enum.FillDirection.Horizontal uIListLayout6.SortOrder = Enum.SortOrder.LayoutOrder uIListLayout6.VerticalAlignment = Enum.VerticalAlignment.Center uIListLayout6.Parent = alpha local inputBox3 = Instance.new("TextBox") inputBox3.Name = "InputBox" inputBox3.ClearTextOnFocus = false inputBox3.FontFace = Font.new(assets.interFont) inputBox3.Text = "0" inputBox3.TextColor3 = Color3.fromRGB(255, 255, 255) inputBox3.TextSize = 12 inputBox3.TextTransparency = 0.1 inputBox3.TextXAlignment = Enum.TextXAlignment.Left inputBox3.AnchorPoint = Vector2.new(1, 0.5) inputBox3.BackgroundColor3 = Color3.fromRGB(255, 255, 255) inputBox3.BackgroundTransparency = 0.95 inputBox3.BorderColor3 = Color3.fromRGB(0, 0, 0) inputBox3.BorderSizePixel = 0 inputBox3.ClipsDescendants = true inputBox3.LayoutOrder = 1 inputBox3.Position = UDim2.fromScale(1, 0.5) inputBox3.Size = UDim2.fromOffset(75, 25) local inputBoxUICorner3 = Instance.new("UICorner") inputBoxUICorner3.Name = "InputBoxUICorner" inputBoxUICorner3.CornerRadius = UDim.new(0, 4) inputBoxUICorner3.Parent = inputBox3 local inputBoxUIStroke3 = Instance.new("UIStroke") inputBoxUIStroke3.Name = "InputBoxUIStroke" inputBoxUIStroke3.ApplyStrokeMode = Enum.ApplyStrokeMode.Border inputBoxUIStroke3.Color = Color3.fromRGB(255, 255, 255) inputBoxUIStroke3.Transparency = 0.9 inputBoxUIStroke3.Parent = inputBox3 local inputBoxUISizeConstraint3 = Instance.new("UISizeConstraint") inputBoxUISizeConstraint3.Name = "InputBoxUISizeConstraint" inputBoxUISizeConstraint3.Parent = inputBox3 local inputBoxUIPadding3 = Instance.new("UIPadding") inputBoxUIPadding3.Name = "InputBoxUIPadding" inputBoxUIPadding3.PaddingLeft = UDim.new(0, 8) inputBoxUIPadding3.PaddingRight = UDim.new(0, 10) inputBoxUIPadding3.Parent = inputBox3 inputBox3.Parent = alpha alpha.Parent = inputs local hex = Instance.new("Frame") hex.Name = "Hex" hex.AutomaticSize = Enum.AutomaticSize.XY hex.BackgroundColor3 = Color3.fromRGB(0, 0, 0) hex.BackgroundTransparency = 1 hex.BorderColor3 = Color3.fromRGB(0, 0, 0) hex.BorderSizePixel = 0 hex.Size = UDim2.fromOffset(0, 38) local inputName4 = Instance.new("TextLabel") inputName4.Name = "InputName" inputName4.FontFace = Font.new(assets.interFont) inputName4.Text = "Hex" inputName4.TextColor3 = Color3.fromRGB(255, 255, 255) inputName4.TextSize = 13 inputName4.TextTransparency = 0.5 inputName4.TextTruncate = Enum.TextTruncate.AtEnd inputName4.TextXAlignment = Enum.TextXAlignment.Left inputName4.TextYAlignment = Enum.TextYAlignment.Top inputName4.AnchorPoint = Vector2.new(0, 0.5) inputName4.AutomaticSize = Enum.AutomaticSize.XY inputName4.BackgroundColor3 = Color3.fromRGB(255, 255, 255) inputName4.BackgroundTransparency = 1 inputName4.BorderColor3 = Color3.fromRGB(0, 0, 0) inputName4.BorderSizePixel = 0 inputName4.LayoutOrder = 2 inputName4.Position = UDim2.fromScale(0, 0.5) inputName4.Parent = hex local uIListLayout7 = Instance.new("UIListLayout") uIListLayout7.Name = "UIListLayout" uIListLayout7.Padding = UDim.new(0, 15) uIListLayout7.FillDirection = Enum.FillDirection.Horizontal uIListLayout7.SortOrder = Enum.SortOrder.LayoutOrder uIListLayout7.VerticalAlignment = Enum.VerticalAlignment.Center uIListLayout7.Parent = hex local inputBox4 = Instance.new("TextBox") inputBox4.Name = "InputBox" inputBox4.ClearTextOnFocus = false inputBox4.CursorPosition = -1 inputBox4.FontFace = Font.new(assets.interFont) inputBox4.Text = "255" inputBox4.TextColor3 = Color3.fromRGB(255, 255, 255) inputBox4.TextSize = 12 inputBox4.TextTransparency = 0.1 inputBox4.TextXAlignment = Enum.TextXAlignment.Left inputBox4.AnchorPoint = Vector2.new(1, 0.5) inputBox4.BackgroundColor3 = Color3.fromRGB(255, 255, 255) inputBox4.BackgroundTransparency = 0.95 inputBox4.BorderColor3 = Color3.fromRGB(0, 0, 0) inputBox4.BorderSizePixel = 0 inputBox4.ClipsDescendants = true inputBox4.LayoutOrder = 1 inputBox4.Position = UDim2.fromScale(1, 0.5) inputBox4.Size = UDim2.fromOffset(75, 25) local inputBoxUICorner4 = Instance.new("UICorner") inputBoxUICorner4.Name = "InputBoxUICorner" inputBoxUICorner4.CornerRadius = UDim.new(0, 4) inputBoxUICorner4.Parent = inputBox4 local inputBoxUIStroke4 = Instance.new("UIStroke") inputBoxUIStroke4.Name = "InputBoxUIStroke" inputBoxUIStroke4.ApplyStrokeMode = Enum.ApplyStrokeMode.Border inputBoxUIStroke4.Color = Color3.fromRGB(255, 255, 255) inputBoxUIStroke4.Transparency = 0.9 inputBoxUIStroke4.Parent = inputBox4 local inputBoxUISizeConstraint4 = Instance.new("UISizeConstraint") inputBoxUISizeConstraint4.Name = "InputBoxUISizeConstraint" inputBoxUISizeConstraint4.Parent = inputBox4 local inputBoxUIPadding4 = Instance.new("UIPadding") inputBoxUIPadding4.Name = "InputBoxUIPadding" inputBoxUIPadding4.PaddingLeft = UDim.new(0, 8) inputBoxUIPadding4.PaddingRight = UDim.new(0, 10) inputBoxUIPadding4.Parent = inputBox4 inputBox4.Parent = hex hex.Parent = inputs inputs.Parent = wheel local uIPadding = Instance.new("UIPadding") uIPadding.Name = "UIPadding" uIPadding.PaddingRight = UDim.new(0, 5) uIPadding.Parent = wheel wheel.Parent = colorOptions local colorWells = Instance.new("Frame") colorWells.Name = "ColorWells" colorWells.AutomaticSize = Enum.AutomaticSize.Y colorWells.BackgroundColor3 = Color3.fromRGB(255, 255, 255) colorWells.BackgroundTransparency = 1 colorWells.BorderColor3 = Color3.fromRGB(0, 0, 0) colorWells.BorderSizePixel = 0 colorWells.LayoutOrder = 2 colorWells.Size = UDim2.fromScale(1, 0) local uIGridLayout = Instance.new("UIGridLayout") uIGridLayout.Name = "UIGridLayout" uIGridLayout.CellPadding = UDim2.fromOffset(10, 0) uIGridLayout.CellSize = UDim2.new(0.5, -5, 0, 30) uIGridLayout.SortOrder = Enum.SortOrder.LayoutOrder uIGridLayout.Parent = colorWells local newColor = Instance.new("ImageLabel") newColor.Name = "NewColor" newColor.Image = assets.grid newColor.ScaleType = Enum.ScaleType.Tile newColor.TileSize = UDim2.fromOffset(500, 500) newColor.BackgroundColor3 = Color3.fromRGB(255, 255, 255) newColor.BackgroundTransparency = 1 newColor.BorderColor3 = Color3.fromRGB(0, 0, 0) newColor.BorderSizePixel = 0 newColor.Size = UDim2.fromOffset(100, 100) local uICorner2 = Instance.new("UICorner") uICorner2.Name = "UICorner" uICorner2.Parent = newColor local color = Instance.new("Frame") color.Name = "Color" color.AnchorPoint = Vector2.new(0.5, 0.5) color.BorderColor3 = Color3.fromRGB(27, 42, 53) color.BorderSizePixel = 0 color.Position = UDim2.fromScale(0.5, 0.5) color.Size = UDim2.new(1, 1, 1, 1) local uICorner3 = Instance.new("UICorner") uICorner3.Name = "UICorner" uICorner3.Parent = color color.Parent = newColor newColor.Parent = colorWells local oldColor = Instance.new("ImageLabel") oldColor.Name = "OldColor" oldColor.Image = assets.grid oldColor.ScaleType = Enum.ScaleType.Tile oldColor.TileSize = UDim2.fromOffset(500, 500) oldColor.BackgroundColor3 = Color3.fromRGB(255, 255, 255) oldColor.BackgroundTransparency = 1 oldColor.BorderColor3 = Color3.fromRGB(0, 0, 0) oldColor.BorderSizePixel = 0 oldColor.LayoutOrder = 1 oldColor.Size = UDim2.fromOffset(100, 100) local uICorner4 = Instance.new("UICorner") uICorner4.Name = "UICorner" uICorner4.Parent = oldColor local color1 = Instance.new("Frame") color1.Name = "Color" color1.AnchorPoint = Vector2.new(0.5, 0.5) color1.BorderColor3 = Color3.fromRGB(27, 42, 53) color1.BorderSizePixel = 0 color1.Position = UDim2.fromScale(0.5, 0.5) color1.Size = UDim2.new(1, 1, 1, 1) local uICorner5 = Instance.new("UICorner") uICorner5.Name = "UICorner" uICorner5.Parent = color1 color1.Parent = oldColor oldColor.Parent = colorWells colorWells.Parent = colorOptions colorOptions.Parent = prompt local interactions = Instance.new("Frame") interactions.Name = "Interactions" interactions.AutomaticSize = Enum.AutomaticSize.Y interactions.BackgroundColor3 = Color3.fromRGB(0, 0, 0) interactions.BackgroundTransparency = 1 interactions.BorderColor3 = Color3.fromRGB(0, 0, 0) interactions.BorderSizePixel = 0 interactions.LayoutOrder = 2 interactions.Size = UDim2.fromScale(1, 0) local uIListLayout8 = Instance.new("UIListLayout") uIListLayout8.Name = "UIListLayout" uIListLayout8.Padding = UDim.new(0, 10) uIListLayout8.SortOrder = Enum.SortOrder.LayoutOrder uIListLayout8.Parent = interactions local confirm = Instance.new("TextButton") confirm.Name = "Confirm" confirm.FontFace = Font.new( "rbxassetid://12187365364", Enum.FontWeight.Medium, Enum.FontStyle.Normal ) confirm.Text = "Confirm" confirm.TextColor3 = Color3.fromRGB(255, 255, 255) confirm.TextSize = 15 confirm.TextTransparency = 0.5 confirm.TextTruncate = Enum.TextTruncate.AtEnd confirm.AutoButtonColor = false confirm.AutomaticSize = Enum.AutomaticSize.Y confirm.BackgroundColor3 = Color3.fromRGB(25, 25, 25) confirm.BorderColor3 = Color3.fromRGB(0, 0, 0) confirm.BorderSizePixel = 0 confirm.Size = UDim2.fromScale(1, 0) local uIPadding1 = Instance.new("UIPadding") uIPadding1.Name = "UIPadding" uIPadding1.PaddingBottom = UDim.new(0, 9) uIPadding1.PaddingLeft = UDim.new(0, 10) uIPadding1.PaddingRight = UDim.new(0, 10) uIPadding1.PaddingTop = UDim.new(0, 9) uIPadding1.Parent = confirm local baseUICorner = Instance.new("UICorner") baseUICorner.Name = "BaseUICorner" baseUICorner.CornerRadius = UDim.new(0, 10) baseUICorner.Parent = confirm confirm.Parent = interactions local cancel = Instance.new("TextButton") cancel.Name = "Cancel" cancel.FontFace = Font.new( "rbxassetid://12187365364", Enum.FontWeight.Medium, Enum.FontStyle.Normal ) cancel.Text = "Cancel" cancel.TextColor3 = Color3.fromRGB(255, 255, 255) cancel.TextSize = 15 cancel.TextTransparency = 0.5 cancel.TextTruncate = Enum.TextTruncate.AtEnd cancel.AutoButtonColor = false cancel.AutomaticSize = Enum.AutomaticSize.Y cancel.BackgroundColor3 = Color3.fromRGB(25, 25, 25) cancel.BorderColor3 = Color3.fromRGB(0, 0, 0) cancel.BorderSizePixel = 0 cancel.Size = UDim2.fromScale(1, 0) local baseUICorner1 = Instance.new("UICorner") baseUICorner1.Name = "BaseUICorner" baseUICorner1.CornerRadius = UDim.new(0, 10) baseUICorner1.Parent = cancel local uIPadding2 = Instance.new("UIPadding") uIPadding2.Name = "UIPadding" uIPadding2.PaddingBottom = UDim.new(0, 9) uIPadding2.PaddingLeft = UDim.new(0, 10) uIPadding2.PaddingRight = UDim.new(0, 10) uIPadding2.PaddingTop = UDim.new(0, 9) uIPadding2.Parent = cancel cancel.Parent = interactions local uIPadding3 = Instance.new("UIPadding") uIPadding3.Name = "UIPadding" uIPadding3.PaddingTop = UDim.new(0, 10) uIPadding3.Parent = interactions interactions.Parent = prompt local globalSettingsUIPadding = Instance.new("UIPadding") globalSettingsUIPadding.Name = "GlobalSettingsUIPadding" globalSettingsUIPadding.PaddingBottom = UDim.new(0, 20) globalSettingsUIPadding.PaddingLeft = UDim.new(0, 20) globalSettingsUIPadding.PaddingRight = UDim.new(0, 20) globalSettingsUIPadding.PaddingTop = UDim.new(0, 20) globalSettingsUIPadding.Parent = prompt local paragraph = Instance.new("Frame") paragraph.Name = "Paragraph" paragraph.AutomaticSize = Enum.AutomaticSize.Y paragraph.BackgroundColor3 = Color3.fromRGB(0, 0, 0) paragraph.BackgroundTransparency = 1 paragraph.BorderColor3 = Color3.fromRGB(0, 0, 0) paragraph.BorderSizePixel = 0 paragraph.Size = UDim2.fromScale(1, 0) local paragraphHeader = Instance.new("TextLabel") paragraphHeader.Name = "ParagraphHeader" paragraphHeader.FontFace = Font.new( "rbxassetid://12187365364", Enum.FontWeight.SemiBold, Enum.FontStyle.Normal ) paragraphHeader.RichText = true paragraphHeader.Text = ColorpickerFunctions.Settings.Name paragraphHeader.TextColor3 = Color3.fromRGB(255, 255, 255) paragraphHeader.TextSize = 18 paragraphHeader.TextTransparency = 0.4 paragraphHeader.TextWrapped = true paragraphHeader.TextYAlignment = Enum.TextYAlignment.Top paragraphHeader.AutomaticSize = Enum.AutomaticSize.XY paragraphHeader.BackgroundColor3 = Color3.fromRGB(255, 255, 255) paragraphHeader.BackgroundTransparency = 1 paragraphHeader.BorderColor3 = Color3.fromRGB(0, 0, 0) paragraphHeader.BorderSizePixel = 0 paragraphHeader.Size = UDim2.fromScale(1, 0) paragraphHeader.Parent = paragraph local uIListLayout9 = Instance.new("UIListLayout") uIListLayout9.Name = "UIListLayout" uIListLayout9.Padding = UDim.new(0, 15) uIListLayout9.HorizontalAlignment = Enum.HorizontalAlignment.Center uIListLayout9.SortOrder = Enum.SortOrder.LayoutOrder uIListLayout9.Parent = paragraph local uIPadding4 = Instance.new("UIPadding") uIPadding4.Name = "UIPadding" uIPadding4.PaddingBottom = UDim.new(0, 15) uIPadding4.Parent = paragraph local line = Instance.new("Frame") line.Name = "Line" line.BackgroundColor3 = Color3.fromRGB(255, 255, 255) line.BackgroundTransparency = 0.9 line.BorderColor3 = Color3.fromRGB(0, 0, 0) line.BorderSizePixel = 0 line.LayoutOrder = 1 line.Size = UDim2.new(1, 0, 0, 1) line.Parent = paragraph paragraph.Parent = prompt prompt.Parent = colorPicker colorPicker.Parent = base local fromHSV, fromRGB, v2, udim2 = Color3.fromHSV, Color3.fromRGB, Vector2.new, UDim2.new local wheel = wheel1 local ring = target local slider = value local colour = color local modifierInputs = { Hex = hex.InputBox, Red = red.InputBox, Green = green.InputBox, Blue = blue.InputBox, Alpha = alpha.InputBox } local Mouse = LocalPlayer:GetMouse() local WheelDown, SlideDown = false, false local hue, saturation, value = 0, 0, 1 local function toPolar(v) return math.atan2(v.y, v.x), v.magnitude end local function radToDeg(x) return ((x + math.pi) / (2 * math.pi)) * 360 end local function degToRad(degrees) return degrees * (math.pi / 180) end local function hexToRGB(hex) hex = hex:gsub("#","") if #hex ~= 6 then return 0, 0, 0 end local r = tonumber(hex:sub(1, 2), 16) or 0 local g = tonumber(hex:sub(3, 4), 16) or 0 local b = tonumber(hex:sub(5, 6), 16) or 0 return r, g, b end local function clampInput(value, min, max) local num = tonumber(value) if num then return math.clamp(num, min, max) end return min end local function update() local c = fromHSV(hue, saturation, value) colour.BackgroundColor3 = c colour.BackgroundTransparency = clampInput(modifierInputs.Alpha.Text, 0, 1) modifierInputs.Red.Text = tostring(math.floor(c.r * 255 + 0.5)) modifierInputs.Green.Text = tostring(math.floor(c.g * 255 + 0.5)) modifierInputs.Blue.Text = tostring(math.floor(c.b * 255 + 0.5)) modifierInputs.Alpha.Text = clampInput(modifierInputs.Alpha.Text, 0, 1) local hexColor = string.format("#%02X%02X%02X", math.floor(c.r * 255 + 0.5), math.floor(c.g * 255 + 0.5), math.floor(c.b * 255 + 0.5)) modifierInputs.Hex.Text = hexColor end local function UpdateSlide(iX) local rY = iX - slider.AbsolutePosition.X local cY = math.clamp(rY, 0, slider.AbsoluteSize.X - slide.AbsoluteSize.X) slide.Position = udim2(0, cY, 0.5, 0) value = 1 - (cY / (slider.AbsoluteSize.X - slide.AbsoluteSize.X)) update() end local function UpdateRing(iX, iY) local r = wheel.AbsoluteSize.x / 2 local d = v2(iX, iY) - wheel.AbsolutePosition - wheel.AbsoluteSize / 2 if d:Dot(d) > r * r then d = d.unit * r end ring.Position = udim2(0.5, d.x, 0.5, d.y) local phi, len = toPolar(d * v2(1, -1)) hue, saturation = radToDeg(phi) / 360, math.clamp(len / r, 0, 1) slider.BackgroundColor3 = fromHSV(hue, saturation, 1) update() end local function UpdateSlideFromValue(value) local cY = (1 - value) * (slider.AbsoluteSize.X - slide.AbsoluteSize.X) slide.Position = UDim2.new(0, cY, 0.5, 0) end local function UpdateRingFromHSV(hue, saturation) local r = wheel.AbsoluteSize.X / 2 local phi = degToRad(hue * 360) local len = saturation * r local x = len * math.cos(phi) local y = len * math.sin(phi) ring.Position = UDim2.new(0.5, -x, 0.5, y) slider.BackgroundColor3 = fromHSV(hue, saturation, 1) end local function updateFromRGB() local r = clampInput(modifierInputs.Red.Text, 0, 255) local g = clampInput(modifierInputs.Green.Text, 0, 255) local b = clampInput(modifierInputs.Blue.Text, 0, 255) modifierInputs.Red.Text = r modifierInputs.Green.Text = g modifierInputs.Blue.Text = b hue, saturation, value = Color3.fromRGB(r, g, b):ToHSV() UpdateSlideFromValue(value) UpdateRingFromHSV(hue, saturation) update() end local function updateFromHex() local hex = modifierInputs.Hex.Text local r, g, b = hexToRGB(hex) r = clampInput(r, 0, 255) g = clampInput(g, 0, 255) b = clampInput(b, 0, 255) modifierInputs.Red.Text = r modifierInputs.Green.Text = g modifierInputs.Blue.Text = b hue, saturation, value = Color3.fromRGB(r, g, b):ToHSV() UpdateSlideFromValue(value) UpdateRingFromHSV(hue, saturation) update() end local function updateFromSettings() local r = math.floor(ColorpickerFunctions.Color.R * 255 + 0.5) local g = math.floor(ColorpickerFunctions.Color.G * 255 + 0.5) local b = math.floor(ColorpickerFunctions.Color.B * 255 + 0.5) modifierInputs.Red.Text = r modifierInputs.Green.Text = g modifierInputs.Blue.Text = b modifierInputs.Alpha.Text = isAlpha and ColorpickerFunctions.Alpha or 0 local hexColor = string.format("#%02X%02X%02X", r,g,b) modifierInputs.Hex.Text = hexColor hue, saturation, value = Color3.fromRGB(r, g, b):ToHSV() color1.BackgroundColor3 = ColorpickerFunctions.Color color1.BackgroundTransparency = isAlpha and ColorpickerFunctions.Alpha or 0 colour.BackgroundColor3 = Color3.fromRGB(r,g,b) colour.BackgroundTransparency = isAlpha and ColorpickerFunctions.Alpha or 0 UpdateSlideFromValue(value) UpdateRingFromHSV(hue, saturation) end wheel.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then WheelDown = true UpdateRing(Mouse.X, Mouse.Y) end end) slider.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then SlideDown = true UpdateSlide(Mouse.X) end end) slider.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then SlideDown = false end end) wheel.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then WheelDown = false end end) UserInputService.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then if SlideDown then UpdateSlide(Mouse.X) elseif WheelDown then UpdateRing(Mouse.X, Mouse.Y) end end end) local function onFocusEnter(instance) local placeholder = instance.Text instance.Text = "" instance.PlaceholderText = placeholder end modifierInputs.Hex.FocusLost:Connect(updateFromHex) modifierInputs.Red.FocusLost:Connect(updateFromRGB) modifierInputs.Green.FocusLost:Connect(updateFromRGB) modifierInputs.Blue.FocusLost:Connect(updateFromRGB) modifierInputs.Alpha.FocusLost:Connect(update) modifierInputs.Hex.Focused:Connect(function() onFocusEnter(modifierInputs.Hex) end) modifierInputs.Red.Focused:Connect(function() onFocusEnter(modifierInputs.Red) end) modifierInputs.Green.Focused:Connect(function() onFocusEnter(modifierInputs.Green) end) modifierInputs.Blue.Focused:Connect(function() onFocusEnter(modifierInputs.Blue) end) modifierInputs.Alpha.Focused:Connect(function() onFocusEnter(modifierInputs.Alpha) end) local function makeCanvas() local ColorPickerCanvas = Instance.new("CanvasGroup") ColorPickerCanvas.Name = "ColorPickerCanvas" ColorPickerCanvas.BackgroundTransparency = 1 ColorPickerCanvas.BorderSizePixel = 0 ColorPickerCanvas.Size = UDim2.fromScale(1, 1) ColorPickerCanvas.ZIndex = 5 ColorPickerCanvas.GroupTransparency = 1 ColorPickerCanvas.Parent = base ColorPickerCanvas.Visible = false return ColorPickerCanvas end local function transition(isIn) local canvas = makeCanvas() local tweenTransparency = isIn and 0 or 1 local tweenScale = isIn and 1 or 0.95 local stateTransparency = isIn and 1 or 0 local tweenInfo = TweenInfo.new(0.1, Enum.EasingStyle.Sine) local canvasTween = Tween(canvas, tweenInfo, { GroupTransparency = tweenTransparency }) local scaleTween = Tween(promptUIScale, tweenInfo, { Scale = tweenScale }) colorPicker.Visible = true colorPicker.Parent = canvas canvas.Visible = true canvas.GroupTransparency = stateTransparency canvasTween:Play() scaleTween:Play() canvasTween.Completed:Wait() if not isIn then colorPicker.Visible = false canvas.Visible = false end colorPicker.Parent = base canvas:Destroy() end local function colorpickerIn() transition(true) end local function colorpickerOut() transition(false) end interact.MouseButton1Click:Connect(colorpickerIn) cancel.MouseButton1Click:Connect(colorpickerOut) confirm.MouseButton1Click:Connect(function() colorpickerOut() local c = fromHSV(hue, saturation, value) ColorpickerFunctions.Color = Color3.fromRGB(c.r * 255, c.g * 255, c.b * 255) ColorpickerFunctions.Alpha = isAlpha and clampInput(modifierInputs.Alpha.Text, 0, 1) color1.BackgroundColor3 = ColorpickerFunctions.Color color1.BackgroundTransparency = isAlpha and ColorpickerFunctions.Alpha or 0 colorC.BackgroundColor3 = ColorpickerFunctions.Color colorC.BackgroundTransparency = isAlpha and ColorpickerFunctions.Alpha or 0 if ColorpickerFunctions.Settings.Callback then task.spawn(function() ColorpickerFunctions.Settings.Callback(ColorpickerFunctions.Color, isAlpha and ColorpickerFunctions.Alpha) end) end end) updateFromSettings() function ColorpickerFunctions:UpdateName(New) colorpickerName.Text = New end function ColorpickerFunctions:SetVisibility(State) colorpicker.Visible = State end function ColorpickerFunctions:SetColor(color3) ColorpickerFunctions.Color = color3 colorC.BackgroundColor3 = color3 local r = math.floor(ColorpickerFunctions.Color.R * 255 + 0.5) local g = math.floor(ColorpickerFunctions.Color.G * 255 + 0.5) local b = math.floor(ColorpickerFunctions.Color.B * 255 + 0.5) modifierInputs.Red.Text = r modifierInputs.Green.Text = g modifierInputs.Blue.Text = b local hexColor = string.format("#%02X%02X%02X", r,g,b) modifierInputs.Hex.Text = hexColor hue, saturation, value = Color3.fromRGB(r, g, b):ToHSV() color1.BackgroundColor3 = ColorpickerFunctions.Color colour.BackgroundColor3 = Color3.fromRGB(r,g,b) UpdateSlideFromValue(value) UpdateRingFromHSV(hue, saturation) if ColorpickerFunctions.Settings.Callback then task.spawn(function() ColorpickerFunctions.Settings.Callback(ColorpickerFunctions.Color, isAlpha and ColorpickerFunctions.Alpha) end) end end function ColorpickerFunctions:SetAlpha(alpha) ColorpickerFunctions.Alpha = alpha colorC.Transparency = alpha updateFromSettings() end if Flag then MacLib.Options[Flag] = ColorpickerFunctions end return ColorpickerFunctions end function SectionFunctions:Header(Settings, Flag) local HeaderFunctions = {Settings = Settings} local header = Instance.new("Frame") header.Name = "Header" header.AutomaticSize = Enum.AutomaticSize.Y header.BackgroundColor3 = Color3.fromRGB(0, 0, 0) header.BackgroundTransparency = 1 header.BorderColor3 = Color3.fromRGB(0, 0, 0) header.BorderSizePixel = 0 header.LayoutOrder = 0 header.Size = UDim2.fromScale(1, 0) header.Parent = section local uIPadding = Instance.new("UIPadding") uIPadding.Name = "UIPadding" uIPadding.PaddingBottom = UDim.new(0, 5) uIPadding.Parent = header local headerText = Instance.new("TextLabel") headerText.Name = "HeaderText" headerText.FontFace = Font.new( assets.interFont, Enum.FontWeight.Medium, Enum.FontStyle.Normal ) headerText.RichText = true headerText.Text = HeaderFunctions.Settings.Text or HeaderFunctions.Settings.Name headerText.TextColor3 = Color3.fromRGB(255, 255, 255) headerText.TextSize = 16 headerText.TextTransparency = 0.3 headerText.TextWrapped = true headerText.TextXAlignment = Enum.TextXAlignment.Left headerText.AutomaticSize = Enum.AutomaticSize.Y headerText.BackgroundColor3 = Color3.fromRGB(255, 255, 255) headerText.BackgroundTransparency = 1 headerText.BorderColor3 = Color3.fromRGB(0, 0, 0) headerText.BorderSizePixel = 0 headerText.Size = UDim2.fromScale(1, 0) headerText.Parent = header function HeaderFunctions:UpdateName(New) headerText.Text = New end function HeaderFunctions:SetVisibility(State) header.Visible = State end if Flag then MacLib.Options[Flag] = HeaderFunctions end return HeaderFunctions end function SectionFunctions:Label(Settings, Flag) local LabelFunctions = {Settings = Settings} local label = Instance.new("Frame") label.Name = "Label" label.AutomaticSize = Enum.AutomaticSize.Y label.BackgroundColor3 = Color3.fromRGB(0, 0, 0) label.BackgroundTransparency = 1 label.BorderColor3 = Color3.fromRGB(0, 0, 0) label.BorderSizePixel = 0 label.Size = UDim2.new(1, 0, 0, 38) label.Parent = section local labelText = Instance.new("TextLabel") labelText.Name = "LabelText" labelText.FontFace = Font.new(assets.interFont) labelText.RichText = true labelText.Text = LabelFunctions.Settings.Text or LabelFunctions.Settings.Name -- Settings.Name Deprecated use Settings.Text labelText.TextColor3 = Color3.fromRGB(255, 255, 255) labelText.TextSize = 13 labelText.TextTransparency = 0.5 labelText.TextWrapped = true labelText.TextXAlignment = Enum.TextXAlignment.Left labelText.AutomaticSize = Enum.AutomaticSize.Y labelText.BackgroundColor3 = Color3.fromRGB(255, 255, 255) labelText.BackgroundTransparency = 1 labelText.BorderColor3 = Color3.fromRGB(0, 0, 0) labelText.BorderSizePixel = 0 labelText.Size = UDim2.fromScale(1, 1) labelText.Parent = label function LabelFunctions:UpdateName(New) labelText.Text = New end function LabelFunctions:SetVisibility(State) label.Visible = State end if Flag then MacLib.Options[Flag] = LabelFunctions end return LabelFunctions end function SectionFunctions:SubLabel(Settings, Flag) local SubLabelFunctions = {Settings = Settings} local subLabel = Instance.new("Frame") subLabel.Name = "SubLabel" subLabel.AutomaticSize = Enum.AutomaticSize.Y subLabel.BackgroundColor3 = Color3.fromRGB(0, 0, 0) subLabel.BackgroundTransparency = 1 subLabel.BorderColor3 = Color3.fromRGB(0, 0, 0) subLabel.BorderSizePixel = 0 subLabel.Size = UDim2.new(1, 0, 0, 0) subLabel.Parent = section local subLabelText = Instance.new("TextLabel") subLabelText.Name = "SubLabelText" subLabelText.FontFace = Font.new(assets.interFont) subLabelText.RichText = true subLabelText.Text = SubLabelFunctions.Settings.Text or SubLabelFunctions.Settings.Name -- Settings.Name Deprecated use Settings.Text subLabelText.TextColor3 = Color3.fromRGB(255, 255, 255) subLabelText.TextSize = 12 subLabelText.TextTransparency = 0.7 subLabelText.TextWrapped = true subLabelText.TextXAlignment = Enum.TextXAlignment.Left subLabelText.AutomaticSize = Enum.AutomaticSize.Y subLabelText.BackgroundColor3 = Color3.fromRGB(255, 255, 255) subLabelText.BackgroundTransparency = 1 subLabelText.BorderColor3 = Color3.fromRGB(0, 0, 0) subLabelText.BorderSizePixel = 0 subLabelText.Size = UDim2.fromScale(1, 1) subLabelText.Parent = subLabel function SubLabelFunctions:UpdateName(New) subLabelText.Text = New end function SubLabelFunctions:SetVisibility(State) subLabel.Visible = State end if Flag then MacLib.Options[Flag] = SubLabelFunctions end return SubLabelFunctions end function SectionFunctions:Paragraph(Settings, Flag) local ParagraphFunctions = {Settings = Settings} local paragraph = Instance.new("Frame") paragraph.Name = "Paragraph" paragraph.AutomaticSize = Enum.AutomaticSize.Y paragraph.BackgroundColor3 = Color3.fromRGB(0, 0, 0) paragraph.BackgroundTransparency = 1 paragraph.BorderColor3 = Color3.fromRGB(0, 0, 0) paragraph.BorderSizePixel = 0 paragraph.Size = UDim2.new(1, 0, 0, 38) paragraph.Parent = section local paragraphHeader = Instance.new("TextLabel") paragraphHeader.Name = "ParagraphHeader" paragraphHeader.FontFace = Font.new( assets.interFont, Enum.FontWeight.Medium, Enum.FontStyle.Normal ) paragraphHeader.RichText = true paragraphHeader.Text = ParagraphFunctions.Settings.Header paragraphHeader.TextColor3 = Color3.fromRGB(255, 255, 255) paragraphHeader.TextSize = 15 paragraphHeader.TextTransparency = 0.4 paragraphHeader.TextWrapped = true paragraphHeader.TextXAlignment = Enum.TextXAlignment.Left paragraphHeader.AutomaticSize = Enum.AutomaticSize.Y paragraphHeader.BackgroundColor3 = Color3.fromRGB(255, 255, 255) paragraphHeader.BackgroundTransparency = 1 paragraphHeader.BorderColor3 = Color3.fromRGB(0, 0, 0) paragraphHeader.BorderSizePixel = 0 paragraphHeader.Size = UDim2.fromScale(1, 0) paragraphHeader.Parent = paragraph local uIListLayout = Instance.new("UIListLayout") uIListLayout.Name = "UIListLayout" uIListLayout.Padding = UDim.new(0, 5) uIListLayout.SortOrder = Enum.SortOrder.LayoutOrder uIListLayout.Parent = paragraph local paragraphBody = Instance.new("TextLabel") paragraphBody.Name = "ParagraphBody" paragraphBody.FontFace = Font.new(assets.interFont) paragraphBody.RichText = true paragraphBody.Text = ParagraphFunctions.Settings.Body paragraphBody.TextColor3 = Color3.fromRGB(255, 255, 255) paragraphBody.TextSize = 13 paragraphBody.TextTransparency = 0.5 paragraphBody.TextWrapped = true paragraphBody.TextXAlignment = Enum.TextXAlignment.Left paragraphBody.AutomaticSize = Enum.AutomaticSize.Y paragraphBody.BackgroundColor3 = Color3.fromRGB(255, 255, 255) paragraphBody.BackgroundTransparency = 1 paragraphBody.BorderColor3 = Color3.fromRGB(0, 0, 0) paragraphBody.BorderSizePixel = 0 paragraphBody.LayoutOrder = 1 paragraphBody.Size = UDim2.fromScale(1, 0) paragraphBody.Parent = paragraph function ParagraphFunctions:UpdateHeader(New) paragraphHeader.Text = New end function ParagraphFunctions:UpdateBody(New) paragraphBody.Text = New end function ParagraphFunctions:SetVisibility(State) paragraph.Visible = State end if Flag then MacLib.Options[Flag] = ParagraphFunctions end return ParagraphFunctions end function SectionFunctions:Divider() local DividerFunctions = {} local divider = Instance.new("Frame") divider.Name = "Divider" divider.AnchorPoint = Vector2.new(0, 1) divider.AutomaticSize = Enum.AutomaticSize.Y divider.BackgroundColor3 = Color3.fromRGB(255, 255, 255) divider.BackgroundTransparency = 1 divider.BorderColor3 = Color3.fromRGB(0, 0, 0) divider.BorderSizePixel = 0 divider.Position = UDim2.fromScale(0, 1) divider.Size = UDim2.new(1, 0, 0, 1) divider.Parent = section local uIPadding = Instance.new("UIPadding") uIPadding.Name = "UIPadding" uIPadding.PaddingBottom = UDim.new(0, 8) uIPadding.PaddingTop = UDim.new(0, 8) uIPadding.Parent = divider local uIListLayout = Instance.new("UIListLayout") uIListLayout.Name = "UIListLayout" uIListLayout.SortOrder = Enum.SortOrder.LayoutOrder uIListLayout.Parent = divider local line = Instance.new("Frame") line.Name = "Line" line.BackgroundColor3 = Color3.fromRGB(255, 255, 255) line.BackgroundTransparency = 0.9 line.BorderColor3 = Color3.fromRGB(0, 0, 0) line.BorderSizePixel = 0 line.Size = UDim2.new(1, 0, 0, 1) line.Parent = divider function DividerFunctions:Remove() divider:Destroy() end function DividerFunctions:SetVisibility(State) divider.Visible = State end return DividerFunctions end function SectionFunctions:Spacer() local SpacerFunctions = {} local spacer = Instance.new("Frame") spacer.Name = "Spacer" spacer.AnchorPoint = Vector2.new(0, 1) spacer.BackgroundColor3 = Color3.fromRGB(255, 255, 255) spacer.BackgroundTransparency = 1 spacer.BorderColor3 = Color3.fromRGB(0, 0, 0) spacer.BorderSizePixel = 0 spacer.Position = UDim2.fromScale(0, 1) spacer.Parent = section function SpacerFunctions:Remove() spacer:Destroy() end function SpacerFunctions:SetVisibility(State) spacer.Visible = State end return SpacerFunctions end return SectionFunctions end local function SelectCurrentTab() local easetime = 0.15 if currentTabInstance then currentTabInstance.Parent = nil end for i, tabInfo in pairs(tabs) do Tween(i, TweenInfo.new(easetime, Enum.EasingStyle.Sine), { BackgroundTransparency = (i == tabSwitcher and 0.98 or 1) }):Play() if tabInfo.tabStroke then Tween(tabInfo.tabStroke, TweenInfo.new(easetime, Enum.EasingStyle.Sine), { Transparency = (i == tabSwitcher and 0.95 or 1) }):Play() end if tabInfo.switcherImage then Tween(tabInfo.switcherImage, TweenInfo.new(easetime, Enum.EasingStyle.Sine), { ImageTransparency = (i == tabSwitcher and 0.1 or 0.5) }):Play() end if tabInfo.switcherName then Tween(tabInfo.switcherName, TweenInfo.new(easetime, Enum.EasingStyle.Sine), { TextTransparency = (i == tabSwitcher and 0.1 or 0.5) }):Play() end end tabs[tabSwitcher].tabContent.Parent = content currentTabInstance = tabs[tabSwitcher].tabContent currentTab.Text = Settings.Name end tabSwitcher.MouseButton1Click:Connect(function() SelectCurrentTab() end) function TabFunctions:Select() SelectCurrentTab() end function TabFunctions:InsertConfigSection(Side) local configSection = TabFunctions:Section({ Side = "Left" }) if isStudio then configSection:Label({Text = "Config system unavailable. (Environment isStudio)"}) return "Config system unavailable." end local inputPath = nil local selectedConfig = nil configSection:Input({ Name = "Config Name", Placeholder = "Name", AcceptedCharacters = "All", Callback = function(input) inputPath = input end, }) local configSelection = configSection:Dropdown({ Name = "Select Config", Multi = false, Required = false, Options = MacLib:RefreshConfigList(), Callback = function(Value) selectedConfig = Value end, }) configSection:Button({ Name = "Create Config", Callback = function() if not inputPath or string.gsub(inputPath, " ", "") == "" then WindowFunctions:Notify({ Title = "Interface", Description = "Config name cannot be empty." }) return end local success, returned = MacLib:SaveConfig(inputPath) if not success then WindowFunctions:Notify({ Title = "Interface", Description = "Unable to save config, return error: " .. returned }) end WindowFunctions:Notify({ Title = "Interface", Description = string.format("Created config %q", inputPath), }) configSelection:ClearOptions() configSelection:InsertOptions(MacLib:RefreshConfigList()) end, }) configSection:Button({ Name = "Load Config", Callback = function() local success, returned = MacLib:LoadConfig(configSelection.Value) if not success then WindowFunctions:Notify({ Title = "Interface", Description = "Unable to load config, return error: " .. returned }) return end WindowFunctions:Notify({ Title = "Interface", Description = string.format("Loaded config %q", configSelection.Value), }) end, }) configSection:Button({ Name = "Overwrite Config", Callback = function() local success, returned = MacLib:SaveConfig(configSelection.Value) if not success then WindowFunctions:Notify({ Title = "Interface", Description = "Unable to overwrite config, return error: " .. returned }) return end WindowFunctions:Notify({ Title = "Interface", Description = string.format("Overwrote config %q", configSelection.Value), }) end, }) configSection:Button({ Name = "Refresh Config List", Callback = function() configSelection:ClearOptions() configSelection:InsertOptions(MacLib:RefreshConfigList()) end, }) local autoloadLabel configSection:Button({ Name = "Set as autoload", Callback = function() local name = configSelection.Value writefile(MacLib.Folder .. "/settings/autoload.txt", name) autoloadLabel:UpdateName("Autoload config: " .. name) WindowFunctions:Notify({ Title = "Interface", Description = string.format("Set %q as autoload", name), }) end, }) autoloadLabel = configSection:Label({Text = "Autoload config: None"}) if isfile(MacLib.Folder .. "/settings/autoload.txt") then local name = readfile(MacLib.Folder .. "/settings/autoload.txt") autoloadLabel:UpdateName("Autoload config: " .. name) end end tabs[tabSwitcher] = { tabContent = elements1, tabStroke = tabSwitcherUIStroke, switcherImage = tabImage, switcherName = tabSwitcherName, } return TabFunctions end return SectionFunctions end function WindowFunctions:Notify(Settings) local NotificationFunctions = {} local notification = Instance.new("Frame") notification.Name = "Notification" notification.AnchorPoint = Vector2.new(0.5, 0.5) notification.AutomaticSize = Enum.AutomaticSize.Y notification.BackgroundColor3 = Color3.fromRGB(15, 15, 15) notification.BorderColor3 = Color3.fromRGB(0, 0, 0) notification.BorderSizePixel = 0 notification.Position = UDim2.fromScale(0.5, 0.5) notification.Size = UDim2.fromOffset(Settings.SizeX or 250, 0) notification.Parent = notifications local notificationUIStroke = Instance.new("UIStroke") notificationUIStroke.Name = "NotificationUIStroke" notificationUIStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border notificationUIStroke.Color = Color3.fromRGB(255, 255, 255) notificationUIStroke.Transparency = 0.9 notificationUIStroke.Parent = notification local notificationUICorner = Instance.new("UICorner") notificationUICorner.Name = "NotificationUICorner" notificationUICorner.CornerRadius = UDim.new(0, 10) notificationUICorner.Parent = notification local notificationUIScale = Instance.new("UIScale") notificationUIScale.Name = "NotificationUIScale" notificationUIScale.Parent = notification notificationUIScale.Scale = 0 local notificationInformation = Instance.new("Frame") notificationInformation.Name = "NotificationInformation" notificationInformation.AutomaticSize = Enum.AutomaticSize.Y notificationInformation.BackgroundColor3 = Color3.fromRGB(255, 255, 255) notificationInformation.BackgroundTransparency = 1 notificationInformation.BorderColor3 = Color3.fromRGB(0, 0, 0) notificationInformation.BorderSizePixel = 0 notificationInformation.Size = UDim2.fromScale(1, 1) local notificationTitle = Instance.new("TextLabel") notificationTitle.Name = "NotificationTitle" notificationTitle.FontFace = Font.new( assets.interFont, Enum.FontWeight.SemiBold, Enum.FontStyle.Normal ) notificationTitle.RichText = true notificationTitle.Text = Settings.Title notificationTitle.TextColor3 = Color3.fromRGB(255, 255, 255) notificationTitle.TextSize = 13 notificationTitle.TextTransparency = 0.2 notificationTitle.TextTruncate = Enum.TextTruncate.SplitWord notificationTitle.TextXAlignment = Enum.TextXAlignment.Left notificationTitle.TextYAlignment = Enum.TextYAlignment.Top notificationTitle.AutomaticSize = Enum.AutomaticSize.XY notificationTitle.BackgroundColor3 = Color3.fromRGB(255, 255, 255) notificationTitle.BackgroundTransparency = 1 notificationTitle.BorderColor3 = Color3.fromRGB(0, 0, 0) notificationTitle.BorderSizePixel = 0 notificationTitle.Size = UDim2.new(1, -12, 0, 0) local notificationTitleUIPadding = Instance.new("UIPadding") notificationTitleUIPadding.Name = "NotificationTitleUIPadding" notificationTitleUIPadding.PaddingRight = UDim.new(0, 25) notificationTitleUIPadding.Parent = notificationTitle notificationTitle.Parent = notificationInformation local notificationDescription = Instance.new("TextLabel") notificationDescription.Name = "NotificationDescription" notificationDescription.FontFace = Font.new( assets.interFont, Enum.FontWeight.Medium, Enum.FontStyle.Normal ) notificationDescription.Text = Settings.Description notificationDescription.TextColor3 = Color3.fromRGB(255, 255, 255) notificationDescription.TextSize = 11 notificationDescription.TextTransparency = 0.5 notificationDescription.TextWrapped = true notificationDescription.RichText = true notificationDescription.TextXAlignment = Enum.TextXAlignment.Left notificationDescription.TextYAlignment = Enum.TextYAlignment.Top notificationDescription.AutomaticSize = Enum.AutomaticSize.XY notificationDescription.BackgroundColor3 = Color3.fromRGB(255, 255, 255) notificationDescription.BackgroundTransparency = 1 notificationDescription.BorderColor3 = Color3.fromRGB(0, 0, 0) notificationDescription.BorderSizePixel = 0 notificationDescription.Size = UDim2.new(1, -12, 0, 0) local notificationDescriptionUIPadding = Instance.new("UIPadding") notificationDescriptionUIPadding.Name = "NotificationDescriptionUIPadding" notificationDescriptionUIPadding.PaddingRight = UDim.new(0, 25) notificationDescriptionUIPadding.PaddingTop = UDim.new(0, 17) notificationDescriptionUIPadding.Parent = notificationDescription notificationDescription.Parent = notificationInformation local notificationUIPadding = Instance.new("UIPadding") notificationUIPadding.Name = "NotificationUIPadding" notificationUIPadding.PaddingBottom = UDim.new(0, 12) notificationUIPadding.PaddingLeft = UDim.new(0, 10) notificationUIPadding.PaddingRight = UDim.new(0, 10) notificationUIPadding.PaddingTop = UDim.new(0, 10) notificationUIPadding.Parent = notificationInformation notificationInformation.Parent = notification local notificationControls = Instance.new("Frame") notificationControls.Name = "NotificationControls" notificationControls.AutomaticSize = Enum.AutomaticSize.Y notificationControls.BackgroundColor3 = Color3.fromRGB(255, 255, 255) notificationControls.BackgroundTransparency = 1 notificationControls.BorderColor3 = Color3.fromRGB(0, 0, 0) notificationControls.BorderSizePixel = 0 notificationControls.Size = UDim2.fromScale(1, 1) local interactable = Instance.new("TextButton") interactable.Name = "Interactable" interactable.FontFace = Font.new(assets.interFont) interactable.Text = "✓" interactable.TextColor3 = Color3.fromRGB(255, 255, 255) interactable.TextSize = 17 interactable.TextTransparency = 0.2 interactable.AnchorPoint = Vector2.new(1, 0.5) interactable.AutomaticSize = Enum.AutomaticSize.XY interactable.BackgroundColor3 = Color3.fromRGB(255, 255, 255) interactable.BackgroundTransparency = 1 interactable.BorderColor3 = Color3.fromRGB(0, 0, 0) interactable.BorderSizePixel = 0 interactable.LayoutOrder = 1 interactable.Position = UDim2.fromScale(1, 0.5) interactable.Parent = notificationControls local uIPadding = Instance.new("UIPadding") uIPadding.Name = "UIPadding" uIPadding.PaddingBottom = UDim.new(0, 6) uIPadding.PaddingRight = UDim.new(0, 13) uIPadding.PaddingTop = UDim.new(0, 6) uIPadding.Parent = notificationControls notificationControls.Parent = notification local tweens = { In = Tween(notificationUIScale, TweenInfo.new(0.2, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out), { Scale = Settings.Scale or 1 }), Out = Tween(notificationUIScale, TweenInfo.new(0.2, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out), { Scale = 0 }), } local styles = { None = function() interactable:Destroy() end, Confirm = function() interactable.Text = "✓" end, Cancel = function() interactable.Text = "✗" end } local style = styles[Settings.Style] or function() interactable:Destroy() end style() if interactable then interactable.MouseButton1Click:Connect(function() NotificationFunctions:Cancel() if Settings.Callback then task.spawn(Settings.Callback) end end) end local AnimateNotification = task.spawn(function() tweens.In:Play() Settings.Lifetime = Settings.Lifetime or 3 if Settings.Lifetime ~= 0 then task.wait(Settings.Lifetime) local out = tweens.Out out:Play() out.Completed:Wait() notification:Destroy() end end) function NotificationFunctions:UpdateTitle(New) notificationTitle.Text = New end function NotificationFunctions:UpdateDescription(New) notificationDescription.Text = New end function NotificationFunctions:Resize(X) local targ = X or 250 notification.Size = UDim2.fromOffset(targ, 0) end function NotificationFunctions:Cancel() task.cancel(AnimateNotification) local out = tweens.Out out:Play() out.Completed:Wait() notification:Destroy() end return NotificationFunctions end function WindowFunctions:Dialog(Settings) local DialogFunctions = {} local dialogCanvas = Instance.new("CanvasGroup") dialogCanvas.Name = "DialogCanvas" dialogCanvas.BackgroundColor3 = Color3.fromRGB(255, 255, 255) dialogCanvas.BackgroundTransparency = 1 dialogCanvas.BorderColor3 = Color3.fromRGB(0, 0, 0) dialogCanvas.BorderSizePixel = 0 dialogCanvas.Size = UDim2.fromScale(1, 1) dialogCanvas.GroupTransparency = 1 dialogCanvas.Parent = base local dialog = Instance.new("Frame") dialog.Name = "Dialog" dialog.BackgroundColor3 = Color3.fromRGB(0, 0, 0) dialog.BackgroundTransparency = 0.5 dialog.BorderColor3 = Color3.fromRGB(0, 0, 0) dialog.BorderSizePixel = 0 dialog.Size = UDim2.fromScale(1, 1) local dialogUICorner = Instance.new("UICorner") dialogUICorner.Name = "BaseUICorner" dialogUICorner.CornerRadius = UDim.new(0, 10) dialogUICorner.Parent = dialog local prompt = Instance.new("Frame") prompt.Name = "Prompt" prompt.AnchorPoint = Vector2.new(0.5, 0.5) prompt.AutomaticSize = Enum.AutomaticSize.Y prompt.BackgroundColor3 = Color3.fromRGB(15, 15, 15) prompt.BorderColor3 = Color3.fromRGB(0, 0, 0) prompt.BorderSizePixel = 0 prompt.Position = UDim2.fromScale(0.5, 0.5) prompt.Size = UDim2.fromOffset(280, 0) local promptUIScale = Instance.new("UIScale") promptUIScale.Name = "BaseUIScale" promptUIScale.Parent = prompt promptUIScale.Scale = 0.95 local globalSettingsUIStroke = Instance.new("UIStroke") globalSettingsUIStroke.Name = "GlobalSettingsUIStroke" globalSettingsUIStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border globalSettingsUIStroke.Color = Color3.fromRGB(255, 255, 255) globalSettingsUIStroke.Transparency = 0.9 globalSettingsUIStroke.Parent = prompt local globalSettingsUICorner = Instance.new("UICorner") globalSettingsUICorner.Name = "GlobalSettingsUICorner" globalSettingsUICorner.CornerRadius = UDim.new(0, 10) globalSettingsUICorner.Parent = prompt local globalSettingsUIPadding = Instance.new("UIPadding") globalSettingsUIPadding.Name = "GlobalSettingsUIPadding" globalSettingsUIPadding.PaddingBottom = UDim.new(0, 20) globalSettingsUIPadding.PaddingLeft = UDim.new(0, 20) globalSettingsUIPadding.PaddingRight = UDim.new(0, 20) globalSettingsUIPadding.PaddingTop = UDim.new(0, 20) globalSettingsUIPadding.Parent = prompt local paragraph = Instance.new("Frame") paragraph.Name = "Paragraph" paragraph.AutomaticSize = Enum.AutomaticSize.Y paragraph.BackgroundColor3 = Color3.fromRGB(0, 0, 0) paragraph.BackgroundTransparency = 1 paragraph.BorderColor3 = Color3.fromRGB(0, 0, 0) paragraph.BorderSizePixel = 0 paragraph.Size = UDim2.new(1, 0, 0, 38) local paragraphHeader = Instance.new("TextLabel") paragraphHeader.Name = "ParagraphHeader" paragraphHeader.FontFace = Font.new( assets.interFont, Enum.FontWeight.Medium, Enum.FontStyle.Normal ) paragraphHeader.RichText = true paragraphHeader.Text = Settings.Title paragraphHeader.TextColor3 = Color3.fromRGB(255, 255, 255) paragraphHeader.TextSize = 18 paragraphHeader.TextTransparency = 0.4 paragraphHeader.TextWrapped = true paragraphHeader.AutomaticSize = Enum.AutomaticSize.Y paragraphHeader.BackgroundColor3 = Color3.fromRGB(255, 255, 255) paragraphHeader.BackgroundTransparency = 1 paragraphHeader.BorderColor3 = Color3.fromRGB(0, 0, 0) paragraphHeader.BorderSizePixel = 0 paragraphHeader.Size = UDim2.fromScale(1, 0) paragraphHeader.Parent = paragraph local uIListLayout = Instance.new("UIListLayout") uIListLayout.Name = "UIListLayout" uIListLayout.Padding = UDim.new(0, 15) uIListLayout.SortOrder = Enum.SortOrder.LayoutOrder uIListLayout.Parent = paragraph local paragraphBody = Instance.new("TextLabel") paragraphBody.Name = "ParagraphBody" paragraphBody.FontFace = Font.new(assets.interFont) paragraphBody.RichText = true paragraphBody.Text = Settings.Description paragraphBody.TextColor3 = Color3.fromRGB(255, 255, 255) paragraphBody.TextSize = 14 paragraphBody.TextTransparency = 0.5 paragraphBody.TextWrapped = true paragraphBody.AutomaticSize = Enum.AutomaticSize.Y paragraphBody.BackgroundColor3 = Color3.fromRGB(255, 255, 255) paragraphBody.BackgroundTransparency = 1 paragraphBody.BorderColor3 = Color3.fromRGB(0, 0, 0) paragraphBody.BorderSizePixel = 0 paragraphBody.LayoutOrder = 1 paragraphBody.Size = UDim2.fromScale(1, 0) paragraphBody.Parent = paragraph paragraph.Parent = prompt local interactions = Instance.new("Frame") interactions.Name = "Interactions" interactions.AutomaticSize = Enum.AutomaticSize.Y interactions.BackgroundColor3 = Color3.fromRGB(0, 0, 0) interactions.BackgroundTransparency = 1 interactions.BorderColor3 = Color3.fromRGB(0, 0, 0) interactions.BorderSizePixel = 0 interactions.LayoutOrder = 1 interactions.Size = UDim2.fromScale(1, 0) local uIListLayout1 = Instance.new("UIListLayout") uIListLayout1.Name = "UIListLayout" uIListLayout1.Padding = UDim.new(0, 10) uIListLayout1.SortOrder = Enum.SortOrder.LayoutOrder uIListLayout1.Parent = interactions local uIPadding = Instance.new("UIPadding") uIPadding.Name = "UIPadding" uIPadding.PaddingTop = UDim.new(0, 20) uIPadding.Parent = interactions interactions.Parent = prompt local uIListLayout2 = Instance.new("UIListLayout") uIListLayout2.Name = "UIListLayout" uIListLayout2.SortOrder = Enum.SortOrder.LayoutOrder uIListLayout2.Parent = prompt prompt.Parent = dialog dialog.Parent = dialogCanvas local canvasIn = Tween(dialogCanvas, TweenInfo.new(0.1, Enum.EasingStyle.Sine), { GroupTransparency = 0 }) local canvasOut = Tween(dialogCanvas, TweenInfo.new(0.1, Enum.EasingStyle.Sine), { GroupTransparency = 1 }) local scaleIn = Tween(promptUIScale, TweenInfo.new(0.1, Enum.EasingStyle.Sine), { Scale = 1 }) local scaleOut = Tween(promptUIScale, TweenInfo.new(0.1, Enum.EasingStyle.Sine), { Scale = 0.95 }) local function dialogIn() canvasIn:Play() scaleIn:Play() canvasIn.Completed:Wait() dialog.Parent = base end local function dialogOut() if not dialog.Parent then return end dialog.Parent = dialogCanvas canvasOut:Play() scaleOut:Play() canvasOut.Completed:Wait() dialogCanvas:Destroy() end for _, v in pairs(Settings.Buttons) do local button = Instance.new("TextButton") button.Name = "Button" button.FontFace = Font.new(assets.interFont) button.Text = v.Name button.TextColor3 = Color3.fromRGB(255, 255, 255) button.TextSize = 15 button.TextTransparency = 0.5 button.TextTruncate = Enum.TextTruncate.AtEnd button.AutoButtonColor = false button.AutomaticSize = Enum.AutomaticSize.Y button.BackgroundColor3 = Color3.fromRGB(25, 25, 25) button.BorderColor3 = Color3.fromRGB(0, 0, 0) button.BorderSizePixel = 0 button.Size = UDim2.fromScale(1, 0) local uIPadding1 = Instance.new("UIPadding") uIPadding1.Name = "UIPadding" uIPadding1.PaddingBottom = UDim.new(0, 9) uIPadding1.PaddingLeft = UDim.new(0, 10) uIPadding1.PaddingRight = UDim.new(0, 10) uIPadding1.PaddingTop = UDim.new(0, 9) uIPadding1.Parent = button local baseUICorner1 = Instance.new("UICorner") baseUICorner1.Name = "BaseUICorner" baseUICorner1.CornerRadius = UDim.new(0, 10) baseUICorner1.Parent = button button.Parent = interactions local TweenSettings = { DefaultTransparency = 0, DefaultTransparency2 = 0.5, HoverTransparency = 0.3, HoverTransparency2 = 0.6, EasingStyle = Enum.EasingStyle.Sine } local function ChangeState(State) if State == "Idle" then Tween(button, TweenInfo.new(0.2, TweenSettings.EasingStyle), { BackgroundTransparency = TweenSettings.DefaultTransparency, TextTransparency = TweenSettings.DefaultTransparency2 }):Play() elseif State == "Hover" then Tween(button, TweenInfo.new(0.2, TweenSettings.EasingStyle), { BackgroundTransparency = TweenSettings.HoverTransparency, TextTransparency = TweenSettings.HoverTransparency2 }):Play() end end button.MouseButton1Click:Connect(function() if dialogCanvas.GroupTransparency ~= 0 then return end if v.Callback then v.Callback() end dialogOut() end) button.MouseEnter:Connect(function() ChangeState("Hover") end) button.MouseLeave:Connect(function() ChangeState("Idle") end) end dialogIn() function DialogFunctions:UpdateTitle(New) paragraphHeader.Text = New end function DialogFunctions:UpdateDescription(New) paragraphBody.Text = New end function DialogFunctions:Cancel() dialogOut() end return DialogFunctions end function WindowFunctions:SetNotificationsState(State) notifications.Visible = State end function WindowFunctions:GetNotificationsState(State) return notifications.Visible end function WindowFunctions:SetState(State) windowState = State base.Visible = State end function WindowFunctions:GetState() return windowState end local onUnloadCallback function WindowFunctions:Unload() if onUnloadCallback then onUnloadCallback() end macLib:Destroy() unloaded = true end function WindowFunctions.onUnloaded(callback) onUnloadCallback = callback end local MenuKeybind = Settings.Keybind or Enum.KeyCode.RightControl local function ToggleMenu() local state = not WindowFunctions:GetState() WindowFunctions:SetState(state) WindowFunctions:Notify({ Title = Settings.Title, Description = (state and "Maximized " or "Minimized ") .. "the menu. Use " .. tostring(MenuKeybind.Name) .. " to toggle it.", Lifetime = 5 }) end UserInputService.InputEnded:Connect(function(inp, gpe) if gpe then return end if inp.KeyCode == MenuKeybind then ToggleMenu() end end) minimize.MouseButton1Click:Connect(ToggleMenu) exit.MouseButton1Click:Connect(function() WindowFunctions:Dialog({ Title = Settings.Title, Description = "Are you sure you want to exit the menu? You will lose any unsaved configurations.", Buttons = { { Name = "Confirm", Callback = function() WindowFunctions:Unload() end, }, { Name = "Cancel" } } }) end) function WindowFunctions:SetKeybind(Keycode) MenuKeybind = Keycode end function WindowFunctions:SetAcrylicBlurState(State) acrylicBlur = State base.BackgroundTransparency = State and 0.05 or 0 end function WindowFunctions:GetAcrylicBlurState() return acrylicBlur end local function _SetUserInfoState(State) if State then headshot.Image = (isReady and headshotImage) or "rbxassetid://0" username.Text = "@" .. LocalPlayer.Name displayName.Text = LocalPlayer.DisplayName else headshot.Image = assets.userInfoBlurred local nameLength = #LocalPlayer.Name local displayNameLength = #LocalPlayer.DisplayName username.Text = "@" .. string.rep(".", nameLength) displayName.Text = string.rep(".", displayNameLength) end end local showUserInfo if Settings.ShowUserInfo ~= nil then showUserInfo = Settings.ShowUserInfo else showUserInfo = true end _SetUserInfoState(showUserInfo) function WindowFunctions:SetUserInfoState(State) _SetUserInfoState(State) end function WindowFunctions:GetUserInfoState(State) return showUserInfo end function WindowFunctions:SetSize(Size) base.Size = Size end function WindowFunctions:GetSize(Size) return base.Size end function WindowFunctions:SetScale(Scale) baseUIScale.Scale = Scale end function WindowFunctions:GetScale() return baseUIScale.Scale end local ClassParser = { ["Toggle"] = { Save = function(Flag, data) return { type = "Toggle", flag = Flag, state = data.State or false } end, Load = function(Flag, data) if MacLib.Options[Flag] and data.state then MacLib.Options[Flag]:UpdateState(data.state) end end }, ["Slider"] = { Save = function(Flag, data) return { type = "Slider", flag = Flag, value = (data.Value and tostring(data.Value)) or false } end, Load = function(Flag, data) if MacLib.Options[Flag] and data.value then MacLib.Options[Flag]:UpdateValue(data.value) end end }, ["Input"] = { Save = function(Flag, data) return { type = "Input", flag = Flag, text = data.Text } end, Load = function(Flag, data) if MacLib.Options[Flag] and data.text and type(data.text) == "string" then MacLib.Options[Flag]:UpdateText(data.text) end end }, ["Keybind"] = { Save = function(Flag, data) return { type = "Keybind", flag = Flag, bind = (typeof(data.Bind) == "EnumItem" and data.Bind.Name) or nil } end, Load = function(Flag, data) if MacLib.Options[Flag] and data.bind then MacLib.Options[Flag]:Bind(Enum.KeyCode[data.bind]) end end }, ["Dropdown"] = { Save = function(Flag, data) return { type = "Dropdown", flag = Flag, value = data.Value } end, Load = function(Flag, data) if MacLib.Options[Flag] and data.value then MacLib.Options[Flag]:UpdateSelection(data.value) end end }, ["Colorpicker"] = { Save = function(Flag, data) local function Color3ToHex(color) return string.format("#%02X%02X%02X", math.floor(color.R * 255), math.floor(color.G * 255), math.floor(color.B * 255)) end return { type = "Colorpicker", flag = Flag, color = Color3ToHex(data.Color) or nil, alpha = data.Alpha } end, Load = function(Flag, data) local function HexToColor3(hex) local r = tonumber(hex:sub(2, 3), 16) / 255 local g = tonumber(hex:sub(4, 5), 16) / 255 local b = tonumber(hex:sub(6, 7), 16) / 255 return Color3.new(r, g, b) end if MacLib.Options[Flag] and data.color then MacLib.Options[Flag]:SetColor(HexToColor3(data.color)) if data.alpha then MacLib.Options[Flag]:SetAlpha(data.alpha) end end end } } local function BuildFolderTree() if isStudio or not (isfolder and makefolder) then return "Config system unavailable." end local paths = { MacLib.Folder, MacLib.Folder .. "/settings" } for i = 1, #paths do local str = paths[i] if not isfolder(str) then makefolder(str) end end end function MacLib:LoadAutoLoadConfig() if isStudio or not (isfile and readfile) then return "Config system unavailable." end if isfile(MacLib.Folder .. "/settings/autoload.txt") then local name = readfile(MacLib.Folder .. "/settings/autoload.txt") local suc, err = MacLib:LoadConfig(name) if not suc then WindowFunctions:Notify({ Title = "Interface", Description = "Error loading autoload config: " .. err }) end WindowFunctions:Notify({ Title = "Interface", Description = string.format("Autoloaded config: %q", name), }) end end function MacLib:SetFolder(Folder) if isStudio then return "Config system unavailable." end MacLib.Folder = Folder; BuildFolderTree() end function MacLib:SaveConfig(Path) if isStudio or not writefile then return "Config system unavailable." end if (not Path) then return false, "Please select a config file." end local fullPath = MacLib.Folder .. "/settings/" .. Path .. ".json" local data = { objects = {} } for flag, option in next, MacLib.Options do if not ClassParser[option.Class] then continue end if option.IgnoreConfig then continue end table.insert(data.objects, ClassParser[option.Class].Save(flag, option)) end local success, encoded = pcall(HttpService.JSONEncode, HttpService, data) if not success then return false, "Unable to encode into JSON data" end writefile(fullPath, encoded) return true end function MacLib:LoadConfig(Path) if isStudio or not (isfile and readfile) then return "Config system unavailable." end if (not Path) then return false, "Please select a config file." end local file = MacLib.Folder .. "/settings/" .. Path .. ".json" if not isfile(file) then return false, "Invalid file" end local success, decoded = pcall(HttpService.JSONDecode, HttpService, readfile(file)) if not success then return false, "Unable to decode JSON data." end for _, option in next, decoded.objects do if ClassParser[option.type] then task.spawn(function() ClassParser[option.type].Load(option.flag, option) end) end end return true end function MacLib:RefreshConfigList() if isStudio or not (isfolder and listfiles) then return "Config system unavailable." end local list = (isfolder(MacLib.Folder) and isfolder(MacLib.Folder .. "/settings")) and listfiles(MacLib.Folder .. "/settings") or {} local out = {} for i = 1, #list do local file = list[i] if file:sub(-5) == ".json" then local pos = file:find(".json", 1, true) local start = pos local char = file:sub(pos, pos) while char ~= "/" and char ~= "\\" and char ~= "" do pos = pos - 1 char = file:sub(pos, pos) end if char == "/" or char == "\\" then local name = file:sub(pos + 1, start - 1) if name ~= "options" then table.insert(out, name) end end end end return out end macLib.Enabled = false local assetList = {} for _, assetId in pairs(assets) do table.insert(assetList, assetId) end ContentProvider:PreloadAsync(assetList) macLib.Enabled = true windowState = true return WindowFunctions end function MacLib:Demo() local Window = MacLib:Window({ Title = "Maclib Demo", Subtitle = "This is a subtitle.", Size = UDim2.fromOffset(868, 650), DragStyle = 1, DisabledWindowControls = {}, ShowUserInfo = true, Keybind = Enum.KeyCode.RightControl, AcrylicBlur = true, }) local globalSettings = { UIBlurToggle = Window:GlobalSetting({ Name = "UI Blur", Default = Window:GetAcrylicBlurState(), Callback = function(bool) Window:SetAcrylicBlurState(bool) Window:Notify({ Title = Window.Settings.Title, Description = (bool and "Enabled" or "Disabled") .. " UI Blur", Lifetime = 5 }) end, }), NotificationToggler = Window:GlobalSetting({ Name = "Notifications", Default = Window:GetNotificationsState(), Callback = function(bool) Window:SetNotificationsState(bool) Window:Notify({ Title = Window.Settings.Title, Description = (bool and "Enabled" or "Disabled") .. " Notifications", Lifetime = 5 }) end, }), ShowUserInfo = Window:GlobalSetting({ Name = "Show User Info", Default = Window:GetUserInfoState(), Callback = function(bool) Window:SetUserInfoState(bool) Window:Notify({ Title = Window.Settings.Title, Description = (bool and "Showing" or "Redacted") .. " User Info", Lifetime = 5 }) end, }) } local tabGroups = { TabGroup1 = Window:TabGroup() } local tabs = { Main = tabGroups.TabGroup1:Tab({ Name = "Demo", Image = "rbxassetid://18821914323" }), Settings = tabGroups.TabGroup1:Tab({ Name = "Settings", Image = "rbxassetid://10734950309" }) } local sections = { MainSection1 = tabs.Main:Section({ Side = "Left" }), } sections.MainSection1:Header({ Name = "Header #1" }) sections.MainSection1:Button({ Name = "Button", Callback = function() Window:Dialog({ Title = Window.Settings.Title, Description = "Lorem ipsum odor amet, consectetuer adipiscing elit. Eros vestibulum aliquet mattis, ex platea nunc.", Buttons = { { Name = "Confirm", Callback = function() print("Confirmed!") end, }, { Name = "Cancel" } } }) end, }) sections.MainSection1:Input({ Name = "Input", Placeholder = "Input", AcceptedCharacters = "All", Callback = function(input) Window:Notify({ Title = Window.Settings.Title, Description = "Successfully set input to " .. input }) end, onChanged = function(input) print("Input is now " .. input) end, }, "Input") sections.MainSection1:Slider({ Name = "Slider", Default = 50, Minimum = 0, Maximum = 100, DisplayMethod = "Percent", Precision = 0, Callback = function(Value) print("Changed to ".. Value) end }, "Slider") sections.MainSection1:Toggle({ Name = "Toggle", Default = false, Callback = function(value) Window:Notify({ Title = Window.Settings.Title, Description = (value and "Enabled " or "Disabled ") .. "Toggle" }) end, }, "Toggle") sections.MainSection1:Keybind({ Name = "Keybind", Blacklist = false, Callback = function(binded) Window:Notify({ Title = "Demo Window", Description = "Pressed keybind - "..tostring(binded.Name), Lifetime = 3 }) end, onBinded = function(bind) Window:Notify({ Title = "Demo Window", Description = "Successfully Binded Keybind to - "..tostring(bind.Name), Lifetime = 3 }) end, }, "Keybind") sections.MainSection1:Colorpicker({ Name = "Colorpicker", Default = Color3.fromRGB(0, 255, 255), Callback = function(color) print("Color: ", color) end, }, "Colorpicker") local alphaColorPicker = sections.MainSection1:Colorpicker({ Name = "Transparency Colorpicker", Default = Color3.fromRGB(255,0,0), Alpha = 0, Callback = function(color, alpha) print("Color: ", color, " Alpha: ", alpha) end, }, "TransparencyColorpicker") local rainbowActive local rainbowConnection local hue = 0 sections.MainSection1:Toggle({ Name = "Rainbow", Default = false, Callback = function(value) rainbowActive = value if rainbowActive then rainbowConnection = game:GetService("RunService").RenderStepped:Connect(function(deltaTime) hue = (hue + deltaTime * 0.1) % 1 alphaColorPicker:SetColor(Color3.fromHSV(hue, 1, 1)) end) elseif rainbowConnection then rainbowConnection:Disconnect() rainbowConnection = nil end end, }, "RainbowToggle") local optionTable = { "Apple", "Banana", "Orange", "Grapes", "Pineapple", "Mango", "Strawberry", "Blueberry", "Watermelon", "Peach" } local Dropdown = sections.MainSection1:Dropdown({ Name = "Dropdown", Multi = false, Required = true, Options = optionTable, Default = 1, Callback = function(Value) print("Dropdown changed: ".. Value) end, }, "Dropdown") local MultiDropdown = sections.MainSection1:Dropdown({ Name = "Multi Dropdown", Search = true, Multi = true, Required = false, Options = optionTable, Default = {"Apple", "Orange"}, Callback = function(Value) local Values = {} for Value, State in next, Value do table.insert(Values, Value) end print("Mutlidropdown changed:", table.concat(Values, ", ")) end, }, "MultiDropdown") sections.MainSection1:Button({ Name = "Update Selection", Callback = function() Dropdown:UpdateSelection("Grapes") MultiDropdown:UpdateSelection({"Banana", "Pineapple"}) end, }) sections.MainSection1:Divider() sections.MainSection1:Header({ Text = "Header #2" }) sections.MainSection1:Paragraph({ Header = "Paragraph", Body = "Paragraph body. Lorem ipsum odor amet, consectetuer adipiscing elit. Morbi tempus netus aliquet per velit est gravida." }) sections.MainSection1:Label({ Text = "Label. Lorem ipsum odor amet, consectetuer adipiscing elit." }) sections.MainSection1:SubLabel({ Text = "Sub-Label. Lorem ipsum odor amet, consectetuer adipiscing elit." }) MacLib:SetFolder("Maclib") tabs.Settings:InsertConfigSection("Left") Window.onUnloaded(function() print("Unloaded!") end) tabs.Main:Select() MacLib:LoadAutoLoadConfig() end return MacLib