tw.prompt
Cote : Client
Systeme de prompts natifs RedM avec groupes, pages, maintien pour completer et nettoyage automatique.
Fonctions
tw.prompt.create(group, str, key, holdTime?, page?)
Cree un prompt dans un groupe.
| Parametre | Type | Par defaut | Description |
|---|---|---|---|
group | string | — | Nom du groupe. Utiliser "interaction" pour les prompts sans groupe |
str | string | — | Texte du libelle |
key | string ou table | — | Touche(s) d'entree (ex: 'INPUT_INTERACT_OPTION1') |
holdTime | integer? | 0 | Duree de maintien en ms (0 = appui instantane) |
page | integer? | 0 | Numero de page dans le groupe |
Retour : integer (ID du prompt)
tw.prompt.displayGroup(group, title)
Affiche un groupe de prompts pour la frame en cours. Doit etre appele a chaque frame dans un thread.
| Parametre | Type | Description |
|---|---|---|
group | string | Nom du groupe |
title | string | Titre affiche au-dessus des prompts |
tw.prompt.isCompleted(group, key, fireMultipleTimes?, page?)
Verifie si un prompt a ete active.
| Parametre | Type | Par defaut | Description |
|---|---|---|---|
group | string | — | Nom du groupe |
key | string | — | Touche d'entree |
fireMultipleTimes | boolean? | false | Si true, se declenche en continu tant que la touche est maintenue |
page | integer? | page active | Numero de page |
Retour : boolean
tw.prompt.isActive(group, key, page?)
Verifie si un prompt est actuellement maintenu par le joueur.
Retour : boolean
tw.prompt.isEnabled(group, key, page?)
Verifie si un prompt est active.
Retour : boolean
tw.prompt.setEnabled(group, key, value, page?)
Active ou desactive un prompt.
| Parametre | Type | Description |
|---|---|---|
group | string | Nom du groupe |
key | string | Touche d'entree |
value | boolean | true pour activer, false pour desactiver |
page | integer? | Numero de page |
tw.prompt.setVisible(group, key, value, page?)
Affiche ou masque un prompt.
| Parametre | Type | Description |
|---|---|---|
group | string | Nom du groupe |
key | string | Touche d'entree |
value | boolean | true pour afficher, false pour masquer |
page | integer? | Numero de page |
tw.prompt.isVisible(group, key, page?)
Verifie si un prompt est visible.
Retour : boolean
tw.prompt.editKeyLabel(group, key, label, page?)
Modifie le texte du libelle affiche d'un prompt.
| Parametre | Type | Description |
|---|---|---|
group | string | Nom du groupe |
key | string | Touche d'entree |
label | string | Nouveau texte du libelle |
page | integer? | Numero de page |
tw.prompt.getKeyLabel(group, key, page?)
Recupere le texte actuel du libelle d'un prompt.
Retour : string ou false
tw.prompt.waitRelease(key)
Attente bloquante jusqu'a ce que la touche specifiee soit relachee. Met en pause le thread courant.
| Parametre | Type | Description |
|---|---|---|
key | string | Touche d'entree a attendre |
tw.prompt.delete(group, key, page?)
Supprime un prompt individuel d'un groupe.
tw.prompt.deleteGroup(group)
Supprime un groupe de prompts entier ainsi que tous ses prompts.
tw.prompt.deleteAllGroups()
Supprime tous les groupes de prompts.
tw.prompt.isGroupExist(group)
Verifie si un groupe de prompts existe.
Retour : boolean
tw.prompt.isExist(group, key, page?)
Verifie si un prompt specifique existe.
Retour : boolean
tw.prompt.getProgress(group, key, page?)
Recupere la progression de maintien d'un prompt.
Retour : number (0.0 a 1.0)
tw.prompt.isPressed(key)
Verification brute de l'appui d'une touche sans contexte de prompt.
Retour : boolean
tw.prompt.get(group, key, page?)
Recupere l'ID natif du prompt.
Retour : integer ou false
tw.prompt.getGroup(group)
Recupere l'ID natif du groupe.
Retour : integer ou false
tw.prompt.getPage(group)
Recupere le numero de la page actuellement active d'un groupe.
Retour : integer
Exemples
Interaction basique avec maintien
local group = "my_interaction"
tw.prompt.create(group, "Search", 'INPUT_INTERACT_OPTION1', 3000) -- maintien 3s
tw.prompt.create(group, "Look Inside", 'INPUT_INTERACT_OPTION2', 0) -- appui instantane
CreateThread(function()
while true do
Wait(0)
tw.prompt.displayGroup(group, "Trashbin")
if tw.prompt.isCompleted(group, 'INPUT_INTERACT_OPTION1') then
-- Action de recherche terminee apres un maintien de 3 secondes
end
if tw.prompt.isCompleted(group, 'INPUT_INTERACT_OPTION2') then
-- Action regarder a l'interieur (instantanee)
end
end
end)Visibilite conditionnelle des prompts
local group = "shop_menu"
tw.prompt.create(group, "Buy", 'INPUT_INTERACT_OPTION1')
tw.prompt.create(group, "Sell", 'INPUT_INTERACT_OPTION2')
-- Desactiver la vente si le joueur n'a pas d'objets
tw.prompt.setEnabled(group, 'INPUT_INTERACT_OPTION2', false)
-- Plus tard, le reactiver
tw.prompt.setEnabled(group, 'INPUT_INTERACT_OPTION2', true)Nettoyage
-- Supprimer un prompt individuel
tw.prompt.delete(group, 'INPUT_INTERACT_OPTION1')
-- Supprimer le groupe entier
tw.prompt.deleteGroup(group)Notes
displayGroupdoit etre appele a chaque frame (dans une bouclewhile trueavecWait(0)) pour que les prompts apparaissent.- Tous les prompts sont automatiquement nettoyes lorsque la ressource s'arrete.
- Touches d'entree courantes :
'INPUT_INTERACT_OPTION1','INPUT_INTERACT_OPTION2','INPUT_FRONTEND_ACCEPT','INPUT_FRONTEND_CANCEL'.

