Configuration
The XR-MDT system operates via multiple modular configuration files found in theconfigs/ folder. This allows precise tuning for performance, permissions, and layout adjustments without touching core code.
📁 Configuration Files Overview
🎛️ Main Settings (config.main.lua)
The fundamental structure of the script is driven by config.main.lua.
Framework & Language
Tablet Access
Item Names
Module Toggles
Enable or disable each sub-system independently:[!WARNING] Insv_main.luathe splash screen readsConfig.EnablePolice(notConfig.EnableLSPD). UseEnablePoliceinconfig.main.lua.
Notification System
🚔 Job-Specific Settings (config.police.lua)
Every police department is defined in Config.PoliceJobs using the job name as the key.
Multi-Faction Architecture
Starting with v2.0, XR-MDT supports multiple police departments within a single resource:[!TIP] Each faction automatically inherits a unique UI color scheme based on theColorstable. TheThemeCSS class is applied to the NUI for visual branding.
Permission Keys Reference
📹 Bodycam System Settings
The WASM-powered Bodycam engine processes video encoding directly on the client — no server-side FFmpeg required.
[!WARNING]
Setting DefaultFPS too high may cause framerate degradation on low-end client PCs. The encoding is pushed directly to the NUI rendering thread.
🖨️ Hardware & Printers
Physical printer locations are used by the A4 Document Engine. Players must walk to a printer to claim printed documents.🔫 Weapon Serialization
See Weapon Serialization for complete details.📣 Webhook Configuration (config.webhook.lua)
Webhooks are routed by priority: Specific Type → Job Category → Main Webhook.
[!IMPORTANT]
Save and restart the entire resource when updating configs/*.lua to re-bind job permissions and locale data correctly.
