API Reference
🏗️ Basic Structure
Recommended Architecture
-- 1. Global variables
local data = {}
local mainMenu
local subMenu1
local subMenu2
-- 2. Network events (if needed)
RegisterNetEvent("myEvent", function(callback)
-- Handle data
end)
-- 3. Utility functions
local function myFunction()
-- Logic
end
-- 4. Main command
RegisterCommand("mymenu", function()
-- Create menus
mainMenu = InfinityUI.CreateMenu("Title", "Subtitle")
subMenu1 = InfinityUI.CreateSubMenu(mainMenu, "Sub Menu 1", "Description")
-- Open menu
InfinityUI.Visible(mainMenu, true)
-- Render loop
while InfinityUI.Visible(mainMenu) or InfinityUI.Visible(subMenu1) do
Citizen.Wait(0)
InfinityUI.IsVisible(mainMenu, function()
-- Main menu content
end)
InfinityUI.IsVisible(subMenu1, function()
-- Sub menu content
end)
end
end)🎯 Menu Navigation
Creating Menu Hierarchy
Navigation with Data Loading
📝 Input Forms
Text Input with ox_lib
Dynamic Button Labels
Multi-Field Form
Checkbox for Boolean Values
🗂️ Dynamic Lists
Rendering Items from Table
Empty State Handling
Item Selection Flow
💾 Data Management
Using a Data Object
Resetting Form Data
Separating Data Structures
✅ Validation & Parsing
Position Formatting
Color Input Validation
Number Validation
🌐 Server Integration
Request-Response Pattern
Create/Update/Delete Operations
Error Handling
🎨 Advanced Patterns
Conditional Button Styling
Toggle Menu Visibility
Conditional Menu Content
Confirmation Dialog
Progressive Form
📊 Best Practices Summary
✅ DO
❌ DON'T
🎯 Common Patterns Cheat Sheet
Pattern
Use Case
Code
🚀 Complete Example Template
Last updated