Penal Code
An interactive, search-enabled Penal Code catalog.
Features
- Quick Search: Categorize violations by felony, misdemeanor, traffic, or infraction.
- Auto Calculations: Selecting violations immediately updates jail time, fines, and license points.
- Interactive Tooltips: Offers detailed descriptions and legal definitions for each charge.
⚠️ Troubleshooting: Penal Codes Not Syncing / Visible
If players on the PD side cannot see or access penal codes, this is almost always a department ID mismatch.
How it works
Every penal code row in the mdt_penal_code table is tied to a department through its department column. A player only sees the penal codes whose department value matches the internal ID of the department they are currently viewing in /mdt.
The Penal Codes.sql file I provide inserts every penal code with the internal ID police in the department column. police here is just the default/example the file happens to use, it is not a value you are forced to keep. The only real rule is:
The department's internal ID (set in
/mdt-admin) must match thedepartmentcolumn of your penal code rows.
Note, Label vs. internal ID: A department has a Label (the display name shown in the UI, e.g.
Law Enforcement) and an internal ID (the identifier used behind the scenes, e.g.police). The penal codes match against the internal ID, not the Label. You can name the Label anything you want.
Ways to fix the mismatch
Pick whichever fits your setup:
- Option A, Use
policeas the internal ID (easiest, works out of the box). Create a department with any Label you like (e.g.Law Enforcement) and set its internal ID topolice. The provided SQL already targetspolice, so the penal codes appear with no further changes. - Option B, Use your own internal ID and edit the SQL. If you'd rather keep a different internal ID (e.g.
lspd,bcso,sasp), open thePenal Codes.sqlfile, replace thedepartmentvaluepolicewith your ID, and import it again. - Option C, Add penal codes per department. If you run several separate departments that each need their own penal codes, duplicate the rows in the
mdt_penal_codetable so there is a matching set for each department's internal ID.
⚠️ Troubleshooting: Jail or Fine/Billing Not Working
If officers cannot issue fines or jail suspects through the penal code database:
- Check the Bridge Folder: Ensure that the jail and billing scripts you use are present and supported in the
bridgefolder ofkartik-mdt. If they are not supported, you can add custom support inside the bridge folder, or share the script integrations with the developer so they can be included in the next official update. - Check Startup Order: Ensure
kartik-mdtis started after your jail and billing/invoice scripts in your server's startup configuration (e.g.,server.cfg). If started before them, the MDT will not be able to detect the scripts.