- 313 downloads
- Version 0.1.3
Plugin is in beta. There will be bugs. Let me know down in the comments and I will do my best to get them addressed in a timely manner pdComp — Police Computer for LSPDFRpdComp is a custom-rendered in-game police computer for Grand Theft Auto V, built for LSPDFR with optional deep integration for Policing Redefined through the Common Data Framework (CDF). It replaces the old menu-driven CAD experience with a full-screen overlay that feels like a real dispatch terminal — logo header, sidebar navigation, table-style record views, and in-window text input. The plugin handles the full patrol workflow: - Pedestrian lookup with collected-ID card grid - Vehicle lookup with tagged-plate card grid - Citation issuing (with PR hand-off) - Arrest reporting - Court docket with simulated hearings, outcomes, and sentencing - Persistent JSON-backed history Unlike standalone police computer mods, pdComp can pull synchronized data directly from CDF-enabled plugins when present, so states set elsewhere in the ecosystem — expired registration, suspended licenses, insurance lapses, wanted flags, linked records — show up natively in the terminal The UI A dedicated full-screen overlay rendered via Direct3D, sized to your game resolution: - Header strip with the pdComp logo and live wall clock - Left sidebar for navigation between Home, Ped Lookup, Vehicle Lookup, New Citation, New Arrest, Court Docket, History, and Settings - Active-state highlighting and hover feedback on every interactive element - Software-rendered cursor that responds to both mouse and right-stick input - In-window text input (no more black-screen interruptions from GTA's native keyboard) - Hard GTA control lockout while the terminal is open, applied from the game fiber for stability Record detail views use a Windows-style data table — header row, zebra rows, fixed-width labels, color-coded values: - Green for valid documents and clear status - Amber for expired - Red for suspended, revoked, missing registration/insurance, wanted, or stolen Features Core Police Computer System - Full-screen MDT/CAD overlay rendered every frame - Configurable open hotkey (keyboard and/or controller) - ID-card grid showing every persona collected during the current call - Plate-card grid showing every vehicle tagged during the current call - Active-Subject state — click an ID card and the next citation/arrest form prefills against that person automatically - Per-charge × remove buttons so a single mistake doesn't reset the whole form - End Call action wipes collected IDs and tagged plates without touching saved records - Two-step confirm on destructive actions - Persistent JSON-backed citation, arrest, and case history Citations & Arrests - Categorized, collapsible, scrollable charge/citation pickers - Light inline search bar — filters by code, description, or category in real time - 129 arrest charges across 10 categories (Crimes Against a Person, Property, Public Decency, Public Justice, Public Peace, Health & Safety, Crimes Against Dependents, Vehicular Offences, Weapons, Fish & Game) - 82 traffic citations across 7 categories (Speeding, Vehicular Offences, Parking, Documentation, Equipment, Pedestrian, Fish & Game) - Catalog files are fully editable JSON — add, remove, recategorize, or re-price anything Court System - Background scheduler files each citation and arrest as a case - Outcome rolled at hearing time, weighted by case type and worst severity - Full sentencing detail rendered alongside the outcome: dollar fines on citations (including court costs), prison or jail terms on arrests, plea bargains automatically trim sentences by ~40% - Hearings run on wall-clock UTC time, so cases progress even while the game is paused Policing Redefined + CDF Integration When `CommonDataFramework.dll` and `PolicingRedefined.dll` are detected at runtime: - Ped records pull synchronized state from CDF (registration, insurance, permits, wanted, etc.) - ID auto-population fires from PR's identification, patdown, and corpse-search events - Filed citations are pushed back into PR's traffic-stop Give Citations menu so the suspect can be handed the ticket in fiction - pdComp waits for CDF readiness before using CDF-backed record data Vanilla LSPDFR Compatibility pdComp loads and functions fully without CDF or PR installed: - Vehicle plate auto-populates from any LSPDFR-initiated pullover - Ped names must be entered manually (no equivalent ID interaction exists in vanilla) - Everything else — citations, arrests, court, history — operates identically Controller Support First-class controller input alongside keyboard/mouse: - Configurable open button (default D-pad Left, no modifier) - Right stick drives the cursor (composes additively with mouse motion; mouse use clears any stick offset) - A button clicks - D-pad up/down scrolls catalogs - All face buttons, D-pad directions, shoulders/triggers, stick clicks, and View/Menu are name-bindable in the config Installation Copy the contents of the archive directly into your GTA V root directory. The internal layout drops each file into its correct location: ``` <GTA>/ Plugins/ LSPDFR/ pdComp.dll pdComp/ config.ini assets/ pdcomp-logo.png data/ charges.json citations.json store/ ← created at runtime ``` Optional Dependencies For full synchronized-records and identification-event support, install: - Policing Redefined - Common Data Framework (bundled with PR) Configuration Edit `Plugins/LSPDFR/pdComp/config.ini`: | Setting | Default | Description | |---|---|---| | `OpenKey` | `OemQuotes` (`'`) | Keyboard hotkey | | `ModifierKey` | `None` | Optional modifier (`ShiftKey`, `ControlKey`, `Menu`) | | `ControllerOpenButton` | `DPadLeft` | Named: `A B X Y DPadUp/Down/Left/Right LB RB LT RT LSB RSB Back Start`, or a raw GTA V control ID, or `None` | | `ControllerOpenModifier` | `None` | Optional controller modifier held with the open button | | `RequirePoliceVehicle` | `true` | Gate opening to law-enforcement vehicles | | `RequireStationaryVehicle` | `true` | Gate opening to a parked patrol vehicle | | `HearingDelayMinutes` | `3` | Wall-clock minutes between filing and the case being heard | In-overlay controller bindings: right stick = cursor · A = click · D-pad U/D = scroll · the configured open button toggles closed. Custom Charges & Citations Both catalogs are user-editable JSON, reloaded on plugin start: ``` Plugins/LSPDFR/pdComp/data/charges.json Plugins/LSPDFR/pdComp/data/citations.json ``` Each entry supports a `category` field that controls the picker section grouping in-game. Invalid entries or unknown severities are skipped automatically and logged to `RagePluginHook.log` with the row's code so you can find it. Design Notes - Smart auto-population. Ped names only prefill after a real ID-shown / patdown / corpse-search event has been observed through PR. Vehicle plates auto-populate the moment an LSPDFR pullover begins. Manual input is always available — typing a different name clears the live-ped link so the citation doesn't get pushed to the wrong NPC in PR. - End Call hygiene. Per-call collected IDs and tagged plates can be cleared from the Home page without losing any saved citations, arrests, or cases. Two-tap confirm prevents accidental wipes. - Persistent court timing. Hearings use wall-clock UTC time and tick in the background, so cases continue to progress even while the game is paused. - Safe input gating. The open hotkey is suppressed while the in-overlay text editor is active, so pressing the `'` open key as part of typing a name doesn't close the computer. - Mugshot through transparent cutouts. Headshots are issued via GTA's pedheadshot natives and rendered at the HUD pass. The overlay backdrop and the driver-license card art are hole-punched against active mugshot slots, so the sprite stays visible through the otherwise-opaque MDT. - Config diagnostics. Every config.ini load logs the resolved values to RagePluginHook.log — if a rebind isn't taking effect, the log will say so. Current Status v0.1.3 — Stable release ✔ Custom full-screen overlay UI with logo, sidebar, and table-style record views ✔ Mouse, keyboard, and controller input — fully rebindable with corrected control IDs ✔ In-overlay text input — no more native-keyboard context switch ✔ Game controls locked while the computer is open without raw-frame native calls ✔ Categorized, searchable, scrollable charge/citation pickers (129 / 82 entries) ✔ Driver-license-style ID-card grid with live pedheadshot mugshots and plate-card grid with Active-Subject prefill across pages ✔ Detail-view mugshot rendered into a hole-punched cutout in the overlay backdrop ✔ End-Call action for clearing per-call registries (also frees active pedheadshot handles) ✔ Court system with weighted outcomes and full sentencing detail ✔ PR hand-off — filed citations appear in PR's give-citation menu after live suspect resolution ✔ Patdown, corpse-search, and ID-shown events all populate the ID card grid and queue a mugshot capture ✔ CDF readiness wait and richer CDF-backed ped/vehicle records ✔ Vanilla and CDF/PR modes both fully functional ✔ Clean deploy layout — no RAGENativeUI dependency or bundled RAGENativeUI DLL Credits - Built for the LSPDFR community - Powered by: - RAGE Plugin Hook - LSPDFR API - Newtonsoft.Json - Common Data Framework + Policing Redefined (optional integration)