WITNESSES 👁️‍🗨️ | REDM Native NPC Crime Reporting & Law Enforcement Alerts [VORP/RSG/QBCORE]

Witnesses - Crime Detection System for RedM

Witnesses is a comprehensive crime-detection resource for RedM that brings realistic consequences to every outlaw action. NPCs who witness crimes will flee, report to the nearest lawmen, and even leave blips on the map, complete with fully customizable job alerts for your policing roles.


:tada: v2.0.4 - All Frameworks Update!

Witnesses is now fully framework-agnostic! Thanks to Poggy Utilities, Witnesses automatically detects and works with ANY major RedM framework:

  • :white_check_mark: VORP Framework - Full support
  • :white_check_mark: RSG Framework - Full support
  • :white_check_mark: QBCore - Full support
  • :white_check_mark: REDEM:RP - Full support
  • :white_check_mark: Standalone - Works without any framework (database-only mode)

Witnesses doesn’t care which framework you use - it simply asks Poggy Utilities for player/job info, and Poggy Utilities handles all the framework-specific lookups automatically!


Detailed Description

When a player commits any criminal act against players or NPCs—shooting, threatening with a weapon, melee combat, lassoing, trampling, or hijacking—nearby NPCs become witnesses. Each witness will:

  • Flee to safety using configurable escape logic (distance, time, grace period).
  • Report the crime once safely out of harm’s way.
  • Trigger a custom alert to on-duty law-enforcement jobs via /witness_<type>_alert.
  • Spawn a temporary blip on the map so officers can track witness movements in real time.

:shopping_cart: Buy Link

Purchase Here: https://rosewoodridge.tebex.io/package/6836507

Video Preview: https://youtu.be/SUGdiLnAhmA


Configuration

All behavior is driven by config.lua, giving you control over:

  • Town-based detection zones (whitelist & blacklist)
  • Max active witnesses, search radius, and cooldowns
  • Which weapon types count as “threatening”
  • NPC model blacklists (e.g. sheriffs, bounty targets, shop NPCs, etc.)
  • Custom alert messages, icons, colors, blip duration, and job grades
  • Fully Integrated customized Job Alert system

Under the hood, the system uses framework and inventory exports to detect equipped weapons and player identities. It also includes server- and client-side debugging for painless setup and troubleshooting.


Features

  • :performing_arts: Dynamic Witness System across six crime types
  • :person_running: Escape & Report Logic with distance/time thresholds
  • :police_car_light: Custom Job Alerts for any policing faction
  • :round_pushpin: Blip Tracking with configurable colors and radius for witness positions
  • :houses: Town & Blacklist Configuration
  • :water_pistol: Smart Weapon Detection
  • :police_officer: Law Immunity: block witness events for players with police jobs
  • :globe_showing_europe_africa: Full Translation Support (English, Spanish, and French)
  • :balance_scale: Law Response System: spawn NPC law enforcement to pursue suspects
  • :locked: Arrest, Surrender & Jailing System: define jail functions and allow suspects to surrender by pressing X
  • :bullseye: Crime Detection Mechanic avoids false positives like hunting or lassoing animals, shooting the air, etc.
  • :high_voltage: Easy Installation & Configuration (plug and play—set your job names and go; fully working default system included)

Installation

  1. Download Dependencies:

    • Download Poggy Utilities (required for notifications and blips)
    • Place poggy_util in your resources folder
    • Add ensure poggy_util to your server.cfg before Witnesses
  2. Install Witnesses:

    • Purchase and download Witnesses and extract the folder into your server’s resources directory.
    • Add ensure Witnesses to your server.cfg (after poggy_util).
  3. Configure:

    • Set Config.Framework to "vorp", "rsg", or "standalone" in config.lua
    • Customize zones, crime types, and alert parameters (readily configured out of the box for most servers)
  4. Restart your server.


Dependencies

Dependency Required Link
Poggy Utilities :white_check_mark: Yes GitHub - Poggy-Utilities
VORP Core Only for VORP vorp_core
RSG Core Only for RSG rsg-core

MY OTHER SCRIPTS


:shopping_cart: Buy Link

Purchase Here: https://rosewoodridge.tebex.io/package/6836507

Video Preview: https://youtu.be/SUGdiLnAhmA

Get Support: https://rosewoodridge.xyz


Changelog

v1.4.0 - All Frameworks Update

  • Added RSG Framework support
  • Added Standalone mode
  • Migrated to Poggy Utilities for notifications and blips
  • Removed hard dependency on vorp_utils
  • Improved player registration for job alerts
  • Various bug fixes and performance improvements

v1.3.0 - See comments for details.


Code is accessible No
Subscription-based Yes
Lines (approximately) ~4000
Requirements Poggy Utilities, + vorp_core OR rsg_core (framework-dependent)
Support Yes

$64 :neutral_face: :skull:

Changelog:

v1.0.4

