Administrator Guide
This guide covers administrative tasks for configuring and managing ars_police on your FiveM server. It is intended for server owners and staff who need to set up police stations, configure features, and manage the resource.
Table of Contents
Section titled “Table of Contents”- Framework and Inventory Setup
- Job Configuration
- Location Setup
- Armory Configuration
- Vehicle Garage Configuration
- Jail System Configuration
- Evidence System
- Security Cameras
- Module Tuning
- Troubleshooting
1. Framework and Inventory Setup
Section titled “1. Framework and Inventory Setup”Framework
Section titled “Framework”In config.lua, set your server’s framework:
Config.Framework = 'esx' -- or 'qb'The script auto-detects qb-core and es_extended if they are running.
Inventory
Section titled “Inventory”Set your inventory system to match your server:
Config.Inventory = 'ox' -- Options: 'ox', 'qb', 'qs', 'mf', 'cheeza', 'custom'Update the inventory images path:
Config.InventoryImages = 'nui://ox_inventory/web/images/'Billing System
Section titled “Billing System”Configure which billing system to use for fines:
Config.BillingSystemType = 'esx' -- 'esx', 'qb', 'okok', or 'custom'2. Job Configuration
Section titled “2. Job Configuration”Police Job Names
Section titled “Police Job Names”Add all law enforcement job names used on your server:
Config.PoliceJobNames = { 'police', 'sheriff'}Grade Requirements
Section titled “Grade Requirements”Features like weapon licenses can be restricted by minimum grade:
Config.WeaponLicenseSettings = { enabled = true, license_name = 'weapon', minGrade = 0, -- Minimum grade to grant/revoke licenses menuPosition = 'bottom-right'}3. Location Setup
Section titled “3. Location Setup”Police station locations are configured in the locations/ folder. Each file defines a complete station.
Pre-Configured Stations
Section titled “Pre-Configured Stations”| File | Station Key | Location |
|---|---|---|
mrpd.lua |
LSPD |
Mission Row PD |
pbpd.lua |
PBPD |
Paleto Bay PD |
sspd.lua |
SSPD |
Sandy Shores PD |
rhpd.lua |
RHPD |
Rockford Hills PD |
ranchopd.lua |
RPD |
Rancho PD |
Station Structure
Section titled “Station Structure”Each location contains these sections:
Config.Locations['station_key'] = { blip = { enabled = true, name = 'Station Name', coords = vector3(x, y, z), sprite = 60, color = 29, scale = 1.0, }, ClockInAndOut = { enabled = true, ... }, BossMenu = { enabled = true, ... }, Armoury = { enabled = true, ... }, Stash = { enabled = true, ... }, ClotheRoom = { enabled = true, ... }, Vehicles = { enabled = true, ... }, Elevators = { ... },}Creating Custom Locations
Section titled “Creating Custom Locations”- Create a new file in
locations/(e.g.,custom_pd.lua) - Copy the structure from an existing location file
- Update coordinates, blip settings, and feature toggles
- The location loads automatically on resource start
4. Armory Configuration
Section titled “4. Armory Configuration”Configure weapon loadouts per grade in each location file:
Armoury = { enabled = true, coords = vector3(480.32, -996.67, 30.69 - 0.9), heading = 86.95, ped = 's_f_y_cop_01', label = '[E] - Access Armoury', restrictedToJob = 'police', weapons = { [0] = { ['WEAPON_PISTOL'] = { label = 'Pistol', multiple = false, price = 75 }, ['WEAPON_NIGHTSTICK'] = { label = 'Night Stick', multiple = false, price = 50 }, ['pistol_ammo'] = { label = '9mm Ammo', multiple = true, price = 10 }, ['heavyarmor'] = { label = 'Bulletproof Vest', multiple = true, price = 100 }, ['handcuffs'] = { label = 'Handcuffs', multiple = true, price = 50 }, }, [2] = { ['WEAPON_SMG'] = { label = 'Submachine Gun', multiple = false, price = 1100 }, ['WEAPON_CARBINERIFLE'] = { label = 'Carbine Rifle', multiple = false, price = 2100 }, }, }}multiple = trueallows purchasing multiple of the same itempricesets the cost (set tonilor omit for free items)- Grade keys (
[0],[1], etc.) define what each rank can access - Higher grades fall back to the highest defined grade if their level is not listed
5. Vehicle Garage Configuration
Section titled “5. Vehicle Garage Configuration”Vehicle garages support land and air categories with extras and livery selection:
Vehicles = { enabled = true, restrictedToJob = 'police', zone = { coords = vector4(441.478, -985.212, 25.7, 358.806), range = 5.5, label = '[E] - Access Garage', return_label = '[E] - Return Vehicle' }, extrasMenu = { enabled = true, coords = vector3(436.502, -975.838, 25.7), range = 3.0, }, spawn = { land = { vector4(436.409, -986.188, 25.093, 90.273), vector4(436.487, -988.881, 25.093, 89.725), }, air = { vector4(449.138, -981.303, 43.691, 270.841), } }, options = { [0] = { ['police'] = { label = 'Police Cruiser', category = 'land', livery = 0, extras = { ["1"] = true, ["2"] = true }, }, }, }}6. Jail System Configuration
Section titled “6. Jail System Configuration”ars_police supports multiple jail systems:
Config.JailSettings = { enabled = true, jailSystem = 'default', input = true, maxJailTime = 50,}Supported Jail Systems
Section titled “Supported Jail Systems”| System | Config Value |
|---|---|
| Built-in (default) | 'default' |
| rcore-prison | 'rcore' |
| tk_jail | 'tk_jail' |
| hd_jail | 'hd_jail' |
| myPrison | 'myPrison' |
| qalle-jail | 'qalle-jail' |
| Plouffe Jail | 'plouffe' |
| mxJail | 'mx' |
| Custom | 'custom' |
Prison Location Configuration
Section titled “Prison Location Configuration”Prison locations are defined in Config.Prisons within config.lua. Each prison entry includes:
coords- Prison center locationradius- Release radiusblip- Map blip settingshospital- Revive location for in-prison deathsrelease- Release point coordinatesbreakout- Tunnel entrance/exit coordinates for breakout mechanicactivities- Prison work activities (workout, cleaning, kitchen)cells- Individual cell locationsstores- Prison commissary and contraband shopslootables- Collectible items with regeneration timers
The README includes pre-configured examples for both unclejust MLO and QB default jail MLO.
7. Evidence System
Section titled “7. Evidence System”Enable Evidence
Section titled “Enable Evidence”Config.EnableEvidence = trueEvidence Settings (modules/evidence/config.lua)
Section titled “Evidence Settings (modules/evidence/config.lua)”Config.Evidence = { PickupDistance = 3.0, ClearDistance = 12.0, CreateRateLimitMs = 300, BulletCasingsDropChance = 100, EnableProjectiles = true, EnableGloves = true, EnableFingerprintInMenu = true, EnableDnaInMenu = true,}Evidence Types
Section titled “Evidence Types”| Type | Description |
|---|---|
| Bullet Casings | Dropped when weapons are fired |
| Projectiles | Found where bullets impact surfaces |
| Blood | Left by injured players |
| Fingerprints | Collected from surfaces via UV light |
| DNA | Taken from players directly |
| GSR | Gunshot residue tested via /gsr command |
Evidence Locations
Section titled “Evidence Locations”Configure trash bins and evidence stashes in modules/evidence/config.lua:
Config.Evidence.Trash = { [1] = vector3(446.843, -996.874, 30.69),}Config.Evidence.EvidenceStash = { [1] = vector3(450.167, -997.609, 30.69),}8. Security Cameras
Section titled “8. Security Cameras”Enable and configure the camera system:
Config.EnableSecurityCamera = trueCamera definitions are in modules/camera/config.lua. The script includes 34 pre-configured cameras covering banks, stores, and landmarks.
Adding Custom Cameras
Section titled “Adding Custom Cameras”Config.SecurityCameras.location = { [1] = vector3(442.28, -998.86, 34.97), -- Camera access point}Config.SecurityCameras.cameras = { [35] = { label = 'My Camera', coords = vector3(x, y, z), rotation = { x = -35.0, y = 0.0, z = 0.0 }, canRotate = false, isOnline = true, },}9. Module Tuning
Section titled “9. Module Tuning”Modules are configured in modules/*/config.lua files. The enable/disable toggle is in the root config.lua.
Cuff Module
Section titled “Cuff Module”Key settings in modules/cuff/config.lua:
timer- Auto-uncuff durationcuffItem.item- Item required to cuffhandcuffKey- Item required to uncufflockpicking- Lockpick settings and break chancezipties- Ziptie item and cutting tool
Shield Module
Section titled “Shield Module”Config.ShieldSettings = { enabledItem = true, item = 'shield', disableSprint = true}Spike Strip Module
Section titled “Spike Strip Module”Config.SpikeStripSettings = { enabledItem = true, item = 'spikestrip', maxLength = 4, deployTimePerSegment = 1000, pickupTime = 1500}Tackle Module
Section titled “Tackle Module”Config.TackleSettings = { enabled = true, policeOnly = true, hotkey = 'E'}GPS Blip Module
Section titled “GPS Blip Module”Config.ServiceBlips = { ['police'] = 38, ['ambulance'] = 5, ['sheriff'] = 85,}Locker Room Module
Section titled “Locker Room Module”Define outfits per job and grade in modules/lockers/config.lua. Each outfit specifies male and female drawable/texture components.
Community Service Module
Section titled “Community Service Module”Config.ServiceExtensionOnEscape = 5 -- Extra minutes on escape attemptConfig.MaxCommunityServiceTime = 60 -- Maximum assignable minutesConfig.ServiceLocation = vector3(...) -- Teleport locationConfig.CommunityServiceOutfits = { enabled = false }10. Troubleshooting
Section titled “10. Troubleshooting”Police Menu Not Opening
Section titled “Police Menu Not Opening”- Verify player has a police job assigned in your framework
- Check
Config.PoliceJobNamesincludes your job name - Ensure ox_lib is started and version 3.0+
- Check console for errors
Evidence Not Working
Section titled “Evidence Not Working”- Verify all inventory items are added correctly
- Ensure
Config.Inventorymatches your system - Check
Config.EnableEvidence = true
Vehicle Spawning Issues
Section titled “Vehicle Spawning Issues”- Verify spawn points are not blocked by objects
- Ensure vehicle models are installed on the server
Props Not Placing
Section titled “Props Not Placing”- Check player has the required job grade for the prop
- Verify
groupsrestrictions inConfig.AvailableProps
Database Errors
Section titled “Database Errors”- Verify oxmysql is running
- Ensure the
ars_policetable exists - Check column names match your database
Debug Mode
Section titled “Debug Mode”Enable for troubleshooting:
Config.DebugMode = trueQuick Reference
Section titled “Quick Reference”| Setting | Default |
|---|---|
| Framework | 'esx' |
| Inventory | 'ox' |
| Targeting | true |
| Evidence | true |
| Security Camera | true |
| Community Service | true |
| Jail System | 'default' |
| Duty Requirement | false |
| Spike Strips | true |
| Shield | true |
| Props Timeout | 10 minutes |
Need Help?
Section titled “Need Help?”- Check the server console for error messages
- Verify all dependencies are installed and started
- Ensure framework matches your server setup
- Confirm job names match your database
- Review the changelog for breaking changes
Note: This guide is written by a third party. If you find any incorrect or outdated information, please contact us on Discord so we can update it for you.