For the complete documentation index, see llms.txt. This page is also available as Markdown.

Forensics Config

PoliceApp

Forensics Evidence System

Overview

The forensics system lets law enforcement collect scene evidence, store it in an evidence locker, analyze it in the lab, and attach the results to incident reports.

It is designed around this flow:

  1. Evidence is created in the world.

  2. Officers collect the evidence into an evidence bag.

  3. Officers deposit the evidence bag at the evidence locker.

  4. Authorized lab officers analyze stored evidence.

  5. Analyzed evidence can be linked to police reports.

Evidence Types

The system supports these evidence types:

  • shell_casing

  • blood_dna

  • fingerprint

  • weapon

  • vehicle

  • photo

  • bodycam

By default, shell casings and blood DNA can be created automatically. Fingerprint evidence is not automatically generated unless another script calls the fingerprint export.

Configuration

Main settings are located in:

Important options:

Jobs

Only configured law enforcement jobs can use the evidence system:

Lab analysis uses LabAllowedJobs if set. If LabAllowedJobs is nil, it uses the same jobs as AllowedJobs.

Evidence Locker

Collected evidence must be deposited at an evidence locker before it can be analyzed.

Current locker location:

When an officer is near this location, they will see:

Pressing E opens the locker menu and lists collected evidence bags that can be stored.

Requirements:

  • The player must have an allowed police job.

  • The evidence must already be collected.

  • The player must be inside the locker zone.

  • If LockerStoreRequiresBag = true, the player must have the matching evidence_bag.

Forensics Lab

Stored evidence is analyzed from the Police App inside the tablet.

Current lab location:

To analyze evidence:

  1. Open the tablet.

  2. Open the Police App.

  3. Go to the Forensics Lab tab.

  4. Select stored evidence.

  5. Run lab analysis.

Requirements:

  • The evidence status must be stored.

  • The officer must be inside the lab zone.

  • The officer must have an allowed lab job.

  • The officer grade must be at least LabMinGrade.

Default required grade:

Collecting Evidence

Officers can collect nearby evidence in the world.

Default collection distance:

Default scanner distance:

If the scanner is enabled, nearby evidence is shown with markers. When close enough, press E to collect it.

Collected evidence is placed into an evidence bag:

The inventory item should exist in your inventory system and support metadata such as:

  • evidence_id

  • evidence_type

  • label

Shell Casings

Shell casing evidence can be created automatically when a player fires a valid weapon.

Relevant settings:

Shell casings can be collected from the street by authorized officers.

During lab analysis, shell casings can match by:

  • weapon serial

  • ballistic hash

Blood DNA

Blood DNA evidence can be created automatically when a player takes damage, depending on chance and cooldown.

Relevant settings:

During lab analysis, blood DNA is matched against the forensic profile database.

Fingerprints

Fingerprint evidence is supported, but automatic fingerprint creation is disabled by default:

Fingerprints can be created by another script using the export:

Example:

After a fingerprint is created, officers collect and store it like any other evidence.

During lab analysis, fingerprint evidence is matched against fingerprint_hash in the forensic profile database.

Tablet Police App

The Police App uses the forensics system in two places:

Forensics Lab

Used to view stored evidence and run analysis.

Path:

Incident Reports

Used to attach stored or collected evidence to a report.

Path:

Officers can browse the evidence locker and link relevant evidence to the report.

Evidence Status Flow

Evidence moves through these states:

Meaning:

  • created / uncollected: Evidence exists in the world.

  • collected: Officer collected it into an evidence bag.

  • stored: Evidence was deposited at the locker.

  • analyzed result: Lab analysis generated match data.

  • linked: Evidence was attached to an incident report or case.

Troubleshooting

No evidence appears near the officer

Check:

  • ForensicsConfig.Enabled

  • player job is in AllowedJobs

  • scanner state and scanner distance

  • evidence has not expired

  • database tables were created

Cannot store evidence

Check:

  • player is inside LockerZones

  • evidence status is collected

  • player has the correct evidence_bag

  • LockerStoreRequiresBag

Cannot analyze evidence

Check:

  • player is inside LabZones

  • evidence status is stored

  • player job is allowed

  • player grade is at least LabMinGrade

Fingerprints do not appear

This is expected unless another script creates fingerprint evidence. Use:

  • Add evidence_bag to your inventory items.

  • Add forensic_scanner if RequireForensicScannerItem = true.

  • Adjust LockerZones and LabZones for your police station MLO.

  • Confirm police job names in AllowedJobs.

  • Set LabMinGrade to match your department ranks.

  • Add fingerprint export calls from your vehicle, burglary, robbery, or interaction scripts if fingerprint evidence is needed.

Last updated