Pollo UI Lib es una libreria visual para Roblox/Luau basada en la interfaz de PolloHub Universal. La libreria contiene solamente la GUI y sus comportamientos internos: navegacion, controles, temas, animaciones, notificaciones y limpieza. No incluye ESP, combate, movimiento ni funciones especificas de ningun juego.
Cada ventana incluye dos grupos obligatorios:
Homesiempre aparece primero.Miscsiempre aparece al final.- Los grupos personalizados se insertan automaticamente entre ambos.
Homeincluye las paginasHomeyNotifications.Miscincluye las paginasMiscyThemes.
No es necesario crear esos grupos en el script del usuario.
- Interfaz PolloHub con sidebar, header, footer y HUD de FPS/ping.
- Grupos colapsables y subpaginas.
- Sidebar desplazable y buscador de grupos/paginas.
- Transiciones suaves entre paginas.
- Apertura animada desde la parte inferior.
- Arrastre suave de la ventana.
- Layout de tarjetas en dos columnas.
- Botones, toggles, sliders, dropdowns, text boxes, labels, separadores y color pickers.
- Centro de notificaciones con historial, tipos y copia al portapapeles.
- Cinco temas incluidos y editor de tema personalizado.
- Guardado opcional del tema personalizado con
writefile/readfile. - Visibilidad configurable para search, HUD, footer, profile y subtabs.
- Bordes
Rounded,CompactySharp. Unload GUIintegrado enMisc > Misc.- Limpieza completa de conexiones, tweens, tareas diferidas y
ScreenGuimedianteWindow:Unload().
local PolloUI = loadstring(game:HttpGet(
"https://raw.githubusercontent.com/Perrodevs/PolloUILib/main/PolloUILib.lua"
))()Para desarrollo local tambien puede cargarse el contenido de PolloUILib.lua directamente.
local Window = PolloUI:CreateWindow({
Name = "MyPolloUI",
Title = "My Hub // Universal",
Credit = "by @username",
Footer = "My Hub - latest build",
ToggleKey = Enum.KeyCode.LeftShift,
Theme = "Pollo Dark"
})Opciones disponibles:
| Opcion | Tipo | Default |
|---|---|---|
Name |
string | PolloUILibGui |
Title |
string | PolloHub // UI Lib |
Credit |
string | Pollo UI Lib |
Footer |
string | version de la libreria |
Size |
UDim2 | 830 x 530 |
Position |
UDim2 | centro de pantalla |
Parent |
Instance | gethui, CoreGui o PlayerGui |
Theme |
string/table | Pollo Dark |
ThemeFile |
string | PolloUILib/custom-theme.json |
ToggleKey |
Enum.KeyCode | LeftShift |
NotificationDuration |
number | 4 |
ShowStats |
boolean | true |
Las paginas obligatorias se pueden obtener para agregar contenido adicional:
local Home = Window:GetPage("Home")
local Misc = Window:GetPage("Misc")
local Card = Home:CreateCard("My Status", {Column = 1})
Card:AddLabel("Ready")Las tarjetas internas de Home y Misc no deben eliminarse. La libreria utiliza esas paginas para informacion del jugador, notificaciones, comportamiento y temas.
local Combat = Window:CreateGroup("Combat", {
Description = "Combat controls."
})
local CombatPage = Window:GetPage("Combat")local Dex = Window:CreateGroup("Dex", {
Description = "Explorer tools.",
Page = false
})
local Explorer = Dex:CreatePage("Explorer", "Instance explorer.")
local Settings = Dex:CreatePage("Dex Settings", "Explorer preferences.")Window:CreateGroup("Home") y Window:CreateGroup("Misc") retornan los grupos obligatorios existentes. Nunca crean duplicados ni cambian su posicion.
local LeftCard = CombatPage:CreateCard("Main", {
Column = 1,
Order = 1
})
local RightCard = CombatPage:CreateCard("Settings", {
Column = 2,
Order = 1
})Las tarjetas ajustan su altura al contenido. Cada columna y pagina actualiza su scroll automaticamente.
Card:AddLabel("Status: ready", {
Role = "Muted",
Bold = true,
TextSize = 12,
Wrapped = true,
Height = 34
})Los roles de color validos son Text, Muted, Dim, Accent, Card, Input, Stroke, Root, Top, Side y Content.
Card:AddSeparator()Card:AddButton("Run Action", function(button)
print(button.Text)
end)local Toggle = Card:AddToggle("Enabled", false, function(enabled)
print(enabled)
end)
Toggle:Set(true)
print(Toggle:Get())El segundo parametro de Toggle:Set(value, silent) evita el callback cuando es true.
local Slider = Card:AddSlider({
Text = "Speed",
Min = 1,
Max = 200,
Default = 40,
Decimals = 0,
Callback = function(value)
print(value)
end
})
Slider:Set(75)
print(Slider:Get())local Box = Card:AddTextBox({
Label = "Config Name",
Default = "main",
Placeholder = "Enter a name...",
EnterOnly = true,
Callback = function(text, textBox)
print(text)
end
})local Dropdown = Card:AddDropdown({
Text = "Mode",
Values = {"Default", "Smooth", "Performance"},
Default = "Default",
Callback = function(value)
print(value)
end
})
Dropdown:Set("Smooth")
Dropdown:SetOptions({"One", "Two"}, "Two")
print(Dropdown:Get())local Picker = Card:AddColorPicker({
Text = "ESP Color",
Default = Color3.fromRGB(255, 90, 100),
Callback = function(color)
print(color)
end
})
Picker:Set(Color3.fromRGB(85, 200, 255))
print(Picker:Get())Window:Notify("Saved", "Configuration saved.", "Success")
Window:Notify("Warning", "Check this option.", "Warning")
Window:Notify("Error", "Something failed.", "Error")
Window:Notify("Info", "Interface updated.", "Info", 6)Todas las notificaciones aparecen como toast y se guardan en Home > Notifications.
Temas incluidos:
Pollo DarkMidnight MintRose NoirSolar CleanViolet Pulse
Window:SetTheme("Violet Pulse")Tambien puede aplicarse una tabla parcial:
Window:SetTheme({
Accent = Color3.fromRGB(170, 90, 255),
Card = Color3.fromRGB(20, 14, 31)
})El editor completo se encuentra en Misc > Themes. Save Custom Theme utiliza el archivo configurado en ThemeFile cuando el entorno soporta sistema de archivos.
Window:CreateGroup(name, options)Window:GetGroup(name)Window:GetPage(name)Window:SelectPage(name)Window:SetTheme(themeNameOrTable)Window:SetCornerStyle(style)Window:SetOpen(boolean)Window:Toggle()Window:Notify(title, message, kind, duration)Window:SaveCustomTheme()Window:LoadCustomTheme()Window:AddConnection(connection)Window:Unload()
Unload() es definitivo para esa ventana: cancela sus animaciones y tareas pendientes,
desconecta todos los eventos registrados y destruye completamente el ScreenGui.
La version 2 mantiene aliases basicos para proyectos anteriores: CreateTab, SelectTab, SetMinimized, MainFrame y TabBar. Los proyectos nuevos deben usar grupos y paginas.
Group:SetExpanded(boolean)Group:CreatePage(name, description)Page:CreateCard(title, options)
Revisa example_usage.lua. Incluye todos los controles, notificaciones, grupos simples, subpaginas y llamadas programaticas de la API sin implementar funciones de juego.
PolloUILib/
PolloUILib.lua
example_usage.lua
README.md