> ## 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.

# Tablas de botín en Economy (heredada)

> Cree tablas de botín ponderadas y secuenciales en PlayFab Legacy Economy con Game Manager para conceder botín aleatorio y recompensas a los jugadores desde su catálogo.

# Tablas de botín (Economía heredada)

<Info>
  Las API de Economy v1 están en modo de mantenimiento y no recibirán nuevas características, solo correcciones de errores. **Las API v1 se mantendrán en el futuro previsible.** Consulte la [Información general de Economy v2](/services/playfab/economy-monetization/economy-v2/overview) para obtener más información sobre la próxima versión de PlayFab Economy.
</Info>

Este tutorial le muestra los pasos para crear tablas de botín con Game Manager de PlayFab.

Las tablas de botín le permiten generar aleatoriamente [artículos de inventario](/services/playfab/player-progression/player-data/player-inventory), y las tablas de botín *secuenciales* pueden aportar algo de aleatoriedad a las recompensas de los jugadores.

* Asumimos que ya está familiarizado con los [Catálogos](/services/playfab/economy-monetization/economy/items/catalogs), el [Inventario](/services/playfab/player-progression/player-data/player-inventory) y [Game Manager](/services/playfab/live-service-management/gamemanager/quickstart) de PlayFab.
* Debe tener un *catálogo principal*, que contenga artículos estándar que no sean lotes ni contenedores.
* Debe haber definido al menos *una* moneda virtual, que usará como moneda "gratuita" dentro del juego.

Puede usar su propio conjunto de artículos, pero nuestro objetivo es crear una categorización superpuesta de artículos.

Como ejemplo, usaremos la siguiente tabla de artículos:

|                | Accesorio           | Armadura        | Espada          |
| -------------- | :------------------ | :-------------- | :-------------- |
| **Común**      | Common Accessory    | Common Armor    | Common Sword    |
| **Poco común** | Uncommon Accessory  | Uncommon Armor  | Uncommon Sword  |
| **Raro**       | Rare Accessory      | Rare Armor      | Rare Sword      |
| **Legendario** | Legendary Accessory | Legendary Armor | Legendary Sword |

Una vez que haya configurado un conjunto similar de artículos con los que trabajar en su catálogo, estamos listos para crear las tablas de botín.

## Creación de tablas de botín

En Game Manager:

1. Vaya a su **título**.
2. Seleccione **Economy** en el menú de la izquierda.
3. Vaya a la pestaña **Catalogs** y elija su catálogo principal.
4. Seleccione **Drop Tables**.

Su pantalla debería ser similar a este ejemplo.

<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 - Catalogs - Tablas de botín" width="943" height="488" data-path="images/playfab/economy-monetization/economy/tutorials/game-manager-catalogs-drop-tables.png" />

Comience a crear **tablas de botín** basadas en cada uno de los descriptores de sus artículos. Nuestra primera categorización es el **tipo de equipamiento**, así que crearemos una nueva **tabla de botín** llamada **Accessories**.

1. Seleccione el botón **New Drop Table**.

2. Establezca el **Table Id** en **Accessories**.

3. Seleccione **ADD TO DROP TABLE**. Aparecerá la ventana emergente **Pick multiple items**.

4. Agregue estos artículos seleccionando el botón **Add** junto a su **ID**:
   * **Common Accessory**
   * **Uncommon Accessory**
   * **Rare Accessory**
   * **Legendary Accessory**

5. Seleccione el botón **Close**.

6. Ajuste los valores de **Weight** de los artículos según su rareza:

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

   Los pesos indican con qué frecuencia deben aparecer los artículos en comparación unos con otros. Para el ejemplo que se muestra aquí, obtendrá aproximadamente **1000 comunes** por cada **legendario**.

7. Seleccione **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 - Tabla de botín - Editar Accessories" width="1280" height="900" data-path="images/playfab/economy-monetization/economy/tutorials/game-manager-drop-table-edit-accessories.png" />

Una vez completada la tabla **Accessories**, siga los mismos pasos para crear tablas de botín para **Armors** y **Weapons**.

Nuestra otra categorización es por rareza, así que crearemos un conjunto alternativo de tablas comenzando por **Common Equipment**.

1. Seleccione el botón **New Drop Table**.

2. Establezca el **Table Id** en **Common Equipment**.

3. Seleccione **ADD TO DROP TABLE**. Aparecerá la ventana emergente **Pick multiple items**.

4. Agregue estos artículos seleccionando el botón **Add** junto a su **ID**:
   * **Common Accessory**
   * **Common Armor**
   * **Common Sword**

5. Seleccione el botón **Close**.

6. Ajuste los valores de **Weight** de los artículos según cómo estarán las opciones de **Common Equipment** en ese espacio:

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

7. Seleccione **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 - Tabla de botín - Editar Common Equipment" width="1280" height="900" data-path="images/playfab/economy-monetization/economy/tutorials/game-manager-drop-table-edit-common-equipment.png" />

### Uso de tablas de botín

Puede acceder a las tablas de botín mediante programación con estos dos métodos de la API de servidor de PlayFab:

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

Con [GetRandomResultTables](xref:titleid.playfabapi.com.server.playeritemmanagement.getrandomresulttables), puede leer los datos sin procesar de la tabla de botín que hemos introducido en Game Manager.

<Note>
  **`GetRandomResultTables`** *no* genera valores aleatorios ni concede resultados. La API le permite leer los datos y analizar la información como considere conveniente.
</Note>

