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

# Uso de tablas de premios

> Cree tablas de premios de PlayFab que otorguen moneda virtual, elementos de inventario, notificaciones push o acciones de CloudScript a los primeros puestos cuando se restablezca una tabla de clasificación.

Este tutorial le guía por la creación de una tabla de premios que desencadena un conjunto de acciones sobre un grupo de jugadores dentro de un intervalo de posiciones, en una [tabla de clasificación restablecible](/services/playfab/community/leaderboards/tournaments-leaderboards/using-resettable-statistics-and-leaderboards).

En concreto, esta es una manera de desencadenar correos electrónicos, enviar notificaciones push, otorgar [elementos de inventario](/services/playfab/player-progression/player-data/player-inventory) y [moneda virtual](/services/playfab/economy-monetization/economy/tutorials/currencies), o ejecutar una función de [CloudScript](/services/playfab/live-service-management/service-gateway/automation/cloudscript/writing-custom-cloudscript) al restablecerse una tabla de clasificación.

En este ejemplo, le mostramos cómo crear una tabla de premios de fin de torneo, que otorga moneda virtual a 5 jugadores en función de su posición en una tabla de clasificación después de realizar un restablecimiento.

## Requisitos

<Info>
  Este es un tutorial *avanzado*. Asegúrese de que se cumplen todos los requisitos que se muestran a continuación o *no* podrá completar este tutorial.
</Info>

* Serán necesarios conocimientos básicos sobre cómo crear un jugador, ya que deberá haber jugadores en una tabla de clasificación antes de que esta pueda realizar acciones sobre ellos.
* También merece la pena leer el [inicio rápido de Game Manager](/services/playfab/live-service-management/gamemanager/quickstart) si no está familiarizado con Game Manager, ya que es el lugar donde se crean las tablas de premios.
* Para usar las tablas de premios, debe tener conocimientos generales sobre cómo funcionan las tablas de clasificación restablecibles. Lea sobre las tablas de clasificación en nuestro tutorial [Uso de estadísticas y tablas de clasificación restablecibles](/services/playfab/community/leaderboards/tournaments-leaderboards/using-resettable-statistics-and-leaderboards).
* Además, deben configurarse las monedas virtuales. Lea nuestro tutorial sobre [monedas](/services/playfab/economy-monetization/economy/tutorials/currencies) y configure dos monedas con los parámetros siguientes:
  * **Currency code**: GO
  * **Display name**: Gold
  * **Initial deposit**: 200
  * **Currency code**: SI
  * **Display name**: Silver
  * **Initial deposit**: 1000

## Paso 1: Crear una tabla de clasificación

En Game Manager:

* Vaya a **Leaderboards** en el menú de la izquierda.
* Seleccione **New Leaderboard**.
* Agregue una **tabla de clasificación** llamada **tournamentScore\_manual** en el campo **Statistic name**.
* Con el menú desplegable proporcionado, establezca el campo **Reset frequency** en **Manually**.
* Vaya al campo **Aggregation method** y seleccione **Maximum (always use the highest value)** en el menú desplegable proporcionado.

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-new-leaderboard.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=ae4751c677d887a754e11f3cabd0ff69" alt="Game Manager - Tablas de clasificación - Nueva tabla de clasificación" width="1280" height="900" data-path="images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-new-leaderboard.png" />

## Paso 2: Crear una tabla de premios para la tabla de clasificación

Ahora que se ha creado una tabla de clasificación, se le puede asociar una tabla de premios. Vaya a:

* **Leaderboards** en el menú de la izquierda.
* Seleccione la pestaña **Prize Tables**.
* Seleccione el botón **NEW PRIZE TABLE** para ir a la vista **New Prize Table**.

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-prize-tables.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=5dff3f1dfb1f60bc663bfd2ce175bcc5" alt="Game Manager - Tablas de clasificación - Tablas de premios" width="1392" height="705" data-path="images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-prize-tables.png" />

En la vista **New Prize Table**:

* Vaya al área **INFO** e introduzca el **nombre** de la **nueva tabla de premios**, titulada **End Tournament Prizes**.
* Elija **tournamentScore\_manual** en el menú desplegable **Leaderboard**.

Para que esta tabla de premios realice alguna acción, será necesario establecer las posiciones. Para ello:

