A sleek, premium, and feature-rich jail/prison resource for FiveM built for QBox and QBCore frameworks. Includes an interactive police tablet NUI monitoring system, multiple prisoner tasks to work off sentences, a custom database backend, personal bunk stashes, and advanced breakout mechanics.
- 🖥️ Police Monitoring Tablet (NUI): A glassmorphic, modern tablet UI for police officers to track inmates, adjust sentence times, or release prisoners early.
- 🧳 Inventory Confiscation & Locker: Automatically confiscates inmate inventories upon jailing and stores them in a personal locker, retrievable upon release.
- 🛏️ Inmate Cell Bunk Stashes: Dedicated stashes near cell bunks where jailed players can store contraband and items out of sight of other inmates.
- 👕 Appearance Saving & Custom Uniforms: Captures players' original clothing layout (using
illenium-appearance), places them in orange prison uniforms, and restores their exact original look on release. - ⚙️ Interactive Jobs & Prison Labor:
- Sweeping: Attachment of broom, sweep animation, progress bar.
- Cafeteria Dishes: Clean up and wash plates.
- Laundry: Load clothes into washers.
- Electrical Panels: High-risk minigame where failure causes electrical shocks and player pain.
- Completing jobs reduces sentence times and has a chance of dropping contraband/breakout tools.
- 🚨 ** tampered Mainframe Breakouts**: Inmates or external allies can hack the prison terminal using a
gate_hack_device. Successful hacks trigger loud sirens, alert police, and temporarily disable boundary containment. - 🚧 Escape Boundary Containment: Jailed players attempting to escape the yard boundaries without a prison break active are teleported back to the yard and receive a sentence penalty (+30 months).
Run the provided SQL file in your database manager (like HeidiSQL, phpMyAdmin, or Navicat) to create the inmates table:
CREATE TABLE IF NOT EXISTS `jail_inmates` (
`citizenid` VARCHAR(50) NOT NULL,
`name` VARCHAR(100) NOT NULL,
`jail_time` INT NOT NULL DEFAULT 0,
`remaining_time` INT NOT NULL DEFAULT 0,
`reason` TEXT DEFAULT NULL,
`saved_appearance` LONGTEXT DEFAULT NULL,
`jailed_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`citizenid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;Open config.lua and select your framework, inventory, and clothing preferences:
Config.Framework = 'qbx' -- 'qbx' (QBox) or 'qb' (QBCore)
Config.Inventory = 'ox' -- 'ox' (ox_inventory) or 'qb' (qb-inventory)
Config.Appearance = 'illenium' -- 'illenium' (illenium-appearance) or 'qb' (qb-clothing)If you are using QBCore framework/qb-inventory, add the items to your core's shared items database (e.g. qb-core/shared/items.lua or qbx_core configs):
['police_tablet'] = {['name'] = 'police_tablet', ['label'] = 'Police Inmate Monitor', ['weight'] = 500, ['type'] = 'item', ['image'] = 'police_tablet.png', ['unique'] = true, ['useable'] = true, ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'Secure LSPD Tablet used to monitor inmates.'},
['gate_hack_device'] = {['name'] = 'gate_hack_device', ['label'] = 'Prison Grid Tamper Tool', ['weight'] = 800, ['type'] = 'item', ['image'] = 'gate_hack_device.png', ['unique'] = false, ['useable'] = false, ['shouldClose'] = false, ['combinable'] = nil, ['description'] = 'A specialized device with wires and clips designed to hijack prison terminal mainframes.'},Note: If using ox_inventory, register these items in your ox_inventory/data/items.lua instead.
void-prisonincludes built-in net triggers forpolice:server:JailPlayerandpolice:server:UnjailPlayerevents.- If your version of
ps-mdtuses exports, editps-mdt/server/backend/sentencing.luaand replace the default jail export trigger with:
exports['Void_Prisons']:JailPlayer(targetSource, sentenceTime, reason)- Admin/Officer Commands:
/jail [ID] [Time] [Reason]: Jails a target player./unjail [ID]: Unjails an active inmate immediately./jailtablet: Opens the police inmate monitoring application.
- Inmate Controls:
[E]on green cell bunk beds: Opens personal bunk stash.[E]on laundry, cafeteria, electrical, or yard cleaning spots: Start labor.
- Locker Controls:
[E]at the front lobby counter (when released): Retrieve seized items.
ox_liboxmysql- Either
qb-coreorqbx_core - Either
ox_inventoryorqb-inventory - Either
illenium-appearanceorqb-clothing