> 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/bandas/cuxial-gang-app/configuration.md).

# Configuración

Todas las opciones de Cuxial Gang App: la entrada en el teléfono y el servicio de citas.

Todo lo que se puede ajustar está en dos archivos: `shared/config.lua` para la entrada de la app en el teléfono y `data/kokka.lua` para el servicio de citas. Reinicia el recurso después de cualquier cambio.

Las pantallas de la organización (inicio, chat, mulas, contactos, zonas) no tienen opciones aquí. Muestran lo que entrega Cuxial Gang, así que se configuran en Cuxial Gang.

## Entrada en el teléfono · `shared/config.lua`

| Opción        | Tipo      | Por defecto       | Qué hace                                                                                                             |
| ------------- | --------- | ----------------- | -------------------------------------------------------------------------------------------------------------------- |
| `Identifier`  | string    | `'cuxial-gang'`   | Id interno de la app en lb-phone. No lo cambies.                                                                     |
| `Name`        | string    | `'Kokka'`         | Nombre que se ve bajo el icono y en la tienda de apps.                                                               |
| `Description` | string    | Un eslogan corto  | Texto que se ve en la tienda de apps.                                                                                |
| `Developer`   | string    | `'Cuxial.'`       | Desarrollador que se ve en la tienda de apps.                                                                        |
| `DefaultApp`  | boolean   | `false`           | `true` instala la app en todos los teléfonos. `false` la deja en la tienda de apps para que cada jugador la instale. |
| `Categories`  | string\[] | `{ 'Lifestyle' }` | Categorías de la tienda de apps en las que aparece.                                                                  |
| `Debug`       | boolean   | `false`           | Imprime trazas en la consola del cliente.                                                                            |

{% hint style="danger" %}
Cuxial Gang envía sus notificaciones de teléfono y los mensajes del chat a la app con el identificador `cuxial-gang`. Si cambias `Identifier`, dejan de llegar.
{% endhint %}

## Servicio de citas · `data/kokka.lua`

### Ajustes · `Settings`

| Opción                | Tipo    | Por defecto                          | Qué hace                                                                                                                         |
| --------------------- | ------- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------- |
| `PaymentAccount`      | string  | `'cash'`                             | Cuenta de dinero de QBox de la que se cobra la reserva. Por ejemplo `'cash'` o `'bank'`.                                         |
| `DirtyPayout`         | boolean | `false`                              | `true` cobra la reserva con el ítem `black_money` a través de `ox_inventory` e ignora `PaymentAccount`.                          |
| `MaxDistance`         | number  | `5.0`                                | Metros entre el vehículo y la acompañante para poder invitarla a subir.                                                          |
| `MaxVehicleSpeed`     | number  | `8.0`                                | Velocidad máxima del vehículo, en metros por segundo, para invitarla a subir y para que cuente como parado en un lugar discreto. |
| `HornHoldTime`        | number  | `350`                                | Milisegundos que hay que mantener la bocina para invitarla a subir.                                                              |
| `HornControl`         | number  | `86`                                 | Control del juego con el que se la invita a subir. `86` es la bocina del vehículo.                                               |
| `StartKey`            | number  | `18`                                 | Control del juego que inicia los servicios. `18` es <kbd>Enter</kbd>.                                                            |
| `MinSecludedDistance` | number  | `90.0`                               | Metros que el jugador tiene que alejarse del punto de recogida para que un lugar cuente como discreto.                           |
| `FindAreaTimeout`     | number  | `120000`                             | Milisegundos para encontrar un lugar discreto tras la recogida. Cuando se agotan, se marcha.                                     |
| `NearbyKeepAlive`     | number  | `50.0`                               | Metros alrededor de la acompañante dentro de los que el jugador cuenta como llegado.                                             |
| `DespawnAfter`        | number  | `600000`                             | Milisegundos que espera en el punto de encuentro con el jugador más lejos que `NearbyKeepAlive`. Después la reserva termina.     |
| `AbortDistance`       | number  | `300.0`                              | Una vez que el jugador ha llegado, alejarse más de estos metros termina la reserva.                                              |
| `EnableSpeech`        | boolean | `true`                               | `false` silencia las frases de voz durante la reserva.                                                                           |
| `SpeechParam`         | string  | `'SPEECH_PARAMS_FORCE_NORMAL_CLEAR'` | Parámetro de voz del juego para esas frases. Déjalo como está.                                                                   |
| `SexForce`            | number  | `0.45`                               | Fuerza del balanceo del vehículo en las escenas que lo usan.                                                                     |

