> 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/rnkoth/guides/rewards.md).

# Premios

Quién recibe premios, todas las acciones de premio, probabilidades, grupos, el cofre de botín, los jugadores desconectados y el buzón de premios.

Los premios son listas de **líneas** en el archivo del KOTH, dentro de `rewards:`. Cada línea es una **acción**: ejecutar un comando, dar un objeto, enviar un título... Puedes editar las listas en `/koth editor <nombre>` → **Premios**, o en el archivo.

<figure><img src="https://1485480385-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQaixEy8lxLssO2tL4Sxc%2Fuploads%2F7VtqRrZ2ZGYj7byih8aw%2Frnkoth-es-editor-rewards.png?alt=media" alt="La página Premios del editor"><figcaption><p>La página Premios del editor</p></figcaption></figure>

```yaml
rewards:
  winner:
    - '[loot]'
    - '[console] give {player} diamond 3'
    - '[firework]'
  second: []
  third: []
  participation:
    - '[console] give {player} iron_ingot 2'
  participation-seconds: 30
  while-holding: []
  while-holding-every: 30
  holder-killed:
    - '[message] {@rewards.holder-killed}'
```

Los ganadores también reciben el título integrado `¡VICTORIA!` (`event.you-won-title`, se desactiva con `display.titles: false` en `config.yml`), por eso no hay una línea `[title]` por defecto. Añade una solo si quieres tu propio título en lugar de ese (y desactiva `display.titles`, o los jugadores verán dos títulos).

## Quién recibe cada lista

| Lista           | Se da a                                                                                                                                                              |
| --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `winner`        | Todos los jugadores del bando ganador que estuvieron en el KOTH (y contaron) en algún momento. En solo, el ganador. En equipos, cada miembro que participó.          |
| `second`        | Todos los jugadores del 2.º mejor bando que estuvieron en el KOTH. Solo cuando hay un ganador.                                                                       |
| `third`         | Todos los jugadores del 3.er mejor bando que estuvieron en el KOTH. Solo cuando hay un ganador.                                                                      |
| `participation` | Todos los que estuvieron en el KOTH y contaron al menos `participation-seconds` (por defecto `30`) en total. Los ganadores también. Se da también cuando nadie gana. |
| `while-holding` | Cada `while-holding-every` segundos (por defecto `30`) dominando, a cada jugador del bando que domina que está dentro y cuenta.                                      |
| `holder-killed` | A quien mata a un jugador que está dominando el KOTH (ver abajo).                                                                                                    |

El "2.º" y el "3.º" son los siguientes bandos por progreso (modo captura) o por puntos (modo puntos). Un bando sin progreso ni puntos no recibe puesto.

### Bajas al rey

`holder-killed` se da cuando un jugador mata a alguien que está **dominando** el KOTH (en el bando que avanza, dentro y contando). Para evitar que se haga trampa entre amigos:

* el que mata debe estar en **otro bando** que la víctima (matar a tu propio compañero no da nada),
* el mismo jugador lo recibe **como mucho una vez por minuto** por la misma víctima.

La baja también cuenta para la estadística **Bajas al rey**. `{victim}` es el nombre del jugador que murió.

La estadística **Bajas** cuenta todas las bajas durante un evento en las que el que mata o la víctima estaba dentro de la zona, menos las bajas de un compañero (mismo bando). Un jugador que mata desde fuera y no está jugando el evento suma la baja en sus estadísticas, pero no pasa a ser jugador del evento (no suma "eventos jugados" ni recibe premios de participación).

## Acciones