* Seleccione **+ ADD RANK** en la sección **TABLE CONTENTS**.
* Aparecerá un formulario de **posición**.

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-new-prize-table.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=528df8c1e58927de159fe555fceeb453" alt="Game Manager - Tablas de clasificación - Nueva tabla de premios" width="973" height="1187" data-path="images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-new-prize-table.png" />

En el formulario de **posición**:

* Compruebe que el campo **Rank from** tiene el valor **1**.
* Compruebe que el campo **To (inclusive)** tiene el valor **2**.
* En el menú desplegable **Type**, elija **Grant virtual currency**.
* En el menú desplegable **virtual currency code**, elija **GO (Gold)** con una cantidad de **10**.

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-prize-table-add-rank.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=39b565857248eba5c35b0cdc45318828" alt="Game Manager - Tablas de clasificación - Tabla de premios - Agregar posición" width="1294" height="1259" data-path="images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-prize-table-add-rank.png" />

Ahora, agregaremos un segundo intervalo de posiciones:

* Seleccione **+ADD RANK** en la sección **TABLE CONTENTS** (también hay un *segundo* botón en la parte inferior, que también funciona).
* En el formulario de **posición** que aparece, asegúrese de que el campo **Rank from** tiene el valor **3** y el campo **To (inclusive)** tiene el valor **5**.
* En el menú desplegable **Virtual currency code**, elija **SI** (**Silver**) con una cantidad de **10**.

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-prize-table-add-second-rank.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=f8bcf1ce6445bae43ff8b7ac6f38840c" alt="Game Manager - Tablas de clasificación - Tabla de premios - Agregar segunda posición" width="875" height="1250" data-path="images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-prize-table-add-second-rank.png" />

## Paso 3: Rellenar la tabla de clasificación con un jugador

Ya se ha creado una tabla de clasificación y una tabla de premios asociada a ella. El siguiente paso es rellenar la tabla de clasificación con jugadores.

Para crear jugadores, usaremos [LoginWithCustomID](xref:titleid.playfabapi.com.client.authentication.loginwithcustomid). Después, usaremos los jugadores para rellenar la tabla de clasificación con [UpdatePlayerStatistics](xref:titleid.playfabapi.com.client.playerdatamanagement.updateplayerstatistics).

Antes de poder usar [UpdatePlayerStatistics](xref:titleid.playfabapi.com.client.playerdatamanagement.updateplayerstatistics), debemos habilitarlo en API Features.

* Seleccione **Settings** en el menú de la izquierda.
* Seleccione la pestaña **API Features**.
* Marque la casilla **Allow client to post player statistics**.
* Después, seleccione el botón **SAVE API FEATURES** en la parte inferior de la pantalla.

<img src="https://mintcdn.com/microsoft-4404708b/5IpvKlT-jmAaVkeY/images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/api-features-allow-client-to-post-player-statistics.png?fit=max&auto=format&n=5IpvKlT-jmAaVkeY&q=85&s=71197d724d092da6b5ff0a4093ad843e" alt="Game Manager - Configuración - API Features - Permitir al cliente publicar estadísticas de jugador" width="2079" height="1191" data-path="images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/api-features-allow-client-to-post-player-statistics.png" />

### Ejemplo de código de C\#

El ejemplo de código de **C#** siguiente crea 5 jugadores y los conecta mediante [LoginWithCustomID](xref:titleid.playfabapi.com.client.authentication.loginwithcustomid).

Después, rellena la tabla de clasificación que creó anteriormente (`tournamentScore_manual`) con los 5 jugadores con los valores: **105**, **104**, **103**, **102** y **101** mediante [UpdatePlayerStatistics](xref:titleid.playfabapi.com.client.playerdatamanagement.updateplayerstatistics).

