Skip to content

config.lua

The complete default config.lua for Petty Crime (sd-pettycrime). Use this as a reference or a starting point for your own configuration.

TIP

This is the full, unedited config file. For a detailed explanation of each option, see the Configuration page.

Download config.lua

lua
return {
    Locale = 'en', -- Locale used to load `locales/<Locale>.json`. Falls back to `en` if missing.
    ShopLogging = true, -- Enable/Disable logging for shop/ped actions.
    IconColors = false, -- Enable/Disable icon colors in the menus.
    Ped = {
        Location = {
            {x = 366.44, y = -1250.83, z = 31.51, w = 321.98},
            -- Add more locations as needed (Will Randomize from available locations each script start)
        },
        Model = "a_m_m_mlcrisis_01",
        Interaction = {
            Icon = "fas fa-circle",
            Distance = 3.0,
        },
        Scenario = "WORLD_HUMAN_STAND_IMPATIENT" -- Full list of scenarios @ https://pastebin.com/6mrYTdQv
    },
    Shop = {
        Enable = { Buying = true, Selling = true },
        BuyItems = {
            {
                Product = "lockpick", -- internal identifier for the item (item name)
                Price = 50, -- how much the player pays per unit
                Label = "Lockpick", -- direct string for title
                Description = "Essential tool for breaking into mailboxes and other locked containers", -- direct string for description
                IconName = "fas fa-key", -- FontAwesome icon
                IconColor = "#FFD700" -- Gold color for lockpick, if you don't have IconColor specified, no color will be applied.
            },
            {
                Product = "screwdriver",
                Price = 75,
                Label = "Screwdriver",
                Description = "Useful for tampering with parking meters and payphones",
                IconName = "fas fa-screwdriver",
                IconColor = "#C0C0C0"
            },
            {
                Product = "crowbar",
                Price = 150,
                Label = "Crowbar",
                Description = "Heavy-duty tool for more serious criminal activities",
                IconName = "fas fa-hammer",
                IconColor = "#e56969" 
            },
            {
                Product = "gloves",
                Price = 25,
                Label = "Gloves",
                Description = "Reduce the chance of leaving fingerprints behind",
                IconName = "fas fa-hand-paper",
                IconColor = "#26bbc5"
            }
        },
        SellItems = {
            {
                Product = "stolen_goods",
                Price = 100,
                Label = "Stolen Goods",
                Description = "Various items acquired through criminal activities",
                IconName = "fas fa-box",
                IconColor = "#e56969"
            },
            {
                Product = "jewelry",
                Price = 200,
                Label = "Stolen Jewelry",
                Description = "Valuable jewelry obtained from pickpocketing",
                IconName = "fas fa-gem",
                IconColor = "#9C27B0"
            },
            {
                Product = "electronics",
                Price = 150,
                Label = "Electronics",
                Description = "Electronic devices stolen from various sources",
                IconName = "fas fa-mobile-alt",
                IconColor = "#2196F3"
            }
        }
    },
    Stats = {
        Enable = true,
    },

    -- Shared, openable "package" loot item. Both mailbox break-ins and parcel
    -- theft hand out this single item — while a player holds one they carry it
    -- (see configs/parceltheft.lua for the carry visuals + open progress/skill
    -- check), and using it opens it and rolls the loot below. Configure the
    -- whole reward pool here so every source behaves identically.
    Package = {
        Item = 'package',                 -- Inventory item both crimes give. Must exist in your inventory.
        RewardChance = 80,                -- % chance an opened package isn't empty.
        LootCount = { min = 1, max = 3 }, -- Distinct items rolled per successful open.

        -- Weighted loot pool. `chance` is a relative weight (LootCount distinct
        -- items are sampled without replacement), not an absolute percentage.
        Rewards = {
            { item = 'lockpick',           chance = 25, min = 1, max = 2 },
            { item = 'phone',              chance = 20, min = 1, max = 1 },
            { item = 'goldchain',          chance = 20, min = 1, max = 2 },
            { item = 'gold_watch',         chance = 18, min = 1, max = 2 },
            { item = 'purse',              chance = 18, min = 1, max = 1 },
            { item = 'rolex',              chance = 14, min = 1, max = 1 },
            { item = 'stolen_toaster_01',  chance = 14, min = 1, max = 1 },
            { item = 'stolen_mixer_01',    chance = 14, min = 1, max = 1 },
            { item = 'stolen_coffemac_02', chance = 14, min = 1, max = 1 },
            { item = 'stolen_laptop_01a',  chance = 12, min = 1, max = 1 },
            { item = 'goldbar',            chance = 8,  min = 1, max = 1 },
            { item = '10kgoldchain',       chance = 6,  min = 1, max = 1 },
            { item = 'gang-keychain',      chance = 5,  min = 1, max = 1 },
            { item = 'thermite',           chance = 4,  min = 1, max = 1 },
        },
    },

    Levels = {
        mailbox = {
            [1] = {
                -- Starting level - no XP threshold required
                xpRequired = 0,
            },
            [2] = {
                xpRequired = 150,
            },
            [3] = {
                xpRequired = 300,
            }
        },
        payphone = {
            [1] = {
                xpRequired = 0,
            },
            [2] = {
                xpRequired = 120,
            },
            [3] = {
                xpRequired = 250,
            }
        },
        parkingmeter = {
            [1] = {
                xpRequired = 0,
            },
            [2] = {
                xpRequired = 180,
            },
            [3] = {
                xpRequired = 350,
            }
        },
        pickpocket = {
            [1] = {
                xpRequired = 0,
            },
            [2] = {
                xpRequired = 100,
            },
            [3] = {
                xpRequired = 200,
            }
        },
        robaped = {
            [1] = {
                xpRequired = 0,
            },
            [2] = {
                xpRequired = 200,
            },
            [3] = {
                xpRequired = 400,
            }
        },
        shoplift = {
            [1] = {
                xpRequired = 0,
            },
            [2] = {
                xpRequired = 80,
            },
            [3] = {
                xpRequired = 160,
            }
        },
        parceltheft = {
            [1] = {
                xpRequired = 0,
            },
            [2] = {
                xpRequired = 175,
            },
            [3] = {
                xpRequired = 380,
            }
        },
        vending = {
            [1] = {
                xpRequired = 0,
            },
            [2] = {
                xpRequired = 100,
            },
            [3] = {
                xpRequired = 220,
            }
        },
        catalytic = {
            [1] = {
                xpRequired = 0,
            },
            [2] = {
                xpRequired = 250,
            },
            [3] = {
                xpRequired = 550,
            }
        },
        smashgrab = {
            [1] = {
                xpRequired = 0,
            },
            [2] = {
                xpRequired = 200,
            },
            [3] = {
                xpRequired = 450,
            }
        },
        tiretheft = {
            [1] = {
                xpRequired = 0,
            },
            [2] = {
                xpRequired = 280,
            },
            [3] = {
                xpRequired = 600,
            }
        },
        acstrip = {
            [1] = {
                xpRequired = 0,
            },
            [2] = {
                xpRequired = 220,
            },
            [3] = {
                xpRequired = 480,
            }
        },
        newsrack = {
            [1] = {
                xpRequired = 0,
            },
            [2] = {
                xpRequired = 90,
            },
            [3] = {
                xpRequired = 220,
            }
        },
        atmskimmer = {
            [1] = {
                xpRequired = 0,
            },
            [2] = {
                xpRequired = 200,
            },
            [3] = {
                xpRequired = 460,
            }
        },
        tireslash = {
            [1] = {
                xpRequired = 0,
            },
            [2] = {
                xpRequired = 150,
            },
            [3] = {
                xpRequired = 320,
            }
        },
        brakecut = {
            [1] = {
                xpRequired = 0,
            },
            [2] = {
                xpRequired = 240,
            },
            [3] = {
                xpRequired = 520,
            }
        },
        wheelloose = {
            [1] = {
                xpRequired = 0,
            },
            [2] = {
                xpRequired = 200,
            },
            [3] = {
                xpRequired = 440,
            }
        },
        fuelsabotage = {
            [1] = {
                xpRequired = 0,
            },
            [2] = {
                xpRequired = 230,
            },
            [3] = {
                xpRequired = 500,
            }
        },
        signrob = {
            [1] = {
                xpRequired = 0,
            },
            [2] = {
                xpRequired = 100,
            },
            [3] = {
                xpRequired = 220,
            }
        },
        brickgas = {
            [1] = {
                xpRequired = 0,
            },
            [2] = {
                xpRequired = 200,
            },
            [3] = {
                xpRequired = 450,
            }
        }
    }
}