# Installation Guide

This script was made to be **as simple as possible** to install on your server. The installation has only **one step**: adding the items to your framework (and optional images to your inventory).\
Everything you need is already included in the script files.

***

### Step 1: Copy Images (Optional)

Copy the content from the folder: `installation/images`, paste it into the `images` folder of your inventory system.

\
Below you can find the most common paths for popular inventory systems. If you use another system, the path should be similar. If you cannot find it, ask your inventory provider.

| qb-inventory | ox\_inventory | ps-inventory | esx\_inventory  |
| ------------ | ------------- | ------------ | --------------- |
| /html/images | /web/images   | /html/images | /html/img/items |

***

### Step 2: Add Items to Your Framework

Now you need to add the items. Below are instructions for **QBX**, **QBCore**, and **es\_extended**.

If you are using **es\_extended** or a **custom inventory system**, installation can be different. Please ask your inventory provider how to add new items.

{% tabs %}
{% tab title="QBCore" %}

1. Go to your `qb-core` folder.
2. Open the file: `/shared/items.lua`&#x20;
3. Scroll to the **end of the file**.
4. Before the closing `}` add the following code:

```lua
['mov_basic_wax']                     = { ['name'] = 'mov_basic_wax', ['label'] = 'Basic Wax', ['weight'] = 10, ['type'] = 'item', ['image'] = 'mov_basic_wax.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = true, ['description'] = 'After application on the car, the car is resistant to external dirt, such as driving on unpaved roads, etc. It will still get dirty, but much more slowly. It lasts about 3 days on the car, after which time reapplication is required to maintain the effect.'},
['mov_advanced_ceramic']                     = { ['name'] = 'mov_advanced_ceramic', ['label'] = 'Premium Ceramic', ['weight'] = 10, ['type'] = 'item', ['image'] = 'mov_advanced_ceramic.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = true, ['description'] = 'After application on the car, dirt does not stick to the bodywork at all, so at the car wash, it only needs to be rinsed off. It lasts about 7 days on the car, after which time reapplication is required to maintain the effect.'},
['mov_advanced_wax']                     = { ['name'] = 'mov_advanced_wax', ['label'] = 'Advanced Wax', ['weight'] = 10, ['type'] = 'item', ['image'] = 'mov_advanced_wax.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = true, ['description'] = 'After application on the car, the car is highly resistant to external dirt, such as driving on unpaved roads, etc. It will still get dirty, but much more slowly. It lasts about 7 days on the car, after which time reapplication is required to maintain the effect.'},
['mov_basic_ceramic']                     = { ['name'] = 'mov_basic_ceramic', ['label'] = 'Basic Ceramic', ['weight'] = 10, ['type'] = 'item', ['image'] = 'mov_basic_ceramic.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = true, ['description'] = 'After application on the car, dirt does not stick to the bodywork, making it much easier to wash off at the car wash. It lasts about 3 days on the car, after which time reapplication is required to maintain the effect.'},
```

{% endtab %}

{% tab title="QBX\_Core" %}

1. Go to your `qbx-core` folder.
2. Open the file: `/shared/items.lua`&#x20;
3. Scroll to the **end of the file**.
4. Before the closing `}` add the following code:

```lua
['mov_basic_wax']                     = { ['name'] = 'mov_basic_wax', ['label'] = 'Basic Wax', ['weight'] = 10, ['type'] = 'item', ['image'] = 'mov_basic_wax.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = true, ['description'] = 'After application on the car, the car is resistant to external dirt, such as driving on unpaved roads, etc. It will still get dirty, but much more slowly. It lasts about 3 days on the car, after which time reapplication is required to maintain the effect.'},
['mov_advanced_ceramic']                     = { ['name'] = 'mov_advanced_ceramic', ['label'] = 'Premium Ceramic', ['weight'] = 10, ['type'] = 'item', ['image'] = 'mov_advanced_ceramic.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = true, ['description'] = 'After application on the car, dirt does not stick to the bodywork at all, so at the car wash, it only needs to be rinsed off. It lasts about 7 days on the car, after which time reapplication is required to maintain the effect.'},
['mov_advanced_wax']                     = { ['name'] = 'mov_advanced_wax', ['label'] = 'Advanced Wax', ['weight'] = 10, ['type'] = 'item', ['image'] = 'mov_advanced_wax.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = true, ['description'] = 'After application on the car, the car is highly resistant to external dirt, such as driving on unpaved roads, etc. It will still get dirty, but much more slowly. It lasts about 7 days on the car, after which time reapplication is required to maintain the effect.'},
['mov_basic_ceramic']                     = { ['name'] = 'mov_basic_ceramic', ['label'] = 'Basic Ceramic', ['weight'] = 10, ['type'] = 'item', ['image'] = 'mov_basic_ceramic.png', ['unique'] = false, ['useable'] = true, ['shouldClose'] = true, ['description'] = 'After application on the car, dirt does not stick to the bodywork, making it much easier to wash off at the car wash. It lasts about 3 days on the car, after which time reapplication is required to maintain the effect.'},
```

{% endtab %}

{% tab title="Default ESX" %}

1. Run this SQL query in your database:

```sql
INSERT IGNORE INTO `items` (`name`, `label`, `weight`, `rare`, `can_remove`) VALUES
    ('mov_advanced_ceramic', 'Premium Ceramic', 10, 0, 1),
    ('mov_advanced_wax', 'Advanced Wax', 10, 0, 1),
    ('mov_basic_ceramic', 'Basic Ceramic', 10, 0, 1),
    ('mov_basic_wax', 'Basic Wax', 10, 0, 1)
;
```

{% endtab %}
{% endtabs %}

***

### ⚠️ Map Conflicts

If you are using **custom maps**, you might experience some problems.\
We explain more about this in the next chapter.
