Meth

Meth making configuration (sh_meth.lua)

DIsabling/Enabling meth

Config.Meth.Enabled = true -- Toggle meth production functionality

Meth making items

-- Item names used in meth production
Config.Meth.Items = {
    pseudoephedrine = "pseudoephedrine",
    acetone = "acetone",
    hydrochloric_acid = "hydrochloric_acid",    
    ephedrine_solution = "ephedrine_solution",
    red_phosphorus = "red_phosphorus",
    iodine = "iodine",
    methamphetamine = "methamphetamine",
    sodium_hydroxide = "sodium_hydroxide",
    crystal_methamphetamine = "crystal_methamphetamine",
    meth_batch = "meth_batch",
    meth_bag = "meth_bag"
}

Meth making stages

-- Production stages configuration
Config.Meth.Stages = {
    -- Initial processing stage
    ["processing"] = {
        requiredItems = {
            { item = "pseudoephedrine", amount = 1 },
            { item = "acetone", amount = 1 },
            { item = "hydrochloric_acid", amount = 1 }
        },
        -- Temperature control minigame settings
        minigame = {
            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,
        },
        rewardItems = {
            { item = "ephedrine_solution", amount = 1 }
        },
        giveItemsBackOnFail = true, -- Return ingredients on failure
    },
    -- Mixing stage configuration
    ["mixing"] = {
        requiredItems = {
            { item = "ephedrine_solution", amount = 1 },
            { item = "red_phosphorus", amount = 1 },
            { item = "iodine", amount = 1 }
        },
        -- Pattern matching minigame settings
        minigame = {
            patternCount = 6,
            timingWindow = {
                acceptable = 15,
            },
            failureThreshold = 10,
            spawnInterval = 3000,
            minSpawnDelay = 800,
            maxSpawnDelay = 1500,
            gameTime = 10000,
            targetPosition = 85,
        },
        rewardItems = {
            { item = "methamphetamine", amount = 1 }
        },
        giveItemsBackOnFail = true,
    },
    -- Crystal formation stage
    ["crystals"] = {
        requiredItems = {
            { item = "methamphetamine", amount = 1 },
            { item = "sodium_hydroxide", amount = 1 }
        },
        -- Crystal growth minigame settings
        minigame = {
            timePerSample = 10000,
            extractionEnergyCost = 5,
            extractionDrainRate = 0.2,
            stabilityDecayRate = 0.1,
            energyRegenRate = 8,
            stabilizeEnergyCost = 10,
            minQualityToWin = 70,
            samplesRequired = 5
        },
        impurityRate = 0.3,     -- Rate of impure samples
        rewardItems = {
            { item = "meth_batch", amount = 1 }
        },
        giveItemsBackOnFail = true,
    },
    -- Final packaging stage
    ["packaging"] = {
        requiredItems = {
            { item = "meth_batch", amount = 1 }
        },
        -- Packaging minigame settings
        minigame = {
            targetWeight = 10.0,
            tolerance = 2.5,
            pourSpeed = 0.3,
            batchSize = 250,
        },
        rewardItems = {
            { item = "meth_bag", amount = 1 }
        },
        giveItemsBackOnFail = true,
    }
}

Meth animation positions and their rotations

-- Animation positions and rotations for each stage
Config.Meth.Animations = {
    Processing = {
        coords = vec3(1010.7286, -3198.2913, -39.0193),
        rot = vec3(0.0, 0.0, 0.0)
    },
    Mixing = {
        coords = vec3(1013.2224, -3201.2679, -40.2931),
        rot = vec3(180.0, 180.0, 0.0)
    },
    Crystals = {
        coords = vec3(1007.2224, -3196.2679, -39.9231),
        rot = vec3(180.0, 180.0, 0.0)
    },
    Packaging = {
        coords = vec3(1007.2224, -3196.6579, -39.9231),
        rot = vec3(0.0, 0.0, 0.0)
    }
}

Last updated