0R SmartTab — Installation#
Do the steps below (in order). This is a tablet item resource (inventory-based).
Links: Configuration · Metadata setup · Exports · 0r-dispatch setup
What you need ?#
| Requirement | Purpose |
|---|---|
| 0r_lib | Required SmartTab dependency |
| ox_lib | Shared utilities (@ox_lib/init.lua in manifest) |
| oxmysql | MySQL access (mail, messages, MDT, bank, etc.) |
| xsound | Music app playback |
| 0r-dispatch | Your keymaster has been delivered to your account. |
| One supported inventory | ox, qb, qs, core, codem, ls, lj, ps |
Install a supported framework and inventory before starting SmartTab.
Prison Support#
You can download and use qb-prison, specifically adapted for the PoliceApp on tablets, from here.
ESX works seamlessly with QBCore and QBOX.
https://github.com/comaven/qb-prison
1. Copy The Resource#
- Copy the entire
0r-smarttabfolder into your serverresourcestree (e.g.resources/[0resmon]/0r-smarttab/). - Do not rename the folder (
0r-smarttabmust stay as expected forensureand internal paths). - Confirm
web/distexists (see §4).
2. Database Installation#
SmartTab does not automatically create database tables for you.
You must import the SQL file manually one time only.
Use the same MySQL database that your oxmysql connection string uses.
Step 1 - Find the SQL File#
Depending on your package, use:
tablet.sql(inside the resource root)
or- the files inside the
sql/folder
Step 2 - Import the SQL#
Open your database manager:
- HeidiSQL
- phpMyAdmin
- DBeaver
- Any MySQL client
Then:
- Open your server database
- Click Query, Import, or Run SQL
- Select the SQL file
- Run it
3. Inventory Setups#
Add to your items file (e.g. ox_inventory/data/items.lua or your override).
['tablet'] = {
label = 'Tablet',
weight = 500,
stack = false, -- each unit can have its own metadata / serial
close = true,
description = 'SmartPad Tablet',
-- SmartTab registers item use automatically.
},
Image: add tablet.png (or your icon name) under ox_inventory/web/images if your items use images.
qb-inventory (QBCore-style shared items)
Typical location: qb-core/shared/items.lua (or your inventory’s item table).
['tablet'] = {
['name'] = 'tablet',
['label'] = 'Tablet',
['weight'] = 500,
['type'] = 'item',
['image'] = 'tablet.png',
['unique'] = true, -- recommended: one row per tablet for metadata
['useable'] = true,
['shouldClose'] = true,
['description'] = 'Advanced Tablet',
},
Place tablet.png in your inventory’s images folder as required by that resource.
ps-inventory, lj-inventory, core_inventory, codem-inventory, qs-inventory
Typical location: qb-core/shared/items.lua (or your inventory’s item table).
['tablet'] = {
['name'] = 'tablet',
['label'] = 'Tablet',
['weight'] = 500,
['type'] = 'item',
['image'] = 'tablet.png',
['unique'] = true, -- recommended: one row per tablet for metadata
['useable'] = true,
['shouldClose'] = true,
['description'] = 'Advanced Tablet',
},
4. Server.cfg load order#
ensure lines run in order. Anything SmartTab relies on must start before 0r-smarttab.
Minimum idea:
- 0r_lib, ox_lib, oxmysql, xsound, your inventory
- 0r-dispatch (and its own dependencies — see DISPATCH_SETUP.md)
- 0r-smarttab
Example (resource names may differ on your host):
ensure 0r_lib
ensure ox_lib
ensure oxmysql
ensure xsound
ensure ox_inventory
ensure 0r-dispatch
ensure 0r-smarttab
- Put
ox_inventory(or your inventory) before0r-smarttabso hooks andAddItempaths work reliably. - If SmartTab starts before 0r_lib / oxmysql / 0r-dispatch, expect errors and broken features.
The tablet is now ready to use! Just log in to the server and start using it!
Quick configuration#
| Where | What |
|---|---|
shared/config.lua | Config.TabletItem — must match your inventory item name (default tablet). Config.UseMetadata — ownership via item serial when true. |
server/config.json | Server-side mirror: tabletItem, useMetadata, upload URLs, mail, etc. Admin panel can edit and save this file. |
Checklist#
- 0r_lib, ox_lib, oxmysql, xsound, inventory, 0r-dispatch installed and starting without errors
- Inventory starts before
0r-smarttabinserver.cfg - SQL imported manually into the oxmysql database
- Folder name
0r-smarttabunchanged;web/distpresent -
ensure 0r-dispatchbeforeensure 0r-smarttab - Tablet item exists in your inventory config; name matches
Config.TabletItem/tabletItem - Optional: prison resource if you use Police jail features
- If UseMetadata on: read METADATA_SETUP.md and use GiveTablet (or proper metadata) for shops
Troubleshooting#
| Symptom | Things to check |
|---|---|
| Console errors on start | Load order: 0r_lib, oxmysql, inventory, 0r-dispatch before SmartTab. |
| Tablet item “does nothing” | Item name matches config; inventory resource running; 0r_lib installed and started before SmartTab. |
| No serial / metadata (ox) | useMetadata: true in server/config.json and Config.UseMetadata in shared/config.lua; SmartTab after ox_inventory in server.cfg; item name matches hook filter. |
Last updated for SmartTab install flow: dependencies, DB, cfg order, inventories, and optional prison note.