Skip to content

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.

ParametreTypePar defautDescription
groupstringNom du groupe. Utiliser "interaction" pour les prompts sans groupe
strstringTexte du libelle
keystring ou tableTouche(s) d'entree (ex: 'INPUT_INTERACT_OPTION1')
holdTimeinteger?0Duree de maintien en ms (0 = appui instantane)
pageinteger?0Numero 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.

ParametreTypeDescription
groupstringNom du groupe
titlestringTitre affiche au-dessus des prompts

tw.prompt.isCompleted(group, key, fireMultipleTimes?, page?)

Verifie si un prompt a ete active.

ParametreTypePar defautDescription
groupstringNom du groupe
keystringTouche d'entree
fireMultipleTimesboolean?falseSi true, se declenche en continu tant que la touche est maintenue
pageinteger?page activeNumero 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.

ParametreTypeDescription
groupstringNom du groupe
keystringTouche d'entree
valuebooleantrue pour activer, false pour desactiver
pageinteger?Numero de page

tw.prompt.setVisible(group, key, value, page?)

Affiche ou masque un prompt.

ParametreTypeDescription
groupstringNom du groupe
keystringTouche d'entree
valuebooleantrue pour afficher, false pour masquer
pageinteger?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.

ParametreTypeDescription
groupstringNom du groupe
keystringTouche d'entree
labelstringNouveau texte du libelle
pageinteger?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.

ParametreTypeDescription
keystringTouche 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

lua
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

lua
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

lua
-- Supprimer un prompt individuel
tw.prompt.delete(group, 'INPUT_INTERACT_OPTION1')

-- Supprimer le groupe entier
tw.prompt.deleteGroup(group)

Notes

  • displayGroup doit etre appele a chaque frame (dans une boucle while true avec Wait(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'.

Premium RedM Scripts — Multi-Framework