🚽Toilet Stashes

The Toilet Stash System allows prisoners to hide items in toilets located around their cells. This system adds depth to contraband handling, giving players a risk-based storage option that is hidden from guards.


📦 What is a Toilet Stash?

A stash zone randomly assigned to toilets where inmates can:

  • Store illegal or stolen items

  • Retrieve them later

  • Hide items from guards or other inmates

Each stash is unique to the player and only accessible by them.


🔧 Configuration Example

Inside your config.lua, set the stash locations:

Config.ToiletStashCoords = {
    vector3(1767.72, 2502.99, 45.52),
    vector3(1764.58, 2501.18, 45.53),
    vector3(1761.42, 2499.36, 45.49),
    vector3(1755.15, 2495.73, 45.47)
}

These coordinates determine where toilet props are and which will act as stash points.


📁 Inventory Integration

Stash behavior adjusts based on which inventory system you're using:

Inventory
Behavior

ox_inventory

RegisterStash API used per player

qb-inventory

Basic open stash logic

qs-inventory

Register and open stash per player

The stash name is dynamically generated:

prisonstash_<citizenid>

Each stash is private and persistent for that inmate.


⚙️ Customization Options

You can adjust:

  • 🔐 Slots and Weight in ToiletStashInfo:

Config.ToiletStashInfo = {
    Slots = 15,
    Weight = 10000
}
  • 🔄 Prop Draw Outlines using:

Config.ObjectOutlines = true

This adds a yellow outline on usable stash toilets for better UX.


🧠 Developer Tips

Want guards to search stashes?
Use server-side commands or add an override zone

Want to add risk to using stashes?

Add a cooldown or chance of guards discovering it

Want more immersion?

Play a toilet interaction animation before access

Last updated