Hold-mode prompts complete via PromptHasHoldModeCompleted, not IsControlJustPressed
Context
RDR3 prompts have two completion modes — tap and hold — and they are detected by different natives. Treating a hold prompt like a tap prompt makes it fire instantly or never complete.
The rule
- Hold prompts (configured via
PromptSetHoldMode(id, ms)): pollPromptHasHoldModeCompleted(id). After it returns true, manually disable the prompt and wait for the control to be released to debounce, or it re-triggers. - Tap prompts: use
IsControlJustPressed(0, controlHash). - Branch on
UiPromptHasHoldMode(id)(0xB60C9F9ED47ABB76) to know which path applies.
The trap
IsControlJustPressed on a hold prompt completes the moment the button is pressed, defeating the hold. Conversely, polling PromptHasHoldModeCompleted on a tap prompt never returns true.
Verified
prompt/client.lua:135-160. UiPromptHasHoldMode is a bare stub with no description in the corpus.
Linked natives
_UI_PROMPT_HAS_HOLD_MODE(0xB60C9F9ED47ABB76)
Tags: prompt, hold-mode, completion, controls, hud, rdr3
Category: natives
Source: jo_libs-fleet
Created: 2026-05-31T09:40:08.096Z