> For the complete documentation index, see [llms.txt](https://docs.cuxial.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cuxial.com/scripts/es/ocio/cuxial-pvp/features.md).

# Guía de funciones

Cómo se juega Cuxial PvP: salas, duelos, Gun Game, modo espectador, apuestas y clasificación.

Lo que ven y hacen los jugadores desde que abren el menú hasta que termina la partida.

## El menú

Los jugadores abren el menú con `/Cuxiall`, con la tecla que le hayan asignado, o desde donde llames al export `toggleUI`. El menú no se puede abrir durante una partida.

Desde el menú un jugador puede:

* elegir una modalidad y crear una sala;
* unirse a una sala abierta, con su contraseña si la tiene;
* ver las partidas en vivo, entrar como espectador y apostar;
* consultar la clasificación de cada modalidad.

## Salas

El jugador que crea una sala es su anfitrión. Solo el anfitrión puede repartir a los jugadores y empezar la partida.

* Un anfitrión puede tener una sala abierta a la vez (`limits.maxLobbiesPerHost`).
* Si el anfitrión sale de la sala o del servidor, la sala se cierra para todos.
* Una sala con contraseña la pide al entrar.
* Una sala llena rechaza a los nuevos jugadores.

## Duelos

Dos equipos se enfrentan en uno de los mapas de `data/maps.lua`.

### Crear un duelo

| Opción               | Valores                                                 |
| -------------------- | ------------------------------------------------------- |
| Tamaño               | De `1v1` hasta `limits.maxTeamSize` por equipo          |
| Tipo de juego        | Por rondas o por tiempo                                 |
| Rondas               | De 1 hasta `limits.maxRounds`                           |
| Tiempo               | De 1 hasta `limits.maxTimeMinutes` minutos              |
| Arma                 | Una de las armas de `data/weapons.lua`                  |
| Mapa                 | Uno de los mapas de `data/maps.lua`                     |
| Hora del día         | Día o noche                                             |
| Disparos a la cabeza | Sí o no: si los disparos a la cabeza hacen daño crítico |
| Chaleco              | Sí o no: chaleco completo al empezar cada ronda         |
| Espectadores         | Sí o no                                                 |
| Contraseña           | Opcional                                                |

### Jugar

1. Los jugadores que entran esperan sin asignar. El anfitrión coloca a cada uno en el equipo A o en el equipo B.
2. Con al menos un jugador en cada equipo, el anfitrión empieza la partida.
3. Todos pasan a la arena, a los puntos de aparición de su equipo, y una cuenta atrás da inicio a la ronda.
4. La ronda termina cuando cae un equipo entero. El equipo que queda en pie suma un punto; si caen los dos a la vez, suman los dos.
5. Los jugadores muertos observan a sus compañeros hasta que acaba la ronda. <kbd>←</kbd> y <kbd>→</kbd> cambian de uno a otro.

**Por rondas**, gana el primer equipo que alcanza el número de rondas elegido. **Por tiempo**, las rondas se suceden hasta que se agota el reloj y gana el equipo con más puntos; con los mismos puntos es empate.

Durante la partida los compañeros llevan un marcador sobre la cabeza, la resistencia no se agota y <kbd>TAB</kbd> muestra el marcador.

{% hint style="info" %}
Un duelo se cancela cuando un jugador se desconecta o sale con `/exitduel`. Un duelo cancelado devuelve todas las apuestas y no cuenta para la clasificación.
{% endhint %}

## Gun Game

Todos contra todos dentro de una zona. Todos empiezan con la primera arma de la escalera y suben un peldaño cada `killsPerWeapon` bajas. El último peldaño es el remate: gana el primer jugador que lo completa.

### Crear un Gun Game

| Opción                  | Valores                                                                                                            |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------ |
| Longitud de la escalera | Cuántas armas de `ladder` se juegan, contadas desde el principio de la lista. El remate se añade siempre al final. |
| Tope de jugadores       | Opcional, 2 o más. Sin él la sala no tiene límite.                                                                 |
| Chaleco                 | Sí o no                                                                                                            |
| Espectadores            | Sí o no                                                                                                            |
| Hora del día            | Día o noche                                                                                                        |
| Contraseña              | Opcional                                                                                                           |

### Jugar

* La partida necesita 2 jugadores para empezar (`minPlayers` en `data/modes.lua`).
* La zona la elige el servidor, rotando entre las zonas de `data/gungame_zones.lua`.
* Los jugadores aparecen en un punto al azar de la zona, protegidos durante `spawnProtectSeconds`. Disparar termina la protección.
* Un jugador muerto ve quién lo mató y reaparece tras `respawnSeconds`.
* Un jugador que sale de la zona recibe un aviso y `outOfBoundsSeconds` para volver. Pasado ese tiempo se le devuelve dentro. La pared de la zona se hace visible cuando el jugador se acerca al borde.
* Se puede entrar en una partida ya empezada. Quien entra empieza en el primer peldaño.
* Un jugador que sale con `/exitduel` se va solo. La partida sigue mientras queden 2 jugadores; el último que queda gana.

## Modo espectador

La lista de partidas en vivo muestra todas las partidas en curso que admiten espectadores.

* El espectador pasa a la partida, mira a través de la cámara de los jugadores y vuelve a donde estaba cuando sale o cuando termina la partida.
* <kbd>←</kbd> y <kbd>→</kbd> cambian de jugador, <kbd>Retroceso</kbd> sale.
* Un jugador que está en una partida no puede ser espectador de otra.

## Apuestas

Los jugadores pueden apostar efectivo por cualquiera de los dos equipos de un duelo en curso desde la lista de partidas en vivo.

* Una apuesta por jugador y partida. El importe se cobra al apostar.
* Al acabar el duelo, todo el bote se reparte entre los jugadores que apostaron por el equipo ganador, en proporción a su apuesta.
* Un empate o un duelo cancelado devuelve todas las apuestas.
* Detener el recurso devuelve todas las apuestas abiertas.

Cada apostador recibe una pantalla de resultado con el marcador final y el importe ganado o devuelto.

## Clasificación

Cada modalidad tiene su propia clasificación con victorias, derrotas, bajas y muertes por personaje. Se ordena por victorias y después por bajas, y muestra los primeros `leaderboard.maxEntries` jugadores.

Solo cuentan las partidas que llegan a su final.

## Qué cambia una partida en el jugador

| Mientras juega                                            | Al acabar la partida                       |
| --------------------------------------------------------- | ------------------------------------------ |
| El jugador pasa al routing bucket de la partida           | Vuelve al mundo principal, en `exitCoords` |
| Las armas en mano se sustituyen por el arma de la partida | Se retiran las armas de la partida         |
| El chaleco lo fijan las reglas de la partida              | Se restaura el chaleco que tenía antes     |
| La hora del día queda congelada en día o noche            | Se reanuda la sincronización de la hora    |
| La gestión de armas del inventario queda en pausa         | Se devuelve al inventario                  |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.cuxial.com/scripts/es/ocio/cuxial-pvp/features.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
