> For the complete documentation index, see [llms.txt](https://solos.gitbook.io/solos/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://solos.gitbook.io/solos/weed-farm-v2/configuration.md).

# Configuration

### 1. **Framework and Target**

<pre class="language-lua"><code class="lang-lua"><strong>config.framework = {
</strong>    qb = false,                                            -- set to true if you are using qbcore
    esx = true,                                            -- set to true if you are using esx
    custom = false,                                        -- set to true if you are using a custom framework
}
</code></pre>

***

### 2. Teleports (Optional)

* This option allows you to set up an entrance and exit to the weedfarm interior

```lua
config.teleports = {
    enabled = true,                                         -- if false, disables teleports

    target = false,                                          -- if false, uses textUI ('Press [E]')

    enter = vector4(116.0, -2689.0, 6.0, 270.27),           -- enter teleport coords
    exit = vector4(1066.13, -3183.43, -39.16, 94.22),       -- exit teleport coords
}
```

***

### 3. Notifications&#x20;

* Here you can customize notifications to your liking
* You can either edit the `ox_lib` example below, or replace it with the event/export of your preffered notifications resource

```lua
config.notify = function(msg, status) -- DON'T TOUCH THIS

---------   edit (or replace) below   -------------  

    lib.notify({
        description = msg,
        position = 'top',
        type = status, -- success, error, inform
        style = {
            backgroundColor = 'rgba(0, 0, 0, 0.65)',
            color = 'white',
        },
    })

---------------------------------------------------

end
```

***

### 4. Plant Options

* **Water Can Amount:** How much water a **water can** item holds
* **Fertilizer Spray Amount:** How much fertilizer a spray bottle holds
* **Harvest Amount:** The minimum and maxium amounts of wet buds players can receive from harvesting a fully grown plant
  * amount is random number between min and max
* **Harvest Seed:**&#x20;
  * When true, there is a chance players will receive another seed when harvesting a plant

```lua
config.WaterCanAmount = 200                             -- how much water a water can holds (each plant takes 100)
config.FertilizerSprayAmount = 200                      -- how much fertilizer spray a fertilizer spray holds (each plant takes 100)

config.harvest_amount = {                               -- how much wet bud you get from harvesting

    min = 5,                                            -- minimum amount of wet bud that can be received
    max = 10,                                           -- maximum amount of wet bud that can be received
}                   

config.harvest_seed = {                 

    enabled = true,                                     -- if true, theres a chance player receives another seed when harvesting

    chance = 50,                                        -- % chance of receiving another seed (if enabled) | set to 100 to always give seed
}
```

***

### 5. Weed Shop

* Configure prices of weed shop items
* You **MUST** use the shop for Water Can and Fertilizer Spray items as they require metadata that is added to the items when purchased from the store

```lua
location = vector4(1065.91, -3185.32, -39.16, 46.92),   -- shop location
model = 'g_m_y_famdnf_01',                              -- shop ped
showblip = true,                                        -- show shop blip on map


items = {                                               -- DO NOT ADD OR REMOVE ITEMS, ONLY CHANGE PRICES

        seeds               = 100,                          -- $ price of seeds (can change individual prices for each seed in config.strains)

        bag                 = 100,                          -- $ price of bag
        scale               = 100,                          -- $ price of scale
        joint_roller        = 100,                          -- $ price of joint roller

        WaterCan            = 100,                          -- $ price of water can
        FertilizerSpray     = 100,                          -- $ price of fertilizer spray
        
},
```

***

### 6. Strains

* Here you can customize your strain options
* Each strain listed below is included with the resource along with custom items and props for each strain.&#x20;
* If you would like to add or remove strains you are welcome to do so
  * Each strain must include the same format as the ones below with items and props listed for the following options:

    * seed

    * wet bud

    * dry bud

    * bag

    * medium prop

    * large prop&#x20;

    * wet bud prop

    * **Price and Joint** are optional

```lua
     ['Northern Lights'] = {                                 -- strain name
        price = 200,                                        -- price of seed (optional, delete to use config.shop.items.seeds)
        seed = 'northern_lights_seed',                      -- seed item name
        wet_bud = 'northern_lights_wet',                    -- wet bud item name
        dry_bud = 'northern_lights_dry',                    -- dry bud item name
        bag = 'northern_lights_bag',                        -- bag item name
        joint = 'northern_lights_joint',                    -- joint item name
        props = {
            medium = 'weed_med_pink',                       -- if custom weed props put here
            large = 'weed_large_pink',                      -- if custom weed props put here
            wetbud = 'bkr_prop_weed_drying_02a',            -- if custom wet bud prop put here
        }
    },
    ['Blue Dream'] = { 
        seed = 'blue_dream_seed', 
        dry_bud = 'blue_dream_dry', 
        wet_bud = 'blue_dream_wet', 
        bag = 'blue_dream_bag', 
        joint = 'blue_dream_joint', 
        props = {
            medium = 'weed_med_blue',           
            large = 'weed_large_blue',       
            wetbud = 'bkr_prop_weed_drying_02a',        
        }
    },
    ['Pineapple Express'] = {
        seed = 'pineapple_express_seed', 
        dry_bud = 'pineapple_express_dry', 
        wet_bud = 'pineapple_express_wet', 
        bag = 'pineapple_express_bag', 
        joint = 'pineapple_express_joint', 
        props = {
            medium = 'weed_med_purple',           
            large = 'weed_large_purple',       
            wetbud = 'bkr_prop_weed_drying_02a',        
        }
    },
    ['Sour Diesel'] = {
        seed = 'sour_diesel_seed', 
        dry_bud = 'sour_diesel_dry', 
        wet_bud = 'sour_diesel_wet', 
        bag = 'sour_diesel_bag', 
        joint = 'sour_diesel_joint', 
        props = {
            medium = 'weed_med_green',           
            large = 'weed_large_green',       
            wetbud = 'bkr_prop_weed_drying_02a',        
        }
    },
    ['Strawberry Kush'] = {
        seed = 'strawberry_kush_seed',
        dry_bud = 'strawberry_kush_dry',
        wet_bud = 'strawberry_kush_wet',
        bag = 'strawberry_kush_bag',
        joint = 'strawberry_kush_joint',
        props = {
            medium = 'weed_med_red',
            large = 'weed_large_red',
            wetbud = 'bkr_prop_weed_drying_02a',
        }
    },
    ['Golden Goat'] = {
        seed = 'golden_goat_seed',
        dry_bud = 'golden_goat_dry',
        wet_bud = 'golden_goat_wet',
        bag = 'golden_goat_bag',
        joint = 'golden_goat_joint',
        props = {
            medium = 'weed_med_orange',
            large = 'weed_large_orange',
            wetbud = 'bkr_prop_weed_drying_02a',
        }
    },
```

***

### 7. Growth

* Max XP: Amount of XP required for a plant to be harvested
  * XP amount is stored in database
* Health and Fertilization&#x20;
  * Here you can adjust how quickly or slowly plants grow
  * Every minute, the plants' XP are increased by the specified amount depending on what percentage its health and fertilization are at
    * Health = Water Can&#x20;
    * Fertilization = Fertilizer Spray (bottle)

```lua
    max_xp = 100, -- what XP is required to harvest the plant

    ['health'] = { -- don't change this
    --  [percentage] = [xp per minute]
        ['100%'] = 5, -- don't change percentage (100% gives 5 xp per minute)
        ['75%'] = 4,
        ['50%'] = 3,
        ['25%'] = 2,
        ['0%'] = 0
    },
    ['fertilization'] = {
        ['100%'] = 5,
        ['75%'] = 4,
        ['50%'] = 3,
        ['25%'] = 2,
        ['0%'] = 0
    }
```

***

### 8. **Drying**&#x20;

* **Fan Model:**&#x20;
  * Model of the fans that are spawned
* **Max Dry Amount:**&#x20;
  * If set to false, players can dry any amount that they have in their inventory
  * DO NOT SET TO TRUE
  * Alternatively, you can set this to any # to limit the amount they can dry at once
* **Dry Time:**
  * How long it takes to take to dry wet bud (in seconds) per wet bud
  * example: (to dry 10 wet but takes 10 seconds with DryTime set to 1000)
* **Receive Amount:**
  * How many dry buds the player will receive (per wet bud) after drying is completed
* **Fan Locations:**
  * a fan prop (config.FanModel) is spawn at each set of coords
  * you may add or remove as many fans as you'd like&#x20;
  * each fan becomes targetable and allows players to dry their wet buds
  * coords must be **Vector4** format

```lua
config.FanModel = 'prop_fan_01'

config.MaxDryAmount = false                                 -- if false, no limit on how much wet bud can be dried at once
config.DryTime = 1000                                       -- how long it takes (milliseconds) to dry PER WET BUD (5 wet bud = 5 seconds)

config.ReceiveAmount = 5                                    -- how many dry buds are received PER WET BUD 

config.FanLocations = {
    [1] = vector4(1038.97, -3201.44, -38.17, 281.7),
    [2] = vector4(1039.05, -3200.09, -38.17, 270.57),
    [3] = vector4(1039.04, -3198.44, -38.17, 267.41),
    [4] = vector4(1045.31, -3199.05, -38.16, 52.66),
    [5] = vector4(1044.15, -3200.57, -38.16, 90.54),

}
```

***

### 9. **Bagging and Sorting**&#x20;

* **Require bags:**&#x20;
  * whether or not a player will need to have **empty bag** item to bag weed
* **Require Scale:**
  * whether or not a player will need to have a **scale** item to bag weed
* **Empty Bag Item:**
  * name of your servers **Empty Bag** item (only used id RequireBags is set to `true`)
  * Players will be required to have the same amount of empty bags as the number of weed bags they are trying to make *(making 50 bags of weed will require 50 empty bags)*
* **Max Sort Amount:**
  * Limit how many bags a player can make at once
  * If false, players can bag as many as they want (limited to how many dry buds they have)
  * **DO NOT SET TO TRUE**&#x20;
  * Alternatively, you can set this to a number that sets the max amount of bags players can make at once
* **Buds Per Bag:**
  * How many dry buds make 1 bag
  * **example:** If a player has 20 dry buds, at 5 buds per bag they can make 4 weed bags of that strain)

```lua
config.RequireBags = false                                  -- if true, player must have bags in inventory to sort & bag weed
config.RequireScale = true                                  -- if true, player must have scale in inventory to sort & bag weed

config.EmptyBagItem = 'empty_weed_bag'                      -- item name of empty bag

config.MaxSortAmount = false                                -- if false, no limit on how much weed can be sorted at once (if true, player can only sort x bags at a time)
config.BudsPerBag = 5                                       -- how many buds required to make 1 bag
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://solos.gitbook.io/solos/weed-farm-v2/configuration.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
