--[[ WARNING: Heads up! This script has not been verified by ScriptBlox. Use at your own risk! ]] local LibraryUrl = "https://raw.githubusercontent.com/Carterjam28YT/Nexus-UI/refs/heads/main/Nexus%20Library%20open%20src" local Success, Library = pcall(function() return loadstring(game:HttpGet(LibraryUrl))() end) local Players = game:GetService("Players") local LocalPlayer = Players.LocalPlayer local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local Workspace = game:GetService("Workspace") -- 1. Initialize the Window Library:Watermark("My Script Name | v1.0") local Window = Library:Window("My Script Hub") local Icons = { Combat = "7733771472", -- eye -- you can add yours icons } -- 2. Create a Tab -- Note: This library requires Tabs to contain SubTabs. Window:Section("Main Functions") local MainTab = Window:Tab("Main", "7733917120") -- also can without icon: local TestTab = Window:Tab("Your Page") Window:Section("Set Functions") local SettingsTab = Window:Tab("Settings", "7733771472" ) -- 3. Create a SubTab (Required hierarchy: Window -> Tab -> SubTab) local GeneralPage = MainTab:SubTab("General") local CombatPage = MainTab:SubTab("Combat") -- 4. Create Groupboxes (Containers for items) -- You can choose "Left" or "Right" side local FarmGroup = GeneralPage:Groupbox("Farming", "Left", "7733774602") local ExtraGroup = GeneralPage:Groupbox("Extras", "Right", Icons.Combat) local CombatGroup = CombatPage:Groupbox("pvp Settings", "Left") local NewUiGroup = GeneralPage:Groupbox("New UI Features", "Right") local VisualsGroup = CombatPage:Groupbox("Visuals", "Right") ------------------------------------------------------------------------- -- EXAMPLES OF FUNCTIONS ------------------------------------------------------------------------- -- LABEL & PARAGRAPH FarmGroup:AddLabel("Farming Status: Idle") FarmGroup:AddParagraph({ Title = "About", Content = "Select a weapon and enable Auto Farm. This text will automatically wrap if it gets too long for the line.", TextWrapped = true }) -- 3. Пример с очень длинным текстом для проверки FarmGroup:AddParagraph({ Title = "Warning", Content = "This is a very long text to test if the paragraph system is working correctly. It should wrap to multiple lines automatically based on the width of the box." }) -- TOGGLES (The examples you asked for) FarmGroup:AddToggle({ Title = "Auto Farm", Default = false, Flag = "AutoFarmFlag", -- Unique identifier for configs Callback = function(Value) print("Auto Farm is now:", Value) -- Your Auto Farm Loop here end }) FarmGroup:AddToggle({ Title = "Accept Quest", Default = true, Callback = function(Value) print("Auto Quest:", Value) end }) CombatGroup:AddToggle({ Title = "Auto Parry", Default = false, Callback = function(Value) print("Parry enabled:", Value) end }) ExtraGroup:AddCheckbox({ Title = "Safe Mode", Default = true, Description = "Это новый квадратный чекбокс. Отличается от Toggle видом.", Callback = function(Value) print("Safe Mode State:", Value) end }) ExtraGroup:AddCheckbox({ Title = "Debug Info", Default = false, Risky = true, -- Красный текст Callback = function(Value) print("Debug:", Value) end }) CombatGroup:AddDropdown({ Title = "ESP Mode", Values = {"Box", "Tracer", "Highlight"}, Default = "Box", Description = "Выберите тип подсветки игроков.", Callback = function(Value) print("ESP Type:", Value) end }) CombatGroup:AddTextbox({ Title = "Spam Chat", Placeholder = "Enter message...", ClearOnFocus = true, -- Очищает текст при нажатии, чтобы удобно вводить новый Description = "Сообщение, которое будет отправляться в чат.", Callback = function(Value) print("Will spam:", Value) end }) CombatGroup:AddToggle({ Title = "Auto Attack", Default = false, Risky = true, -- Сделает текст красным, чтобы предупредить пользователя Description = "Автоматически атакует игроков в радиусе 15 стадов.", -- Всплывающее описание Callback = function(Value) print("Auto Attack:", Value) end }) CombatGroup:AddSlider({ Title = "WalkSpeed", Min = 16, Max = 250, Default = 16, Rounding = 0, Suffix = " studs", -- will be show "16 studs", "50 studs" и т.д. Description = "Изменяет скорость передвижения персонажа.", Callback = function(Value) if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then LocalPlayer.Character.Humanoid.WalkSpeed = Value end end }) -- SLIDER CombatGroup:AddSlider({ Title = "Attack Distance", Min = 1, Max = 50, Default = 15, Rounding = 1, -- Decimals (0 = integer) Callback = function(Value) print("Distance set to:", Value) end }) -- DROPDOWN (Single) ExtraGroup:AddDropdown({ Title = "Weapon Select", Values = {"Sword", "Bow", "Magic", "Loll", "Lool", "Loool", "Looool", "Lol"}, Default = "Sword", Multi = false, Callback = function(Value) print("Selected Weapon:", Value) end }) -- DROPDOWN (Multi) ExtraGroup:AddDropdown({ Title = "Target Priority", Values = {"Players", "NPCs", "Bosses", "Lol", "Lol", "Lol", "Loll"}, Default = {"NPCs"}, -- Note: Must be a table for Multi Multi = true, Callback = function(Value) -- Value returns a table like {Players = true, NPCs = false} for k, v in pairs(Value) do if v then print(k, "is selected") end end end }) -- COLOR PICKER ExtraGroup:AddColorPicker({ Title = "ESP Color", Default = Color3.fromRGB(255, 0, 0), Callback = function(Value) print("New Color:", Value) end }) -- KEYBIND CombatGroup:AddKeybind({ Title = "Kill Aura Bind", Default = Enum.KeyCode.R, Callback = function(Key) print("Key pressed:", Key) end }) -- TEXTBOX ExtraGroup:AddTextbox({ Title = "Custom Message", Placeholder = "Enter text...", Callback = function(Text) print("User typed:", Text) end }) -- BUTTON ExtraGroup:AddButton({ Title = "Server Hop", Callback = function() print("Hopping server...") end }) -- CONFIG SYSTEM (Built into the library) local SettingsPage = SettingsTab:SubTab("Menu Settings") -- >> ЛЕВАЯ СТОРОНА: CONFIG MANAGER << local ConfigGroup = SettingsPage:Groupbox("Configuration", "Left") local Configs = Library:GetConfigs() ConfigGroup:AddDropdown({ Title = "Select Config", Values = Configs, Default = "default", Multi = false, Flag = "SelectedConfig", Callback = function(Value) end }) ConfigGroup:AddTextbox({ Title = "New Config Name", Placeholder = "Type name...", Flag = "NewConfigName", Callback = function(Value) end }) ConfigGroup:AddButton({ Title = "Load Selected", Callback = function() local name = Library.Flags["SelectedConfig"] if name then Library:LoadConfig(name) else Library:Notify("Error", "No config selected!", 3) end end }) ConfigGroup:AddButton({ Title = "Save Config", Callback = function() local name = Library.Flags["NewConfigName"] if name == "" or name == nil then name = Library.Flags["SelectedConfig"] end if name and name ~= "" then Library:SaveConfig(name) local NewList = Library:GetConfigs() if Library.Items["SelectedConfig"] then Library.Items["SelectedConfig"].Refresh(NewList) end else Library:Notify("Error", "Enter a name or select a config!", 3) end end }) ConfigGroup:AddButton({ Title = "Delete Config", Callback = function() local name = Library.Flags["SelectedConfig"] if name and name ~= "" then -- 1. Удаляем файл Library:DeleteConfig(name) -- 2. Обновляем список в Dropdown local NewList = Library:GetConfigs() if Library.Items["SelectedConfig"] then Library.Items["SelectedConfig"].Refresh(NewList) end -- 3. Сбрасываем выбранный конфиг, чтобы избежать ошибок Library.Flags["SelectedConfig"] = nil else Library:Notify("Error", "Select a config first!", 3) end end }) ConfigGroup:AddButton({ Title = "Refresh List", Callback = function() local NewList = Library:GetConfigs() if Library.Items["SelectedConfig"] then Library.Items["SelectedConfig"].Refresh(NewList) end Library:Notify("Configs", "List refreshed", 2) end }) -- >> ПРАВАЯ СТОРОНА: THEME MANAGER << local ThemeGroup = SettingsPage:Groupbox("Theme Manager", "Right") -- [[ ДОБАВЛЕНО: Выбор темы ]] local ThemeList = {} if Library.ThemePresets then for ThemeName, _ in pairs(Library.ThemePresets) do table.insert(ThemeList, ThemeName) end table.sort(ThemeList) ThemeGroup:AddDropdown({ Title = "Preset Theme", Values = ThemeList, Default = "Default", Multi = false, Callback = function(Value) if Library.SetTheme then Library:SetTheme(Value) else warn("Library is outdated, SetTheme missing!") end end }) ThemeGroup:AddSeparator() end ThemeGroup:AddLabel("Custom Colors") ThemeGroup:AddColorPicker({ Title = "Accent Color", Default = Library.Theme.Accent, Flag = "ThemeAccent", Callback = function(Value) Library:UpdateTheme("Accent", Value) end }) ThemeGroup:AddColorPicker({ Title = "Background", Default = Library.Theme.Background, Flag = "ThemeBackground", Callback = function(Value) Library:UpdateTheme("Background", Value) end }) ThemeGroup:AddColorPicker({ Title = "Sidebar", Default = Library.Theme.Sidebar, Flag = "ThemeSidebar", Callback = function(Value) Library:UpdateTheme("Sidebar", Value) end }) ThemeGroup:AddColorPicker({ Title = "Groupbox", Default = Library.Theme.Groupbox, Flag = "ThemeGroupbox", Callback = function(Value) Library:UpdateTheme("Groupbox", Value) end }) ThemeGroup:AddLabel("Text & Outlines") ThemeGroup:AddColorPicker({ Title = "Main Text", Default = Library.Theme.Text, Flag = "ThemeText", Callback = function(Value) Library:UpdateTheme("Text", Value) end }) ThemeGroup:AddColorPicker({ Title = "Secondary Text", Default = Library.Theme.TextDark, Flag = "ThemeTextDark", Callback = function(Value) Library:UpdateTheme("TextDark", Value) end }) ThemeGroup:AddColorPicker({ Title = "Outline/Stroke", Default = Library.Theme.Outline, Flag = "ThemeOutline", Callback = function(Value) Library:UpdateTheme("Outline", Value) end }) ThemeGroup:AddButton({ Title = "Reset Theme to Default", Callback = function() Library:SetTheme("Default") -- Используем функцию сброса на дефолтную тему Library:Notify("Theme", "Colors reset to default", 2) end }) -- >> ПРАВАЯ СТОРОНА (Ниже Theme Manager) : UI SETTINGS << local UISettings = SettingsPage:Groupbox("UI Settings", "Right") UISettings:AddToggle({ Title = "Show Watermark", Default = true, Flag = "WatermarkToggle", Callback = function(Value) Library.WatermarkSettings.Enabled = Value end }) UISettings:AddTextbox({ Title = "Watermark Text", Default = "RedOnyx V17", -- или ваше название Placeholder = "Enter text...", ClearOnFocus = false, Callback = function(Value) Library.WatermarkSettings.Text = Value end }) UISettings:AddToggle({ Title = "Groupbox Animations", Default = true, Callback = function(Value) if Library.GlobalSettings then Library.GlobalSettings.GroupboxAnimations = Value end print("Groupbox animations set to:", Value) end }) -- Кнопка для быстрой выгрузки интерфейса (полезно) UISettings:AddButton({ Title = "Unload / Destroy UI", Callback = function() local gui = game:GetService("CoreGui"):FindFirstChild("RedOnyx") local water = game:GetService("CoreGui"):FindFirstChild("Watermark") if gui then gui:Destroy() end if water then water:Destroy() end end }) NewUiGroup:AddTextUnformatted("local code = 'Unformatted Style'") -- Моноширинный шрифт NewUiGroup:AddTextWrapped("This is a text without a header that is long enough to wrap to the next line automatically using AddTextWrapped.") -- 3. SEPARATOR & SPACING (Разделители и отступы) NewUiGroup:AddSpacing(5) -- Отступ 5 пикселей NewUiGroup:AddSeparator() -- Линия NewUiGroup:AddSpacing(5) -- 4. LABEL TEXT (Ключ: Значение) NewUiGroup:AddLabelText("User:", LocalPlayer.Name) NewUiGroup:AddLabelText("Rank:", "VIP Member") NewUiGroup:AddLabelText("Status:", "Active") NewUiGroup:AddSeparator() -- 5. BULLET TEXT & ALIGNMENT (Списки и отступы) NewUiGroup:AddBulletText("Safe Mode Enabled") NewUiGroup:AddBulletText("Anti-Cheat Bypassed") NewUiGroup:AddNewLine() -- Пустая строка (аналог Spacing) NewUiGroup:AlignTextToFramePadding("Text aligned with padding") -- Текст с небольшим отступом слева if NewUiGroup:TreeNode("Folder: Player Scripts") then NewUiGroup:AddLabel("Inside the folder!") NewUiGroup:AddToggle({ Title = "Anti-Aim", Default = false }) NewUiGroup:AddButton({ Title = "Reset Character", Callback = function() end }) NewUiGroup:TreePop() -- Выход из папки end -- 2. Вложенные TreeNode (Папка в папке) if NewUiGroup:TreeNode("Folder: Nested Example") then NewUiGroup:AddLabel("Level 1") if NewUiGroup:TreeNode("Sub-Folder (Level 2)") then NewUiGroup:AddLabel("We are deeper now") NewUiGroup:AddSlider({ Title = "Deep Value", Default = 50, Max = 100 }) NewUiGroup:TreePop() -- Закрываем Sub-Folder end NewUiGroup:TreePop() -- Закрываем Nested Example end -- 3. / Header (Стилизованный TreeNode с фоном) -- SetNextItemOpen(true) заставит его быть открытым при запуске скрипта NewUiGroup:SetNextItemOpen(true) if NewUiGroup:CollapsingHeader("Visuals (Header)") then NewUiGroup:AddCheckbox({Title = "Box ESP", Default = true}) NewUiGroup:AddCheckbox({Title = "Tracers", Default = false}) NewUiGroup:AddColorPicker({Title = "Chams Color", Default = Color3.new(1,1,1)}) NewUiGroup:TreePop() end NewUiGroup:AddProgressBar({ Title = "Health Bar", Default = 0.75, -- From 0 to 1 (0% - 100%) Flag = "MyProgressBar", Description = "Shows health status (example)" }) -- 2. RADIO BUTTON (Single selection from list, alternative to Dropdown) NewUiGroup:AddRadioButton({ Title = "Target Mode", Options = {"Nearest", "Lowest HP", "Mouse Position"}, -- Options Default = "Nearest", Flag = "TargetRadio", Callback = function(Value) print("Radio Selection changed to:", Value) end }) -- 3. GRAPH (Chart) -- Useful for displaying FPS, Ping or currency amounts NewUiGroup:AddGraph({ Title = "FPS Monitor", Values = {0.1, 0.4, 0.3, 0.8, 0.5, 0.9, 0.2}, -- Initial data (from 0 to 1, or scalable) Height = 50, -- Graph window height Flag = "FPSGraph", Description = "Real-time data visualization" }) -- 4. IMAGE (Picture) -- Can be used for logos or item previews VisualsGroup:AddImage({ Image = "rbxassetid://18216647696", -- Replace with your ID Size = UDim2.new(0, 100, 0, 100), -- Size Description = "Script logo" }) -- 5. IMAGE BUTTON (Image button) VisualsGroup:AddImageButton({ Image = "rbxassetid://7733771472", -- Eye icon (example) Size = UDim2.new(0, 40, 0, 40), Description = "Click me!", Callback = function() print("Image Button Pressed!") Library:Notify("Action", "Image Button Clicked", 2) end }) -- Vertical slider (for example, for adjusting jump height or FOV) NewUiGroup:AddVerticalSlider({ Title = "Height", Min = 0, Max = 100, Default = 50, Height = 120, -- Height of the element itself in pixels Flag = "VSlider1", Callback = function(v) print("Vertical Value:", v) end }) -- Selectable element - like a button but maintains pressed state NewUiGroup:AddSelectable({ Title = "Silent Aim (Selectable)", Default = false, Flag = "Selectable1", Callback = function(val) print("Selected:", val) end }) ------------------------------------------------------------------------- -- LIVE UPDATE EXAMPLE (FOR GRAPH AND BAR) ------------------------------------------------------------------------- task.spawn(function() while true do wait(0.5) -- Update Progress Bar (HP change simulation) if Library.Items["MyProgressBar"] then local newHealth = math.random(30, 100) / 100 Library.Items["MyProgressBar"].Set(newHealth) end -- Update Graph (FPS simulation) if Library.Items["FPSGraph"] then local graphData = {} for i = 1, 20 do -- Generate 20 points table.insert(graphData, math.random(1, 100)) end Library.Items["FPSGraph"].Set(graphData) end end end)