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
"Press [E]", -- Display text
"INPUT_PICKUP" -- Control key
)
-- Hold prompt
Prompt.create(
"myGroup", -- Group name
"Hold [E]", -- Display text
"INPUT_PICKUP", -- Control key
2000 -- Hold time in ms
)
-- Multiple keys prompt
Prompt.create(
"myGroup", -- Group name
"Press [E] or [ENTER]", -- 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
end
Methods โ
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", "Press [E] to Search", "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", "Hold [E] to Craft", "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", "Press [E] to Buy", "INPUT_PICKUP")
Prompt.create("menu", "Press [R] to 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