> For the complete documentation index, see [llms.txt](https://docs.realcity.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.realcity.dev/script-docs/rc-persecutions/configuracion.md).

# Configuración

## Guía de Configuración de rc-persecutions

Este documento detalla todas las opciones disponibles en el archivo `config.lua` para personalizar el script `rc-persecutions`.

***

### Configuración General

Estas opciones controlan el comportamiento fundamental del script.

#### `RC.MenuType`

Define qué sistema de menús se utilizará para las interacciones.

* **Tipo:** `string`
* **Valores posibles:**
  * `'ox'`: Utiliza los menús de `ox_lib` (recomendado).
  * `'framework'`: Utiliza las funciones de menú nativas del framework que estés usando (puede requerir configuración adicional en el bridge).
* **Por defecto:** `'ox'`

```lua
RC.MenuType = 'ox'
```

#### `RC.EnableSleeplessInteract`

Activa o desactiva el uso de `sleepless_interact` para iniciar las interacciones en el lobby. Si se desactiva, los jugadores deberán presionar una tecla (`E` por defecto) cuando se les indique.

* **Tipo:** `boolean`
* **Valores:** `true` o `false`
* **Por defecto:** `true`

```lua
RC.EnableSleeplessInteract = true
```

#### `RC.MoneyType`

Define el tipo de cuenta de dinero que se usará para las apuestas.

* **Tipo:** `string`
* **Valores comunes:** `'money'`, `'bank'`, `'black_money'`. Debe coincidir con el nombre de la cuenta en tu base de datos y framework.
* **Por defecto:** `'black_money'`

```lua
RC.MoneyType = 'black_money'
```

#### `RC.ShopType`

Define de dónde se obtienen las categorías de los vehículos para las carreras.

* **Tipo:** `string`
* **Valores:**
  * `'default'`: Obtiene las categorías de la tabla `vehicles` de la base de datos.
  * `'s4vehicleshop'`: Utiliza la exportación del script `s4-vehicleshop` para obtener las categorías.
* **Por defecto:** `'default'`

```lua
RC.ShopType = 'default'
```

***

### Ubicaciones y Distancias

#### `RC.LobbyLocation`

Coordenadas `vector3` donde se encuentra el lobby para crear y unirse a persecuciones.

* **Tipo:** `vector3`
* **Por defecto:** `vector3(-1652.8989, -902.9819, 8.377)`

#### `RC.RaceStartCar1` / `RC.RaceStartCar2`

Coordenadas `vec4` (incluyendo el heading) donde aparecerán los dos vehículos al iniciar la persecución.

* **Tipo:** `vec4`

#### `RC.LobbyRadius`

El radio en metros alrededor del `LobbyLocation`. Si un jugador sale de este radio mientras está en el lobby, la interacción se cancela.

* **Tipo:** `float`
* **Por defecto:** `15.0`

***

### Notificaciones a la Policía

#### `RC.NotifyPolice`

Activa o desactiva las notificaciones a la policía cuando comienza una persecución.

* **Tipo:** `boolean`
* **Por defecto:** `true`

#### `RC.NotifyTime`

El tiempo en segundos que debe durar una persecución antes de que se envíe la notificación a la policía.

* **Tipo:** `integer`
* **Por defecto:** `20`

#### `RC.NotifyPoliceEvent`

La función que se ejecuta para notificar a la policía. Por defecto, dispara un evento de `SendAlert:police`. Puedes personalizarlo para que se integre con tu propio sistema de alertas.

* **Tipo:** `function`

```lua
RC.NotifyPoliceEvent = function (plcoords)
    TriggerServerEvent("SendAlert:police", {
        coords = plcoords,
        title = 'Illegal race',
        type = 'GENERAL',
        message = 'There is a illegal race of two cars.',
        job = 'police',
    })
end
```

***

### `RC.PursuitSettings`

Tabla que contiene todos los parámetros que definen las reglas de la persecución.

#### `ReturnWhenFinish`

Si se establece en `true`, los jugadores serán teletransportados de vuelta a la ubicación del lobby al finalizar la persecseción.

* **Tipo:** `boolean`
* **Por defecto:** `true`

#### `EnableBlips`

Muestra u oculta el blip en el mapa del jugador contrario durante la persecución.

* **Tipo:** `boolean`
* **Por defecto:** `true`

#### `MinBet` / `MaxBet`

La cantidad mínima y máxima que los jugadores pueden apostar.

* **Tipo:** `integer`
* **Por defecto:** `MinBet = 5000`, `MaxBet = 100000`

#### `MinDuration` / `MaxDuration`

La duración mínima y máxima en **minutos** que puede tener una persecución.

* **Tipo:** `integer`
* **Por defecto:** `MinDuration = 1`, `MaxDuration = 30`

#### `VisualLossTime`

El tiempo en **segundos** que el "perseguidor" puede estar sin contacto visual con el "perseguido" antes de perder la prueba.

* **Tipo:** `integer`
* **Por defecto:** `10`

#### `MaxDistance`

La distancia máxima en metros que puede haber entre los dos jugadores. Si se supera, el "perseguido" gana.

* **Tipo:** `float`
* **Por defecto:** `450.0`

#### `MinDistance`

La distancia mínima a la que debe estar el "perseguidor" para que el cronómetro de la persecución avance.

* **Tipo:** `float`
* **Por defecto:** `5.0`

***

### `RC.Markers`

Configuración visual del marcador en el suelo en la zona del lobby.

* **`LobbyType`:** El [tipo de marcador](https://docs.fivem.net/docs/client-manual/native-functions/drawmarker/).
* **`LobbyColor`:** El color RGBA del marcador.
* **`LobbySize`:** El tamaño (x, y, z) del marcador.

***

### `RC.Text`

Esta tabla contiene los textos que se muestran al usuario. Utiliza la función `locale()` de `ox_lib` para la traducción, obteniendo los textos de los archivos en la carpeta `/locales`. No se recomienda modificar esta sección directamente; en su lugar, edita los archivos `.json` correspondientes.
