UI Docs
Présentation
Kairo UI regroupe les composants d'interface que toutes les ressources utilisent : notifications, barres de progression, menus contextuels, boîtes de saisie et aides à l'écran. Le rendu est identique partout, ce qui donne une vraie cohérence au serveur.
Tout s'appelle par export côté client. Kairo UI fonctionne seul : il n'a pas besoin de Kairo Core.
Installation
- Place le dossier kairo-ui dans resources/[kairo]/.
- Ajoute ensure kairo-ui avant les ressources qui l'utilisent.
- Choisis ta couleur d'accent et la position des notifications dans config.lua.
# server.cfgensure kairo-coreensure kairo-ui
Configuration
-- config.luaConfig.Accent = '#18c8ff'Config.Position = 'top-right' -- position des notificationsConfig.Sounds = true
API
Les exports s'appellent avec exports['kairo-ui']:Nom(...). Les fonctions serveur ne sont jamais accessibles depuis le client.
Notify
clientexports['kairo-ui']:Notify(message, kind, duration)
Affiche une notification.
| Paramètre | Type | Description |
|---|---|---|
message | string | Texte |
kind | string? | info, success, warning, error |
duration | number? | Millisecondes |
Retour rien
exports['kairo-ui']:Notify('Véhicule réparé', 'success')Progress
clientexports['kairo-ui']:Progress(label, duration, options)
Barre de progression bloquante. Le joueur peut l'annuler (touche X) si canCancel est vrai.
| Paramètre | Type | Description |
|---|---|---|
label | string | Texte affiché |
duration | number | Durée en millisecondes |
options | table? | { canCancel, anim, disableMovement } |
Retour boolean — false si annulée
local ok = exports['kairo-ui']:Progress('Réparation…', 5000, { canCancel = true, anim = { dict = 'mini@repair', clip = 'fixing_a_ped' },})
Input
clientexports['kairo-ui']:Input(title, fields)
Boîte de saisie avec un ou plusieurs champs (texte, nombre, liste).
| Paramètre | Type | Description |
|---|---|---|
title | string | Titre |
fields | table | Liste { type, label, required? } |
Retour table? — les valeurs saisies, ou nil si annulé
local values = exports['kairo-ui']:Input('Amende', { { type = 'number', label = 'Montant', required = true }, { type = 'text', label = 'Motif' },})
TextUI
clientexports['kairo-ui']:TextUI(text) / HideTextUI()
Aide affichée à l'écran, par exemple « [E] Ouvrir le coffre ».
| Paramètre | Type | Description |
|---|---|---|
text | string | Texte de l'aide |
Retour rien
exports['kairo-ui']:TextUI('[E] Ouvrir le coffre')-- plus tardexports['kairo-ui']:HideTextUI()
FAQ
Puis-je changer l'apparence ?
La couleur d'accent, la position et les sons se règlent dans config.lua. Les styles complets sont dans html/style.css si tu veux aller plus loin.