La reserva se paga por adelantado y no es reembolsable.

### Niveles de precio · `Tiers`

Cada perfil pertenece a un nivel, y el nivel multiplica el precio base de todos los servicios. El precio final es `basePrice × multiplicador`, redondeado hacia abajo.

| Nivel      | Multiplicador por defecto |
| ---------- | ------------------------- |
| `economy`  | `0.8`                     |
| `standard` | `1.0`                     |
| `premium`  | `1.5`                     |
| `vip`      | `2.2`                     |

### Servicios · `Services`

La lista de servicios que puede ofrecer un perfil.

| Campo         | Tipo            | Qué hace                                                                                             |
| ------------- | --------------- | ---------------------------------------------------------------------------------------------------- |
| `id`          | string          | Id que se usa en la lista `services` de cada perfil.                                                 |
| `label`       | string          | Nombre que se ve en la app.                                                                          |
| `description` | string          | Texto corto que se ve en la app.                                                                     |
| `icon`        | string          | Icono de Font Awesome, con el prefijo `fa-`.                                                         |
| `basePrice`   | number          | Precio antes del multiplicador del nivel.                                                            |
| `scene`       | string \| false | Animación que se reproduce en el vehículo: `'blowjob'`, `'sex'`, o `false` para compañía sin escena. |

Los cuatro servicios incluidos (`company`, `oral`, `full`, `gfe`) son ejemplos. Cambia sus textos y precios según tu economía.

### Puntos de encuentro · `MeetPoints`

Un `vec4(x, y, z, orientación)` por nombre de zona. La acompañante aparece ahí y un blip marca el punto. Las zonas incluidas son ejemplos; muévelas a donde quieras.

### Perfiles · `Escorts`

| Campo            | Tipo      | Qué hace                                                                                  |
| ---------------- | --------- | ----------------------------------------------------------------------------------------- |
| `name`           | string    | Nombre que se usa en las notificaciones y en el blip.                                     |
| `pedModel`       | string    | Modelo de ped que aparece en el punto de encuentro.                                       |
| `zone`           | string    | Nombre de una entrada de `MeetPoints`.                                                    |
| `tier`           | string    | Nombre de una entrada de `Tiers`. Nivel desconocido = multiplicador `1.0`.                |
| `services`       | string\[] | Ids de `Services` que ofrece este perfil.                                                 |
| `forceMult`      | number    | Opcional. Multiplica `SexForce` para este perfil.                                         |
| `tireBlowChance` | number    | Opcional. Probabilidad, de `0` a `1`, de reventar una rueda en cada impulso del balanceo. |

{% hint style="warning" %}
Los perfiles que ve el jugador (foto, edad, biografía y etiquetas) forman parte de la interfaz, y cada uno va ligado a su clave en `Escorts`. Edita el nombre, el modelo, la zona, el nivel y los servicios de los perfiles existentes y conserva sus claves. Toda `zone` tiene que existir en `MeetPoints`.
{% endhint %}

### Vehículos

| Opción                      | Tipo      | Qué hace                                                                                                                                                            |
| --------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `BlackListedVehicleClasses` | table     | Clases de vehículo que no sirven para una reserva. Por defecto: motos (`8`), bicicletas (`13`), barcos (`14`), helicópteros (`15`), aviones (`16`) y trenes (`21`). |
| `BlackListedVehicles`       | table     | Modelos concretos que no sirven, por hash de modelo. Vacía por defecto.                                                                                             |
| `VehicleControls`           | number\[] | Controles desactivados mientras se reproduce una escena. Déjalo como está.                                                                                          |

`Anims` contiene los nombres de animación de cada escena. Déjalo como está salvo que conozcas el diccionario de animaciones.

## Cambios habituales

Cobrar las reservas del banco:

{% code title="data/kokka.lua" %}

```lua
PaymentAccount = "bank",
```

{% endcode %}

Bloquear un modelo concreto:

{% code title="data/kokka.lua" %}

```lua
BlackListedVehicles = {
    [joaat("taxi")] = true,
},
```

{% endcode %}

Instalar la app en todos los teléfonos:

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

```lua
DefaultApp = true,
```

{% endcode %}

## Idioma

Las notificaciones del juego están en `locales/en.json` y `locales/es.json`, y siguen la convar `ox:locale`.


---

# 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/bandas/cuxial-gang-app/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.
