📃
Docs
  • 👋Welcome
  • 🌉Bridge
    • 💾Installation
    • 🌐Compatibility
    • 👨Client exports
      • ⏩Framework
        • getName
        • getJob
        • TriggerServerCallback
        • getSex
      • 🎒Inventory
        • getItemCount
      • 👁️Target
    • 🖥️Server exports
      • 🗃️Database
        • getUserData
        • getVehicleData
      • 🎒Inventory
        • openInventory
        • addItem
        • removeItem
        • canCarryItem
        • getItemCount
        • registerStash
        • setDurability
      • ⏩Framework
        • getPlayerFromId
        • getPlayerFromIdentifier
        • getIdentifier
        • RegisterServerCallback
        • getSource
        • getName
        • getJob
        • getAllPlayers
        • setJob
        • doesJobExist
        • getCoords
        • getJobs
  • 🔫Organization Panel
    • 📝Configuration
    • 💾Installation
    • 🗃️Framework integration
      • 💼ESX
        • 🚪ox_doorlock usage
      • 💼QBCore
        • 🚪ox_doorlock usage
      • 💼Other framework
    • 💻Server
      • Server exports
      • Server events
    • 👨Client
      • Client exports
  • ♣️Bossmenu
    • 📝Configuration
    • 💾Installation
    • 📖Framework integration
      • 🖼️ESX
      • 🖼️QBCore & QBOX
      • 🖼️Other Framework
    • 🖥️Server
      • 🔁Events
      • 🔃Exports
    • 👨Client
      • 🔁Events
      • 🔃Exports
  • 🕺Adjust Animation
    • 🗒️Configuration
    • 💾Installation
    • 📚Other scripts integration
      • 💃scully_emotemenu
      • 💃rpemotes
      • 💃other
  • 👮Police MDT
    • 🚀Install & Setup Guide
    • 📝Configuration
    • 📖Framework integration
      • 🖼️ESX
      • 🖼️QBOX/QB-Core
      • 🖼️Other Framework
    • 🚨wk_wars_2x Integration
    • 📚Exports
      • 🔃Server
      • 👨Client
  • 👨‍💼DOJ MDT
    • 🚀Install & Setup Guide
    • 📝Configuration
    • 📚Exports
      • 👨Client
  • 🩺EMS MDT
    • 🚀Install & Setup Guide
    • 📝Configuration
    • 📚Exports
      • 🔃Server
      • 👨Client
Powered by GitBook
On this page
  • Step 1: Download the Latest Releases
  • Step 2: Check Compatibility
  • Step 2: Set Up database
  • Step 3: Enable the Script in server.cfg
  • Step 4: Configure external resources
  • - Banking:
  • - Vehicles:
  • - Inventory:
  • Step 5: Add DOJ Forms
  • Step 6: Configure credentials.json
  • Step 7: Configure Locales 🌍
  • Step 8: Open the MDT
  • Final Step: Enjoy Your New DOJ MDT! 🎉📱
  • Extra Step: Optimizing Locales for Better Performance
  • Need Help? 💬

Was this helpful?

  1. DOJ MDT

Install & Setup Guide

PreviousDOJ MDTNextConfiguration

Last updated 2 months ago

Was this helpful?

Step 1: Download the Latest Releases

  1. Download pp-bridge: Get the latest release of pp-bridge from our GitHub repository.

  2. Download MDT: Download pp-doj-mdt from

  3. Place pp-bridge , pp-doj-mdt and folders into the resources directory inside your server files.

Step 2: Check Compatibility

First, confirm if the scripts, frameworks, inventory systems, etc., you’re using are compatible with our setup. Take a look at this list: Compatibility List. If everything you're using is on this list, you’re good to go to the next step! 🎉

If your scripts are NOT listed there, don’t worry:

  • Open the file @pp-doj-mdt/config/config_s.lua

  • Update the script functions in this file to match the ones you’re using by following the template provided for other scripts.

You’ll also need to configure the pp-bridge resource:

  • Locate init.lua in the pp-bridge.

  • Add new files/resources to the appropriate folders based on your setup.

Step 2: Set Up database

  1. Find the file sql.sql file in the pp-doj-mdt folder, which you downloaded from .

  2. Run this SQL file in your database to create the required tables and columns.

  3. Get SQL file prepared for your Framework from and run it inside your database

