[PAID] sh-policejob + sh-policemdt | Complete Law Enforcement Suite (VORP/RSG)
Features
sh-policejob
- Full duty system with stations, prompts, and on-duty/off-duty state sync.
- Configurable command/key setup (
Config.Commands,Config.Keys) for duty, panel, radial, cuff/search, detective inspect, etc. - Cuff/uncuff, escort, lockpick, and suspect search/seizure flow.
- Witness system with delayed civilian reporting and configurable law alerts/blips.
- Patrol zones with per-minute patrol pay and ambient patrol tasks.
- Detective body inspection flow with item support, scenario/animation, and custom progress bar settings.
- Prison wagon and supply wagon systems with seat handling and prisoner extraction logic.
- Police management panel (hire/promote/demote/fire flows) and police storage/shop integration.
- Built-in webhook config sections for duty/patrol/search/seizure/cuffs/alerts/wagons.
sh-policemdt
- Modern NUI MDT with command open and optional item open (
Config.MDT.OpenCommand,Config.MDT.Item). - Core MDT modules: Dashboard, Incidents, Persons, Evidence, and Forensics.
- Officer access checks with rank gates and supervisor/boss permission windows.
- Incident workflow with units, charges, people links, and evidence links.
- Citizen call intake and call management flow (attach/status/notes/link to incident).
- Fine system with auto-charge/auto-collect options.
- Jail system with transport modes (Siska teleport/manual dock), custody enforcement, sentence tracking, and release flow.
- Forensics pipeline with DNA/fingerprint workflows, matching, and forensic reporting.
- Optional bridge compatibility with
sh-policejobduty state andsh-identity.
Requirements
oxmysql- One framework:
vorp_core(VORP) orrsg-core(RSG)- Inventory backend for your framework (
vorp_inventoryorrsg-inventory) - Optional but supported:
sh-policejobbridge for MDT duty checkssh-identity/ss-identitycardperson lookup compatibility
Resource Structure
From fxmanifest.lua:
-- sh-policejob
client_scripts {
'client/main.lua',
'client/witness.lua',
'client/patrol.lua',
'client/prison_wagon.lua',
'client/inventory.lua',
'client/handcuffs.lua',
'client/panel.lua',
'client/radial.lua',
'client/detective.lua',
'client/supply_wagon.lua',
'client/shop.lua',
}
server_scripts {
'@oxmysql/lib/MySQL.lua',
'server/main.lua',
'server/witness.lua',
'server/patrol.lua',
'server/prison_wagon.lua',
'server/inventory.lua',
'server/handcuffs.lua',
'server/payroll.lua',
'server/panel.lua',
'server/detective.lua',
'server/supply_wagon.lua',
'server/shop.lua',
}
-- sh-policemdt
client_scripts {
'client/main.lua',
'client/officers.lua',
'client/evidence.lua',
'client/forensics.lua',
'client/dispatch.lua'
}
server_scripts {
'@oxmysql/lib/MySQL.lua',
'server/main.lua',
'server/incidents.lua',
'server/people.lua',
'server/fines.lua',
'server/jail.lua',
'server/forensics.lua',
'server/forensics_flow.lua',
'server/evidence.lua',
'server/dispatch.lua',
'server/officers.lua'
}
Configuration Overview
sh-policejob/config.lua:
Jobs/duty stations, payroll, cuffs/search, witness, patrol, detective, wagons, shops, webhooks, and commands.
sh-policemdt/config.lua:
Framework/compatibility, MDT access, rank permissions, incidents/fines/dispatch/jail, evidence, forensics, rate limits, and notifications.
Installation
Place both resources in your RedM resources folder.
Import MDT SQL:
resources/[sh]/sh-policemdt/install/sql.sql
Ensure folder names remain exact:
sh-policejob
sh-policemdt
Add to server.cfg in dependency-safe order:
ensure oxmysql
ensure FRAMEWORK BASE SCRIPTS
ensure sh-policejob
ensure sh-policemdt
Configure both config.lua files for framework/jobs/items/commands.
Restart server.
Preview
Purchase
Credits & Support
Author: S.H. Development
| Code is accessible | No (Config.lua is accessible) |
| Subscription-based | No |
| Lines (approximately) | 9000+ |
| Requirements | oxmysql + VORP or RSG |
| Support | Yes |
