Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Pollo UI Lib

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.

Reglas de estructura

Cada ventana incluye dos grupos obligatorios:

  • Home siempre aparece primero.
  • Misc siempre aparece al final.
  • Los grupos personalizados se insertan automaticamente entre ambos.
  • Home incluye las paginas Home y Notifications.
  • Misc incluye las paginas Misc y Themes.

No es necesario crear esos grupos en el script del usuario.

Caracteristicas

  • 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, Compact y Sharp.
  • Unload GUI integrado en Misc > Misc.
  • Limpieza completa de conexiones, tweens, tareas diferidas y ScreenGui mediante Window:Unload().

Carga

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.

Crear una ventana

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

Home y Misc

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.

Grupos

Grupo con pagina automatica

local Combat = Window:CreateGroup("Combat", {
	Description = "Combat controls."
})

local CombatPage = Window:GetPage("Combat")

Grupo con varias subpaginas

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.

Tarjetas

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.

Controles

Label

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.

Separator

Card:AddSeparator()

Button

Card:AddButton("Run Action", function(button)
	print(button.Text)
end)

Toggle

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.

Slider

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())

TextBox

local Box = Card:AddTextBox({
	Label = "Config Name",
	Default = "main",
	Placeholder = "Enter a name...",
	EnterOnly = true,
	Callback = function(text, textBox)
		print(text)
	end
})

Dropdown

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())

ColorPicker

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())

Notificaciones

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

Temas incluidos:

  • Pollo Dark
  • Midnight Mint
  • Rose Noir
  • Solar Clean
  • Violet 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.

API de Window

  • 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.

API de Group y Page

  • Group:SetExpanded(boolean)
  • Group:CreatePage(name, description)
  • Page:CreateCard(title, options)

Ejemplo completo

Revisa example_usage.lua. Incluye todos los controles, notificaciones, grupos simples, subpaginas y llamadas programaticas de la API sin implementar funciones de juego.

Estructura del repositorio

PolloUILib/
  PolloUILib.lua
  example_usage.lua
  README.md

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages