> 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/nucleo/cuxial-safezones/configuration.md).

# Configuración

Todas las opciones de Cuxial Safezones explicadas: el archivo de configuración y los ajustes de cada zona.

Las opciones generales del servidor están en `shared/config.lua`. Todo lo que pertenece a una zona concreta se ajusta en el panel y se guarda en la base de datos. Reinicia el recurso después de cambiar el archivo de configuración.

## Comando · `command`

| Opción | Tipo   | Por defecto   | Qué hace                                                                                                  |
| ------ | ------ | ------------- | --------------------------------------------------------------------------------------------------------- |
| `name` | string | `'crearzona'` | Comando que abre el panel, sin la barra.                                                                  |
| `ace`  | string | `'admin'`     | Permiso ACE necesario para crear, editar, apagar o borrar zonas. El servidor lo comprueba en cada cambio. |

## Interfaz

| Opción   | Tipo         | Por defecto  | Qué hace                   |
| -------- | ------------ | ------------ | -------------------------- |
| `accent` | string (hex) | configurable | Color de acento del panel. |

## Efectos · `features`

Interruptores generales. Apagar uno desactiva ese efecto en todas las zonas, y el panel lo muestra como apagado en vez de ofrecerlo.

| Opción     | Tipo    | Por defecto | Qué hace                                                                                     |
| ---------- | ------- | ----------- | -------------------------------------------------------------------------------------------- |
| `maxSpeed` | boolean | `true`      | `true` aplica el límite de velocidad de cada zona. `false` nunca limita la velocidad.        |
| `textUI`   | boolean | `true`      | `true` muestra el cartel de cada zona. `false` oculta todos los carteles.                    |
| `driveBy`  | boolean | `true`      | `true` permite que las zonas bloqueen el drive-by. `false` nunca lo bloquea.                 |
| `weapons`  | boolean | `true`      | `true` permite que las zonas bloqueen las armas. `false` nunca las bloquea.                  |
| `debug`    | boolean | `true`      | `true` permite al staff dibujar el volumen de una zona en el mundo. `false` nunca lo dibuja. |

{% hint style="info" %}
La invencibilidad no tiene interruptor. Se aplica en todas las zonas activas, salvo a los jugadores cubiertos por una excepción. Al salir, la zona solo quita la invencibilidad que ella dio: un jugador que ya era invencible al entrar, por ejemplo con el modo dios de un menú de administración, la conserva.
{% endhint %}

## Velocidad

| Opción          | Tipo   | Por defecto | Qué hace                                                                                            |
| --------------- | ------ | ----------- | --------------------------------------------------------------------------------------------------- |
| `speedDivisor`  | number | `3.6`       | Convierte la velocidad escrita en el panel a la unidad del juego. `3.6` = el panel trabaja en km/h. |
| `speedInterval` | number | `1000`      | Milisegundos entre refrescos del límite de velocidad mientras un vehículo está dentro de una zona.  |

## Controles bloqueables · `blockControls`

Lista de controles que el panel deja bloquear en una zona. Cada entrada tiene un `value` (número de control de GTA) y un `label` (texto que se ve en el panel). Las etiquetas del archivo son ejemplos que puedes renombrar.

| `value` por defecto | Control  |
| ------------------- | -------- |
| `140`               | Golpear  |
| `24`                | Atacar   |
| `25`                | Apuntar  |
| `257`               | Disparar |

{% hint style="warning" %}
Esta lista es también la lista de permitidos. Un control que no esté en ella no lo puede bloquear ninguna zona, y quitar uno lo retira de las zonas que lo usaban la próxima vez que arranque el recurso.
{% endhint %}

## Grupos para excepciones · `bypassGroups`

| Opción         | Tipo      | Por defecto          | Qué hace                                                                                                                                  |
| -------------- | --------- | -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| `bypassGroups` | string\[] | `{ 'admin', 'mod' }` | Grupos de permisos que se pueden usar en las excepciones de zona, escritos sin el prefijo `group.`. El panel los ofrece como sugerencias. |

