HQ

config.hq.lua
Config["HQ"] = {
    ["Strains"] = {
        -- All of the expenses of managing a strain.
        SetStrainNameCost = 10,
        RenameStrainCost = 20,
        MemberInviteCost = 1,
 
        MaxMembers = 12,
 
        -- The cooldown a member will have to wait before they can join another strain.
        MemberCooldown = 60 * 60 * 24 * 7, -- 1 week
    },
 
    ["ContractsSettings"] = {
        GenerationTime = "Thursday, 00:00",
        GenerateSimuoltaneously = false,
        GenerateSimuoltaneouslyWaitTime = 500, -- In milliseconds
 
        -- How often the contracts will be updated.
        -- Recommened to keep it at 1 minute. So the contract will have +- 1 minute of expiration/reset time.
        -- Do not go higher than 1 minute.
        -- You can go lower than 1 minute but it is not recommended as it will increase server side usage because of the loop.
        UpdateTime = 1,                      -- In minutes
        UpdateSimuoltaneously = false,
        UpdateSimuoltaneouslyWaitTime = 100, -- In milliseconds
 
        -- How many join boxes will be generated in total.
        MaxPeopleInGroup = 9,
    },
 
    ["ContractsCategories"] = {
        ["all"] = "All Contracts",
        ["houserobbery"] = "House Robbery",
    },
 
    ["Contracts"] = {
        -- House Robberies
        ["Micheal's House"] = {
            name = "Micheal's House",
            category = "houserobbery",
            info = {
                ['rewards'] = {
                    "Weapon Parts",
                    "Electronics",
                    "Jewelry",
                },
                ['requirments'] = {
                    "Lockpick",
                    "A Hacker",
                },
            },
            image = "house_1",
            price = 0,
            eventInfo = {
                name = "bd-heists:server:houserobbery:start-job",
                type = "server",
                parameters = {
                    house = "Micheal",
                },
            },
            minMembers = 2,
            maxMembers = 4,
 
            -- Expiration time is the time (in Minutes) you have to complete the contract from the moment it is reset/generated.
            expirationTime = 20, -- 20 minutes
 
            -- Reset time is the time (in Minutes) the contract will be unavailable for after it has expired/has been completed.
            -- For example if you complete the contract in 10 minutes and the reset time is 5 minutes, the contract will be unavailable for 5 minutes.
            -- Othewise if you don't complete the contract in 20 minutes and it expires, the contract will be unavailable for 5 minutes again.
            -- In other words exact reset time depends on when the contract was completed or expired.
            resetTime = 5, -- 5 minutes
 
            -- Functions
            canPurchase = function()
                return true
            end,
 
            canJoin = function()
                return true
            end,
 
            canStart = function()
                return true
            end,
        },
    },
}