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
rythmArrowsminigame; 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
lockpickitem (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
lockpickitem (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
holeMatchminigame 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
- Small (50% weight) - open freely; 10% glitterbomb chance; custom props
- 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
letteritem - Sell letters to the roaming Blackhat NPC (
/bhadminfor 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:
| Activity | Code | Alert |
|---|---|---|
| Parking Meter | 10-90 | Parking meter smashed |
| Porch Pirate (steal) | 10-93 | Package being stolen |
| Glitterbomb triggered | 10-90 | Glitterbomb reported |
| Letterbox | 10-90 | Letterbox tampered with |
| Post Box | 10-93 | Post 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
oxmysqlox_libprp-bridgeprp-pettycrime-assets