lation interact
lation interact shows the options for whatever a player looks at once it is in reach, and answers the ox_target, qb-target and qtarget exports so the scripts written for them keep working.
lation interact (lation_interact) is the interaction layer for your server. A player looks at something usable and its name appears on it; in reach, its options open there, or wait for E when there are several. Holding Alt frames the screen, lets them click a row with the mouse, and shows anything you keep hidden until the key is held. It answers the exports of ox_target, qb-target and qtarget, so the scripts on your server that use them keep working without an edit, and it has its own API for scripts that want titles, keys, holds and answers on the row.
Works on Qbox, QBCore and ESX. It also runs with no framework, but job and gang checks then have nothing to read.
Requirements
lation interact needs nothing else to run: no database, no oxmysql, no ox_lib. Everything below is optional and found on its own when it starts, including a framework or inventory that starts after it.
| Resource | Needed | What for |
|---|---|---|
qbx_core, qb-core or es_extended | Optional | Job checks on options (groups). On Qbox and QBCore the gang and the citizen id count too. |
| An inventory | Optional | Item checks on options (items): ox_inventory, qb-inventory, qs-inventory, origen_inventory, codem-inventory, core_inventory, tgiann-inventory or jaksam_inventory. Without one, items are read from the framework's player data. |
lation_ui | Optional | The cards and points of light follow your lation ui theme. Without it, the default look applies. |
ox_lib or progressbar | Optional | Interactions hide while one of their progress bars runs, so a key press can't start the same action twice. |
Install
Follow the install guide, then:
Keep the folder name lation_interact. A renamed folder prints an error on start and again every 15 minutes.
Remove the target script it replaces. Stop or delete ox_target, qb-target or qtarget and take its ensure line out. lation interact provides those resource names itself, and two resources can't provide the same name. Leave the scripts that use them as they are.
Ensure it after your framework and before your inventory and every script that registers interactions. ox_inventory and most scripts check at their own start whether a target is running, so they only find lation interact if it has started already. If you use lation ui, start it first, above ox_lib, because the lation ox_lib fork looks for it when ox_lib starts.
ensure lation_ui # optional
ensure ox_lib
ensure qbx_core # your framework
ensure lation_interact
ensure ox_inventory # your inventory
ensure [standalone] # every script that registers interactionsensure lation_ui # optional
ensure ox_lib # if you run it
ensure qb-core # your framework
ensure lation_interact
ensure qb-inventory # your inventory
ensure [standalone] # every script that registers interactionsensure lation_ui # optional
ensure ox_lib # if you run it
ensure es_extended # your framework
ensure lation_interact
ensure ox_inventory # your inventory
ensure [standalone] # every script that registers interactionsRestart the whole server, not only lation_interact, so every script registers its interactions again.
Don't run lation interact next to ox_target, qb-target or qtarget. It provides their names, and two resources can't share one.
If server.cfg has setr ox_target:defaults 0 from an ox_target setup, the built-in vehicle door toggles stay off. Remove the line if you want them.
Moving a server over from a target script is covered step by step on switching from a target script.
First start
On start, the server console says when a newer version is out. Config.version = false turns the check off.
Join the server and walk up to an unlocked vehicle. Look at a door: a toggle for it appears on the handle.

Type /interact_debug in chat, or interact_debug in the F8 console, and try a few interactions. After 20 seconds a report prints in F8. It lists every resource that registered interactions and whether each came through the ox_target bridge (ox), the qb-target bridge (qb) or the native API (native).
If a script you expect is missing from that list, it started before lation interact. Move ensure lation_interact above it and restart the server. The rest of the report is explained in troubleshooting.
Players
What players see and do: the stages, keys and holds, holding Alt, vehicle doors.
Switching from a target script
What the ox_target, qb-target and qtarget bridges support, and how they differ.
Configuration
Every option in config.lua, with its default.
Developers
The native exports, option fields, checks, callbacks and events.
Troubleshooting
The debug report, common problems, and what each console message means.
Still stuck? Ask in our Discord: the people who write the scripts answer.
Last updated
Minigames
Run lation ui's skill check, signal breach and pattern lock minigames with preset or custom difficulty, and cancel or check them from your script.
Players
What players see with lation interact, from the point of light to the open list, and how they use it, by looking and pressing a key or by holding Alt and clicking.