```csharp theme={null}
// Note: This is a recursive function. Invoke it initially with no parameter
public void CreatePlayerAndPopulateLeaderboard(int playerIndex = 5) {
    if (playerIndex <= 0) return;
    const string leaderboardName = "tournamentScore_manual";
    PlayFabClientAPI.LoginWithCustomID(new LoginWithCustomIDRequest {
        CustomId = playerIndex.ToString(),
        CreateAccount = true
    }, result => OnLoggedIn(result,playerIndex,leaderboardName), FailureCallback);
}

private void OnLoggedIn(LoginResult loginResult, int playerIndex, string leaderboardName) {
    Debug.Log("Player has successfully logged in with " + loginResult.PlayFabId);
    PlayFabClientAPI.UpdatePlayerStatistics(new UpdatePlayerStatisticsRequest {
        Statistics = new List<StatisticUpdate> {
            new StatisticUpdate {
                StatisticName = leaderboardName,
                Value = playerIndex + 100
            }
        }
    }, result=> OnStatisticsUpdated(result,playerIndex), FailureCallback);
}

private void OnStatisticsUpdated(UpdatePlayerStatisticsResult updateResult, int playerIndex) {
    Debug.Log("Successfully updated player statistic");
    // Recursively invoke for next player
    CreatePlayerAndPopulateLeaderboard(playerIndex - 1);
}

private void FailureCallback(PlayFabError error){
    Debug.LogWarning("Something went wrong with your API call. Here's some debug information:");
    Debug.LogError(error.GenerateErrorReport());
}
```

### Comprobación de los resultados del ejemplo de código de C\#

Para comprobar que hay 5 jugadores en la tabla de clasificación con los valores correctos:

* Seleccione **Leaderboards** en el menú de la izquierda.
* En la pestaña **Leaderboards**, vuelva a la vista de lista de **tablas de clasificación**.
* Seleccione **tournamentScore\_manual** y debería haber 5 **jugadores** con los valores **105**, **104**, **103**, **102** y **101**.

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-leaderboards-view-leaderboard-check-values.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=489c3dc10f130dd28d3e5cdf4d206f16" alt="Game Manager - Tablas de clasificación - Ver tabla de clasificación - Comprobar valores" width="1988" height="910" data-path="images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-leaderboards-view-leaderboard-check-values.png" />

## Paso 4: Comprobar las monedas iniciales de los jugadores

Antes de comprobar nada:

* Vuelva a **Players** en el menú de la izquierda del paso 2.
* Vaya a la pestaña **Players** y busque un jugador que se haya incluido en la **tabla de clasificación** **tournamentScore\_manual** en el paso 3.
* Seleccione el **identificador del jugador** y la pestaña **Virtual Currency** de ese jugador.
* Anote los valores de las **monedas** **GO** (**Gold**) y **SI** (**Silver**) de ese jugador.

Antes de comprobar nada, vuelva a los **jugadores** de prueba del paso 2.

* Vaya a **Players** y busque uno que se haya incluido en la **tabla de clasificación tournamentScore\_manual** en el paso 3.
* Seleccione el **identificador del jugador** y la pestaña **Virtual Currency** de ese jugador.
* Anote los valores de las monedas **GO** (**Gold**) y **SI** (**Silver**) de ese jugador.
* Ahora haga esto para los 4 jugadores restantes de los 5 que se incluyeron en la **tabla de clasificación tournamentScore\_manual** en el paso 3.
* Asegúrese de anotar los valores de sus monedas **GO** (**Gold**) y **SI** (**Silver**) (serán importantes para confirmar que la tabla de premios funcionó después del restablecimiento).

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-players-virtual-currency-check-values.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=9626280dfe1f4ea05d8ce7ffcf274cee" alt="Game Manager - Jugadores - Moneda virtual - Comprobar valores" width="1439" height="853" data-path="images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-players-virtual-currency-check-values.png" />

## Paso 5: Restablecer la tabla de clasificación para otorgar las recompensas

Ahora vaya a **Leaderboards**.

* Vuelva a la vista de lista de **tablas de clasificación**.

* Seleccione **tournamentScore\_manual**.

* Anote las posiciones de los **jugadores** en la **tabla de clasificación** (están *indexadas desde cero*, por lo que la posición **0** será el *primer puesto*).

* Seleccione el botón **RESET NOW**.

* Seleccione el botón **RESET** para confirmar el restablecimiento de la **tabla de clasificación**.

* Esto borrará la lista de **jugadores**.

