Prompt Module โ
The Prompt module provides a simple way to create and manage RedM prompts/hints that appear on screen.
Getting Started โ
lua
local Prompt = exports.bln_lib:prompt()Basic Usage โ
Create a Prompt โ
lua
-- Simple prompt
Prompt.create(
    "myGroup",      -- Group name
    "Pick Up",    -- Display text
    "INPUT_PICKUP"  -- Control key
)
-- Hold prompt
Prompt.create(
    "myGroup",      -- Group name
    "Pick Up",     -- Display text
    "INPUT_PICKUP", -- Control key
    2000           -- Hold time in ms
)
-- Multiple keys prompt
Prompt.create(
    "myGroup",                               -- Group name
    "Pick Up",                               -- Display text
    {"INPUT_PICKUP", "INPUT_FRONTEND_ACCEPT"} -- Multiple keys
)Display Prompts โ
lua
-- Show prompt group with title
Prompt.displayGroup("myGroup", "Interact")Check Prompt State โ
lua
-- Check if completed
if Prompt.isCompleted("myGroup", "INPUT_PICKUP") then
    -- Do something
end
-- Check completion with continuous firing
if Prompt.isCompleted("myGroup", "INPUT_PICKUP", true) then
    -- Do something repeatedly while held
endMethods โ
Prompt Creation โ
lua
-- Create new prompt
Prompt.create(group, text, key, holdTime, page)Prompt Management โ
lua
-- Delete single prompt
Prompt.delete(group, key)
-- Delete group
Prompt.deleteGroup(group)
-- Delete all groups
Prompt.deleteAllGroups()
-- Edit prompt text
Prompt.editKeyLabel(group, key, newLabel)Prompt Control โ
lua
-- Enable/Disable prompt
Prompt.setEnabled(group, key, true/false)
-- Show/Hide prompt
Prompt.setVisible(group, key, true/false)State Checks โ
lua
-- Check if active
Prompt.isActive(group, key)
-- Check if enabled
Prompt.isEnabled(group, key)
-- Get hold progress (0.0 - 1.0)
Prompt.getProgress(group, key)
-- Check if key is pressed
Prompt.isPressed(key)Examples โ
Simple Interaction โ
lua
-- Create interaction prompt
Prompt.create("interact", "Pick Up", "INPUT_PICKUP")
-- Display in game loop
Citizen.CreateThread(function()
    while true do
        Wait(0)
        Prompt.displayGroup("interact", "Search Box")
        if Prompt.isCompleted("interact", "INPUT_PICKUP") then
            -- Handle interaction
            print("Searching box...")
        end
    end
end)Hold Action โ
lua
-- Create hold prompt
Prompt.create("craft", "Pick Up", "INPUT_PICKUP", 2000)
-- Display and check
Citizen.CreateThread(function()
    while true do
        Wait(0)
        Prompt.displayGroup("craft", "Crafting")
        if Prompt.isCompleted("craft", "INPUT_PICKUP") then
            -- Crafting completed
            print("Item crafted!")
        end
    end
end)Multiple Actions โ
lua
-- Create multiple prompts in same group
Prompt.create("menu", "Buy", "INPUT_PICKUP")
Prompt.create("menu", "Sell", "INPUT_RELOAD")
-- Display both
Citizen.CreateThread(function()
    while true do
        Wait(0)
        Prompt.displayGroup("menu", "Store")
        if Prompt.isCompleted("menu", "INPUT_PICKUP") then
            print("Buying...")
        elseif Prompt.isCompleted("menu", "INPUT_RELOAD") then
            print("Selling...")
        end
    end
end)Target Entity Prompt โ
lua
local promptGroupId = Citizen.InvokeNative(0xB796970BD125FCE8, targetEntity) -- PromptGetGroupIdForTargetEntity