| Acción                                 | Qué hace                                                                  | Ejemplo                                              |
| -------------------------------------- | ------------------------------------------------------------------------- | ---------------------------------------------------- |
| `[console] <comando>`                  | Ejecuta un comando desde la consola.                                      | `[console] eco give {player} 500`                    |
| `[player] <comando>`                   | Ejecuta un comando como el jugador.                                       | `[player] warp spawn`                                |
| `[message] <texto>`                    | Envía un mensaje al chat del jugador. `[msg]` también sirve.              | `[message] <green>¡Bien hecho!`                      |
| `[broadcast] <texto>`                  | Envía un mensaje al chat de todos los jugadores y a la consola.           | `[broadcast] <gold>¡{player} conquistó {koth_name}!` |
| `[title] <título>;<subtítulo>`         | Muestra un título. El subtítulo (después de `;`) es opcional.             | `[title] <gold>Ganador;<gray>GG`                     |
| `[actionbar] <texto>`                  | Muestra un texto encima de la barra rápida.                               | `[actionbar] <yellow>+500 monedas`                   |
| `[sound] <sonido> [volumen] [tono]`    | Reproduce un sonido al jugador. El volumen y el tono son `1` por defecto. | `[sound] entity.player.levelup 1 1`                  |
| `[item] <objeto> [cantidad] [nombre]`  | Da un objeto. El nombre puede tener colores y espacios.                   | `[item] diamond 5 <aqua>Diamante del KOTH`           |
| `[effect] <efecto> [segundos] [nivel]` | Da un efecto de poción. Por defecto: 10 segundos, nivel 1.                | `[effect] speed 30 2`                                |
| `[firework]`                           | Lanza un fuego artificial sobre el jugador. Nunca hace daño a nadie.      | `[firework]`                                         |
| `[loot]`                               | Da los objetos del [cofre de botín](#cofre-de-botín).                     | `[loot]`                                             |

Una línea **sin** `[...]` al principio se ejecuta como comando de consola: `eco give {player} 500` es lo mismo que `[console] eco give {player} 500`. La `/` del principio de los comandos se quita.

<figure><img src="https://1485480385-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQaixEy8lxLssO2tL4Sxc%2Fuploads%2FUci5hffEEtkyY6sQgWhG%2Frnkoth-es-editor-rewardlist.png?alt=media" alt="Una lista de premios: clic izquierdo en una línea para editarla, clic derecho para quitarla"><figcaption><p>Una lista de premios: clic izquierdo en una línea para editarla, clic derecho para quitarla</p></figcaption></figure>

* Los **sonidos** usan la clave de Minecraft, con puntos: `entity.player.levelup`, `ui.toast.challenge_complete`, o con un namespace (`minecraft:block.bell.use`, o un sonido de un resource pack).
* Los **objetos** usan el id del objeto: `diamond`, `golden_apple`, `netherite_ingot`.
* Los **efectos** usan el id del efecto: `speed`, `strength`, `regeneration`, `resistance`.

{% hint style="warning" %}
Una línea con un error (un objeto, efecto o acción desconocidos) se salta y la consola te dice qué línea es. Las demás líneas se dan igual.
{% endhint %}

## Probabilidades y permisos

Pon esto delante de cualquier acción:

| Prefijo                  | Significado                                                     | Ejemplo                                                     |
| ------------------------ | --------------------------------------------------------------- | ----------------------------------------------------------- |
| `[chance:<porcentaje>]`  | Solo se ejecuta ese porcentaje de las veces.                    | `[chance:25] [console] crate key give {player} legendary 1` |
| `[permission:<permiso>]` | Solo para jugadores con el permiso. `[perm:...]` también sirve. | `[permission:vip.koth] [console] eco give {player} 500`     |

Se pueden combinar: `[permission:vip] [chance:50] [item] diamond 2`.

## Grupos

Un grupo ejecuta varias acciones juntas. Los grupos se escriben en el archivo (el editor los muestra como un saco; ahí puedes quitarlos con clic derecho, pero no editarlos).

**Grupo con probabilidad**: todas las acciones, o ninguna.

```yaml
rewards:
  winner:
    - '[console] eco give {player} 1000'
    - chance: 10
      actions:
        - '[item] diamond_block 1 <aqua>Bloque de la suerte'
        - '[broadcast] <gold>¡{player} consiguió el premio de la suerte!'
```

**Elige uno**: se elige exactamente una opción. `weight` es lo probable que es cada opción (por defecto `1`). Aquí la primera opción sale 3 de cada 4 veces.

```yaml
rewards:
  winner:
    - pick-one:
        - weight: 3
          actions:
            - '[item] iron_ingot 16'
        - weight: 1
          actions:
            - '[item] diamond 4'
            - '[message] <aqua>¡Qué suerte!'
```

Los grupos pueden tener líneas con `[chance:...]` y `[permission:...]`, y otros grupos.

## Placeholders en los premios

| Placeholder                                                        | Valor                                                                             |
| ------------------------------------------------------------------ | --------------------------------------------------------------------------------- |
| `{player}`                                                         | El jugador que recibe el premio                                                   |
| `{team}`                                                           | El nombre de su equipo (el nombre del jugador en solo)                            |
| `{koth}` / `{koth_name}`                                           | Nombre / nombre visible del KOTH                                                  |
| `{place}`                                                          | `1` para los ganadores, `2` y `3` para el 2.º y el 3.º, `0` para las demás listas |
| `{time}`                                                           | Segundos que el jugador estuvo dentro y contó                                     |
| `{held}`                                                           | Segundos que el jugador dominó el KOTH                                            |
| `{points}`                                                         | Puntos de su bando (modo puntos)                                                  |
| `{kills}`                                                          | Bajas del jugador en este evento                                                  |
| `{victim}`                                                         | Solo en `holder-killed`: quien dominaba y murió                                   |
| `{mode}`, `{duration}`, `{target}`, `{world}`, `{x}`, `{y}`, `{z}` | El modo, la duración, la meta y la ubicación del KOTH                             |

En los textos que se muestran al jugador (`[message]`, `[broadcast]`, `[title]`, `[actionbar]` y los nombres de objetos) también puedes usar:

* **Palabras del idioma**: `{@ruta}` se cambia por el texto de esa ruta del archivo de idioma, en el idioma del jugador. `{@rewards.victory-title}` es `<gold><bold>VICTORY` en inglés y `<gold><bold>¡VICTORIA!` para los jugadores en español. Ver [Idiomas](/rnsetups/es/rnkoth/configuration/languages.md#palabras-del-idioma).
* Placeholders de **PlaceholderAPI** del jugador, como `%player_name%`, cuando PlaceholderAPI está instalado.

{% hint style="info" %}
Los comandos (`[console]`, `[player]` y las líneas sin acción) también aceptan las palabras `{@ruta}`, en el idioma del **servidor** (`language` en `config.yml`, porque un comando no tiene un lector), y los placeholders de PlaceholderAPI del jugador que recibe el premio. Por ejemplo `'[console] say {player} tiene %vault_eco_balance% monedas'`.
{% endhint %}

## Cofre de botín

El cofre de botín guarda objetos reales: con encantamientos, nombres, lore y datos personalizados de otros plugins.

1. `/koth editor <nombre>` → **Cofre de botín**.
2. Pon los objetos en el cofre.
3. Ciérralo. El chat dice `Botín guardado (5 stack(s)).`

Los objetos que pones se quedan como botín (no se te devuelven). Abre el cofre otra vez para cambiarlos.

La acción `[loot]` da estos objetos a **un** ganador: el jugador del bando ganador que estuvo más tiempo en el KOTH. En solo, es el ganador. En las demás listas, `[loot]` no da nada.

```yaml
loot:
  mode: all     # all = todos los objetos, random = 'amount' objetos al azar
  amount: 1
  items: []     # lo llena el editor
```

Con `mode: random`, se dan `amount` stacks al azar del cofre cada vez.

## Comandos al iniciar y al terminar

```yaml
commands:
  on-start: []
  on-end: []
```

Comandos de consola que se ejecutan cuando el KOTH se abre y cuando termina (con o sin ganador). Escribe los comandos tal cual, **sin** `[console]`. Placeholders: `{koth}`, `{koth_name}`, `{world}`, `{x}`, `{y}`, `{z}`, los valores de un KOTH en curso (`{holder}`, `{leader}`, `{players}`, `{elapsed}`...) y, en `on-end`, también `{winner}` (`-` cuando nadie ganó) y `{winner_score}`. Las palabras `{@ruta}` se cambian en el idioma del servidor (así `{holder}` sin nadie dominando da `Nadie` con `language: es`), y también funcionan los placeholders de PlaceholderAPI que no necesitan un jugador (como `%server_online%`).

```yaml
commands:
  on-start:
    - 'broadcast ¡El KOTH {koth} está abierto!'
  on-end:
    - 'eco give {winner} 100'
```

{% hint style="info" %}
En modo equipos, `{winner}` es el nombre del equipo. Usa la lista de premios `winner` para darle algo a cada jugador.
{% endhint %}

## Jugadores desconectados

Los jugadores que salieron del servidor antes del final igual reciben sus premios. Las líneas se guardan con sus valores y se ejecutan la próxima vez que el jugador entra (un par de segundos después de entrar), con el mensaje `Recibiste premios que ganaste mientras estabas desconectado.` No se pierde nada.

## El buzón de premios

Los objetos que no caben en el inventario van al **buzón de premios** del jugador, nunca al suelo. Al jugador se le avisa: `Tu inventario está lleno: tu buzón de premios recibió 3 objetos. [/koth claim]` (un solo mensaje para todo lo que da un premio a la vez, con el total).

<figure><img src="https://1485480385-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQaixEy8lxLssO2tL4Sxc%2Fuploads%2FQH7MBS5bvvtXQpjPLuL2%2Frnkoth-es-menu-claim.png?alt=media" alt="El buzón de premios: haz clic en un objeto o en Recoger todo"><figcaption><p>El buzón de premios: haz clic en un objeto o en Recoger todo</p></figcaption></figure>

* `/koth claim` abre el buzón. Haz clic en un objeto para tomarlo, o en **Recoger todo**.
* Hace falta al menos un espacio libre.
* Al entrar, los jugadores con objetos en el buzón reciben un recordatorio con un botón `[Abrir]`.
* Cada objeto se quita del buzón antes de darlo, así nunca se puede tomar dos veces. Los objetos que siguen sin caber vuelven al buzón.

Desactiva el comando con `rewards.claim-command: false` en `config.yml`. Entonces:

* `/koth claim` solo responde `En este servidor el buzón de premios no se abre con un comando.` (`claim.command-disabled`).
* El mensaje de "inventario lleno" y el recordatorio al entrar no tienen botón para hacer clic (`claim.stored-no-command` y `claim.waiting-no-command` en el archivo de idioma).
* El botón del buzón se oculta en el menú `/koth`.
* `/koth open claim <jugador>` sigue abriendo el buzón para ese jugador. Úsalo desde un NPC (Citizens), un plugin de menús o un cartel, que ejecutan comandos desde la consola.

{% hint style="warning" %}
Con `claim-command: false`, los objetos que no caben siguen yendo al buzón. Dales a los jugadores otra forma de abrirlo (`/koth open claim <jugador>`), o deja el comando activado.
{% endhint %}
