Description
A NUI input dialog: open it with a title and a list of fields
(text / number / select / checkbox), the player fills it in, and a callback
returns the values coerced to the right Lua types. It is the ox_lib inputDialog
pattern servers reuse everywhere — registrations, admin tools, job forms.
Prompt Template
You are writing a FiveM NUI input dialog for the <esx|qbcore|qbox framework.
The full prompt template and its reference Lua are part of a one-time pack. Pick your depth — both are lifetime access, no subscription, ever.
- 60 prompts + syntax-validated reference Lua
- Lifetime access — pay once
- All 510 prompts — the full library
- Per-prompt profit/trend intelligence (CSV + playbook)
- Lifetime free updates — new niches as the market moves
$49 for 60 · $199 for all 510 + intelligence — one-time, no subscription.
Expected Output
The reference Lua lives at content/expected-outputs/ui/13-input-dialog-form.lua.
The full prompt template and its reference Lua are part of a one-time pack. Pick your depth — both are lifetime access, no subscription, ever.
- 60 prompts + syntax-validated reference Lua
- Lifetime access — pay once
- All 510 prompts — the full library
- Per-prompt profit/trend intelligence (CSV + playbook)
- Lifetime free updates — new niches as the market moves
$49 for 60 · $199 for all 510 + intelligence — one-time, no subscription.
Known Failure Modes & Corrective Prompt
- Client-trusted values — the server must re-check length/range/type; a tampered NUI payload is the default attack.
- No result registration — the client must
RegisterNetEventthe result reply. - Cursor stuck — the cancel path must
SetNuiFocus(false, false).
Corrective re-prompt: "The server stored the form values without checking them — re-validate fullname length and age >= 18 in server.lua before acting, and reply with a reject notify on failure. Make sure the cancel NUI callback also calls SetNuiFocus(false,false)."
Framework Integration
- ESX: validate and persist with
xPlayeraccessors aftergetSharedObject(); sanitize strings before any DB write. - QBCore:
GetCoreObject()then store onPlayer.PlayerData.metadataor a DB table; re-validate server-side. - QBox:
exports.qbx_core:GetPlayer(src); the dialog client code is framework-agnostic, only the persistence differs.
Profit Potential
$150–$2000/mo on Tebex (expected ~$600). [INFERRED] priced in the $50-389 script band against the signal-scraper tebex_snapshot corpus (n=100, median seller $11.85K/mo); a stable utility lands low-mid.
Trend Signal
→ stable — corpus: ox_lib inputDialog is a standard form primitive reused by countless ox-ecosystem scripts; mature, steady demand.
Sales Angle
Position as the dependable typed-form primitive every job and admin script reuses — a utility buy, not a flashy feature. Recommended Tebex price $99.
Difficulty & Ship Time
intermediate · ships in 2-4h.