Job Alert System Improvements

  • Fixed job registration issues: Players will now correctly receive job-specific alerts even after changing jobs
  • Improved job tracking: The system now properly tracks your current job without residual references to previous jobs
  • Fixed case sensitivity: Job names like “sheriffSD” are now properly recognized exactly as they appear in your character data
  • Enhanced duty status checking: Duty status is now properly re-evaluated after job changes
  • Added diagnostic tools: New admin command /dumpalertgroups to help server administrators diagnose issues with alert delivery

Stability Improvements

  • Improved error handling: Better handling of job changes while alerts are being processed
  • Fixed memory leaks: Reduced memory usage by properly cleaning up old job registrations
  • Enhanced logging: More detailed debug information to help diagnose alert delivery issues

Changelog:

v1.1.0

Better Translations and Law Immunity

  • NEW: Added “Law Immunity” option which will block witness events if a player has a police job

  • NEW: Added full translation file including translations for english, spanish, and french

  • Made alerts more reliable and fixed an issue with initial witness count alerts not triggering every witness event

  • Fixed an issue with Alerter Notifications sometimes triggering twice

  • Fixed an issue with some blips being created multiple times

WITNESSES CHANGELOG

v1.2.0

New Features

  • Added new Law Response system with a separate config which will spawn NPC law to pursue the player

Bug Fixes and Changes

  • Split the client core.lua into multiple files for easier script expansion
  • Fixed an issue with miscounting of the number of witnesses in alerts
  • Fixed an issue with Threatening triggering too quickly and sometimes being detected even when a shooting occurred (requires 2 seconds of continuous gun pointing to trigger a “Threatening” event)
  • Fixed an issue with killing animals and shooting at the air triggering witness events
  • Fixed an issue with Lassoing animals triggering witness events
  • Fixed an issue with reloading a weapon triggering witness events
  • Blips now include proper colors for job alerts and a configurable area to make it more visible on the map

For updating users on 1.1.0:

  • Add the following line to your config if you don’t want to replace it:
Config.BlipRadius = 50.0 -- Radius in meters for alert blips
  • Remove all files in client and server folder and add the new files
  • Update the fxmanifest.lua file
  • Update the translations.lua file
  • Restart your server

Download available on Keymaster

Changelog v1.3.0

New Features

  • Added new arrest a surrender and jailing system allowing for you to define your jail / police script’s jail function when a player presses X to surrender
  • Improved detection mechanics for crimes

Bug Fixes and Adjustments

  • Fixed an issue where a player with law immunity would still trigger an alert the first time they loaded in or the script was loaded.
  • Added missing lines from the translation file
  • NPC Spawning law will now find the nearest road to spawn on before being created, preventing issues with falling and drowning NPCs

Download available on Keymaster

WITNESSES CHANGELOG

v1.3.3

Bug Fixes and Changes

  • Fixed an issue with law response NPCs being desynced

V2.0.0

  • Added RSG Compatibility
  • Added Persistent Blips - Persistent blips allow alert blips to remain on the map until the responding officer physically arrives at the crime scene location. This is useful for ensuring officers don’t lose track of alerts.
{
    name = 'NEED DOCTOR',
    command = 'calldoctor',
    -- ... other settings ...
    persistentBlip = true  -- Blip stays until doctor arrives
}

VERSION 2.0.4:

  • Witnesses now works with any framework (QBCore, RedEM:RP, VORP, RSG)
1 Like

Hi,

I would like to suggest an export/API for Witnesses that would allow other scripts to trigger the full witness mechanic for custom actions.

The idea would be something like:

exports[‘Witnesses’]:CreateWitness(source, actionType, options)

Example use cases:

  • grave robbing
  • illegal NPC sales
  • custom robberies
  • kidnapping systems
  • scripted RP crimes

The important part is that it should not only trigger an immediate alert. Ideally, it would use the normal Witnesses flow:

  1. find or assign a nearby NPC witness
  2. make the witness react/flee
  3. allow the player to stop the witness
  4. only send the law/job alert if the witness successfully reports the crime
  5. optionally trigger NPC law response based on the configured action type/severity

It would also be very useful to have events/callbacks such as:

  • witness created
  • witness stopped/killed
  • witness escaped and reported
  • alert actually sent

This would let external scripts integrate with Witnesses in a much more immersive way, instead of only calling a command that instantly creates an alert.

Thanks!

1 Like

I genuinely appreciate the detailed suggestion. I can definitely work on this for a future update.

1 Like

:telescope: Witnesses Update — Public API (2.5.2)

We’ve added a new CreateWitness export so other scripts can hook into the full Witnesses flow — not just instant alerts!

What it does:

Other resources can now spawn a real NPC witness that reacts, flees, and can be stopped. The law/job alert only fires if the witness actually escapes and reports the crime. :man_running::dash:

Great for:
• Grave robbing
• Illegal NPC sales
• Custom robberies & kidnappings
• Any scripted RP crime

For developers:

exports.Witnesses:CreateWitness(source, actionType, options)

Plus new server events: onWitnessCreated, onWitnessStopped, onWitnessReported, and onAlertSent.

:white_check_mark: No action needed! This is fully additive — you do NOT need to update or change any of your configuration files. Everything keeps working exactly as before.

1 Like

You are soo awesome <3

1 Like