Skip to main content

Configuration

The XR-MDT system operates via multiple modular configuration files found in the configs/ 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] In sv_main.lua the splash screen reads Config.EnablePolice (not Config.EnableLSPD). Use EnablePolice in config.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 the Colors table. The Theme CSS 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.