Server Configuration

The server configuration defines police requirements, cooldowns, skill progression, and loot tables for the pickpocket system.

Police Requirement

The policeRequired setting controls the minimum number of police officers needed to pickpocket:

policeRequired = false
policeRequiredrequirednumber|false
The minimum number of police officers that must be online. Set to false to disable the requirement entirely.

Cooldown Configuration

The cooldown section defines the randomized time restriction between pickpocket attempts:

cooldown = {
    min = 90,
    max = 150,
}
cooldown.minrequirednumber
The minimum cooldown time in seconds between pickpocket attempts.
cooldown.maxrequirednumber
The maximum cooldown time in seconds between pickpocket attempts.

Skill Configuration

The skill section controls the progression system that rewards experienced pickpockets with easier minigame conditions:

skill = {
    enabled = true,

    maxLevel = 10,

    baseXp = 120,

    multiplier = 1.5,

    xp = {
        successAmount = 50,
        multiplier = 1.2,
    },

    bonusPerLevel = {
        targetZoneSize = 1,
        barSpeedReduction = 0.03,
    },
}
skill.enabledrequiredboolean
Whether the skill system is active. When false, no XP is awarded and no bonuses are applied.
skill.maxLevelrequirednumber
The maximum level a player can reach.
skill.baseXprequirednumber
The base XP required to reach level 1. Each subsequent level scales by multiplier.
skill.multiplierrequirednumber
The exponential scaling factor applied to XP requirements per level.
skill.xp.successAmountrequirednumber
The base XP awarded on a successful pickpocket.
skill.xp.multiplierrequirednumber
Multiplier applied to XP rewards per player level, so higher-level players earn more XP.
skill.bonusPerLevel.targetZoneSizerequirednumber
How many percentage points are added to the minigame target zone size per skill level.
skill.bonusPerLevel.barSpeedReductionrequirednumber
How much the minigame bar speed is reduced per skill level (e.g. 0.03 = 3% reduction per level).

Items List

The itemsList section defines which items can be found in each rarity tier. Each entry is a table with a name field and an optional locked flag:

itemsList = {
    common = {
        { name = 'black_money' },
    },

    uncommon = {
        { name = 'phone' },
    },

    rare = {
        { name = 'wallet' },
    },

    epic = {
        { name = 'gold_watch', locked = true },
    },

    legendary = {
        { name = 'diamond_ring', locked = true },
    },
}

When locked = true, the item is hidden in the UI — players see a lock icon and ??? instead of the real icon, name, and rarity color. The item is revealed with its full appearance on a successful grab.

itemsList.<rarity>[n].namerequiredstring
The inventory item name.
itemsList.<rarity>[n].lockedboolean
When true, the item is hidden in the UI until successfully grabbed. Defaults to false.

Complete Configuration Example

return {
    policeRequired = false,

    cooldown = {
        min = 90,
        max = 150,
    },

    skill = {
        enabled = true,

        maxLevel = 10,

        baseXp = 120,

        multiplier = 1.5,

        xp = {
            successAmount = 50,
            multiplier = 1.2,
        },

        bonusPerLevel = {
            targetZoneSize = 1,
            barSpeedReduction = 0.03,
        },
    },

    itemsList = {
        common = {
            { name = 'black_money' },
        },

        uncommon = {
            { name = 'phone' },
        },

        rare = {
            { name = 'wallet' },
        },

        epic = {
            { name = 'gold_watch', locked = true },
        },

        legendary = {
            { name = 'diamond_ring', locked = true },
        },
    },
}