# ๐ Farm Store Robbery Script โ Gabz Edition (README)
Thank you for choosing the Farm Store Robbery script for your FiveM server! This package provides an immersive, configurable store-robbery experience (Gabz locations & props supported) with extensive per-interaction options, minigame hooks, loot tables, and police dispatch integration. ๐ญ๐ฐ
---
## โ ๏ธ Important Notice (Dependencies)
To ensure the script works properly you **must** install the following:
- community_bridge (required) ๐ ย
ย <https://github.com/The-Order-Of-The-Sacred-Framework/community_bridge>
- ox_lib (required) ๐ ย
ย <https://github.com/overextended/ox_lib>
Optional / recommended for vanilla experience (minigames & UI):
- boii_minigames (minigame implementations) ๐ฎ
ย <https://github.com/boiidevelopment/boii_minigames>
- bl_ui (UI used by some minigames) ๐ผ๏ธ ย
ย <https://github.com/Byte-Labs-Studio/bl_ui>
- lockpick (lockpick minigame) ๐ ย
ย <https://github.com/baguscodestudio/lockpick>
Compatibility: QBOX | QBCORE | ESX | STANDALONE (script-side glue required). โ๏ธ
Join our Farm Discord for help, updates and community: <https://discord.gg/nKPvwZTfcq> ๐ง
---
## ๐ Quick Installation / Startup
1. Download and install `community_bridge` and any minigame resources you plan to use.
2. Place folders in your server `resources` directory.
3. Ensure the dependencies are started before this resource in your server.cfg:
```lua
ensure community_bridge
ensure boii_minigames
ensure bl_ui
ensure lockpick
ensure farm_gabz_storerobbery
```
(Only ensure the resources you actually install.)
---
## โจ Key Features
- ๐ง Full control for every robbery interaction: Electric box, Registers, Keypad, Safe, Computer, Shelves, Fridges, Freezer, Donut stands, Door.
- ๐ฏ Per-interaction settings: enable/disable, interaction type, required items, skill checks, minigames, progress bars, police alerts.
- ๐ต Flexible reward system: cash/bank/item, skill XP, item drops with configurable chances and amounts.
- โฑ๏ธ Global or per-location cooldown/reset timers.
- ๐ฌ Evidence system integration leaves forensic evidence at robbery scenes for police investigation.
- ๐ Debug mode and per-action logging options for troubleshooting.
- ๐งฉ Supports community_bridge / drawtext interactions for flexible UX.
- โ๏ธ pre-translated into 24 languages for international server compatibility.
---
## ๐งญ Config Overview (config.lua)
Top-level:
- Config.Locale โ language code (default: 'en') ๐
- Config.Debug โ enable debug prints / debug zones ๐
- Config.Keybind โ key for 'drawtext' interactions (default: 38) โจ๏ธ
- Config.Logs โ toggles for logging: startRobbery, resetRobbery, dispatch, addMoney, addSkill, addItem ๐
RobberySettings (main table) includes:
- ResetTime โ minutes until location resets (default: 60) โฒ๏ธ
- PoliceJobs โ list of job names (e.g., 'police', 'sheriff') that receive alerts ๐
- MinimumPoliceRequired โ minimum online cops required to start a robbery ๐ฎโโ๏ธ
- StartFromElectricBox โ whether robbery must begin at electric box ๐
- Cooldown.global โ true = single global cooldown across all locations; false = per-location โ๏ธ
Each interaction (ElectricBox, Registers, Keypad, Safe, Computer, Shelves, Fridges, Donut, Freezer, Door) has similar configurable keys:
Common keys:
- enable โ toggle โ /โ
- interaction โ 'bridge' (community_bridge) ๐ or 'drawtext' โ๏ธ
- skill โ { required = bool, level = { skill = 'name', level = N } } ๐
- itemsRequired โ mapping itemName => { quantity, breakChance } ๐งฐ
- Minigame โ identifier string ('wirecut', 'lockpick', 'numberslide', 'skillbar', 'circleprogress') ๐ฎ
- ProgressBarTime โ seconds for progress bar โณ
- alertPolice โ send dispatch alert? ๐ฃ
- size / zone โ vec3(...) interaction size ๐
- props โ table of prop model names for randomized props ๐ฒ
---
## ๐ Reward Structure (per interaction)
- Reward.Money:
ย - Moneytype โ "cash" | "bank" | "item" | nil (use Lua nil to disable) ๐ธ
ย - MoneyItem โ item name used when Moneytype == "item" (commonly "dirty_money") ๐งพ
ย - MoneyReward โ { min = x, max = y } amount range โ๏ธ
- Reward.Skill:
ย - Enable โ boolean to grant skill XP ๐
ย - Name โ skill identifier ๐ท๏ธ
ย - Reward โ { min = x, max = y } points range ๐ฏ
- Reward.GetItem โ whether to drop items ๐
- Reward.Item โ array of loot entries: { item = "name", chance = percentage, amount = { min, max } } ๐ฒ
Notes:
- Moneytype = nil (Lua nil) is different from string "nil" โ use nil to disable monetary rewards. โ ๏ธ
- breakChance is a 0โ100 percentage for item break on use. ๐จ
---
## ๐ Example Defaults (from config.lua)
- Registers: Moneytype = "cash", MoneyReward 150โ300; skill 'registers'; item drops like diamond_ring, goldchain. ๐
- Safe: Moneytype = "cash", MoneyReward 500โ1000; skill 'safe'; richer item table (diamond_ring, goldchain, rolex). โ
- ElectricBox: can give dirty_money + copper; used to trigger full robbery. ๐๐ช
- Shelves / Fridges / Donut / Freezer: typically GetItem = true and provide food/drinks (donut, water, milk, etc.). ๐ฉ๐ฅค
---
## ๐น๏ธ Minigame Names & Integration
Minigame identifiers used in config (script needs to call your minigame implementations accordingly):
- wirecut โ๏ธ
- lockpick ๐
- numberslide ๐ข
- skillbar ๐ง
- circleprogress โญ
Make sure your server has minigame resources and that the script maps these identifiers to the appropriate minigame exports/events.
---
## ๐ก Tips & Recommendations
- Adjust MinimumPoliceRequired for realistic RP balance โ higher = more challenging. โ๏ธ
- Use Cooldown.global = true to prevent "store-hopping" farming across the map. ๐
- For best UX, use community_bridge (interaction = 'bridge'). ๐
- Tune ProgressBarTime to align with minigame durations so players don't see mismatched timers. โฑ๏ธ
- For harder content, increase MoneyReward, increase item chance for safes/computers. ๐ง
- Use Config.Debug = true during setup to visualize interaction zones and logs. ๐งญ
---
## ๐ ๏ธ Troubleshooting
- Interactions not showing:
ย - Verify community_bridge is installed and interaction is set to 'bridge', or set to 'drawtext' if you don't use bridge. ๐
- Items not consuming / break logic:
ย - Confirm your inventory integration removes items and applies breakChance logic. ๐งพ
- Police alerts not firing:
ย - Ensure PoliceJobs matches your framework's job names and dispatch integration is present. ๐จ
---
## โ๏ธ How to Customize
- Edit Reward.Item lists to change loot tables. ๐งพ
- Change itemsRequired to require different tools (e.g., custom tools instead of lockpick). ๐ ๏ธ
- Toggle alertPolice and tailor PoliceJobs to who should receive alerts. ๐
- Change MoneyReward min/max to tune economy impact. ๐ฑ
---
## โถ๏ธ Suggested Next Steps
- Integrate the script with your server's economy and inventory (QBCore/ESX/etc) to manage Moneytype behaviors and item grants. ๐
- Map your minigame resources to the identifiers used in the config. ๐งฉ
- Tune PoliceJobs, MinimumPoliceRequired, and rewards for your target playerbase. ๐ฅ
- Consider enabling Config.Logs while testing to capture detailed events for debugging. ๐
---
## ๐ฆ Credits & Links
- community_bridge โ <https://github.com/The-Order-Of-The-Sacred-Framework/community_bridge>
- boii_minigames โ <https://github.com/boiidevelopment/boii_minigames>
- bl_ui โ <https://github.com/Byte-Labs-Studio/bl_ui>
- lockpick โ <https://github.com/baguscodestudio/lockpick>
- Farm Discord โ <https://discord.gg/nKPvwZTfcq>