Notify Amélioré
Affiche une notification avancée. Gère automatiquement les icônes et les couleurs selon le type. Accepte les chaînes de caractères (simple) ou les tables (avancé).
exports.void_lib:Notify(data)
Paramètres (Table)
- data:
table- title?:
string
Le titre en gras de la notification. - description:
string
Le texte principal. - type?:
'info'|'success'|'error'|'warning'
Définit la couleur et l'icône automatique. Défaut:'info'. - duration?:
number
Temps d'affichage en ms. Défaut:5000. - icon?:
string
Force une icône FontAwesome spécifique (ex:'car').
- title?:
Exemples d'utilisation
1. Notification Avancée (Complète)
exports.void_lib:Notify({
title = 'Transfert Réussi',
description = 'Vous avez envoyé 500$ à un joueur.',
type = 'success',
duration = 4000,
icon = 'money-bill-wave'
})
2. Notification d'Erreur Simple
exports.void_lib:Notify({
title = 'Accès Refusé',
description = 'Vous ne possédez pas les clés de ce véhicule.',
type = 'error'
})
3. Rétrocompatibilité (Ancienne méthode)
exports.void_lib:Notify("Véhicule déverrouillé", 3000)
TextUI
Affiche une indication d'interaction (touche et texte) de manière persistante sur l'écran.
exports.void_lib:TextUI(text, key, position)
exports.void_lib:HideTextUI()
Paramètres
- text:
string
Le texte de l'action à réaliser (ex: "Fouiller le coffre"). - key:
string
La touche à afficher dans le bloc (ex: "E", "ALT"). - position?:
'top-center'|'top-left'|'top-right'|'left-center'|'right-center'|'bottom-center'
La position du TextUI sur l'écran. Si non défini, s'affiche en'top-center'.
Exemple
exports.void_lib:TextUI("Récolter des pommes", "E", "right-center")
Wait(5000)
exports.void_lib:HideTextUI()
AlertDialog Synchrone
Affiche une boîte de dialogue modale au centre de l'écran. L'exécution du script est suspendue jusqu'à ce que le joueur interagisse.
exports.void_lib:AlertDialog(data)
Paramètres
- data:
table(object)- header:
string
Le titre de la boîte de dialogue. - content:
string
Le contenu/message principal du dialogue. - cancel?:
boolean
Affiche le bouton d'annulation si défini surtrue. - confirmText?:
string
Permet de personnaliser le texte du bouton de confirmation (Défaut: "CONFIRMER"). - cancelText?:
string
Permet de personnaliser le texte du bouton d'annulation (Défaut: "ANNULER").
- header:
Retour (Returns)
Retourne 'confirm' si le joueur a cliqué sur le bouton de confirmation, sinon retourne 'cancel' si le joueur a cliqué sur annuler.
Exemple
local alert = exports.void_lib:AlertDialog({
header = "ACHAT D'ARME",
content = "Êtes-vous sûr de vouloir acheter un Pistolet pour 5000 $ ?",
cancel = true,
cancelText = "REFUSER",
confirmText = "ACHETER"
})
if alert == 'confirm' then
print("Arme achetée")
else
print("Achat annulé")
end
ProgressBar Synchrone
Affiche une barre de progression en bas de l'écran. Désactive automatiquement les mouvements et les attaques du joueur pendant son exécution.
exports.void_lib:ProgressBar(data)
Paramètres
- data:
table(object)- label:
string
Le texte affiché au-dessus de la barre de progression. - duration:
number
La durée totale de la barre en millisecondes. - canCancel?:
boolean
Autorise le joueur à annuler l'action en cours en appuyant surECHAPouRETOUR.
- label:
Retour (Returns)
Retourne true si la barre est arrivée à 100%, ou false si le joueur a annulé l'action.
Exemple
local success = exports.void_lib:ProgressBar({
label = "Crochetage de la serrure...",
duration = 3500,
canCancel = true
})
if success then print("Porte ouverte") end
SkillCheck Synchrone
Lance un mini-jeu de synchronisation nécessitant que le joueur appuie sur Espace au bon moment.
exports.void_lib:SkillCheck(difficulties)
Paramètres
- difficulties:
string|table
La difficulté requise. Valeurs acceptées :'easy','normal','hard'.
Peut être défini comme un tableau (ex:{'easy', 'normal'}) pour obliger le joueur à réussir plusieurs étapes à la suite.
Retour (Returns)
Retourne true si le joueur a réussi toutes les étapes, false s'il a échoué.
Exemple
local hasPassed = exports.void_lib:SkillCheck({'easy', 'normal', 'hard'})
if hasPassed then
print("Piratage du terminal réussi")
else
print("Échec du piratage")
end
OpenRadial Synchrone
Affiche un menu circulaire contextuel autour du curseur de la souris. L'exécution du script est suspendue jusqu'à la sélection.
exports.void_lib:OpenRadial(items)
Paramètres
- items:
table(array of objects)
Un tableau contenant les objets à afficher dans le menu.- id:
string
L'identifiant unique retourné si l'action est sélectionnée. - label:
string
Le texte court affiché sous l'icône. - icon:
string
Le nom de l'icône FontAwesome (sans le préfixefa-solid fa-).
- id:
Retour (Returns)
Retourne l'id de l'action sous forme de string si le joueur clique sur un item. Retourne false si le joueur ferme le menu en cliquant au centre, avec un clic droit, ou via ECHAP.
Exemple
RegisterCommand('menu_police', function()
local action = exports.void_lib:OpenRadial({
{ id = 'handcuff', label = 'Menotter', icon = 'link' },
{ id = 'search', label = 'Fouiller', icon = 'magnifying-glass' }
})
if action == 'handcuff' then
print("Mise des menottes...")
elseif action == false then
print("Le joueur a fermé le menu")
end
end)
Context Menu
Génère un menu d'options vertical riche. Supporte les icônes, les descriptions, les états désactivés, les sous-menus et le déclenchement direct d'événements ou de fonctions Lua.
exports.void_lib:RegisterContext(data)
exports.void_lib:ShowContext(id)
Paramètres RegisterContext(data)
- data:
table(object)- id:
string
L'identifiant unique de votre menu (utilisé pour l'afficher ensuite). - title:
string
Le titre du menu affiché dans l'en-tête. - options:
table(array of objects)
Les différents boutons du menu.- title:
string- Le titre du bouton. - description?:
string- Un petit texte sous le titre. - icon?:
string- Une icône FontAwesome (sansfa-). - disabled?:
boolean- Grise le bouton et le rend inactif. - menu?:
string- L'ID d'un autre menu à ouvrir (sous-menu). - action?:
function(args)- Une fonction Lua à exécuter au clic. - event?:
string- Déclenche un événement Client (TriggerEvent). - serverEvent?:
string- Déclenche un événement Serveur (TriggerServerEvent). - args?:
any- Données envoyées à la fonction ou à l'événement.
- title:
- id:
Exemple d'utilisation
-- 1. Enregistrement (Au lancement du script)
exports.void_lib:RegisterContext({
id = 'mon_menu',
title = 'Interaction',
options = {
{
title = 'Ouvrir le coffre',
description = 'Accéder à l\'inventaire',
icon = 'box-open',
action = function()
print("Coffre ouvert !")
end
},
{
title = 'Bouton Inactif',
icon = 'lock',
disabled = true
}
}
})
-- 2. Affichage (Lié à une touche ou commande)
RegisterCommand('openmenu', function()
exports.void_lib:ShowContext('mon_menu')
end)
Création de gang
Documentation en cours de rédaction...