> ## Documentation Index
> Fetch the complete documentation index at: https://docs.jaksam-scripts.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Métadonnées

> Affiche les métadonnées des items aux joueurs et définis des valeurs de métadonnées par défaut ou dynamiques

## Comment afficher les métadonnées aux joueurs

Afficher des métadonnées spécifiques aux joueurs est simple. Tout d'abord, tu dois connaître la clé de métadonnée que tu veux afficher. Pour cela, tu peux activer le "Debug mode" dans le menu de paramètres `/inventory`, puis survoler l'item dont tu veux voir les métadonnées.

<Columns cols={2}>
  <Frame>
    <img src="https://mintcdn.com/jaksam/CFF8PxdulGaP6e6O/images/metadata-debug-settings.png?fit=max&auto=format&n=CFF8PxdulGaP6e6O&q=85&s=904f67f1891cac22409ad36b4cc8e1f2" alt="Item debug settings screenshot" width="599" height="491" data-path="images/metadata-debug-settings.png" />
  </Frame>

  <Frame>
    <img src="https://mintcdn.com/jaksam/CFF8PxdulGaP6e6O/images/metadata-debug-item.png?fit=max&auto=format&n=CFF8PxdulGaP6e6O&q=85&s=37ebea9038e695660b268ab44c7f9647" alt="Item debug metadata screenshot" width="323" height="336" data-path="images/metadata-debug-item.png" />
  </Frame>
</Columns>

### L'ajouter à un seul item

Pour montrer aux joueurs les métadonnées d'un seul item, tu peux ajouter et adapter ce code dans la définition de l'item, dans le fichier `jaksam_inventory/_data/items.lua` :

```lua theme={null}
displayFields = {
    { field = 'YOUR_METADATA_KEY_HERE', label = 'TEXT YOU WANT HERE: ${value}'}, -- Exemple aléatoire
    { field = 'ammo', label = 'Ammo: ${value}'}, -- Utile sur les armes (déjà intégré par défaut)
    { field = 'plate', label = 'Plate: ${value}'}, -- Utile sur les clés de véhicule
},
```

<Frame>
  <img src="https://mintcdn.com/jaksam/CFF8PxdulGaP6e6O/images/metadata-single-item-example.png?fit=max&auto=format&n=CFF8PxdulGaP6e6O&q=85&s=6858d303f7d559e89eb8cd1a896bd567" alt="Single item display fields example" width="1130" height="645" data-path="images/metadata-single-item-example.png" />
</Frame>

### L'ajouter à tous les types d'items

Pour montrer aux joueurs les métadonnées de tout un type d'item, c'est exactement la même méthode, mais place-le dans la table `Script.defaultsByType`, dans le fichier `jaksam_inventory/_data/defaults.lua`.

### Optionnel : rendre les valeurs de métadonnées plus jolies

Parfois tu veux afficher les métadonnées de manière plus jolie aux joueurs. Par exemple, au lieu d'afficher "weapon\_pistol", tu veux afficher "Pistol". C'est là qu'interviennent les formatters !

<Tip>
  Un formatter est comme un traducteur : il prend la valeur d'origine (par exemple `weapon_pistol`) et la convertit en quelque chose de plus joli (par exemple `Pistol`).
</Tip>

Tu peux utiliser les formatters intégrés ou en créer des personnalisés dans `jaksam_inventory/_data/formatter.lua`. Voici comment les utiliser :

```lua theme={null}
displayFields = {
    { field = 'item', label = 'Label: ${value}', formatterId = "itemNameToLabel"}, -- Un exemple avec un formatter intégré
},
```

## Comment définir des métadonnées par défaut pour les items

Tu veux que les items aient certaines valeurs de métadonnées lors de leur création ? Par exemple, peut-être veux-tu que les nouvelles armes commencent avec 50% de durabilité. Voici comment faire :

<Steps>
  <Step title="Ouvre le menu admin">
    Tape `/inventory` en jeu pour ouvrir le menu admin.
  </Step>

  <Step title="Trouve l'item">
    Trouve et clique sur l'item que tu veux modifier.
  </Step>

  <Step title="Ouvre l'onglet metadata">
    Clique sur l'onglet "metadata".
  </Step>

  <Step title="Définis les valeurs">
    Définis les valeurs de métadonnées que tu veux.
  </Step>
</Steps>

### Avancé - Utiliser des templates pour des métadonnées dynamiques

Parfois tu veux des métadonnées qui changent selon certaines conditions. Pour cela, tu peux utiliser des templates :

<Steps>
  <Step title="Ouvre l'onglet metadata">
    Va dans le même onglet metadata dans l'éditeur d'item.
  </Step>

  <Step title="Passe au type template">
    Change le type de métadonnée en `template`.
  </Step>

  <Step title="Choisis ou crée un template">
    Sélectionne un template existant, ou crée le tien dans `jaksam_inventory/_data/metadata_templates.lua`.
  </Step>
</Steps>

Les templates te permettent de créer des métadonnées qui se mettent à jour automatiquement selon des règles que tu définis !

#### Exemple

Quelques exemples de ce que tu peux faire avec des templates de métadonnées dynamiques :

* Attribuer à la carte d'identité d'un joueur son nom, sa date de naissance, sa taille, etc.
* Attribuer une durabilité aléatoire à une arme
* Attribuer la date de création à un item (la première fois qu'il est créé)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.