> 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/rnpsmenu/guides/market.md).

# Economía y mercado

Todo lo que usa dinero - la tienda de bloques de protección, vender y alquilar regiones, los impuestos, el mercado y el coste de los teletransportes - y qué pasa cuando un pago falla.

rnPsMenu no tiene dinero propio. Usa **Vault** con tu plugin de economía (EssentialsX, CMI...). La venta, el alquiler y los impuestos usan **el sistema del propio ProtectionStones**, así que los menús y `/ps sell`, `/ps rent` y `/ps tax` siempre van de la mano.

## Qué necesita cada cosa

| Función                         | Quién paga a quién                                  | Necesita                                                                                    | Para apagarla           |
| ------------------------------- | --------------------------------------------------- | ------------------------------------------------------------------------------------------- | ----------------------- |
| Tienda de bloques de protección | Jugador → servidor                                  | Vault, `rnpsmenu.shop`                                                                      | `shop.enabled: false`   |
| Vender una región               | Comprador → vendedor                                | Vault, `protectionstones.buysell`                                                           | No dar el permiso       |
| Alquilar una región a otros     | Inquilino → arrendador, cada periodo                | Vault, `protectionstones.rent`                                                              | No dar el permiso       |
| Impuestos                       | Dueño → servidor                                    | Vault, `tax_enabled = true` en el `config.toml` de ProtectionStones, `protectionstones.tax` | `tax_enabled = false`   |
| Mercado                         | Compras y alquileres de regiones de otros jugadores | Vault, `rnpsmenu.market`                                                                    | `market.enabled: false` |
| Coste del teletransporte        | Jugador → servidor                                  | Vault, `teleport.cost` mayor que 0                                                          | `teleport.cost: 0`      |

"Jugador → servidor" quiere decir que el dinero se cobra y no lo recibe nadie.

{% hint style="warning" %}
**Sin Vault no hay economía**: sin Vault y un plugin de economía todo esto se oculta y el resto de rnPsMenu funciona igual. Vault no funciona en Folia, así que ahí también se oculta.

**Orden de carga**: ProtectionStones busca la economía al arrancar. Si tu plugin de economía arranca después de ProtectionStones, los periodos de alquiler y los impuestos que cobra ProtectionStones no funcionarán. Asegúrate de que el plugin de economía cargue primero.
{% endhint %}

## Los pagos son seguros

Cada pago espera la respuesta del plugin de economía:

* Primero se comprueba el saldo y después se cobra. **Si el cobro falla, no cambia nada**: ni región, ni bloque, ni teletransporte.
* Si falla el pago al vendedor o al arrendador, el comprador recupera su dinero y no cambia nada. Si incluso esa devolución falla, la consola muestra un error con la cantidad que hay que devolver a mano.
* Si el vendedor cambió el precio después de que el comprador abriera la confirmación, la compra se rechaza.
* Los precios tienen que ser números positivos (se entienden `1,5` y `$100`; se guardan 2 decimales).
* Si falla el pago de impuestos, la deuda se queda como estaba.
* Si un teletransporte pagado se rechaza (entry denegado en WorldGuard, un baneo de región, otro plugin), el dinero se devuelve solo.

## Tienda de bloques de protección

`/psmenu shop`, o **Menú principal > Tienda de protecciones**, vende bloques de protección. Cada tipo de bloque de ProtectionStones se añade a `shop.yml` la primera vez que el plugin lo ve, con el `price` de su tipo de bloque; los tipos con un precio mayor que 0 quedan en venta.

<figure><img src="https://i.imgur.com/NbVAL5d.png" alt="La tienda de bloques de protección"><figcaption><p>La tienda de bloques de protección</p></figcaption></figure>

```yaml
blocks:
  small:
    enabled: true
    price: 100.0
    amount: 1          # blocks per purchase
    permission: ''     # extra permission to buy
    icon: ''           # item shown ('' = the block itself)
    slot: -1           # place in the menu (0 = top left, -1 = the next free slot)
```