Estar en esta lista no concede nada: cada zona decide quién se salta qué. Un jugador pertenece a un grupo cuando tiene ese permiso en tu framework (`admin`, `mod`…), comprobado a través de `cuxial_bridge`. Los grupos escritos a mano en una zona se comprueban igual.

## Límites · `limits`

| Opción           | Tipo   | Por defecto | Qué hace                                                               |
| ---------------- | ------ | ----------- | ---------------------------------------------------------------------- |
| `writes`         | number | `12`        | Cambios que un miembro del staff puede guardar dentro de una `window`. |
| `window`         | number | `10000`     | Duración de esa ventana, en milisegundos.                              |
| `maxPoints`      | number | `64`        | Máximo de vértices por zona.                                           |
| `maxBypassRules` | number | `12`        | Máximo de excepciones por zona.                                        |

## Editor · `creator`

| Opción        | Tipo   | Por defecto | Qué hace                                                           |
| ------------- | ------ | ----------- | ------------------------------------------------------------------ |
| `startHeight` | number | `5`         | Metros entre tu posición y el techo de la zona al abrir el editor. |

## Ajustes de cada zona

Se definen en el panel al crear o editar una zona.

| Ajuste               | Valores                     | Qué hace                                                                                                                                                                   |
| -------------------- | --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Nombre               | De 4 a 20 caracteres, único | Identifica la zona. Los caracteres `< > " ' &` se eliminan.                                                                                                                |
| Velocidad máxima     | De 0 a 300                  | Límite para el vehículo en el que va el jugador. `0` = sin límite. El vehículo recupera su velocidad máxima normal al salir.                                               |
| Permitir armas       | Sí o no                     | En «no», bloquea las armas dentro de la zona. Necesita `ox_inventory`.                                                                                                     |
| Permitir drive-by    | Sí o no                     | En «no», bloquea disparar desde un vehículo.                                                                                                                               |
| Sonido               | Sí o no                     | Reproduce un sonido al entrar y al salir.                                                                                                                                  |
| Dibujar el volumen   | Sí o no                     | Dibuja la zona en el mundo para todos los jugadores, para comprobar su forma.                                                                                              |
| Controles bloqueados | De `blockControls`          | Controles desactivados dentro de la zona.                                                                                                                                  |
| Excepciones          | Hasta `maxBypassRules`      | Quién se salta qué reglas. Ver abajo.                                                                                                                                      |
| Cartel               | Sí o no                     | Muestra un cartel mientras se está dentro: texto de hasta 40 caracteres o hasta 8 segmentos de color, posición, tipografía, acabado, tamaño e icono opcional con su color. |

### Excepciones

Una excepción apunta a un **trabajo** o a un **grupo**, e indica qué se salta: invencibilidad, armas, drive-by, velocidad o controles bloqueados.

* **Trabajo**: opcionalmente desde un rango mínimo hacia arriba, y opcionalmente solo en servicio.
* **Grupo**: uno de los grupos de `bypassGroups`, o cualquier otro permiso del framework escrito a mano.
* Una excepción por trabajo o grupo. Una excepción que no se salta nada no se guarda.
* Cambiar de trabajo, de rango o de estado de servicio se aplica al momento, sin salir de la zona.

## Cambios habituales

**Renombrar el comando**

{% code title="shared/config.lua" %}

```lua
command = {
    name = 'safezones',
    ace = 'admin',
},
```

{% endcode %}

**Trabajar en mph en vez de km/h**

{% code title="shared/config.lua" %}

```lua
speedDivisor = 2.236936,
```

{% endcode %}

Cambia también la unidad en el texto `speed_limited` de `locales/es.json`.

**Permitir que las zonas bloqueen el salto**

{% code title="shared/config.lua" %}

```lua
blockControls = {
    { value = 140, label = 'Golpear (R)' },
    { value = 24,  label = 'Atacar (clic izq.)' },
    { value = 25,  label = 'Apuntar (clic der.)' },
    { value = 257, label = 'Disparar' },
    { value = 22,  label = 'Saltar' },
},
```

{% endcode %}


---

# 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/nucleo/cuxial-safezones/configuration.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.
