A server runs one target system, but its text prompts come from everywhere: ox_lib text UI in
one script, qb-core DrawText in another. Two styles, two positions, in one minute.
Interactions draws both on one rail — and it can be your target system too.
01
One line, and it returns a boolean
The inserted line ends in then return end. That return value is the whole
design: true means we drew it and the original stops, false means we did not
and the original draws exactly as it always did. A prompt is rendered once — by us or
by them, never both.
02
Half-installed is a state we report
ox_lib needs two lines: show and hide. One without the other leaves a prompt stuck on
screen, which looks exactly like our bug. The server reads the file and says
“HALF installed, 1 of 2 lines found” instead of letting you find out from a player.
03
An update cannot break you quietly
When ox_lib updates and overwrites the file, the lines go with it. Every vendor has this
problem. The difference is the console tells you on the next boot, and it tells
never installed apart from was active before, missing now.
04
Ownership per resource
A row is keyed by the resource that registered it, automatically. Two scripts cannot
overwrite each other, and when one stops, its rows go with it — without that script
having to remember to clean up.
05
Your target or ours. Never both.
A server runs one target system. Native (the default): stop qb-target, ox_target or
qtarget and restart the server — we answer their exports, so your scripts work without
a single edit. Want to keep yours? Set Target mode to Intercept in Dispersia Hub and
we only restyle its list.
06
Nothing runs when nothing happens
With the marker off — the default — nothing looks for targets until the key is
pressed, then one search runs. Turn the marker on and the search wakes ten times a second;
the drawing thread exists only while a marker is on screen.