* `amount`: bloques por compra. `permission`: permiso extra para comprar. `icon`: el ítem que se muestra (`''` = el propio bloque). `slot`: posición en el menú (`0` = arriba a la izquierda, `-1` = el siguiente hueco libre).
* El jugador necesita `rnpsmenu.shop`, el `permission` de la entrada y el `permission` del tipo de bloque en ProtectionStones.
* Al hacer clic en un bloque primero pregunta **¿Comprar?** (`shop.confirm`), así un clic sin querer no compra nada. Quien no puede comprarlo ve el motivo al momento.
* Con `slot` pones cada bloque en un lugar fijo del menú y ordenas la tienda a tu gusto; los bloques sin posición llenan los huecos libres. En el editor se cambia con **Q** sobre el bloque.
* Los bloques van al inventario; si está lleno, caen a los pies del jugador.
* Los [flags reservados para mejores bloques](/rnsetups/es/rnpsmenu/guides/flags.md#flags-reservados-para-mejores-bloques-o-rangos) mandan aquí a los jugadores cuando hacen clic en ellos.

Edita la tienda en el juego: `/psmenu editor > Tienda`.

## Vender una región

**Menú de la región > Vender / alquilar / impuestos > Vender**, escribe el precio y confirma. La región aparece en el mercado. Cuando alguien la compra:

<figure><img src="https://i.imgur.com/SrI8BUb.png" alt="El menú de mercado de una región: venta, alquiler e impuestos"><figcaption><p>El menú de mercado de una región: venta, alquiler e impuestos</p></figcaption></figure>

1. El comprador paga (el pago tiene que salir bien).
2. El vendedor recibe el dinero.
3. El comprador pasa a ser el único dueño; se borran los miembros, los baneos y el pago automático de impuestos.

* Solo los dueños pueden vender (los operadores no), y una región alquilada u ofrecida en alquiler no se puede poner en venta.
* El comprador necesita el `permission` del tipo de bloque en ProtectionStones y no haber llegado a su límite de regiones.

**Quitar de la venta** la saca del mercado.

## Alquilar una región a otros

**Alquilar a otros**, escribe el precio y cada cuánto se paga (`1d`, `12h`, `1w 2d`...). Se aplican `min/max_rent_price` y `min/max_rent_period` de ProtectionStones. Una región en venta no se puede alquilar (quítala de la venta primero).

Cuando alguien la alquila, el primer periodo se paga al momento y ProtectionStones cobra los siguientes. El inquilino pasa a ser miembro o dueño (`tenant_rent_role` del tipo de bloque), y se aplica su límite de alquileres de ProtectionStones. El arrendador puede **Terminar el alquiler** y el inquilino puede **Dejar de alquilar** desde el mismo menú; los dos mantienen el acceso a él aunque ProtectionStones quite a todos los dueños de una región alquilada.

## El mercado

`/psmenu market`, o **Menú principal > Mercado**, muestra todas las regiones en venta o en alquiler, de la más barata a la más cara. El botón de filtro muestra Todo, En venta o En alquiler.

<figure><img src="https://i.imgur.com/rDEUUyB.png" alt="El mercado: todas las regiones en venta o en alquiler"><figcaption><p>El mercado: todas las regiones en venta o en alquiler</p></figcaption></figure>

* **Clic izquierdo**: comprar / alquilar (una confirmación muestra el precio y tu saldo).
* **Clic derecho**: visitar la región (con la misma espera y cuenta atrás que un teletransporte, y el [coste del teletransporte](#coste-del-teletransporte) si lo hay).

### Visitas

Las visitas se pueden limitar, para que nadie use el mercado para teletransportarse a las bases de otros:

* **Los dueños** activan o desactivan **Visitas desde el mercado** en el menú de economía de su región (**Vender / alquilar**). El siguiente dueño empieza con las visitas activadas.
* **El servidor**: `market.visits: false` quita las visitas en todas partes.
* **Los jugadores** sin `rnpsmenu.market.visit` no pueden visitar (por defecto lo tienen todos).

Cuando una región no se puede visitar, el mercado no muestra "Clic derecho para visitar" en ella.

La lista se vuelve a leer cada `market.cache-seconds` (30 por defecto).

## Impuestos

Cuando `tax_enabled` está activado en ProtectionStones, los dueños pueden **Pagar impuestos** (clic izquierdo: todo lo que se debe, clic derecho: una cantidad) y activar o desactivar el **Pago automático**.

## Coste del teletransporte

```yaml
teleport:
  cost: 0               # money per teleport to a region (0 = free)
  cost-other-world: 0   # added when the region is in another world
```

* Se aplica a los teletransportes de los menús de rnPsMenu: las listas de regiones, Hogares, el menú de la región y las visitas del mercado. Las listas de regiones muestran el precio.
* Se comprueba **antes de la espera**, para que nadie espere un teletransporte que no puede pagar, y se cobra **cuando el teletransporte ocurre**. Si para entonces ya no tiene el dinero, el jugador se queda donde está.
* Si después el teletransporte se rechaza (entry denegado en WorldGuard, un baneo de región, otro plugin), se le devuelve el dinero y se le avisa.
* `rnpsmenu.bypass.cost` se teletransporta gratis (los admins lo tienen).
* Los comandos propios de ProtectionStones `/ps home <nombre>` y `/ps tp` no lo cobran.

## Puesta en marcha rápida

1. Instala Vault y un plugin de economía, y comprueba que la línea de arranque en la consola dice `economy found`.
2. Dale a tus jugadores los permisos de ProtectionStones que quieras que usen: `protectionstones.buysell`, `protectionstones.rent`, `protectionstones.tax`.
3. Pon los precios de la tienda en `shop.yml` o en `/psmenu editor > Tienda`.
4. Opcional: activa los impuestos en ProtectionStones (`tax_enabled`) y pon un `teleport.cost`.
