# Compatibility with ESX

This guide explains how to make the **Advanced Tactical Gas System** compatible with **ESX** and your inventory system.

***

### 1. Follow Our Integration Guide

Before anything else, follow our dedicated guide:\
➡️ [**Add a Custom Weapon on ESX**](https://docs.rytrak.fr/framework-compatibility/add-a-custom-weapon-on-esx)

This will help you correctly register the stun, smoke, and tear gas grenades in your weapon database.

***

### 2. Configure Your Inventory

Unlike OX Inventory, **you should not** add `throwable = true` in ESX-based systems.\
The implementation depends entirely on the inventory you're using. Each ESX inventory system is structured differently.

Let’s take the **default `esx_inventory`** as an example:

#### Default `esx_inventory` Example

1. Open the file:\
   `config.lua` of your inventory system
2. Scroll down to find the variable:

   ```lua
   Config.Throwables = { ... }
   ```
3. Add the **hashes** of the grenades used in the Advanced Tactical Gas System:

   ```lua
   Config.Throwables = {
       -- Existing entries...
       WEAPON_GRENADE_STUN = -1136999868,
       WEAPON_GRENADE_SMOKE = -1858931262,
       WEAPON_GRENADE_TEARGAS = -1567258436,
   }
   ```

{% hint style="danger" %}
**Important:** These hashes represent the weapon models. Without adding them, your inventory may not recognize or allow players to throw the grenades properly.
{% endhint %}

***

### Summary of Hashes

| Weapon                   | Hash        |
| ------------------------ | ----------- |
| WEAPON\_GRENADE\_STUN    | -1136999868 |
| WEAPON\_GRENADE\_SMOKE   | -1858931262 |
| WEAPON\_GRENADE\_TEARGAS | -1567258436 |