<img src="https://mintcdn.com/microsoft-4404708b/5IpvKlT-jmAaVkeY/images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-leaderboards-check-player-positions.png?fit=max&auto=format&n=5IpvKlT-jmAaVkeY&q=85&s=bcca3903355aa64af07fdd4cb6877efa" alt="Game Manager - Tablas de clasificación - Comprobar posiciones de los jugadores" width="1988" height="910" data-path="images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-leaderboards-check-player-positions.png" />

* Seleccione el botón **RESET NOW** en la parte superior de la pantalla.
* Cuando se le pregunte **Reset this Leaderboard now?**, seleccione el botón **RESET** para confirmar el restablecimiento.
* Esto borrará la lista de **jugadores**.

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-reset-leaderboard.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=5b3b43e79c4771b98591e15c1d8c48e3" alt="Game Manager - Restablecer tabla de clasificación" width="1682" height="956" data-path="images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-reset-leaderboard.png" />

## Paso 6: Probar que la tabla de premios funciona

Para ver si la tabla de premios funcionó, se puede comprobar si a los jugadores de la tabla de clasificación se les otorgaron las cantidades correctas de moneda. Esto se puede ver rápidamente en el depurador de PlayStream de un jugador.

Para verlo en el depurador de PlayStream:

* Seleccione **Players** en el menú de la izquierda.
* La pestaña **PlayStream** mostrará un evento de clasificación de un **jugador** en una **tabla de clasificación**, seguido de una actualización de **moneda virtual**.

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-playstream-debugger-check-leaderboard-events.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=f364ffcffe413f4c79b3e37d8a34d7a7" alt="Game Manager - Jugadores - Depurador de PlayStream - Comprobar eventos de la tabla de clasificación" width="1147" height="887" data-path="images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-playstream-debugger-check-leaderboard-events.png" />

Ahora, comprobemos manualmente si los jugadores recibieron las monedas correctas:

* Seleccione **Players** en el menú de la izquierda.
* En la pestaña **Players**, vaya al área **Virtual Currency** de la pantalla.
* Compruebe que la moneda se otorgó correctamente.
* Debería ser *una más* que la cantidad anotada anteriormente.
* Observe que los **jugadores** en las posiciones **0** o **1** de la tabla de clasificación ganaron **10 de oro** *sin recibir plata*.
* Mientras tanto, a los **jugadores** en las posiciones **2**, **3** y **4** se les otorgaron **10 de plata** y *nada de oro*.
* Esto coincide con las acciones configuradas para la tabla de premios.

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-player1-check-vc-amount.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=5278deaf409f0d4279cb2b373be127d5" alt="Game Manager - Jugador1 - Comprobar cantidad de moneda virtual" width="1248" height="805" data-path="images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-player1-check-vc-amount.png" />

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-player2-check-vc-amount.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=5740cfcf5ec78dde6f38277303fb5245" alt="Game Manager - Jugador2 - Comprobar cantidad de moneda virtual" width="1268" height="834" data-path="images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-player2-check-vc-amount.png" />

Otra forma de comprobar que la **moneda virtual** se otorgó correctamente es:

* Entre en **Players**.
* Consulte el **historial de eventos**.
* Este mostrará un evento **player\_virtual\_currency\_balance\_changed** con detalles específicos sobre las cantidades que cambiaron para la **moneda virtual** otorgada.

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-players-event-history-chart-check-vc-changed.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=e13a5faf2dfba3032b3c3061a7860673" alt="Game Manager - Jugadores - Gráfico del historial de eventos - Comprobar cambio de moneda virtual" width="1861" height="968" data-path="images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-players-event-history-chart-check-vc-changed.png" />


## Related topics

- [Torneos y tablas de clasificación](/es/services/playfab/community/leaderboards/tournaments-leaderboards/index.md)
- [Uso de estadísticas y tablas de clasificación restablecibles](/es/services/playfab/community/leaderboards/tournaments-leaderboards/using-resettable-statistics-and-leaderboards.md)
- [Uso de estadísticas de jugador](/es/services/playfab/community/leaderboards/tournaments-leaderboards/using-player-statistics.md)
- [Uso del perfil para tablas de clasificación avanzadas](/es/services/playfab/community/leaderboards/tournaments-leaderboards/using-the-profile-for-advanced-leaderboards.md)
- [Tablas de clasificación](/es/build/steam-porting-guide/features/steam-leaderboards.md)
