Configuration


Config Preview: v1.0

Config = {}

Config.WebhookCollect = ""
Config.WebhookProcessSync = ""
Config.WebhookProcessAsync = ""
Config.WebhookSelling = ""
-- Locales Config

Config.InteractionText = "Collect"
Config.CollectedMessage = "You collected: "
Config.InfoMessage = "You need a tool!" 
Config.ProcessInfo = "Item processed: "
Config.ProcessInUse = "This process is already in use!"
Config.MissingItems = "Missing Items!"
Config.NeededItems = "You need: "
Config.YouReceived = "You recieved: "
Config.SellZone = "Iniciate Drug Deal"
Config.CancelSell = "Cancel"
Config.Deal = "Trying to sell..."
Config.NoSell = "No ones buying here at this hour."
Config.AlertBlip = "Suspected Ilegal Sale"
Config.SellAlert = "[ALERT] Suspect Ilegal Sale. Marked on map."
Config.SellReject = " rejected and left."
Config.SellNeed = " said you need "
Config.SellBought = " bought "
Config.SellFor = " for $"
Config.SellOccupied = "This zone is already occupied!"
Config.CoolDown = "You have to wait "
Config.CoolDownMinutes = " minute(s) "
Config.NoRequirement = "You don't have any of the requirements."
Config.NoItems = "You don't have the needed items."
Config.NoPolice = "There's not enough police."
Config.StartProcessAsync = "Drying Started. Come back later!"
Config.ProcessAsyncInfo = "Drying up..."
Config.ProcessAsyncCaught = "Someone already picked up the product."
Config.ProcessAsyncStillDry = "Still Drying up, wait "
Config.CollectAsync = "Collect Dry Plant"
Config.RespawnTimeMinutes = 5 -- Time in minutes for the respawn of all plants

