Drug labs

Drug lab configuration (sh_labs.lua)

Lab electricity

Config.Labs.Electricity = {
    Price = {min = 50, max = 150}, --The price for interval for electricty. The price is refreshed every minute.
    BillInterval = 60, --How often should the labs get bills for electricity (in minutes). Preferably keep this number lower to account for server restarts and such.
    StartDisableAfterUnpaidBills = 1, --How much unpaid bills can accumulate so that the electricity is disabled. SET TO FALSE TO DISABLE
    TimeFromBills = 24, --How much time from the unpaid bill until power is disabled (in hours). For example, if the last bill the lab received was 09-12 at 12:00 power would be disabled at 09-13 12:00
}

Lab types and IPL interiors and their positions

Config.Labs.Types = {
    ["weed"] = {
        title = "Weed Lab",
        upgrades = {
            security = {
                [1] = {
                    price = 5000,
                    iplSets = {
                        "weed_low_security"
                    },
                }, 
                [2] = {
                    price = 10000,
                    iplSets = {
                        "weed_security_upgrade"
                    },
                },
                [3] = {
                    price = 15000,
                    iplSets = {
                        "weed_security_upgrade"
                    },
                },
            },
            storage = {
                [1] = {
                    price = 5000,
                    slots = 10,
                    weight = 100000,
                    iplSets = {
                        "weed_chairs"
                    }
                }, 
                [2] = {
                    price = 10000,
                    slots = 15,
                    weight = 150000,
                    iplSets = {
                        "weed_chairs"
                    }
                },
                [3] = {
                    price = 15000,
                    slots = 25,
                    weight = 250000,
                    iplSets = {
                        "weed_chairs"
                    }
                },
            },
            ventilation = {
                [0] = {
                    max = 25,
                    usage = 1.0
                },
                [1] = {
                    price = 5000,
                    max = 50,
                    usage = 1.0,
                    iplSets = {
                        "weed_set_up"
                    }
                }, 
                [2] = {
                    price = 10000,
                    max = 75,
                    usage = 1.0,
                    iplSets = {
                        "weed_standard_equip"
                    }
                },
                [3] = {
                    price = 15000,
                    max = 100,
                    usage = 1.0,
                    iplSets = {
                        "weed_upgrade_equip"
                    }
                },
            },
            heating = {
                [0] = {
                    max = 40,
                    usage = 1.0
                },
                [1] = {
                    price = 5000,
                    max = 60,
                    usage = 0.9,
                    iplSets = {
                        "light_growtha_stage23_standard",
                        "light_growthb_stage23_standard",
                        "light_growthc_stage23_standard",
                        "light_growthd_stage23_standard",
                        "light_growthe_stage23_standard",
                        "light_growthf_stage23_standard",
                        "light_growthg_stage23_standard",
                        "light_growthh_stage23_standard",
                        "light_growthi_stage23_standard",
                        "weed_standard_equip"
                    }
                }, 
                [2] = {
                    price = 10000,
                    max = 80,
                    usage = 0.7,
                    iplSets = {
                        "light_growtha_stage23_upgrade",
                        "light_growthb_stage23_upgrade",
                        "light_growthc_stage23_upgrade",
                        "light_growthd_stage23_upgrade",
                        "light_growthe_stage23_upgrade",
                        "light_growthf_stage23_upgrade",
                        "light_growthg_stage23_upgrade",
                        "light_growthh_stage23_upgrade",
                        "light_growthi_stage23_upgrade",
                        "weed_upgrade_equip"
                    }
                },
                [3] = {
                    price = 15000,
                    max = 80,
                    usage = 0.6,
                    iplSets = {
                        "light_growtha_stage23_upgrade",
                        "light_growthb_stage23_upgrade",
                        "light_growthc_stage23_upgrade",
                        "light_growthd_stage23_upgrade",
                        "light_growthe_stage23_upgrade",
                        "light_growthf_stage23_upgrade",
                        "light_growthg_stage23_upgrade",
                        "light_growthh_stage23_upgrade",
                        "light_growthi_stage23_upgrade",
                        "weed_upgrade_equip"
                    }
                },
            },
        },
        interiorId = 247297,
        ipl = "bkr_biker_interior_placement_interior_3_biker_dlc_int_ware02_milo",
        enterCoords = vector4(1066.2437, -3183.3809, -39.1636, 87.6660),
        leavePoly = {
            name = "weed_leave",
            coords = vector3(1067.56, -3183.44, -40.16),
            size = vec3(1.6, 2, 4),
            heading = 0,
        },
        laptopPoly = {
            name = "weed_laptop",
            coords = vector3(1045.7, -3194.82, -41.16),
            size = vec3(1.75, 2, 4),
            heading = 0,
        },
        stashPoly = {
            name = "weed_stash",
            coords = vec3(1036.7, -3194.5, -39.2),
            size = vec3(4.0, 5.0, 4.0),
            heading = 0.0,
        }
    },
    ["cocaine"] = {
        title = "Cocaine Lab",
        upgrades = {
            security = {
                [1] = {
                    price = 5000,
                    iplSets = {
                        "security_low"
                    },
                },
                [2] = {
                    price = 10000,
                    iplSets = {
                        "security_high"
                    },
                },
                [3] = {
                    price = 15000,
                    iplSets = {
                        "security_high"
                    },
                },
            },
            storage = {
                [1] = {
                    price = 5000,
                    slots = 10,
                    weight = 100000,
                },
                [2] = {
                    price = 10000,
                    slots = 15,
                    weight = 150000,
                },
                [3] = {
                    price = 15000,
                    slots = 25,
                    weight = 250000,
                },
            },
            boiler = {
                [1] = {
                    price = 5000,
                    timeToProduce = 60,
                },
                [2] = {
                    price = 10000,
                     timeToProduce = 45,
                },
                [3] = {
                    price = 15000,
                     timeToProduce = 30,
                },
            },
            microwave = {
                [1] = {
                    price = 5000,
                    timeToProduce = 70,
                },
                [2] = {
                    price = 10000,
                     timeToProduce = 50,
                },
                [3] = {
                    price = 15000,
                     timeToProduce = 35,
                },
            },
        },
        interiorId = 247553,
        ipl = "bkr_biker_interior_placement_interior_4_biker_dlc_int_ware03_milo",
        enterCoords = vector4(1088.6, -3187.5, -38.99, 180.04),
        leavePoly = {
            name = "cocaine_leave",
            coords = vec3(1088.7, -3186.7, -41.0),
            size = vec3(1.5, 2.0, 4.0),
            heading = 0.0,
        },
        laptopPoly = {
            name = "cocaine_laptop",
            coords = vec3(1086.5, -3194.5, -41.0),
            size = vec3(1.5, 2.0, 4.0),
            heading = 0.0,
        },
        stashPoly = {
            name = "cocaine_stash",
            coords = vec3(1104.0, -3196.0, -41.0),
            size = vec3(1, 3.3, 4.0),
            heading = 90.0,
        },
        interactions = {
            boilingPoly = {
                name = "boiling_cocaine",
                coords = vector3(1103.8, -3193.7, -39.99),
                size = vec3(1, 1, 4),
                heading = 0,
            },
            packagingPoly = {
                name = "packaging_cocaine",
                coords = vector3(1101.52, -3199.5, -39.99),
                size = vec3(1.0, 1.0, 4.0),
                heading = 270
            },
            microwavePoly = {
                name = "microwave_cocaine",
                coords = vector3(1099.07, -3200.05, -39.99),
                size = vec3(1.0, 1.0, 4.0),
                heading = 0
            },
        }
    },
    ["meth"] = {
        title = "Meth Lab",
        upgrades = {
            security = {
                [1] = {
                    price = 5000,
                    iplSets = {
                        "meth_lab_security_high"
                    },
                }, 
                [2] = {
                    price = 10000,
                    iplSets = {
                        "meth_lab_security_high"
                    },
                },
                [3] = {
                    price = 15000,
                    iplSets = {
                        "meth_lab_security_high"
                    },
                },
            },
            storage = {
                [1] = {
                    price = 5000,
                    slots = 10,
                    weight = 100000,
                }, 
                [2] = {
                    price = 10000,
                    slots = 15,
                    weight = 150000,
                },
                [3] = {
                    price = 15000,
                    slots = 25,
                    weight = 250000,
                },
            },
            processing = {
                [1] = {
                    price = 5000,
                     duration = 120,
                    ranges = { perfect = {173, 177}, good = {170, 180}, fail = {165, 185} },
                    change = { speed = 0.8, step = 0.8, max = 5 },
                    events = { frequency = 3, intensity = 10, chance = 0.7 },
                    quality = { perfect = 1.0, good = 0.7, poor = 0.4 },
                    failTime = 5,
                },
                [2] = {
                    price = 10000,
                     duration = 90,
                    ranges = { perfect = {173, 177}, good = {170, 180}, fail = {165, 185} },
                    change = { speed = 0.8, step = 0.8, max = 5 },
                    events = { frequency = 3, intensity = 10, chance = 0.7 },
                    quality = { perfect = 1.0, good = 0.7, poor = 0.4 },
                    failTime = 10,
                },
                [3] = {
                    price = 15000,
                    duration = 60,
                    ranges = { perfect = {173, 177}, good = {170, 180}, fail = {165, 185} },
                    change = { speed = 0.8, step = 0.8, max = 5 },
                    events = { frequency = 3, intensity = 10, chance = 0.7 },
                    quality = { perfect = 1.0, good = 0.7, poor = 0.4 },
                    failTime = 15,
                },
            },
            mixing = {
                [1] = {
                    price = 5000,
                    patternCount = 6,
                    timingWindow = {
                        acceptable = 15,
                    },
                    failureThreshold = 5,
                    spawnInterval = 3000,
                    minSpawnDelay = 800,
                    maxSpawnDelay = 1500,
                    gameTime = 30000,
                    targetPosition = 85,
                },
                [2] = {
                    price = 10000,
                    patternCount = 6,
                    timingWindow = {
                        acceptable = 15,
                    },
                    failureThreshold = 7,
                    spawnInterval = 3000,
                    minSpawnDelay = 800,
                    maxSpawnDelay = 1500,
                    gameTime = 20000,
                    targetPosition = 85,
                },
                [3] = {
                    price = 15000,
                    patternCount = 6,
                    timingWindow = {
                        acceptable = 15,
                    },
                    failureThreshold = 10,
                    spawnInterval = 3000,
                    minSpawnDelay = 800,
                    maxSpawnDelay = 1500,
                    gameTime = 10000,
                    targetPosition = 85,
                },
            },
            crystals = {
                [1] = {
                    price = 5000,
                    timePerSample = 10000,
                    extractionEnergyCost = 5,
                    extractionDrainRate = 0.2,
                    stabilityDecayRate = 0.1,
                    energyRegenRate = 8,
                    stabilizeEnergyCost = 10,
                    minQualityToWin = 70,
                    samplesRequired = 5
                },
                [2] = {
                    price = 10000,
                    timePerSample = 12500,
                    extractionEnergyCost = 5,
                    extractionDrainRate = 0.2,
                    stabilityDecayRate = 0.09,
                    energyRegenRate = 10,
                    stabilizeEnergyCost = 8,
                    minQualityToWin = 60,
                    samplesRequired = 5
                },
                [3] = {
                    price = 15000,
                    timePerSample = 15000,
                    extractionEnergyCost = 5,
                    extractionDrainRate = 0.2,
                    stabilityDecayRate = 0.08,
                    energyRegenRate = 12,
                    stabilizeEnergyCost = 6,
                    minQualityToWin = 50,
                    samplesRequired = 5
                }
            }
        },
        interiorId = 247041,
        ipl = "bkr_biker_interior_placement_interior_2_biker_dlc_int_ware01_milo",
        enterCoords = vector4(997.0085, -3200.6641, -36.3937, 267.9557),
        leavePoly = {
            name = "meth_leave",
            coords = vector3(996.66, -3200.67, -37.39),
            size = vec3(1.4, 1, 2),
            heading = 0,
        },
        laptopPoly = {
            name = "meth_laptop",
            coords = vector3(1001.93, -3193.99, -39.99),
            size = vec3(2, 2, 2),
            heading = 0,
        },
        stashPoly = {
            name = "meth_stash",
            coords = vec3(996.58, -3200.29, -39.99),
            size = vec3(3.0, 2.0, 2.0),
            heading = 0.0,
        },
        interactions = {
            processingPoly = {
                name = "processing_meth",
                coords = vector3(1005.81, -3201.47, -39.99),
                size = vec3(2, 2, 4),
                heading = 0,
            },
            mixingPoly = {
                name = "mixing_meth",
                coords = vector3(1010.14, -3198.74, -39.99),
                size = vec3(2, 2, 4),
                heading = 0,
            },
            crystalsPoly = {
                name = "crystals_meth",
                coords = vector3(1007.92, -3193.79, -39.99),
                size = vec3(2, 2, 3),
                heading = 0,
            },
            packagingPoly = {
                name = "packaging_meth",
                coords = vector3(1012.86, -3193.81, -39.99),
                size = vec3(7, 2, 3),
                heading = 270,
            }
        }
    },
}

Lab locations and prices

Lab shop items

Lab ordered shop item drop off's

Last updated