Warning Screen Buttons
Choose which instructional buttons should appear on a GTA V warning/alert screen and get the exact flag value for SetWarningMessage / SetWarningMessageWithHeader.
30 flags · 2 set
Button flags
YES | NO
Preview
Alert
Are you sure you want to leave the server?
Unsaved progress will be lost.
Text
local WARNING_FLAGS = 36 -- YES | NO
-- Warning screens only take text entries, so register our own.
AddTextEntry("FM_WARN_HEADER", "Alert")
AddTextEntry("FM_WARN_LINE1", "Are you sure you want to leave the server?")
AddTextEntry("FM_WARN_LINE2", "Unsaved progress will be lost.")
--- Shows the warning screen every frame until the player picks an option.
---@return "accept"|"cancel"
local function ShowWarning()
while true do
SetWarningMessageWithHeader("FM_WARN_HEADER", "FM_WARN_LINE1", WARNING_FLAGS, "FM_WARN_LINE2", false, -1, true, 0, true)
-- Input group 2 (frontend) still works while the warning is shown.
if IsControlJustPressed(2, 201) or IsControlJustPressed(2, 217) then return "accept" end -- Enter / A (INPUT_FRONTEND_ACCEPT, INPUT_FRONTEND_SELECT)
if IsControlJustPressed(2, 202) then return "cancel" end -- Esc / Backspace / B (INPUT_FRONTEND_CANCEL)
Wait(0)
end
end
CreateThread(function()
local choice = ShowWarning()
if choice == "accept" then
print("Accepted")
elseif choice == "cancel" then
print("Cancelled")
end
end)How the button flags work
The instructionalKey / flags argument of SetWarningMessage andSetWarningMessageWithHeader is a bit field. Each bit adds one instructional button to the bottom of the alert screen. Add the values of the buttons you want: Yes (4) + No (32) =36.
SetWarningMessageWithHeader(titleMsg, entryLine1, flags, promptMsg, p4, p5, background, p7, showBg)Things to know
- The warning must be drawn every frame, so call it inside a loop with
Wait(0). - It only accepts text entries, not raw strings. Register your own with
AddTextEntry("MY_KEY", "text"), like the generated snippet does. - The buttons are only visual. You still have to check the keys yourself. Normal controls are blocked while the warning is up, but frontend controls in input group 2 still work:
201accept (Enter),202cancel (Esc),203alternative (Space). - Several bits share the same key, for example Select, OK, Yes and Continue are all Enter. The preview shows what the player sees, the snippet groups them into accept / cancel / alt.
- The constant names in this tool (
YES,CANCEL_TRANSFER…) are descriptive, the game has no official names for most bits.
Button list and bit order from Vespura'swarning buttons tool, checked against eInstructionalButtonTypes in the FiveM native docs.
More calculators tools
joaat Hash Calculator
Convert any string to its GetHashKey (joaat) value in signed, unsigned and hex form, instantly.
Driving Style Calculator
Tick the behaviours you want and get the driving style flag value for TaskVehicleDriveToCoord & co.
Animation Flags Calculator
Build the flag value for TaskPlayAnim: loop, upper body, controllable, hold last frame and more.
