# Installation



## Dependencies

<details>

<summary>QBCore</summary>

You will need the latest version of [qb-core](https://github.com/qbcore-framework/qb-core).

* Extract the contents of the archive to your resources folder.

- Start the resource near the top of your resources in your server.cfg.

</details>

### Installing the resource

* Make sure you have the [dependencies](#dependencies) listed above installed.
* Extract the contents of the archive to your resources folder.

<details>

<summary>QB INVENTORY or PS INVENTORY</summary>

* Add item to shared items.lua

```lua
    -- FANS :
    zatfan01                       = { name = 'zatfan01',                  label = 'Fan',                       weight = 100, type = 'item',         image = 'zatfan01.png',                    unique = true, useable = true, shouldClose = true, combinable = nil, description = 'Fan - 20 and 50 RPM...' },
    zatresfan                      = { name = 'zatresfan',                 label = 'Modern Fan',                weight = 100, type = 'item',         image = 'zatresfan.png',                   unique = true, useable = true, shouldClose = true, combinable = nil, description = 'Fan - 60 and 120 RPM...' },
    zatwallfan                     = { name = 'zatwallfan',                label = 'Wall Fan',                  weight = 100, type = 'item',         image = 'zatwallfan.png',                  unique = true, useable = true, shouldClose = true, combinable = nil, description = 'Fan - 80 and 200 RPM...' },

    -- HEATER :
    zatheater                     = { name = 'zatheater',                 label = 'Wall Heater',                weight = 100, type = 'item',         image = 'zatheater.png',                   unique = true, useable = true, shouldClose = true, combinable = nil, description = 'Electrical wall heater - LOH 10°C...' },
    zatpatioheater                = { name = 'zatpatioheater',            label = 'Patio Heater',               weight = 100, type = 'item',         image = 'zatpatioheater.png',              unique = true, useable = true, shouldClose = true, combinable = nil, description = 'Patio heater - LOH 21°C...' },

    -- Lights :
    zatwalllight                  = { name = 'zatwalllight',                 label = 'Wall Light',              weight = 100, type = 'item',         image = 'zatwalllight.png',                unique = true, useable = true, shouldClose = true, combinable = nil, description = 'Wall Light...' },
    zatceilinglight               = { name = 'zatceilinglight',             label = 'Ceiling Light',            weight = 100, type = 'item',         image = 'zatceilinglight.png',             unique = true, useable = true, shouldClose = true, combinable = nil, description = 'ceiling light...' },
    zatbluelight                  = { name = 'zatbluelight',                label = 'Blue Light',               weight = 100, type = 'item',         image = 'zatbluelight.png',                unique = true, useable = true, shouldClose = true, combinable = nil, description = 'Blue Wall Light - Perfect for plant growth...' },

    -- Garden
    zatwaterbottlefull              = { name = 'zatwaterbottlefull',        label = 'Water Bottle Full',             weight = 100,       type = 'item',         image = 'zatwaterbottlefull.png',           unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Water Bottle...' },
    zatwaterbottleempty             = { name = 'zatwaterbottleempty',       label = 'Water Bottle Empty',             weight = 100,       type = 'item',         image = 'zatwaterbottleempty.png',         unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Water Bottle...' },
    zatplanter                      = { name = 'zatplanter',                label = 'Planter',                  weight = 100,       type = 'item',         image = 'zatplanter.png',                        unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Home made Garden...' },
    zatwatersetup                   = { name = 'zatwatersetup',             label = 'Water Filtration',         weight = 100,       type = 'item',         image = 'zatwatersetup.png',                     unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Water Filtration Setup...' },
    zatweedrackxs                   = { name = 'zatweedrackxs',             label = 'Small Weed Rack',          weight = 100,       type = 'item',         image = 'zatweedrackxs.png',                     unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Weed Rack with max 3 slots...' },
    zatweedracks                    = { name = 'zatweedracks',              label = 'Medium Weed Rack',        weight = 100,       type = 'item',         image = 'zatweedracks.png',                       unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Weed Rack with max 5 slots...' },
    
    zatweedseed 		    = {name = 'zatweedseed', 		    label = 'Weed Seed', 			    weight = 0, 		type = 'item', 		image = 'zatweedseed.png', 		                    unique = true, 	useable = true, 	shouldClose = true,    combinable = nil,   description = 'Weed Seed'},
    zatweedbranch 	            = {name = 'zatweedbranch', 		    label = 'Weed Branch', 				weight = 10000, 	type = 'item', 		image = 'zatweedbranch.png', 	                    unique = true, 	useable = true, 	shouldClose = true,    combinable = nil,   description = 'Weed plant'},
    zatpackedweed 		    = {name = 'zatpackedweed', 		    label = 'Packed Weed', 				weight = 100, 		type = 'item', 		image = 'zatpackedweed.png', 		                unique = true, 	useable = true, 	shouldClose = true,    combinable = nil,   description = 'Weed ready for sale'},
    zatweednutrition                = { name = 'zatweednutrition',          label = 'Plant Fertilizer',         weight = 2000,      type = 'item',      image = 'zatweednutrition.png',                     unique = false, useable = true,     shouldClose = true,    combinable = nil,   description = 'Plant nutrition' },
    zatrollingpaper                 = { name = 'zatrollingpaper',           label = 'Rolling Paper',            weight = 2000,      type = 'item',      image = 'zatrollingpaper.png',                      unique = false, useable = true,     shouldClose = true,    combinable = nil,   description = 'Rolling paper' },
    zatjoint                        = { name = 'zatjoint',                  label = 'Joint',                    weight = 0,         type = 'item',      image = 'zatjoint.png',                             unique = true, useable = true,     shouldClose = true,    combinable = nil,   description = 'Sidney would be very proud at you' },
    zatweedtable                    = { name = 'zatweedtable',              label = 'Table',                    weight = 0,         type = 'item',      image = 'zatweedtable.png',                         unique = false, useable = true,     shouldClose = true,    combinable = nil,   description = 'Table with Full weed Setup' },
```

* Add the images inside your inventory/html/images.

- Add this in you inventory /html/app.js :&#x20;

```javascript
case "zatweedbranch":
    return `<p><strong>Genetics: </strong><span>${itemData.info.genetics}</span></p>
            <p><strong>Purity: </strong><span>${itemData.info.purity}</span></p>
            <p><strong>Dry: </strong><span>${itemData.info.drylevel}</span></p>`;
case "zatpackedweed":
    return `<p><strong>Purity: </strong><span>${itemData.info.purity}</span></p>`;
case "zatjoint":
    return `<p><strong>Purity: </strong><span>${itemData.info.purity}</span></p>`;
```

or this, Depending on your inventory version :&#x20;

<pre class="language-javascript"><code class="lang-javascript">} else if (itemData.name == "zatweedseed") {
    $(".item-info-title").html("&#x3C;p>" + itemData.label + "&#x3C;/p>"); 
    if (itemData.info.genetics == undefined) {
        $(".item-info-description").html("&#x3C;p> Genetics: ------ &#x3C;/p>");  
    }else{
        $(".item-info-description").html("&#x3C;p> Genetics: " + itemData.info.genetics + "&#x3C;/p>");   
    }  
<strong> } else if (itemData.name == "zatweedbranch") {
</strong>    $(".item-info-title").html("&#x3C;p>" + itemData.label + "&#x3C;/p>"); 
    $(".item-info-description").html(
        "&#x3C;p>&#x3C;strong>Genetics: &#x3C;/strong>&#x3C;span>" +
        itemData.info.genetics +
        "&#x3C;/span>&#x3C;/p>&#x3C;p>&#x3C;strong>Purity: &#x3C;/strong>&#x3C;span>" +
        itemData.info.purity + "% &#x3C;/span>&#x3C;/p>"+
        "&#x3C;/span>&#x3C;/p>&#x3C;p>&#x3C;strong>Dry: &#x3C;/strong>&#x3C;span>" +
        itemData.info.drylevel + "% &#x3C;/span>&#x3C;/p>"
    );
} else if (itemData.name == "zatpackedweed") {
    $(".item-info-title").html("&#x3C;p>" + itemData.label + "&#x3C;/p>"); 
    $(".item-info-description").html(
        "&#x3C;p>&#x3C;strong>Purity: &#x3C;/strong>&#x3C;span>" +
        itemData.info.purity + "% &#x3C;/span>&#x3C;/p>"
    )
} else if (itemData.name == "zatjoint") {
    $(".item-info-title").html("&#x3C;p>" + itemData.label + "&#x3C;/p>"); 
    $(".item-info-description").html(
        "&#x3C;p>&#x3C;strong>Purity: &#x3C;/strong>&#x3C;span>" +
        itemData.info.purity + "% &#x3C;/span>&#x3C;/p>"
    )
</code></pre>

* Upload The 'weedprops.sql' and 'weedplants.sql' To your Database.

- ensure the following resources :\
  1 - ensure zat-gizmo\
  2 - ensure zat-weedprops\
  3 - ensure zat-weed&#x20;







</details>

<details>

<summary>OX INVENTORY</summary>

* Add items to ox\_inventory/data/items.lua

```lua
["zatresfan"] = {
	label = "Modern Fan",
	weight = 100,
	stack = false,
	close = true,
	description = "Fan - 60 and 120 RPM...",
	client = {
		image = "zatresfan.png",
	}
},
["zatrollingpaper"] = {
	label = "Rolling Paper",
	weight = 2000,
	stack = true,
	close = true,
	description = "Rolling paper",
	client = {
		image = "zatrollingpaper.png",
	}
},

["zatpackedweed"] = {
	label = "Packed Weed",
	weight = 100,
	stack = false,
	close = true,
	description = "Weed ready for sale",
	client = {
		image = "zatpackedweed.png",
	}
},

["zatpatioheater"] = {
	label = "Patio Heater",
	weight = 100,
	stack = false,
	close = true,
	description = "Patio heater - LOH 21°C...",
	client = {
		image = "zatpatioheater.png",
	}
},

["zatweedbranch"] = {
	label = "Weed Branch",
	weight = 10000,
	stack = false,
	close = true,
	client = {
		image = "zatweedbranch.png",
	},
	description = "Weed plant",
},
["zatceilinglight"] = {
	label = "Ceiling Light",
	weight = 100,
	stack = false,
	close = true,
	description = "ceiling light...",
	client = {
		image = "zatceilinglight.png",
	}
},

["zatbluelight"] = {
	label = "Blue Light",
	weight = 100,
	stack = false,
	close = true,
	description = "Blue Wall Light - Perfect for plant growth...",
	client = {
		image = "zatbluelight.png",
	}
},
["zatwalllight"] = {
	label = "Wall Light",
	weight = 100,
	stack = false,
	close = true,
	description = "Wall Light...",
	client = {
		image = "zatwalllight.png",
	}
},

["zatweedseed"] = {
	label = "Weed Seed",
	weight = 0,
	stack = false,
	close = true,
	description = "Weed Seed",
	client = {
		image = "zatweedseed.png",
	}
},

["zatweedtable"] = {
	label = "Table",
	weight = 0,
	stack = true,
	close = true,
	description = "Table with Full weed Setup",
	client = {
		image = "zatweedtable.png",
	}
},

["zatweedracks"] = {
	label = "Medium Weed Rack",
	weight = 100,
	stack = true,
	close = true,
	description = "Weed Rack with max 5 slots...",
	client = {
		image = "zatweedracks.png",
	}
},
["zatplanter"] = {
	label = "Planter",
	weight = 100,
	stack = true,
	close = true,
	description = "Home made Garden...",
	client = {
		image = "zatplanter.png",
	}
},

["zatwaterbottlefull"] = {
	label = "Water Bottle Full",
	weight = 100,
	stack = true,
	close = true,
	description = "Water Bottle...",
	client = {
		image = "zatwaterbottlefull.png",
	}
},

["zatwatersetup"] = {
	label = "Water Filtration",
	weight = 100,
	stack = true,
	close = true,
	description = "Water Filtration Setup...",
	client = {
		image = "zatwatersetup.png",
	}
},
["zatfan01"] = {
	label = "Fan",
	weight = 100,
	stack = false,
	close = true,
	description = "Fan - 20 and 50 RPM...",
	client = {
		image = "zatfan01.png",
	}
},

["zatweedrackxs"] = {
	label = "Small Weed Rack",
	weight = 100,
	stack = true,
	close = true,
	description = "Weed Rack with max 3 slots...",
	client = {
		image = "zatweedrackxs.png",
	}
},
["zatweednutrition"] = {
	label = "Plant Fertilizer",
	weight = 2000,
	stack = true,
	close = true,
	description = "Plant nutrition",
	client = {
		image = "zatweednutrition.png",
	}
},
["zatheater"] = {
	label = "Wall Heater",
	weight = 100,
	stack = false,
	close = true,
	description = "Electrical wall heater - LOH 10°C...",
	client = {
		image = "zatheater.png",
	}
},

["zatwallfan"] = {
	label = "Wall Fan",
	weight = 100,
	stack = false,
	close = true,
	description = "Fan - 80 and 200 RPM...",
	client = {
		image = "zatwallfan.png",
	}
},
["zatjoint"] = {
	label = "Joint",
	weight = 0,
	stack = false,
	close = true,
	description = "Sidney would be very proud at you",
	client = {
		image = "zatjoint.png",
	}
},

["zatwaterbottleempty"] = {
	label = "Water Bottle Empty",
	weight = 100,
	stack = true,
	close = true,
	description = "Water Bottle...",
	client = {
		image = "zatwaterbottleempty.png",
	}
},
```

* Add the images inside your ox\_inventory/web/images.

- Add into ox\_inventory/modules/items/client.lua

```lua
local FanProps = {
    [1] = "prop_fan_01",
    [2] = "v_res_fa_fan", 
    [3] = "prop_wall_vent_02"
}

Item('zatfan01', function(data, slot)
	ox_inventory:useItem(data, function(data)
		if data then
			TriggerEvent("zat-weed:client:UseItem", slot.name, FanProps[1])
			TriggerServerEvent("zat-weed:server:RemoveItemOx", slot, nil)
		end
	end)
end)

Item('zatresfan', function(data, slot)
	ox_inventory:useItem(data, function(data)
		if data then
			TriggerEvent("zat-weed:client:UseItem", slot.name, FanProps[2])
			TriggerServerEvent("zat-weed:server:RemoveItemOx", slot, nil)
		end
	end)	
end)

Item('zatwallfan', function(data, slot)
	ox_inventory:useItem(data, function(data)
		if data then
			TriggerEvent("zat-weed:client:UseItem", slot.name, FanProps[3])
			TriggerServerEvent("zat-weed:server:RemoveItemOx", slot, nil)
		end
	end)
end)

local HeaterProps = {
    [1] = "prop_elec_heater_01",
    [2] = "prop_patio_heater_01", 
}

Item('zatheater', function(data, slot)
	ox_inventory:useItem(data, function(data)
		if data then
			TriggerEvent("zat-weed:client:UseItem", slot.name, HeaterProps[1])
			TriggerServerEvent("zat-weed:server:RemoveItemOx", slot, nil)
		end
	end)
end)

Item('zatpatioheater', function(data, slot)
	ox_inventory:useItem(data, function(data)
		if data then
			TriggerEvent("zat-weed:client:UseItem", slot.name, HeaterProps[2])
			TriggerServerEvent("zat-weed:server:RemoveItemOx", slot, nil)
		end
	end)
end)


local LightProps = {
    [1] = "prop_wall_light_05a",
    [2] = "ch_prop_ch_lamp_ceiling_w_01a", 
    [3] = "h4_prop_x17_sub_lampa_small_blue"
}

Item('zatwalllight', function(data, slot)
	ox_inventory:useItem(data, function(data)
		if data then
			TriggerEvent("zat-weed:client:UseItem", slot.name, LightProps[1])
			TriggerServerEvent("zat-weed:server:RemoveItemOx", slot, nil)
		end
	end)
end)

Item('zatceilinglight', function(data, slot)
	ox_inventory:useItem(data, function(data)
		if data then
			TriggerEvent("zat-weed:client:UseItem", slot.name, LightProps[2])
			TriggerServerEvent("zat-weed:server:RemoveItemOx", slot, nil)
		end
	end)
end)

Item('zatbluelight', function(data, slot)
	ox_inventory:useItem(data, function(data)
		if data then
			TriggerEvent("zat-weed:client:UseItem", slot.name, LightProps[3])
			TriggerServerEvent("zat-weed:server:RemoveItemOx", slot, nil)
		end
	end)
end)

local PlanterProps = {
    [1] = "prop_garden",
    [2] = "prop_weed_rack_xs",
    [3] = "prop_rack_dryer_s",
    [4] = "bkr_prop_weed_table_01a",
    [5] = "prop_water_setup"
}

Item('zatplanter', function(data, slot)
	ox_inventory:useItem(data, function(data)
		if data then
			TriggerEvent("zat-weed:client:UseItem", slot.name, PlanterProps[1])
			TriggerServerEvent("zat-weed:server:RemoveItemOx", slot, nil)
		end
	end)
end)

Item('zatweedrackxs', function(data, slot)
	ox_inventory:useItem(data, function(data)
		if data then
			TriggerEvent("zat-weed:client:UseItem", slot.name, PlanterProps[2])
			TriggerServerEvent("zat-weed:server:RemoveItemOx", slot, nil)
		end
	end)
end)

Item('zatweedracks', function(data, slot)
	ox_inventory:useItem(data, function(data)
		if data then
			TriggerEvent("zat-weed:client:UseItem", slot.name, PlanterProps[3])
			TriggerServerEvent("zat-weed:server:RemoveItemOx", slot, nil)
		end
	end)
end)

Item('zatweedtable', function(data, slot)
	ox_inventory:useItem(data, function(data)
		if data then
			TriggerEvent("zat-weed:client:UseItem", slot.name, PlanterProps[4])
			TriggerServerEvent("zat-weed:server:RemoveItemOx", slot, nil)
		end
	end)
end)

Item('zatwatersetup', function(data, slot)
	ox_inventory:useItem(data, function(data)
		if data then
			TriggerEvent("zat-weed:client:UseItemStrict", slot.name, PlanterProps[5])
			TriggerServerEvent("zat-weed:server:RemoveItemOx", slot, nil)
		end
	end)
end)

---
Item('zatwaterbottleempty', function(data, slot)
	ox_inventory:useItem(data, function(data)
		if data then
			TriggerEvent("zat-weed:client:fillWater")
		end
	end)
end)

local WeedProps = {
    [1] = "bkr_prop_weed_bud_01a",
    [2] = "bkr_prop_weed_med_01a",
    [3] = "bkr_prop_weed_med_01b",
    [4] = "bkr_prop_weed_lrg_01a",
    [5] = "bkr_prop_weed_lrg_01b"
}

Item('zatweedseed', function(data, slot)
	ox_inventory:useItem(data, function(data)
		if data then
			TriggerEvent("zat-weed:client:UseItem", slot.name, WeedProps[1], slot.metadata)
			TriggerServerEvent("zat-weed:server:RemoveItemOx", slot, nil)
			
		end
	end)
end)

Item('zatpackedweed', function(data, slot)
	ox_inventory:useItem(data, function(data)
		if data then
			local count = ox_inventory:GetItemCount("zatrollingpaper")
			if count >= 5 then
				TriggerEvent("zat-weed:client:rollIt", slot.metadata)
				TriggerServerEvent("zat-weed:server:RemoveItemOx", slot, nil)
				TriggerServerEvent("zat-weed:server:RemoveRollingPapersOx")
			end
		end
	end)
end)

Item('zatjoint', function(data, slot)
	ox_inventory:useItem(data, function(data)
		if data then
			TriggerEvent("zat-weed:client:UseJoint", slot.metadata.purity)
			TriggerServerEvent("zat-weed:server:RemoveItemOx", slot, nil)
		end
	end)
end)
```

</details>

<details>

<summary>QS INVENTORY</summary>

* Add the items below into qs-inventory/shared/items.lua

```lua
    ['zatresfan']             = {
        ['name'] = 'zatresfan',
        ['label'] = 'Modern Fan',
        ['weight'] = 50,
        ['type'] = 'item',
        ['image'] = 'zatresfan.png',
        ['unique'] = true,
        ['useable'] = true,
        ['shouldClose'] = true,
        ['combinable'] = nil,
        ['description'] = 'Fan - 60 and 120 RPM...'
    },
    ['zatrollingpaper']             = {
        ['name'] = 'zatrollingpaper',
        ['label'] = 'Rolling Paper',
        ['weight'] = 50,
        ['type'] = 'item',
        ['image'] = 'zatrollingpaper.png',
        ['unique'] = true,
        ['useable'] = true,
        ['shouldClose'] = true,
        ['combinable'] = nil,
        ['description'] = 'Rolling paper'
    },
    ['zatpackedweed']             = {
        ['name'] = 'zatpackedweed',
        ['label'] = 'Packed Weed',
        ['weight'] = 50,
        ['type'] = 'item',
        ['image'] = 'zatpackedweed.png',
        ['unique'] = true,
        ['useable'] = true,
        ['shouldClose'] = true,
        ['combinable'] = nil,
        ['description'] = 'Weed ready for sale'
    },
    ['zatpatioheater']             = {
        ['name'] = 'zatpatioheater',
        ['label'] = 'Patio Heater',
        ['weight'] = 50,
        ['type'] = 'item',
        ['image'] = 'zatpatioheater.png',
        ['unique'] = true,
        ['useable'] = true,
        ['shouldClose'] = true,
        ['combinable'] = nil,
        ['description'] = 'Patio heater - LOH 21°C...'
    },
    ['zatweedbranch']             = {
        ['name'] = 'zatweedbranch',
        ['label'] = 'Weed Branch',
        ['weight'] = 50,
        ['type'] = 'item',
        ['image'] = 'zatweedbranch.png',
        ['unique'] = true,
        ['useable'] = true,
        ['shouldClose'] = true,
        ['combinable'] = nil,
        ['description'] = 'Weed plant'
    },
    ['zatceilinglight']             = {
        ['name'] = 'zatceilinglight',
        ['label'] = 'Ceiling Light',
        ['weight'] = 50,
        ['type'] = 'item',
        ['image'] = 'zatceilinglight.png',
        ['unique'] = true,
        ['useable'] = true,
        ['shouldClose'] = true,
        ['combinable'] = nil,
        ['description'] = 'ceiling light...'
    },
    ['zatbluelight']             = {
        ['name'] = 'zatbluelight',
        ['label'] = 'Blue Light',
        ['weight'] = 50,
        ['type'] = 'item',
        ['image'] = 'zatbluelight.png',
        ['unique'] = true,
        ['useable'] = true,
        ['shouldClose'] = true,
        ['combinable'] = nil,
        ['description'] = 'Blue Wall Light - Perfect for plant growth...'
    },
    ['zatwalllight']             = {
        ['name'] = 'zatwalllight',
        ['label'] = 'Wall Light',
        ['weight'] = 50,
        ['type'] = 'item',
        ['image'] = 'zatwalllight.png',
        ['unique'] = true,
        ['useable'] = true,
        ['shouldClose'] = true,
        ['combinable'] = nil,
        ['description'] = 'Wall Light...'
    },
    ['zatweedseed']             = {
        ['name'] = 'zatweedseed',
        ['label'] = 'Weed Seed',
        ['weight'] = 50,
        ['type'] = 'item',
        ['image'] = 'zatweedseed.png',
        ['unique'] = true,
        ['useable'] = true,
        ['shouldClose'] = true,
        ['combinable'] = nil,
        ['description'] = 'Weed Seed'
    },
    ['zatweedtable']             = {
        ['name'] = 'zatweedtable',
        ['label'] = 'Table',
        ['weight'] = 50,
        ['type'] = 'item',
        ['image'] = 'zatweedtable.png',
        ['unique'] = true,
        ['useable'] = true,
        ['shouldClose'] = true,
        ['combinable'] = nil,
        ['description'] = 'Table with Full weed Setup'
    },
    ['zatweedracks']             = {
        ['name'] = 'zatweedracks',
        ['label'] = 'Medium Weed Rack',
        ['weight'] = 50,
        ['type'] = 'item',
        ['image'] = 'zatweedracks.png',
        ['unique'] = true,
        ['useable'] = true,
        ['shouldClose'] = true,
        ['combinable'] = nil,
        ['description'] = 'Weed Rack with max 5 slots...'
    },
    ['zatplanter']             = {
        ['name'] = 'zatplanter',
        ['label'] = 'Planter',
        ['weight'] = 50,
        ['type'] = 'item',
        ['image'] = 'zatplanter.png',
        ['unique'] = true,
        ['useable'] = true,
        ['shouldClose'] = true,
        ['combinable'] = nil,
        ['description'] = 'Home made Garden...'
    },
    ['zatwaterbottlefull']             = {
        ['name'] = 'zatwaterbottlefull',
        ['label'] = 'Water Bottle Full',
        ['weight'] = 50,
        ['type'] = 'item',
        ['image'] = 'zatwaterbottlefull.png',
        ['unique'] = true,
        ['useable'] = true,
        ['shouldClose'] = true,
        ['combinable'] = nil,
        ['description'] = 'Water Bottle...'
    },
    ['zatwatersetup']             = {
        ['name'] = 'zatwatersetup',
        ['label'] = 'Water Filtration',
        ['weight'] = 50,
        ['type'] = 'item',
        ['image'] = 'zatwatersetup.png',
        ['unique'] = true,
        ['useable'] = true,
        ['shouldClose'] = true,
        ['combinable'] = nil,
        ['description'] = 'Water Filtration Setup...'
    },
    ['zatfan01']             = {
        ['name'] = 'zatfan01',
        ['label'] = 'Fan',
        ['weight'] = 50,
        ['type'] = 'item',
        ['image'] = 'zatfan01.png',
        ['unique'] = true,
        ['useable'] = true,
        ['shouldClose'] = true,
        ['combinable'] = nil,
        ['description'] = 'Fan - 20 and 50 RPM...'
    },
    ['zatweedrackxs']             = {
        ['name'] = 'zatweedrackxs',
        ['label'] = 'Small Weed Rack',
        ['weight'] = 50,
        ['type'] = 'item',
        ['image'] = 'zatweedrackxs.png',
        ['unique'] = true,
        ['useable'] = true,
        ['shouldClose'] = true,
        ['combinable'] = nil,
        ['description'] = 'Weed Rack with max 3 slots...'
    },
    ['zatweednutrition']             = {
        ['name'] = 'zatweednutrition',
        ['label'] = 'Plant Fertilizer',
        ['weight'] = 50,
        ['type'] = 'item',
        ['image'] = 'zatweednutrition.png',
        ['unique'] = true,
        ['useable'] = true,
        ['shouldClose'] = true,
        ['combinable'] = nil,
        ['description'] = 'Plant nutrition'
    },
    ['zatheater']             = {
        ['name'] = 'zatheater',
        ['label'] = 'Wall Heater',
        ['weight'] = 50,
        ['type'] = 'item',
        ['image'] = 'zatheater.png',
        ['unique'] = true,
        ['useable'] = true,
        ['shouldClose'] = true,
        ['combinable'] = nil,
        ['description'] = 'Electrical wall heater - LOH 10°C...'
    },
    ['zatwallfan']             = {
        ['name'] = 'zatwallfan',
        ['label'] = 'Wall Fan',
        ['weight'] = 50,
        ['type'] = 'item',
        ['image'] = 'zatwallfan.png',
        ['unique'] = true,
        ['useable'] = true,
        ['shouldClose'] = true,
        ['combinable'] = nil,
        ['description'] = 'Fan - 80 and 200 RPM...'
    },
    ['zatjoint']             = {
        ['name'] = 'zatjoint',
        ['label'] = 'Joint',
        ['weight'] = 50,
        ['type'] = 'item',
        ['image'] = 'zatjoint.png',
        ['unique'] = true,
        ['useable'] = true,
        ['shouldClose'] = true,
        ['combinable'] = nil,
        ['description'] = 'Sidney would be very proud at you'
    },
    ['zatwaterbottleempty']             = {
        ['name'] = 'zatwaterbottleempty',
        ['label'] = 'Water Bottle Empty',
        ['weight'] = 50,
        ['type'] = 'item',
        ['image'] = 'zatwaterbottleempty.png',
        ['unique'] = true,
        ['useable'] = true,
        ['shouldClose'] = true,
        ['combinable'] = nil,
        ['description'] = 'Water Bottle...'
    },
```

* Add the code below into qs-inventory/server/custom/misc/createuseableitems.lua:

```lua
local FanProps = {
    [1] = "prop_fan_01",
    [2] = "v_res_fa_fan", 
    [3] = "prop_wall_vent_02"
}

CreateUsableItem('zatfan01', function(source, item)
    local src = source
	local item = GetItemByName(src, 'zatfan01')
    if item ~= nil then
        TriggerClientEvent("zat-weed:client:UseItem", src, item.name, FanProps[1])
        RemoveItem(src, item.name, 1, item.slot)
    end
end)

CreateUsableItem('zatresfan', function(source, item)
    local src = source
	local item = GetItemByName(src, 'zatresfan')
    if item ~= nil then
        TriggerClientEvent("zat-weed:client:UseItem", src, item.name, FanProps[2])
        RemoveItem(src, item.name, 1, item.slot)
    end
end)

CreateUsableItem('zatwallfan', function(source, item)
    local src = source
	local item = GetItemByName(src, 'zatwallfan')
    if item ~= nil then
        TriggerClientEvent("zat-weed:client:UseItem", src, item.name, FanProps[3])
        RemoveItem(src, item.name, 1, item.slot)
    end
end)

local HeaterProps = {
    [1] = "prop_elec_heater_01",
    [2] = "prop_patio_heater_01", 
}

CreateUsableItem('zatheater', function(source, item)
    local src = source
	local item = GetItemByName(src, 'zatheater')
    if item ~= nil then
        TriggerClientEvent("zat-weed:client:UseItem", src, item.name, HeaterProps[1])
        RemoveItem(src, item.name, 1, item.slot)
    end
end)

CreateUsableItem('zatpatioheater', function(source, item)
    local src = source
	local item = GetItemByName(src, 'zatpatioheater')
    if item ~= nil then
        TriggerClientEvent("zat-weed:client:UseItem", src, item.name, HeaterProps[2])
        RemoveItem(src, item.name, 1, item.slot)
    end
end)


local LightProps = {
    [1] = "prop_wall_light_05a",
    [2] = "ch_prop_ch_lamp_ceiling_w_01a", 
    [3] = "h4_prop_x17_sub_lampa_small_blue"
}

CreateUsableItem('zatwalllight', function(source, item)
    local src = source
	local item = GetItemByName(src, 'zatwalllight')
    if item ~= nil then
        TriggerClientEvent("zat-weed:client:UseItem", src, item.name, LightProps[1])
        RemoveItem(src, item.name, 1, item.slot)
    end
end)

CreateUsableItem('zatceilinglight', function(source, item)
    local src = source
	local item = GetItemByName(src, 'zatceilinglight')
    if item ~= nil then
        TriggerClientEvent("zat-weed:client:UseItem", src, item.name, LightProps[2])
        RemoveItem(src, item.name, 1, item.slot)
    end
end)

CreateUsableItem('zatbluelight', function(source, item)
    local src = source
	local item = GetItemByName(src, 'zatbluelight')
    if item ~= nil then
        TriggerClientEvent("zat-weed:client:UseItem", src, item.name, LightProps[3])
        RemoveItem(src, item.name, 1, item.slot)
    end
end)

local PlanterProps = {
    [1] = "prop_garden",
    [2] = "prop_weed_rack_xs",
    [3] = "prop_rack_dryer_s",
    [4] = "bkr_prop_weed_table_01a",
    [5] = "prop_water_setup"
}

CreateUsableItem('zatplanter', function(source, item)
    local src = source
	local item = GetItemByName(src, 'zatplanter')
    if item ~= nil then
        TriggerClientEvent("zat-weed:client:UseItem", src, item.name, PlanterProps[1])
        RemoveItem(src, item.name, 1, item.slot)
    end
end)

CreateUsableItem('zatweedrackxs', function(source, item)
    local src = source
	local item = GetItemByName(src, 'zatweedrackxs')
    if item ~= nil then
        TriggerClientEvent("zat-weed:client:UseItem", src, item.name, PlanterProps[2])
        RemoveItem(src, item.name, 1, item.slot)
    end
end)

CreateUsableItem('zatweedracks', function(source, item)
    local src = source
	local item = GetItemByName(src, 'zatweedracks')
    if item ~= nil then
        TriggerClientEvent("zat-weed:client:UseItem", src, item.name, PlanterProps[3])
        RemoveItem(src, item.name, 1, item.slot)
    end
end)

CreateUsableItem('zatweedtable', function(source, item)
    local src = source
	local item = GetItemByName(src, 'zatweedtable')
    if item ~= nil then
        TriggerClientEvent("zat-weed:client:UseItem", src, item.name, PlanterProps[4])
        RemoveItem(src, item.name, 1, item.slot)
    end
end)

CreateUsableItem('zatwatersetup', function(source, item)
    local src = source
	local item = GetItemByName(src, 'zatwatersetup')
    if item ~= nil then
            TriggerClientEvent("zat-weed:client:UseItemStrict", src, item.name, PlanterProps[5])
            RemoveItem(src, item.name, 1, item.slot)
    end
end)

---
CreateUsableItem('zatwaterbottleempty', function(source, item)
    local src = source
	local item = GetItemByName(src, 'zatwaterbottleempty')
    if item ~= nil then
        TriggerClientEvent("zat-weed:client:fillWater", src)
    end
end)

local WeedProps = {
    [1] = "bkr_prop_weed_bud_01a",
    [2] = "bkr_prop_weed_med_01a",
    [3] = "bkr_prop_weed_med_01b",
    [4] = "bkr_prop_weed_lrg_01a",
    [5] = "bkr_prop_weed_lrg_01b"
}

CreateUsableItem('zatweedseed', function(source, item)
    local src = source
	local item = GetItemByName(src, 'zatweedseed')
    if item ~= nil then
        TriggerClientEvent("zat-weed:client:UseItem", src, item.name, WeedProps[1], item.info)
        RemoveItem(src, item.name, 1, item.slot)
    end
end)

CreateUsableItem('zatpackedweed', function(source, item)
    local src = source
    local item_r = GetItemByName(src, 'zatrollingpaper')
    if item_r.amount >= 5 then
        local item = GetItemByName(src, 'zatpackedweed')
        if item ~= nil then
            TriggerClientEvent("zat-weed:client:rollIt", src, item.info)
            RemoveItem(src, item.name, 1, item.slot)
            RemoveItem(src, "rollingpaper", 5)
        end
    end

end)

CreateUsableItem('zatjoint', function(source, item)
    local src = source
	local item = GetItemByName(src, 'zatjoint')
    if item ~= nil then
        TriggerClientEvent("zat-weed:client:UseJoint", src, item.info.purity)
        RemoveItem(src, item.name, 1, item.slot)
    end
end)
```

* Add this code into qs-inventory/config/metadata.js (\~= line 40)

```javascript
} else if (itemData.name == "zatweedbranch") {
                $(".item-info-title").html("<p>" + itemData.label + "</p>"); 
                $(".item-info-description").html(
                    "<p><strong>Genetics: </strong><span>" +
                    itemData.info.genetics +
                    "</span></p><p><strong>Purity: </strong><span>" +
                    itemData.info.purity + "% </span></p>"+
                    "</span></p><p><strong>Dry: </strong><span>" +
                    itemData.info.drylevel + "% </span></p>"
                );
            } else if (itemData.name == "zatpackedweed") {
                $(".item-info-title").html("<p>" + itemData.label + "</p>"); 
                $(".item-info-description").html(
                    "<p><strong>Purity: </strong><span>" +
                    itemData.info.purity + "% </span></p>"
                )
            } else if (itemData.name == "zatjoint") {
                $(".item-info-title").html("<p>" + itemData.label + "</p>"); 
                $(".item-info-description").html(
                    "<p><strong>Purity: </strong><span>" +
                    itemData.info.purity + "% </span></p>"
                );
```

* Add the images inside your qs\_inventory/html/images.



</details>
