Skip to content

prp-pettycrime

prp-pettycrime is a collection of small-scale street crime activities. Players can pickpocket pedestrians, smash parking meters, break into letterboxes and post boxes, steal packages off doorsteps (Porch Pirate), and sell stolen mail to a roaming black market contact - all tied together by a shared heat system that dynamically escalates police dispatch probability.

Features

Pickpocket

  • Target pedestrian NPCs within a configurable range (default 10 m) via ox_target
  • Triggers a rythmArrows minigame; success plays a custom animation and awards loot
  • Zone-based loot - rewards are drawn from a zone scumminess table (zones 0–5) so richer areas yield different items
  • Dual cooldown - per-player cooldown and per-NPC cooldown prevent spam
  • Optional reputation reward per successful pocket

Parking Meters

  • Smash meters with an allowed melee weapon (bat, crowbar, Christmas bat) to loot coins
  • Location cooldown (60–90 min) resets automatically; personal cooldown (2 min) between smashes
  • Adds stress to the player on every smash (configurable amount)

Letter Boxes

  • Lockpick residential letterboxes using a lockpick item (holeMatch minigame)
  • Lockpick loses durability on success (−30) and failure (−20)
  • Loot can include envelope, catalog_envelope, or nothing
  • Location cooldown (60–90 min) + personal cooldown (2 min)

Post Boxes

  • Lockpick public post boxes using a lockpick item (holeMatch minigame)
  • Each location can be looted 1–3 times before it empties; random loot from envelopes
  • Hand stuck mechanic - 45% chance your hand gets stuck; requires a separate holeMatch minigame to free it with a custom stuck/unstuck animation
  • Location cooldown (15–60 min) after the box is emptied

Porch Pirate

  • Package spawns - up to 150 packages active simultaneously across admin-configured locations; packages regenerate 2 minutes after being stolen with a 30-minute location cooldown
  • Three package tiers with configurable weights and glitterbomb chances:
    • Small (50% weight) - open freely; 10% glitterbomb chance; custom props pr_pettybox_02/03/04
    • Medium (35% weight) - requires a knife to open; 25% glitterbomb chance; prop pr_pettybox_01
    • Large (15% weight) - requires a knife to open; 25% glitterbomb chance; prop pr_pettybox_05
  • Glitterbomb - trapped packages explode glitter when opened; Police officers on duty can disarm active glitterbombs (15 s progress bar) before they expire (60 min)
  • Admin menu (/ppadmin) - place, edit, and delete package spawn locations in-game; assign loot tables per location

Mail & Envelope System

  • Open envelopes from letterboxes/post boxes with a custom animation to reveal cash ($10–$30) or a letter item
  • Sell letters to the roaming Blackhat NPC (/bhadmin for admins) - earns $5 per letter
  • The Blackhat NPC wanders between 4 preset locations (Vespucci, Prosperity, Cougar, Bay City), staying 6–10 hours at each

Heat System

  • Each crime action adds heat to the player (default +10 per action, max 100)
  • Heat decays by 10 per minute, checked every 60 seconds
  • Dispatch alerts are gated by heat: chance = heat × dispatchChancePerHeat (0.1) - the higher the heat, the more likely a police alert fires

Police Dispatch Alerts

Each activity has its own dispatch configuration:

ActivityCodeAlert
Parking Meter10-90Parking meter smashed
Porch Pirate (steal)10-93Package being stolen
Glitterbomb triggered10-90Glitterbomb reported
Letterbox10-90Letterbox tampered with
Post Box10-93Post box tampered with

All alerts send a map blip to police lasting ~5 minutes.

Discord Logging

All suspicious actions (exploit attempts, invalid locations, out-of-range interactions) are logged to a configurable Discord webhook.

Requirements

  • oxmysql
  • ox_lib
  • prp-bridge
  • prp-pettycrime-assets