Config.PickZones = {
    {
        center = vector3(-2212.9, 678.79, 120.3), -- Coordinates
        radius = 10.0, -- Radius of the spawn 
        spacing = 2.0, -- Space between interactive props
        amount = 5, -- Amount of spawn props inside the radius (Don't go too crazy or the script will have troubles starting)
        item = {
            name = "weed", -- Item spawn name
            label = "Marijuana", -- Name for the notification
            prop = "prop_weed_02", -- Prop for the plant
            --requireItem = "acid", -- Required item to harvest plant | Set this line on comment if the requireItemEnabled = false or remove comment if you set it to true
            requireItemEnabled = false, -- If the player needs an item to harvest or not
            amount = 2 -- Amount of the item given to the player after harvest
        }
    },
    {
        center = vector3(-4790.54, -2529.21, 2.4),
        radius = 10.0,
        spacing = 3.0,
        amount = 15,
        item = {
            name = "weed",
            label = "Marijuana",
            prop = "prop_weed_02",
            --requireItem = "acid",
            requireItemEnabled = false,
            amount = 2
        }
    },
    {
        center = vector3(-2666.55, -268.44, 159.54),
        radius = 50.0,
        spacing = 5.0,
        amount = 20,
        item = {
            name = "poppy",
            label = "Poppy",
            prop = "prariepoppy_p",
            --requireItem = "acid",
            requireItemEnabled = false,
            amount = 2
        }
    },
    {
        center = vector3(-2038.93, -1908.23, 110.19),
        radius = 20.0,
        spacing = 3.0,
        amount = 13,
        item = {
            name = "coca",
            label = "Coca",
            prop = "s_butterflyweedpicked01x",
            --requireItem = "acid",
            requireItemEnabled = false,
            amount = 2
        }
    },
}
Config.ProcessSync = { -- In this type of process the player has to stay a determined time in place to process
    {
        id = "marijuana_process_1", -- ID of the zone (Has to be always different)
        coords = vector4(-5432.27, -3666.13, -22.02, 93.52), -- Coordinates
        prop = "p_workbenchdesk01x", -- Prop that the script spawns
        processTime = 14, -- Time in seconds
        inputItem = "dried_weed", -- Item that player has to have to process
        inputAmount = 4, -- Amount of input item
        outputs = {
        { name = "grinded_weed", amount = 2 },
        }, -- Amout of the output item
        label = "Grind Weed", -- Label of the prompt to interact
        animDict = "script_common@shared_scenarios@stand@random@herbalist@mix_mortar@idle_a", -- Lib of the animation
        animName = "idle_c", -- Animation
        requireToolEnabled = true, -- If Needs a certain item to process
        requireTool = "small_knife", -- spawn name of item in db
    },
    {
        id = "marijuana_process_2",
        coords = vector4(-5852.79, -3747.65, -25.08, 2.85),
        prop = "p_workbenchdesk01x",
        processTime = 10,
        inputItem = "dried_weed",
        inputAmount = 5,
        outputs = {
        { name = "grinded_weed", amount = 3 },
        },
        label = "Grind Weed",
        animDict = "script_common@shared_scenarios@stand@random@herbalist@mix_mortar@idle_a",
        animName = "idle_c",
        requireToolEnabled = true,
        requireTool = "small_knife",
    },
    {
        id = "poppy_process_1",
        coords = vector4(-2576.96, -1388.61, 149.28, 183.41),
        prop = "p_workbenchdesk01x",
        processTime = 15,
        inputItem = "poppy",
        inputAmount = 5,
        outputs = {
        { name = "smash_poppy", amount = 3 },
        { name = "liquid_opium", amount = 3 },
        },
        label = "Smash Poppy",
        animDict = "script_common@shared_scenarios@stand@random@herbalist@mix_mortar@idle_a",
        animName = "idle_c",
        requireToolEnabled = false,
        requireTool = "small_knife",
    },
    {
        id = "coca_process_1",
        coords = vector4(2554.55, 763.35, 77.33, 334.13),
        prop = "p_workbenchdesk01x",
        processTime = 15,
        inputItem = "dried_coca",
        inputAmount = 5,
        outputs = {
        { name = "refined_coca", amount = 3 },
        },
        label = "Smash Coca",
        animDict = "script_common@shared_scenarios@stand@random@herbalist@mix_mortar@idle_a",
        animName = "idle_c",
        requireToolEnabled = false,
        requireTool = "small_knife",
    },
}

Config.ProcessAsync = { -- In this type of process the player leaves an item to process and has to come back after the timer ended
     {
         id = "dry_weed_1", -- ProcessAsync ID
         coords = vector4(-5840.22, -3733.27, -25.34, 92.37), -- Coordinates
         prop = "p_hangracksml01x", -- prop that the script spawns
         processTime = 7, -- Time in minutes
         inputItem = "weed", -- Item required for process
         inputAmount = 5, -- Amount required for process
         outputItem = "dried_weed", -- Given item after process
         outputAmount = 5, -- Amount of given item after process
         label = "Set Plant to Dry", -- Lavel of the prompt to interact
     },
     {
         id = "dry_weed_2",
         coords = vector4(-2763.45, -3213.23, -8.4, 58.82),
         prop = "p_hangracksml01x",
         processTime = 15,
         inputItem = "weed",
         inputAmount = 15,
         outputItem = "dried_weed",
         outputAmount = 15, 
         label = "Set Plant to Dry",
     },
     {
         id = "dry_coca_1",
         coords = vector4(2555.05, 758.46, 76.83, 233.35),
         prop = "p_hangracksml01x",
         processTime = 20,
         inputItem = "coca",
         inputAmount = 15,
         outputItem = "dried_coca",
         outputAmount = 10, 
         label = "Set Plant to Dry",
     },
     {
         id = "dry_poppy_1",
         coords = vector4(-2581.38, -1386.7, 149.24, 79.92),
         prop = "p_hangracksml01x",
         processTime = 20,
         inputItem = "smashed_poppy",
         inputAmount = 15,
         outputItem = "poppy_seeds",
         outputAmount = 4, 
         label = "Set Plant to Dry",
     },
     {
         id = "dry_coca_2",
         coords = vector4(2551.64, 764.02, 77.4, 30.56),
         prop = "p_hangracksml01x",
         processTime = 5,
         inputItem = "refined_coca",
         inputAmount = 5,
         outputItem = "cocaine",
         outputAmount = 3, 
         label = "Set Product to Dry",
     },
}
Config.SaleAlert = {
    job = "police",   -- name of job that will recieve the alert
    chance = 45,  -- chance of alerting job 
    blipTime = 3,    -- For how long will the blip shows in minutes
}

Config.SellRequirements = {
    enabled     = false, -- Should it be required a certain job to be online to sell?
    requiredJob = "police", -- required job to be online
    minOnline   = 2          -- amount of people online in the job
}

Config.SellCooldownMinutes = 1 -- Minutes player should wait after canceling sell | This is so that the player can't cancel over and over again to get better times of spawn


Config.SellZones = {
    {
        id = "street_sell_1", -- Id of sell zone
        coords = vector3(2835.66, -1237.25, 47.6), -- Coordinates of sell zone
        range = 2.0, -- Range of the radius of sell zone
        waitSpawn = { min = 1, max = 2 }, -- The time that the script waits before spawning Npc in seconds
        activeHours = { from = 22, to = 6 }, -- Ingame schedule that allows players to sell | From 20pm to 5am
        interactionTime = 15, -- Interaction time between player and npc (Progressbar)
        requiredItems = {
            { name = "dried_weed", amount = 2 }, -- Required items to iniciate sell | Recommended to be the same amount as the min of the lowest npc
        },
        npcs = {
            {
                model = "mp_fm_knownbounty_informants_males_01", -- Hash of ped model 
                name = "Drunk", -- Name of the Npc
                spawn = vector3(2815.38, -1228.08, 47.54), -- Coordinates where the npc spawns | Should be somewhat close to the selling point | He will walk towards the player and leave after 
                chance = 80, -- Chance of NPC spawning as buyer
                offers = {
                    {
                    item = "dried_weed",-- Item spawn name in db
                    amount = { min = 2, max = 10 }, -- Amount range that Npc is going to ask
                    chance = 60, -- Chance of NPC requesting this item
                    prices = { 15, 20, 25 } -- List of prices that the npc pays for for the amount that he's taking
                    },
                    { 
                    item = "grinded_weed",-- Item spawn name in db
                    amount = { min = 2, max = 6 }, -- Amount range that Npc is going to ask
                    chance = 35, -- Chance of NPC requesting this item
                    prices = { 15, 30, 36 } -- List of prices that the npc pays for for the amount that he's taking
                    },
                    { item = "cocaine",-- Item spawn name in db
                    amount = { min = 2, max = 6 }, -- Amount range that Npc is going to ask
                    chance = 5, -- Chance of NPC requesting this item
                    prices = { 25, 30, 45 } -- List of prices that the npc pays for for the amount that he's taking
                    },
                }
            },
            {
                model = "a_m_m_bivfancydrivers_01",
                name = "Fancy", 
                spawn = vector3(2815.38, -1228.08, 47.54),
                chance = 10,
                offers = {
                    {
                    item = "dried_weed",
                    amount = { min = 10, max = 25 },
                    chance = 60,
                    prices = { 45, 50, 55 },
                    },
                    { 
                    item = "cocaine",
                    amount = { min = 10, max = 20 }, 
                    chance = 35,
                    prices = { 60, 65, 85 }
                    },
                    { item = "liuid_opium",
                    amount = { min = 10, max = 20 }, 
                    chance = 5,
                    prices = { 50, 65, 70 } 
                    },
                }
            },
        }
    }
}

Last updated