Step 3: Enable the Script in server.cfg

  1. Open your server.cfg file.

  2. Add the following lines:

    # ensure inventory, ensure framework, ensure targets, etc.
    ensure pp-bridge
    ensure pp-doj-props
    ensure pp-doj-mdt
  3. Save the changes, and restart your server to make sure everything loads correctly. 🚀

Step 4: Configure external resources

To fetch data correctly, make sure external resources like inventory, garage, or medical records are set up and running. Check their configs to allow data sharing via exports, APIs, or database access.

- Banking:

Execute this code inside your database:

ALTER TABLE pefcl_transactions
ADD COLUMN doj_note TEXT;

ALTER TABLE pefcl_accounts
ADD COLUMN doj_note TEXT;

Execute this code inside your database:

  • ESX:

ALTER TABLE users
ADD COLUMN doj_note TEXT;
  • QBCore/QBOX:

ALTER TABLE players
ADD COLUMN doj_note TEXT;

Execute this code inside your database:

ALTER TABLE ps_banking_accounts
ADD COLUMN doj_note TEXT;

ALTER TABLE ps_banking_transactions
ADD COLUMN doj_note TEXT;

- Vehicles:

Execute this code inside your database:

ALTER TABLE owned_vehicles
ADD COLUMN owners_history TEXT;

Execute this code inside your database:

ALTER TABLE player_vehicles
ADD COLUMN owners_history TEXT;

- Inventory:

Add this item to data/items.lua:

['doj_form'] = {
    label = 'Form',
    weight = 35,
    stack = false,
    close = true,
    client = {
        export = 'pp-doj-mdt.openDocument'
    }
}

Add this item to data/items.lua:

['doj_form'] = {
    name = 'doj_form',
    label = 'Form',
    weight = 30,
    type = 'item',
    unique = true,
    useable = true,
    shouldClose = true,
}

Step 5: Add DOJ Forms

To properly use the transaction export feature, you must generate a credentials.json file from Google Console Cloud.

  1. Place the forms in the correct folder: Move the downloaded forms into @pp-doj-mdt/web/build/public/forms/

  2. Customize as needed and enjoy! 🎉 You can modify the forms to fit your server's needs.

Step 6: Configure credentials.json

To properly use the transaction export feature, you must generate a credentials.json file from Google Console Cloud.

Instead of placing the credentials.json file next to server.cfg as in the video- place it inside the pp-doj-mdt folder, next to fxmanifest.lua

Step 7: Configure Locales 🌍

Before proceeding, check each file in the config folder to ensure that the "locales" setting matches your preferred language. If the correct locale isn’t listed:

  1. Open the locales folder.

  2. Use an existing locale file as a template to create your own custom translation file.

  3. Update the "locales" setting in each config file to point to your new locale.

Step 8: Open the MDT

To open the MDT:

  • or press the default keybind \| to bring up the MDT.

But before you do, make sure:

  1. Your job has access to the MDT. Open config/config_s.lua and check if your job is listed in the jobsWithAccess table.

  2. You’re on duty if your server uses qbcore or qbox for duty states.

Final Step: Enjoy Your New DOJ MDT! 🎉📱

Once everything is set up, hop on the server, open the MDT, and start exploring its features! 🎈

Extra Step: Optimizing Locales for Better Performance

If you’re experiencing any lag or performance issues with the NUI, the problem could be related to the locales settings. Here’s how to fix this by removing unnecessary locale files:

  1. Go to the folder @pp-doj-mdt/web/build/assets.

    • Example files:

  2. Delete all files except the ones that match your preferred language and the core files:

    • Keep only the files with your locale prefix (e.g., pl_PL.js for Polish or en_US.js for English).

    • Leave the main index-<...>.css and index-<...>.js files untouched.

  3. Save these changes and restart the resource.

Removing unused locale files will help the NUI load only the necessary language settings, which should reduce lag and improve the performance of the MDT.


Need Help? 💬

If you run into any issues or have questions, please open a ticket on our Discord https://discord.gg/pixelprecision or reach out by email at support@pixelprecision.dev.

Download the repository: CFX Escrow does not allow .pdf files inside the resource, so forms must be downloaded separately. 🔗

Follow steps in this

Use the client export

Locate the .js files that contain prefixes for each language. These files will have names formatted like en_US and en, or pl_PL and pl for Polish, etc. You can find more information about locale codes .

👨‍💼
🚀
CFX Keymaster
Keymaster
here
Download from GitHub
video
openMDT
here
Locale files for Polish
Locale files for US English
Files that should not be deleted