### Opción 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());
    });
}
```

El controlador de resultados recibirá la información de estructura de la tabla de botín que creamos, con el formato de un [GetRandomResultTablesResult](xref:titleid.playfabapi.com.server.playeritemmanagement.getrandomresulttables#getrandomresulttablesresult).

Como alternativa, puede dejar que PlayFab evalúe la tabla *por* usted y le devuelva el resultado de un único artículo mediante la API [EvaluateRandomResultTable](xref:titleid.playfabapi.com.server.playeritemmanagement.evaluaterandomresulttable). Al hacerlo, se devuelve el `itemId` que se puede usar para generar un único artículo, sorteado según los pesos proporcionados.

Después puede realizar una segunda llamada, que crea el artículo y se lo da al jugador.

### Opción 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 resumen:

**Opción 1**: le permite cargar los datos una vez, almacenarlos en caché y realizar el sorteo *usted mismo* en su propio servidor de juego. Esta opción tiene una latencia menor debido a que se realizan menos llamadas a PlayFab, y le permite personalizar los sorteos según la lógica específica del juego.

**Opción 2**: deja que PlayFab haga más trabajo, pero recuerde: varias llamadas de API significan una latencia *mayor*.

### Uso avanzado de tablas de botín (configuración de una caja de botín)

Las tablas de botín se pueden vincular desde lotes y contenedores. Los lotes son una gran opción para las tiendas de moneda virtual, donde una sola compra produce una pila de artículos aleatorios.

Por ejemplo, supongamos que tenemos un **lote de 11 artículos** con reglas de botín específicas. En este caso, es un argumento de venta de cara al cliente que garantizaremos un artículo legendario. También lo *restringiremos*, para que el jugador no pueda tener *demasiada* suerte y recibir **11 legendarios**.

### Nueva tabla de botín

Creemos una tabla de botín que literalmente pueda soltar *cualquier cosa*; de hecho, la llamaremos **Anything**.

Al crear esta tabla de botín, asígnele *otras* tablas de botín como opciones (en la ventana emergente **Pick multiple items**, seleccione la pestaña **Drop Tables** para agregar otras tablas de botín) y asígneles los pesos adecuados.

<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 - Nueva tabla de botín" width="1280" height="900" data-path="images/playfab/economy-monetization/economy/tutorials/game-manager-new-drop-table.png" />

## Agregar un lote

En este punto, hemos terminado con las tablas de botín y agregaremos un **lote**.

1. Seleccione **Economy** en el menú de la izquierda.
2. Vaya a la pestaña **Catalogs** y elija su catálogo principal.
3. Seleccione **Bundles** y elija **New Bundle**.
4. Establezca el **Item Id** en **11-Item Drop**, seleccione **Consumable** y elija **By time** **15 Seconds**.
5. Seleccione **ADD TO BUNDLE**.
6. En la ventana emergente **Pick multiple items**, seleccione la pestaña **Drop tables**.
7. Agregue las tablas de botín seleccionando el botón **Add** junto a su **ID**.
8. Establezca los campos **Quantity** en los valores que se muestran en la imagen siguiente.
9. Seleccione **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 - Nuevo lote del catálogo" width="1280" height="1500" data-path="images/playfab/economy-monetization/economy/tutorials/game-manager-new-catalog-bundle.png" />

El **lote** que hemos creado para este ejemplo usa varias características:

* Todos los artículos de *cualquier* tipo deben tener un **Item ID**.
* Un **lote** cuenta como un artículo en sí mismo, y su contenido se entrega en el mismo momento en que se concede. Por este motivo, hacemos que el propio **lote** sea consumible y expire 15 segundos después de la entrega.
* Agregamos diferentes **tablas de botín** en diferentes cantidades para garantizar que se entreguen **11 artículos**, pero los diferentes artículos se sortean en tablas diferentes.
  * Primero, garantizamos al menos **1 artículo legendario**, por lo que el primer espacio se sortea en **Legendary Equipment**.
  * Los 3 espacios siguientes se sortean en **Anything**, que puede dar más **legendarios** o equipamiento común menos deseable. Estos sorteos definirán un sorteo *bueno* frente a uno *malo*, ya que estos tres artículos pueden variar mucho.
  * Finalmente, rellenamos los espacios restantes con artículos **raros** y **poco comunes** garantizados, asegurando que un sorteo de **11 artículos** no sea *demasiado* bueno ni malo.

## Conclusión

Una tabla de botín genera un único artículo aleatoriamente a partir de una lista de artículos potenciales y pesos. Los lotes y contenedores pueden ser una de las maneras más sencillas de entregar uno o varios artículos a un jugador mediante tablas de botín.

Puede usar manualmente una tabla de botín desde [CloudScript](/services/playfab/live-service-management/service-gateway/automation/cloudscript/writing-custom-cloudscript), mediante uno de estos métodos de la API de servidor:

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


## Related topics

- [Tablas de botín y botín aleatorio en Economy v2](/es/services/playfab/economy-monetization/economy-v2/tutorials/drop-tables-and-randomized-loot.md)
- [Tiendas personalizadas para segmentos de jugadores en Economy (heredada)](/es/services/playfab/economy-monetization/economy/tutorials/custom-stores-for-player-segments.md)
- [Procedimientos recomendados para la segmentación de tiendas en Economy (heredada)](/es/services/playfab/economy-monetization/economy/tutorials/best-practices-for-store-segmentation.md)
- [Catálogos (Economía heredada)](/es/services/playfab/economy-monetization/economy/items/catalogs.md)
- [Cupones y promociones en Economy (heredada)](/es/services/playfab/economy-monetization/economy/tutorials/coupons-and-promotions.md)
