Features

A FiveM resource for postal locker theft activities. Players can hack into postal locker units, break open individual cells, and loot items with various minigames and interactions.

Features

  • Hacking Minigame: Brute force attack minigame to unlock postal locker units

  • Cell Breaking: Sequence minigame to break open individual locker cells

  • Loot System: Randomized loot generation with different package sizes (small, medium, large)

  • Carry System: Players can carry large loot items and loot them later

  • Dispatch Integration: Automatic police dispatch alerts when hacking fails

  • Reset System: Automatic cooldown and reset system for lockers

  • Multiple Models: Support for PostOp and GoPostal locker models

  • Visual Effects: Particle effects when breaking cells

  • State Synchronization: Client-server state synchronization using GlobalState


Installation

Prerequisites

  1. kq_link - This script requires kq_link to be installed and running

    • Download: https://github.com/Kuzkay/kq_link

    • Make sure it's started before this resource

Steps

  1. Place the ls_locker_theft folder in your resources/[lith] directory

  2. Ensure the resource name is exactly ls_locker_theft (the script checks for this)

  3. Add to your server.cfg:

  1. Configure the script in config.lua (see Configuration section)

  2. Restart your server or start the resource


Configuration

Basic Settings

Locker Locations

Configure locker positions in Config.lockers:

Parameters:

  • coords: World position of the locker

  • rotation: Rotation vector for the locker

  • size: 1 = small (15 cells), 2 = large (30 cells)

  • model: 1 = PostOp model, 2 = GoPostal model

Input Controls

Customize key bindings in Config.inputs:

Loot Configuration

Loot Times

Time required to loot items based on size:

Loot Props

Define which props appear for each size category:

Prop Attachment

Configure how large props attach to players:

Loot Generation

Minigame Configuration

Hacking Minigame

Sequence Minigame (Cell Breaking)

Reset Cooldown

Visual Effects

Dispatch System


Gameplay Mechanics

1

Hacking the Locker Unit

  • Approach a postal locker unit

  • Press the hack key (default: F) when prompted

  • A camera view focuses on the locker

  • Complete the brute force hacking minigame:

    • Enter a 4-digit code

    • Receive feedback on each digit (correct position, wrong position, or not in code)

    • You have 8 attempts and 90 seconds

  • If successful, all cells in the locker unlock

  • If failed, a dispatch alert is sent (if enabled)

2

Breaking Open Cells

  • After hacking, approach any cell door

  • Press the break-in key (default: L)

  • Complete the sequence minigame (1-6 key presses)

  • If successful, the cell door opens and reveals loot (if any)

  • Particle effects play when the door breaks

3

Looting Items — Small/Medium Items

  • Approach the loot prop

  • Press the loot key (default: E)

  • Wait for the progress bar to complete

  • Items are automatically added to inventory

4

Looting Items — Large Items

  • Approach the large loot prop

  • Press the pick-up key (default: E)

  • The prop attaches to your character

  • Walk around carrying it

  • Press loot key (default: E) to loot it, or drop key (default: X) to drop it

  • When looting, a progress bar appears and items are added to inventory

5

Reset System

  • After a locker is hacked, it enters a cooldown period (default: 10 minutes)

  • During cooldown, the locker cannot be hacked again

  • After cooldown expires, the locker resets:

    • All cells close

    • New loot is generated

    • Hacking becomes available again


Customization

Adding New Loot Items

  1. Edit Config.loot.items in config.lua:

  1. Ensure your item system supports kq_link:AddPlayerItem export

Adding New Locker Locations

Add entries to Config.lockers:

Customizing Loot Props

  1. Add prop models to Config.props under appropriate size category

  2. If it's a large prop, add attachment configuration to Config.prop_attach

Modifying Minigames

  • Hacking: Edit Config.hack and modify nui/index.html for UI changes

  • Sequence: Edit Config.sequence values

Changing Rewards System

Modify GiveReward() function in server/editables/loot.lua to integrate with your item framework.


Troubleshooting

chevron-rightLockers Not Spawninghashtag
  • Check that locker models are in your streaming files

  • Verify coordinates are correct in Config.lockers

  • Enable Config.debug = true to see error messages

chevron-rightInteractions Not Workinghashtag
  • Ensure kq_link is installed and running

  • Check that the resource name is exactly ls_locker_theft

  • Verify key bindings in Config.inputs

chevron-rightLoot Not Appearinghashtag
  • Check Config.loot configuration

  • Verify empty_cell_chance and empty_loot_chance aren't too high

  • Ensure item names match your item system

chevron-rightHacking Minigame Not Showinghashtag
  • Check browser console for errors (F8 in-game)

  • Verify NUI files are loading (nui/index.html)

  • Ensure SetNuiFocus is working correctly

chevron-rightDispatch Not Workinghashtag
  • Verify kq_link dispatch export is available

  • Check Config.dispatch.jobs matches your job names

  • Ensure dispatch is enabled: Config.dispatch.enabled = true

chevron-rightPerformance Issueshashtag
  • The script uses chunked entity checking for performance

  • Large numbers of lockers may impact performance

  • Consider reducing locker count or optimizing distance checks


Notes

  • The script uses GlobalState for client-server synchronization

  • Locker units are only loaded when players are within 150 units

  • Large loot items use networked entities for multiplayer sync

  • The resource name must be exactly ls_locker_theft (checked on client start)

  • Some files are marked as escrow_ignore for customization


Support

For issues or questions, contact Lith Studios or check the original resource page.

Last updated