Menus
Documentation pour la création des menus en jeu.
Déclaration d'un menu
Enregistrement du menu en cache sous l'id spécifié au moment de la création
lib.registerMenu(data, cb)Structure de l'objet
id
string
Identifiant unique du composant de menu.
title
string
Titre du menu qui sera affiché en haut.
subtitle
string
Sous-titre affiché sous le titre dans l'en-tête du menu.
image
string
URL de l'image affichée à gauche du titre et du sous-titre dans l'en-tête du menu.
options
array
Tableau de propriétés représentant les options du menu. Chacune de ces propriétés est décrite ci-dessous.
label
string
Étiquette associée à l'option.
subtitle (optionnel)
string
Texte affiché sous le titre de l'option. Généralement combiné avec l'image spécifique à l'option.
image (optionnel)
string
URL de l'image affichée à gauche du bouton de l'option.
progress (optionnel)
number
Indique la progression dans le menu (si applicable).
progressBarEditable (optionnel)
boolean
Permet d'activer la modification d'une barre de progression à l'aide des flèches. Par défaut : false.
colorScheme (optionnel)
string
Schéma de couleurs utilisé pour styliser le menu.
icon (optionnel)
string
Icône FontAwesome affichée à gauche de l'option. Supporte également les URL d'images (png, webp), mais l'utilisation d'icônes FontAwesome est recommandée.
iconColor (optionnel)
string
Couleur de l'icône affichée à gauche.
iconAnimation (optionnel)
string
Animation de l'icône (valeurs possibles : spin, spinPulse, spinReverse, pulse, beat, fade, beatFade, bounce, shake).
values (optionnel)
array
Liste de valeurs ou d'objets {label: string, description: string} pour créer une liste défilante latérale.
checked (optionnel)
boolean
Si défini sur true ou false, le bouton devient une case à cocher. Si values est également fourni, le bouton devient une liste déroulante défilante.
description (optionnel)
string
Affiche une infobulle en dessous du menu pour l'élément survolé.
defaultIndex (optionnel)
number
Définit l'index actuel de la liste sur le nombre spécifié.
args (optionnel)
object
Permet de passer des arguments à travers le bouton. Si le bouton a des values, isScroll est automatiquement passé. Si checked est défini, isCheck est automatiquement passé.
close (optionnel)
boolean
Si défini sur false, le menu ne se fermera pas après l'interaction avec cette option.
position (optionnel)
string
Position du menu à l'écran (top-left, top-right, bottom-left, bottom-right). Par défaut : top-left.
disableInput (optionnel)
boolean
Si défini sur true, désactive l'entrée utilisateur. Par défaut : false.
canClose (optionnel)
boolean
Si défini sur false, l'utilisateur ne pourra pas fermer le menu sans appuyer sur l'un des boutons.
isSubmenu (optionnel)
boolean
Si défini sur true, un icône spécifique est affiché pour indiquer qu'il s'agit d'un sous-menu.
isSeparator (optionnel)
boolean
Crée un séparateur. Doit être uniquement accompagné d'un label pour faire un sous-titre.
onClose
function
Fonction exécutée lorsque le menu est fermé via la touche Escape ou Backspace.
onSelected
function
Fonction exécutée lorsque l'option sélectionnée dans le menu change.
onSideScroll
function
Fonction exécutée chaque fois qu'un élément de la liste défilante est modifié.
onCheck
function
Fonction exécutée chaque fois qu'une case à cocher est basculée.
onProgressUpdate
function
Fonction exécutée lorsqu'une barre de progression est modifiée.
cb
function
Fonction de rappel lorsque l'élément du menu est pressé.
Fonctions utilitaires
lib.showMenu
Afficher un menu avec l'id passé en paramètre
lib.showMenu(id)id:
string
lib.hideMenu
Ferme le menu si le paramètre passé est true
lib.hideMenu(onExit)onExit:
boolean(Sitrueexecute la fonctiononClosedu menu)
lib.getOpenMenu
Récupère l'id du menu actuellement ouvert
lib.getOpenMenu()lib.setMenuOptions
Modifie les options du menu spécifié
lib.setMenuOptions(id, options, index)id:
stringoptions:
table(objectorarray)index?:
numberSi spécifié, ne modifiera que l'index ciblé du menu.
Exemple
Évitez de réenregister un menu qui ne dépend pas de valeur externes
lib.registerMenu({
id = 'custom_menu',
title = 'Temps & Météo',
subtitle = 'ADMINISTRATION',
image = 'https://cdn-icons-png.flaticon.com/512/7211/7211100.png',
position = 'top-right',
onProgressUpdate = function(selected, scrollIndex, args, progress)
print('Progress updated', selected, progress)
end,
options = {
{
label = 'Bouton Submenu',
icon = 'arrows-up-down-left-right',
description = 'La description de baisé',
isSubmenu = true
},
{
label = 'Type de véhicule',
values = {
'Sport',
'Super-Sport',
{
label = 'Moto',
description = 'Moto de biker uniquement'
}
},
icon = 'tag',
description = 'Listing des catégories'
},
{
label = 'Niveau de mazout',
progress = 30,
icon = 'oil-can',
description = 'Augmentez le mazout avec les flèches',
progressBarEditable = true,
colorScheme = '#20C997',
iconColor = '#55778d'
},
{
label = 'Button animé',
icon = 'spinner',
iconAnimation = 'spin'
},
{
label = 'Serveurs',
isSeparator = true
},
{
label = 'Tryade',
image = 'https://i.postimg.cc/NM95gBhp/Tryade-2023-Dev.png',
subtitle = 'Roleplay',
isSubmenu = true
}
}
})

Mis à jour