How guess1m/reportspluslistener works
ReportsPlus is an LSPDFR game plugin that collects player, vehicle, and pedestrian context, supports traffic-stop reporting and citation processing, and provides ALPR scans and an on-screen plate display. The principal runtime starts when the player goes on duty: Main initializes settings and menus, then launches background collection and menu fibers; collected world data feeds stop reports and ALPR results, while citation signals are checked and processed in-game. The README gives no capability detail, so the broader map reflects only capabilities evident in sampled source; unsampled modules and their wiring are not expanded.
Main entry points: Main.cs Plugin lifecycle · ALPRUtils.cs ALPR scanner · DataCollection.cs Game data collection · MenuProcessing.cs In-game menus
Components 17
Plugin lifecycle
- Plugin lifecycle
Main.cs - In-game menus
Utils/Menu/MenuProcessing.cs
World collection
- Game data collection
Utils/Data/DataCollection.cs - World data records
Utils/Data/WorldDataUtils.cs
Reports and citations
- Traffic-stop reports
Utils/Data/WorldDataUtils.cs - Citation signal file
Utils/Data/DataCollection.cs - Citation actions
Utils/Animation/AnimationUtils.cs
ALPR and display
- ALPR scanner
Utils/ALPR/ALPRUtils.cs - Scanner data
Utils/ALPR/ALPRData.cs - World vehicle records
Utils/Data/WorldDataUtils.cs - Plate display
Utils/ALPR/LicensePlateDisplay.cs
Settings and domain data
- Settings
Utils/ConfigUtils.cs - Ped and address data
Utils/Misc.cs - Vehicle data lookups
Utils/GetValueMethods.cs - Animation helpers
Utils/Animation/AnimationUtils.cs
Other components
- Player
- Game and plugin APIs
Connections 25
- Player → Plugin lifecycle: goes on duty
- Plugin lifecycle → Settings: loads settings
- Plugin lifecycle → In-game menus: initializes and starts
- Plugin lifecycle → Game data collection: starts collection
- Plugin lifecycle → Plate display: initializes display
- Player → In-game menus: uses controls
- In-game menus → Settings: reads and updates
- In-game menus → Plate display: configures display
- Game data collection → World data records: records stop context
- World data records → Vehicle data lookups: looks up vehicle data
- Vehicle data lookups → Game and plugin APIs: queries plugin APIs
- World data records → Ped and address data: caches pedestrian data
- World data records → Traffic-stop reports: writes report data
- Game data collection → Citation signal file: reads signal
- Game data collection → Citation actions: starts citation processing
- Citation actions → Game and plugin APIs: finds and cites peds
- Citation actions → Citation signal file: clears signal
- Game data collection → Animation helpers: runs citation animation
- Plugin lifecycle → ALPR scanner: cleans up scanner
- In-game menus → ALPR scanner: controls scanner
- ALPR scanner → Scanner data: uses scanner configuration
- ALPR scanner → Game and plugin APIs: scans nearby vehicles
- ALPR scanner → World vehicle records: reads vehicle records
- ALPR scanner → Plate display: updates scan display
- Plate display → Game and plugin APIs: renders game overlay