Configuration
This page documents all configuration options available in config.lua.
Core Settings
Section titled “Core Settings”Config.DebugMode = trueEnables or disables debug logging in the server console. Set to false in production.
Config.Framework = 'esx'Sets your server framework. Valid values: 'esx' or 'qb'.
Config.Target = trueEnables target system integration for chain snatching. Supports ox_target, qtarget, and qb-target when enabled.
Chain Snatching Settings
Section titled “Chain Snatching Settings”Config.ChainSnatch = { enabled = true, target = false, distance = 2.0, needHandsUp = true, minigGame = { 'easy', 'easy' }, coolDown = 30000,}| Setting | Type | Default | Description |
|---|---|---|---|
enabled | boolean | true | Enable or disable chain snatching feature |
target | boolean | false | Enable target eye interaction for chain snatching |
distance | number | 2.0 | Maximum distance in meters to snatch chains |
needHandsUp | boolean | true | Require target to be hands up or cuffed |
minigGame | table/boolean | {'easy', 'easy'} | Skill check difficulty array or false to disable |
coolDown | number | 30000 | Cooldown in milliseconds between snatch attempts |
minigGame Configuration
Section titled “minigGame Configuration”The minigame setting accepts an array of two difficulty levels:
minigGame = { 'easy', 'easy' } -- Single difficultyminigGame = { 'easy', 'medium' } -- Progressive difficultyminigGame = { 'medium', 'hard' } -- Harder difficultyValid difficulty values: 'easy', 'medium', 'hard'
Set to false to disable the minigame requirement:
minigGame = falseDistance Setting
Section titled “Distance Setting”Adjust the distance value to change how close players must be to snatch chains:
distance = 2.0 -- Default (2 meters)distance = 3.0 -- Allow from further awaydistance = 1.5 -- Require closer proximityCooldown Setting
Section titled “Cooldown Setting”Adjust the cooldown between snatch attempts in milliseconds:
coolDown = 30000 -- 30 seconds (default)coolDown = 60000 -- 60 secondscoolDown = 10000 -- 10 secondsHands Up Requirement
Section titled “Hands Up Requirement”Set needHandsUp to false to allow chain snatching from any player:
needHandsUp = false -- Allow snatching from any playerneedHandsUp = true -- Only allow when target is hands up or cuffedWhen enabled, the target must be in one of these states:
- Handcuffed
- Playing
mp_arrestinganimation - Playing
missminuteman_1ig_2hands up animation - Playing
random@mugging3hands up animation
Presets Configuration
Section titled “Presets Configuration”Config.Presets = {}This table is populated automatically from files in the preset/ folder. Each preset defines a clothing type with its items, animations, and default values.
Creating Custom Presets
Section titled “Creating Custom Presets”To add custom clothing items, create a new file in the preset/ folder following this structure:
Config.Presets.chains = { animation = { puton = { dict = 'clothingtie', anim = 'try_tie_positive_a', delay = 3400 }, takeoff = { dict = 'clothingtie', anim = 'try_tie_positive_a', delay = 2800 }, }, default = { male = { chain_1 = 0, chain_2 = 0, }, female = { chain_1 = 0, chain_2 = 0, }, }, items = { ['custom_chain'] = { male = { main = { chain_1 = 123, chain_2 = 0, }, }, female = { main = { chain_1 = 104, chain_2 = 0, }, }, }, },}Preset Structure Explained
Section titled “Preset Structure Explained”Animation:
puton- Animation dictionary and name when putting on clothing, plus delay in millisecondstakeoff- Animation dictionary and name when taking off clothing, plus delay in milliseconds
Default:
- Default clothing values for each gender when no item is equipped
- Use drawable ID
0and texture ID0to remove the item
Items:
- Key is the item name from your inventory
- Define drawable (
_1) and texture (_2) IDs for each gender - Optional
extrasfield for additional clothing components
Supported Clothing Slots
Section titled “Supported Clothing Slots”Component Slots (clothing):
mask_1,mask_2- Masksarms_1,arms_2- Armspants_1,pants_2- Pantsbags_1,bags_2- Bagsshoes_1,shoes_2- Shoestshirt_1,tshirt_2- T-shirtschain_1,chain_2- Chains/Necklacesvests_1,vests_2- Vestsdecals_1,decals_2- Decalstorso_1,torso_2- Torso
Prop Slots (accessories):
helmet_1,helmet_2- Helmets/Hatsglasses_1,glasses_2- Glassesears_1,ears_2- Earrings/Headsetswatches_1,watches_2- Watchesbracelets_1,bracelets_2- Bracelets
Included Preset Types
Section titled “Included Preset Types”The script includes pre-configured preset files for 14 clothing categories:
| Preset | File | Description |
|---|---|---|
| Chains | preset/chains.lua | Necklaces and chain jewelry |
| Bracelets | preset/bracelets.lua | Wrist bracelets |
| Earrings | preset/ears.lua | Ear accessories |
| Glasses | preset/glass.lua | Sunglasses and eyewear |
| Watches | preset/watches.lua | Wrist watches |
| Helmets | preset/helmets.lua | Hats and helmets |
| Masks | preset/masks.lua | Face masks |
| Bags | preset/bags.lua | Backpacks and bags |
| Shoes | preset/shoes.lua | Footwear |
| Pants | preset/pants.lua | Jeans and legwear |
| T-shirts | preset/tshirt.lua | Upper body clothing |
| Torso | preset/torso.lua | Jacket and torso clothing |
| Decals | preset/decals.lua | Shirts and decals |
| Vests | preset/vest.lua | Body armor and vests |
You can add new items to existing presets or create new preset files following the same structure.
Example: Adding a Custom Watch
Section titled “Example: Adding a Custom Watch”Config.Presets.watches = { animation = { puton = { dict = 'clothingtie', anim = 'try_tie_positive_a', delay = 2000 }, takeoff = { dict = 'clothingtie', anim = 'try_tie_positive_a', delay = 1500 }, }, default = { male = { watches_1 = -1, watches_2 = 0, }, female = { watches_1 = -1, watches_2 = 0, }, }, items = { ['gold_watch'] = { male = { main = { watches_1 = 7, watches_2 = 0, }, }, female = { main = { watches_1 = 7, watches_2 = 0, }, }, }, },}Note: For prop slots like watches, use
-1as the default drawable ID to remove the prop, and0as the texture ID.
Note: This guide is written by a third party. If you find any incorrect or outdated information, please contact us on Discord so we can update it for you.