# Compatibility with QBCore

This guide explains how to make the **Advanced Tactical Gas System** fully compatible with **QBCore** and ensure the new grenades (Stun, Smoke, and Tear Gas) function correctly in your framework and weapon logic.

***

### 1. Follow the Main Integration Guide

Start by following our core documentation:\
➡️ [**Add a Custom Weapon on QBCore**](https://docs.rytrak.fr/framework-compatibility/add-a-custom-weapon-on-qbcore)

***

### 2. Update the `qb-weapons` Resource

To ensure proper logic and grenade handling, you must update the **`qb-weapons`** resource:

#### Step-by-Step:

1. Navigate to:

```
qb-weapons/client/main.lua
```

2. Scroll to **line 129**, where the throwable weapons are listed inside a conditional statement.
3. **Modify the line** to include the custom grenade weapon names:

#### Original Line:

```lua
elseif weaponName == 'weapon_stickybomb' or weaponName == 'weapon_pipebomb' or weaponName == 'weapon_smokegrenade' or weaponName == 'weapon_flare' or weaponName == 'weapon_proxmine' or weaponName == 'weapon_ball' or weaponName == 'weapon_molotov' or weaponName == 'weapon_grenade' or weaponName == 'weapon_bzgas' then
```

#### Modified Line (add the new grenades):

```lua
elseif weaponName == 'weapon_stickybomb' or weaponName == 'weapon_pipebomb' or weaponName == 'weapon_smokegrenade' or weaponName == 'weapon_flare' or weaponName == 'weapon_proxmine' or weaponName == 'weapon_ball' or weaponName == 'weapon_molotov' or weaponName == 'weapon_grenade' or weaponName == 'weapon_bzgas' or weaponName == 'weapon_grenade_stun' or weaponName == 'weapon_grenade_smoke' or weaponName == 'weapon_grenade_teargas' then
```
