A comprehensive Mobile Data Terminal (MDT) system for FiveM police departments using ESX framework.
- Citizen Lookup: Search citizens by identifier, view personal information, criminal history, warrants, and officer notes
- Vehicle Lookup: Search vehicles by plate number, view owner information, incidents, and active BOLOs
- Incident Management: Create and manage police incidents with suspects, witnesses, and evidence tracking
- Warrant System: Issue and execute warrants (requires sergeant+ rank)
- Report Filing: Create and view departmental reports
- BOLO System: Create person/vehicle BOLOs with department-wide notifications
- Officer Roster: View all on-duty officers in real-time
- Dashboard: Quick overview of active incidents, warrants, BOLOs, and on-duty personnel
Run the sql.sql file in your MySQL database to create all necessary tables.
- Copy the
main-mdtfolder to yourresources/[main]/directory - Add
ensure main-mdtto yourserver.cfg
The web UI needs to be built before first use:
cd resources/[main]/main-mdt/web
npm install
npm run buildEdit shared/main.lua to configure:
- Authorized Jobs: Which jobs can access the MDT (default: police, sheriff)
- Open Key: Keybind to open MDT (default: F5)
- Vehicle Computers: Which vehicle classes have MDT access
- Warrant Ranks: Which job grades can issue warrants
- Incident/Warrant Types: Available options for incident/warrant creation
- Method 1: Press
F5(or configured key) while on duty - Method 2: Type
/mdtin chat - Method 3: Access from police vehicle computer (emergency vehicles)
- All Officers: Citizen/vehicle lookup, view incidents, view warrants, file reports, create BOLOs
- Sergeant+ (Grade 2+): Issue warrants
- Enter citizen identifier in search box
- View personal info, criminal history, active warrants
- Add officer notes for future reference
- Enter license plate in search box
- View vehicle details, owner information
- See related incidents and BOLOs
- Click "New Incident" button
- Fill in title, type, location, and description
- Add suspects, witnesses, and evidence
- Submit to database
- Click "Issue Warrant" (requires sergeant+)
- Select warrant type (Arrest/Search/Bench)
- Enter suspect information
- List charges (comma-separated)
- Add description/probable cause
- Click "Create BOLO"
- Select type (Vehicle/Person)
- Enter details (plate, model, name, etc.)
- Submit - all on-duty officers receive notification
- es_extended: ESX framework
- ox_lib: Notification and UI library
- oxmysql: MySQL database wrapper
mdt_incidents: Incident reportsmdt_warrants: Active and executed warrantsmdt_reports: Officer reportsmdt_notes: Citizen profile notesmdt_charges: Criminal chargesmdt_bolos: Be On the Lookout alerts
After making changes to the web interface:
cd resources/[main]/main-mdt/web
npm run buildFor live development with hot reload:
cd resources/[main]/main-mdt/web
npm run devFor issues or feature requests, contact your server administrator.
Created by Main Version 1.0.0