# Crée une tenue (exports)

Voici la documentation pour l'export `createTenue` :

***

## Export : `createTenue`

### Description

L'export `createTenue` permet de créer une tenue personnalisée pour un joueur en fonction des éléments spécifiés dans un panier d'articles. Il valide les données fournies et ajoute la tenue au joueur via le système de gestion d'inventaire.

***

### Syntaxe

```lua
exports.nom_du_script:createTenue(source, cart, gender)
```

***

### Paramètres

| Paramètre | Type     | Description                                         |
| --------- | -------- | --------------------------------------------------- |
| `source`  | `number` | L'ID du joueur cible pour appliquer la tenue.       |
| `cart`    | `table`  | Une table contenant les éléments de la tenue.       |
| `gender`  | `string` | Le genre de la tenue, doit être `male` ou `female`. |

***

### Structure de la table `cart`

Chaque élément de la table doit avoir la structure suivante :

```lua
{
    type = "categorie_vetement",  -- (ex: "torso", "pants", "shoes")
    drawable = id_du_vetement,    -- (ex: 5, 10, 15)
    color = couleur_du_vetement,  -- (optionnel, par défaut 0)
    img = "url_image_vetement"    -- (ex: "https://image.url")
}
```

***

### Exemple d'utilisation

```lua
local cart = {
    { type = "torso", drawable = 15, color = 2, img = "https://image.url/torso.png" },
    { type = "pants", drawable = 10, img = "https://image.url/pants.png" },
    { type = "shoes", drawable = 5, color = 1, img = "https://image.url/shoes.png" }
}

exports.nom_du_script:createTenue(1, cart, "male")
```

***

### Messages d'erreur possibles

* `"createTenue : 'src' doit être un nombre."` → Le paramètre `source` doit être un nombre valide.
* `"createTenue : 'cart' doit être une table."` → La liste des vêtements doit être fournie sous forme de table.
* `"createTenue : 'gender' doit être 'male' ou 'female'."` → Le genre doit être correctement spécifié.
* `"createTenue : Champs manquants dans l'élément du panier."` → Un ou plusieurs éléments de la tenue sont incomplets.

***

### Remarques

* Si un élément de la tenue ne contient pas toutes les propriétés requises (`type`, `drawable`, `img`), il sera ignoré et un message d'avertissement sera affiché.
* La fonction utilise le système de gestion d'inventaire via `core.addItems`.

***
