> For the complete documentation index, see [llms.txt](https://bmjmodding.gitbook.io/fr/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bmjmodding.gitbook.io/fr/fivem-scripts/forensic-analysic-system/configuration.md).

# Configuration

🔫 Weapons and Magazines Configuration

#### `Config.Weapons`

Defines the correspondence between weapons and their 3D magazine models.

```lua
Config.Weapons = {
    ['weapon_appistol'] = 'w_pi_vintage_pistol_mag1',
    ['weapon_pistol'] = 'w_pi_vintage_pistol_mag1',
    ['weapon_combatpistol'] = 'w_pi_vintage_pistol_mag1',
}
```

**Usage:**

* Each weapon is associated with a specific magazine model
* These magazines appear physically during weapon reloading
* They can be collected as evidence with fingerprints

**To add a new weapon:**

```lua
['weapon_name'] = 'magazine_model',
```

***

### 📦 Detectable Magazine Models

#### `Config.Mag`

List of 3D magazine models that the system can automatically detect.

```lua
Config.Mag = {
    'w_pi_combatpistol_mag1',
    'w_pi_vintage_pistol_mag1'
}
```

**Functionality:**

* The system continuously scans for these objects around the player
* Automatic detection of abandoned magazines
* Enables collection as physical evidence

***

### 🧤 Surgical Gloves by Gender

#### `Config.SurgicalGloves`

Defines visual variations of surgical gloves according to character gender.

```lua
Config.SurgicalGloves = {
    male = { 90, 91, 92 },
    female = { 93, 94, 95 }
}
```

**Features:**

* **Mandatory** to collect evidence
* **3 different styles** per gender
* **Real-time switching** with arrow keys
* **Limited durability**: 3 uses maximum

***

### 🔬 Laboratory Configuration

#### `Config.laboratory`

Interaction point to access the analysis laboratory.

```lua
Config.laboratory = {
    {
        coords = vector3(3539.5759, 3642.9214, 28.1219 - 1.0),
        heading = 325.5254,
        model = 's_m_m_scientist_01'
    }
}
```

**Parameters:**

* **`coords`**: Exact laboratory position
* **`heading`**: Scientist NPC orientation
* **`model`**: Scientist character model

**To relocate the laboratory:**

1. Modify the `coords` coordinates
2. Adjust `heading` orientation if needed
3. Restart the script

***

### 🧤 Normal Anti-Fingerprint Gloves

#### `Config.Gloves`

IDs of normal gloves that prevent leaving fingerprints.

```lua
Config.Gloves = {
    100
}
```

**Difference with surgical gloves:**

* **Normal gloves**: Prevent leaving fingerprints but do NOT allow collection
* **Surgical gloves**: Allow collection without contamination

***

### ⏱️ Evidence Persistence Delays

#### `Config.delay`

Defines how long each type of evidence remains visible and collectible.

```lua
Config.delay = {
    ["Bloodstain"] = 1000*5,        -- 5 seconds
    ["VehicleFootprint"] = 1000*10, -- 10 seconds  
    ["BallImpact"] = 1000*5,        -- 5 seconds
    ["Charger"] = 1000*5,           -- 5 seconds
    ["Socket"] = 1000*5,            -- 5 seconds
    ["default"] = 1000*5            -- 5 seconds default
}
```

**Evidence types:**

* **`Bloodstain`**: Blood stains (rapid degradation)
* **`VehicleFootprint`**: Vehicle footprints
* **`BallImpact`**: Bullet impacts
* **`Charger`**: Abandoned magazines
* **`Socket`**: Electrical sockets
* **`default`**: Default delay for new types

**Realistic logic:**

* Blood degrades faster than metal objects
* Vehicle footprints persist longer on ground
* All delays are in milliseconds (1000 = 1 second)

***

### 🛠️ Advanced Customization

#### Adding a new evidence type

1. Modify `Config.delay` to define its lifespan
2. Add detection logic in client code
3. Configure analysis interface on server side

#### Modifying laboratory positions

```lua
-- Example for multiple laboratories
Config.laboratory = {
    {
        coords = vector3(x1, y1, z1),
        heading = orientation1,
        model = 's_m_m_scientist_01'
    },
    {
        coords = vector3(x2, y2, z2), 
        heading = orientation2,
        model = 's_f_y_scrubs_01'
    }
}
```

#### Adjusting delays according to your needs

```lua
-- Configuration for hardcore RP server (longer delays)
Config.delay = {
    ["Bloodstain"] = 1000*30,       -- 30 seconds
    ["VehicleFootprint"] = 1000*60, -- 1 minute
    ["BallImpact"] = 1000*45,       -- 45 seconds
    -- ...
}
```
