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

# Tables de butin dans Economy (hérité)

> Créez des tables de butin pondérées et séquentielles dans PlayFab Legacy Economy à l'aide de Game Manager pour accorder du butin aléatoire et des récompenses aux joueurs à partir de votre catalogue.

# Tables de butin (Economy hérité)

<Info>
  Les API Economy v1 sont en mode maintenance et ne recevront aucune nouvelle fonctionnalité, seulement des correctifs de bogues. **Les API v1 seront maintenues dans un avenir prévisible.** Consultez la [vue d'ensemble d'Economy v2](/fr-CA/services/playfab/economy-monetization/economy-v2/overview) pour en savoir plus sur la prochaine version de PlayFab Economy!
</Info>

Ce tutoriel présente les étapes de création de tables de butin à l'aide de PlayFab Game Manager.

Les tables de butin vous permettent de générer aléatoirement des [articles d'inventaire](/fr-CA/services/playfab/player-progression/player-data/player-inventory), et les tables de butin *séquentielles* peuvent apporter une part d'aléatoire aux récompenses des joueurs.

* Nous supposons que vous connaissez déjà les [catalogues](/fr-CA/services/playfab/economy-monetization/economy/items/catalogs), l'[inventaire](/fr-CA/services/playfab/player-progression/player-data/player-inventory) et PlayFab [Game Manager](/fr-CA/services/playfab/live-service-management/gamemanager/quickstart).
* Vous devez disposer d'un *catalogue principal*, qui contient des articles standard (ni ensembles ni conteneurs).
* Vous devez avoir défini au moins *une* monnaie virtuelle, que vous utiliserez comme monnaie de jeu « gratuite ».

Vous pouvez utiliser votre propre ensemble d'articles, mais notre objectif est de créer une catégorisation des articles qui se chevauche.

À titre d'exemple, nous utiliserons le tableau d'articles suivant :

| | Accessoire | Armure | Épée |
| - | :- | :- | :- |
| **Commun** | Common Accessory | Common Armor | Common Sword |
| **Peu commun** | Uncommon Accessory | Uncommon Armor | Uncommon Sword |
| **Rare** | Rare Accessory | Rare Armor | Rare Sword |
| **Légendaire** | Legendary Accessory | Legendary Armor | Legendary Sword |

Une fois qu'un ensemble d'articles semblable est configuré dans votre catalogue, nous sommes prêts à créer les tables de butin.

## Créer des tables de butin

Dans Game Manager :

1. Accédez à votre **Title**.
2. Sélectionnez **Economy** dans le menu de gauche.
3. Allez à l'onglet **Catalogs** et choisissez votre catalogue principal.
4. Sélectionnez **Drop Tables**.

Votre écran devrait ressembler à cet exemple.

<img src="https://mintcdn.com/microsoft-4404708b/Oa_DP1q6U1lat7c2/images/playfab/economy-monetization/economy/tutorials/game-manager-catalogs-drop-tables.png?fit=max&auto=format&n=Oa_DP1q6U1lat7c2&q=85&s=3ee2c6e31f0afbd822a1117ad70f1d79" alt="Game Manager - Catalogues - Tables de butin" width="943" height="488" data-path="images/playfab/economy-monetization/economy/tutorials/game-manager-catalogs-drop-tables.png" />

Commencez à créer des **Drop Tables** en fonction de chacun de vos descripteurs d'articles. Notre première catégorisation est le **type d'équipement**; nous allons donc créer une nouvelle **Drop Table** appelée **Accessories**.

1. Sélectionnez le bouton **New Drop Table**.

2. Définissez le **Table Id** sur **Accessories**.

3. Sélectionnez **ADD TO DROP TABLE**. La fenêtre contextuelle **Pick multiple items** s'affiche.

4. Ajoutez ces articles en sélectionnant le bouton **Add** à côté de leur **ID** :
   * **Common Accessory**
   * **Uncommon Accessory**
   * **Rare Accessory**
   * **Legendary Accessory**

5. Sélectionnez le bouton **Close**.

6. Ajustez les valeurs de **Weight** des articles en fonction de leur rareté :

   * **Common** : 1000
   * **Uncommon** : 100
   * **Rare** : 10
   * **Legendary** : 1

   Les poids indiquent la fréquence à laquelle les articles devraient être obtenus les uns par rapport aux autres. Dans l'exemple présenté ici, vous obtiendrez environ **1000 articles communs** pour chaque article **légendaire**.

7. Sélectionnez **SAVE DROP TABLE**.

<img src="https://mintcdn.com/microsoft-4404708b/Oa_DP1q6U1lat7c2/images/playfab/economy-monetization/economy/tutorials/game-manager-drop-table-edit-accessories.png?fit=max&auto=format&n=Oa_DP1q6U1lat7c2&q=85&s=3bcb2b90132d3dec3eafdaef771461ab" alt="Game Manager - Table de butin - Modifier Accessories" width="1280" height="900" data-path="images/playfab/economy-monetization/economy/tutorials/game-manager-drop-table-edit-accessories.png" />

Une fois **Accessories** terminée, suivez les mêmes étapes pour créer des tables de butin pour **Armors** et **Weapons**.

Notre autre catégorisation est la rareté; nous allons donc créer un autre ensemble de tables, en commençant par **Common Equipment**.

1. Sélectionnez le bouton **New Drop Table**.

2. Définissez le **Table Id** sur **Common Equipment**.

3. Sélectionnez **ADD TO DROP TABLE**. La fenêtre contextuelle **Pick multiple items** s'affiche.

4. Ajoutez ces articles en sélectionnant le bouton **Add** à côté de leur **ID** :
   * **Common Accessory**
   * **Common Armor**
   * **Common Sword**

5. Sélectionnez le bouton **Close**.

6. Ajustez les valeurs de **Weight** des articles en fonction de la fréquence souhaitée de chaque option de **Common Equipment** dans cet emplacement :

   * **Common Accessory** : 1
   * **Common Armor** : 4
   * **Common Sword** : 5

7. Sélectionnez **SAVE DROP TABLE**.

<img src="https://mintcdn.com/microsoft-4404708b/Oa_DP1q6U1lat7c2/images/playfab/economy-monetization/economy/tutorials/game-manager-drop-table-edit-common-equipment.png?fit=max&auto=format&n=Oa_DP1q6U1lat7c2&q=85&s=e82dae21d2162de31f53bbf112c2d225" alt="Game Manager - Table de butin - Modifier Common Equipment" width="1280" height="900" data-path="images/playfab/economy-monetization/economy/tutorials/game-manager-drop-table-edit-common-equipment.png" />

### Utiliser les tables de butin

Vous pouvez accéder aux tables de butin par programmation à l'aide de ces deux méthodes de l'API serveur de PlayFab :

1. [GetRandomResultTables](xref:titleid.playfabapi.com.server.playeritemmanagement.getrandomresulttables)
2. [EvaluateRandomResultTable](xref:titleid.playfabapi.com.server.playeritemmanagement.evaluaterandomresulttable)

À l'aide de [GetRandomResultTables](xref:titleid.playfabapi.com.server.playeritemmanagement.getrandomresulttables), vous pouvez lire les données brutes des tables de butin que nous avons entrées dans Game Manager.

<Note>
  **`GetRandomResultTables`** n'effectue *pas* de tirage de valeurs aléatoires et n'attribue pas de résultats. L'API vous permet de lire les données et d'analyser les renseignements comme bon vous semble.
</Note>

### Option 1

```csharp theme={null}
public void ReadDropTableData() {
    PlayFabServerAPI.GetRandomResultTables(new GetRandomResultTablesRequest() {
        TableIDs = new List<string> { "Accessories", "Common Equipment" }
    }, result => {
        Debug.Log("Completed getting drop tables");
    }, error => {
        Debug.LogError(error.GenerateErrorReport());
    });
}
```

Le gestionnaire de résultats recevra les renseignements sur la structure de la table de butin que nous avons créée, sous la forme d'un [GetRandomResultTablesResult](xref:titleid.playfabapi.com.server.playeritemmanagement.getrandomresulttables#getrandomresulttablesresult).

Vous pouvez aussi laisser PlayFab évaluer la table *pour* vous et vous donner un résultat d'article unique à l'aide de l'API [EvaluateRandomResultTable](xref:titleid.playfabapi.com.server.playeritemmanagement.evaluaterandomresulttable). Cela renvoie l'`itemId` qui peut servir à générer un article unique, tiré selon les poids fournis.

Vous pouvez ensuite effectuer un deuxième appel, qui crée l'article et le donne au joueur.

### Option 2

```csharp theme={null}
public void Grant(string playFabId, string tableId) {
    // First, roll a random number and evaluate the drop table
    PlayFabServerAPI.EvaluateRandomResultTable(new EvaluateRandomResultTableRequest()
    {
        TableId = tableId
    }, result => OnRandomResultTableResponse(result, playFabId), OnError);
}

public void OnRandomResultTableResponse(EvaluateRandomResultTableResult tableResult, string playFabId) {
    // Second, take the result and grant it to the player
    PlayFabServerAPI.GrantItemsToUser(new GrantItemsToUserRequest {
        PlayFabId = playFabId,
        ItemIds = new List<string> { tableResult.ResultItemId }
    }, result =>
    {
        // Handle Result
    }, OnError);
}

public void OnError(PlayFabError error) {
    Debug.LogError(error.GenerateErrorReport());
}
```

En résumé :

**Option 1** - Vous permet de charger les données une seule fois, de les mettre en cache et d'effectuer le tirage *vous-même* sur votre propre serveur de jeu. Cette option offre une latence plus faible en raison du nombre réduit d'appels à PlayFab, et vous permet de personnaliser les tirages en fonction d'une logique propre au jeu.

**Option 2** - Laisse PlayFab effectuer une plus grande partie du travail, mais n'oubliez pas : plusieurs appels d'API signifient une latence *plus élevée*.

### Utilisation avancée des tables de butin (configuration d'une caisse de butin)

Les tables de butin peuvent être liées à partir d'ensembles et de conteneurs. Les ensembles constituent une excellente option pour les boutiques en monnaie virtuelle, où un seul achat procure une pile d'articles aléatoires.

Par exemple, supposons que nous avons un **ensemble de 11 articles** avec des règles de butin précises. Dans ce cas, nous garantissons un article légendaire, ce qui constitue un argument de vente pour les clients. Nous allons également le *restreindre*, afin que le joueur ne puisse pas avoir *trop* de chance et recevoir **11 articles légendaires**.

### Nouvelle table de butin

Créons une table de butin qui peut littéralement donner *n'importe quoi*; en fait, nous l'appellerons justement **Anything**.

Lors de la création de cette table de butin, donnez-lui d'*autres* tables de butin comme options (dans la fenêtre contextuelle **Pick multiple items**, sélectionnez l'onglet **Drop Tables** pour ajouter d'autres tables de butin), et attribuez-leur des poids appropriés.

<img src="https://mintcdn.com/microsoft-4404708b/Oa_DP1q6U1lat7c2/images/playfab/economy-monetization/economy/tutorials/game-manager-new-drop-table.png?fit=max&auto=format&n=Oa_DP1q6U1lat7c2&q=85&s=91467936c149620be0008ee13b429ca4" alt="Game Manager - Nouvelle table de butin" width="1280" height="900" data-path="images/playfab/economy-monetization/economy/tutorials/game-manager-new-drop-table.png" />

## Ajouter un ensemble

À ce stade, nous avons terminé avec les tables de butin et nous allons ajouter un **Bundle**.

1. Sélectionnez **Economy** dans le menu de gauche.
2. Allez à l'onglet **Catalogs** et choisissez votre catalogue principal.
3. Sélectionnez **Bundles** et choisissez **New Bundle**.
4. Définissez l'**Item Id** sur **11-Item Drop**, sélectionnez **Consumable** et choisissez **By time** **15 Seconds**.
5. Sélectionnez **ADD TO BUNDLE**.
6. Dans la fenêtre contextuelle **Pick multiple items**, sélectionnez l'onglet **Drop tables**.
7. Ajoutez les tables de butin en sélectionnant le bouton **Add** à côté de leur **ID**.
8. Définissez les champs **Quantity** sur les valeurs indiquées dans l'image ci-dessous.
9. Sélectionnez **SAVE BUNDLE**.

<img src="https://mintcdn.com/microsoft-4404708b/Oa_DP1q6U1lat7c2/images/playfab/economy-monetization/economy/tutorials/game-manager-new-catalog-bundle.png?fit=max&auto=format&n=Oa_DP1q6U1lat7c2&q=85&s=32e531cbb1e6833a2214055427c0c133" alt="Game Manager - Nouvel ensemble de catalogue" width="1280" height="1500" data-path="images/playfab/economy-monetization/economy/tutorials/game-manager-new-catalog-bundle.png" />

Le **Bundle** que nous avons créé pour cet exemple utilise plusieurs fonctionnalités :

* Tous les articles, de *n'importe quel* type, doivent avoir un **Item ID**.
* Un **Bundle** compte comme un article à part entière, et son contenu est livré au moment même où il est accordé. Pour cette raison, nous rendons le **Bundle** lui-même consommable, et il expire 15 secondes après sa livraison.
* Nous ajoutons différentes **Drop tables** en différentes quantités pour garantir la livraison de **11 articles**, mais différents articles sont tirés dans différentes tables.
  * D'abord, nous garantissons au moins **1 article légendaire**; le premier emplacement est donc tiré dans **Legendary Equipment**.
  * Les 3 emplacements suivants sont tirés dans **Anything**, qui peut donner d'autres articles **légendaires** ou de l'équipement commun moins intéressant. Ces tirages détermineront s'il s'agit d'un *bon* ou d'un *mauvais* tirage, car ces trois articles peuvent varier considérablement.
  * Enfin, nous remplissons les emplacements restants avec des articles **Rare** et **Uncommon** garantis, ce qui assure qu'un tirage de **11 articles** n'est ni *trop* bon ni trop mauvais.

## Conclusion

Une table de butin génère aléatoirement un article unique à partir d'une liste d'articles potentiels et de poids. Les ensembles et les conteneurs peuvent être l'un des moyens les plus simples de livrer un ou plusieurs articles à un joueur à l'aide de tables de butin.

Vous pouvez utiliser manuellement une table de butin à partir de [CloudScript](/fr-CA/services/playfab/live-service-management/service-gateway/automation/cloudscript/writing-custom-cloudscript), à l'aide de l'une de ces méthodes de l'API serveur :

1. [GetRandomResultTables](xref:titleid.playfabapi.com.server.playeritemmanagement.getrandomresulttables)
2. [EvaluateRandomResultTable](xref:titleid.playfabapi.com.server.playeritemmanagement.evaluaterandomresulttable)


## Related topics

- [Tables de butin et butin aléatoire dans Economy v2](/fr-CA/services/playfab/economy-monetization/economy-v2/tutorials/drop-tables-and-randomized-loot.md)
- [Boutiques personnalisées pour des segments de joueurs dans Economy (hérité)](/fr-CA/services/playfab/economy-monetization/economy/tutorials/custom-stores-for-player-segments.md)
- [Catalogues (Economy hérité)](/fr-CA/services/playfab/economy-monetization/economy/items/catalogs.md)
- [Coupons et promotions dans Economy (hérité)](/fr-CA/services/playfab/economy-monetization/economy/tutorials/coupons-and-promotions.md)
- [Démarrage rapide d'Economy (hérité)](/fr-CA/services/playfab/economy-monetization/economy/quickstart.md)
