> For the complete documentation index, see [llms.txt](https://realisticnode.gitbook.io/rnsetups/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://realisticnode.gitbook.io/rnsetups/es/rnchatgames/configuration/rewards.md).

# Premios

`rewards.yml` decide lo que reciben los ganadores. Los premios pueden ser distintos para cada juego y cada puesto (1.º, 2.º, 3.º...).

<figure><img src="https://1485480385-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQaixEy8lxLssO2tL4Sxc%2Fuploads%2F92qsV0VYyW8YrYvrw4x5%2Frncg-real-16.png?alt=media" alt="Mensaje de un premio por defecto"><figcaption><p>Mensaje de un premio por defecto</p></figcaption></figure>

## Qué lista se usa

La primera que exista:

1. `games.<juego>.<puesto>` — ej. `games.math.1`
2. `games.<juego>.any`
3. `default.<puesto>`
4. `default.any`

`<puesto>` es `1` para el primer ganador, `2` para el segundo... (ver `winners` de cada juego). `any` se usa para los puestos sin lista propia.

```yaml
default:
  1:
    - '[console] give {player} diamond {random:1-3}'
    - '[message] {prefix}<gray>¡Ganaste <aqua>diamantes</aqua>!'
  any:
    - '[console] give {player} iron_ingot {random:2-5}'

games:
  variable:
    1:
      - '[console] give {player} diamond {random:3-5}'
```

## Acciones

| Acción                                | Qué hace                                                                                      |
| ------------------------------------- | --------------------------------------------------------------------------------------------- |
| `[console] <comando>`                 | Ejecuta un comando desde la consola (por defecto si no se escribe acción)                     |
| `[player] <comando>`                  | El ganador ejecuta el comando                                                                 |
| `[message] <texto>`                   | Mensaje al ganador                                                                            |
| `[broadcast] <texto>`                 | Mensaje a todos                                                                               |
| `[actionbar] <texto>`                 | Action bar al ganador                                                                         |
| `[title] <título>;<subtítulo>`        | Título al ganador                                                                             |
| `[sound] <sonido> [volumen] [tono]`   | Sonido al ganador                                                                             |
| `[item] <objeto> [cantidad] [nombre]` | Da un objeto, con nombre opcional (admite colores). Lo que no cabe cae a los pies del jugador |

```yaml
- '[item] diamond_sword 1 <gold>Campeón del Chat'
- '[sound] minecraft:entity.player.levelup 1 1'
- '[title] <gold>¡Ganador!;<gray>Bien jugado'
```

## Condiciones

Se escriben **antes** de la acción:

| Condición                |                                     |
| ------------------------ | ----------------------------------- |
| `[chance:25]`            | Solo el 25% de las veces            |
| `[permission:group.vip]` | Solo si el ganador tiene el permiso |

```yaml
- '[chance:10] [permission:group.vip] [console] give {player} diamond 5'
```

Una probabilidad en una línea solo afecta a **esa** línea: dos líneas con `[chance:10]` se sortean por separado.

## Grupos: varias acciones con un solo sorteo

Pasan todas o ninguna:

```yaml
- chance: 10                    # opcional
  permission: group.vip         # opcional
  actions:
    - '[console] give {player} emerald 5'
    - '[message] <gold>¡Suerte! También ganaste 5 esmeraldas.'
```

## Elige uno: premios con peso

Pasa exactamente **una** de las opciones, elegida por peso (70 + 25 + 5 = 100 → 70%, 25%, 5%):

```yaml
- pick-one:
    - weight: 70
      actions:
        - '[item] iron_ingot 5'
    - weight: 25
      actions:
        - '[item] diamond 2'
    - weight: 5
      permission: group.vip       # opcional: solo quien lo tenga puede recibir esta
      actions:
        - '[item] netherite_ingot 1'
        - '[broadcast] {prefix}<light_purple>¡{player} consiguió el premio épico!'
```

## Placeholders

`{player}`, `{game}`, `{answer}`, `{time}`, `{place}`, `{place_name}`, `{points}`, `{prefix}` y los de PlaceholderAPI.

`{random:1-5}` es un número al azar entre 1 y 5, que se sortea cada vez que aparece.

## Ejemplo con economía

Con un plugin de economía (EssentialsX + Vault):

```yaml
games:
  math:
    1:
      - '[console] eco give {player} {random:50-150}'
      - '[message] {prefix}<green>¡+ dinero por resolver {answer}!'
```

## Jugadores que se salen

Si el ganador se sale antes de recibir los premios (o justo después de ganar), los comandos, objetos y mensajes se guardan y se le dan la próxima vez que entre, con el mensaje `pending-rewards`. Se guardan en la base de datos, así que un reinicio no los pierde.

Un jugador que muere justo al ganar (en la pantalla de muerte todavía puede escribir un momento) conserva los premios: los objetos y comandos se le dan y siguen ahí al reaparecer.

{% hint style="warning" %}
Un comando que saca al jugador del servidor (`kick`, enviarlo a otro servidor de la red...) va **al final** de la lista. En Folia los comandos que vengan después pueden llegarle mientras se va, y lo que dan se pierde.
{% endhint %}
