> 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-license/configuration.md).

# Configuración

Cada opción de Cuxial License explicada: permisos, trabajos, oficina, estudio de fotos, verificación e identificaciones falsas.

El comportamiento del script está en `shared/config.lua`. Las tarjetas no están en ningún archivo: se diseñan en el juego con `/license`. Reinicia el recurso después de cambiar el config.

## General

| Opción        | Tipo    | Por defecto | Qué hace                                                                                                                                                  |
| ------------- | ------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `debug`       | boolean | `false`     | `true` imprime una línea en la consola del servidor y del cliente cuando el script está listo.                                                            |
| `paymentType` | string  | `'cash'`    | Cuenta de la que se cobra en la oficina de licencias. `'cash'` o `'bank'`.                                                                                |
| `showRadius`  | number  | `5.0`       | Radio en metros. Los jugadores dentro de él ven la tarjeta que enseñas, y son los que aparecen como cercanos en los paneles de emisión y de verificación. |

## Staff · `admin`

| Opción       | Tipo   | Por defecto | Qué hace                                                                                                                                             |
| ------------ | ------ | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| `permission` | string | `'admin'`   | Permiso del framework necesario para ejecutar `/license` y para crear, editar y borrar diseños de tarjeta. Se comprueba a través de `cuxial_bridge`. |

## Trabajos · `authorizedJobs` y `revokeJobs`

Las dos son tablas de `['nombre del trabajo'] = grado mínimo`. Las entradas que vienen en el archivo son ejemplos: cámbialas por los trabajos de tu servidor.

| Opción           | Tipo  | Qué hace                                                                                                                                                                           |
| ---------------- | ----- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `authorizedJobs` | table | Trabajos que pueden usar `/jobissue` y `/checklicense`, emitir tarjetas y leer el resultado de una verificación. El jugador necesita ese trabajo con el grado indicado o superior. |
| `revokeJobs`     | table | Trabajos adicionales que pueden revocar y restaurar licencias. El staff y los trabajos de `authorizedJobs` ya pueden hacerlo.                                                      |

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

```lua
authorizedJobs = {
    ['police'] = 2,
    ['ambulance'] = 3,
},

revokeJobs = {
    ['police'] = 4,
},
```

{% endcode %}

## Oficina de licencias · `zones`

Una lista de oficinas. Cada una crea un NPC con una opción de target que abre la tienda. La tienda vende todas las tarjetas que tienen **Cobrar dinero** activado y no están restringidas a un trabajo.

| Opción    | Tipo    | Qué hace                                           |
| --------- | ------- | -------------------------------------------------- |
| `name`    | string  | Nombre interno de la oficina.                      |
| `coords`  | vector3 | Posición del NPC.                                  |
| `heading` | number  | Dirección a la que mira el NPC. `0.0` si se omite. |
| `model`   | string  | Modelo de ped del NPC.                             |
| `label`   | string  | Texto de la opción de target.                      |

La oficina del archivo es un ejemplo. Añade las que necesites, o deja la lista vacía para no tener ninguna y abrir la tienda desde tu propio recurso con [`openGetCard`](/scripts/es/nucleo/cuxial-license/developers.md#opengetcard).

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

```lua
zones = {
    {
        name = 'city_hall',
        coords = vector3(-545.0, -204.0, 38.2),
        heading = 210.0,
        model = 's_m_m_highsec_01',
        label = 'Oficina de licencias',
    },
},
```

{% endcode %}

## Estudio de fotos · `photo`

Durante la foto el jugador pasa al estudio, solo en su propia instancia, y vuelve a donde estaba al terminar.

| Opción           | Tipo    | Por defecto               | Qué hace                                                                                                                                                  |
| ---------------- | ------- | ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `enabled`        | boolean | `true`                    | `false` apaga el estudio: no se mueve al jugador ni se crea la cámara.                                                                                    |
| `camOffset`      | vector3 | `vector3(0.0, 0.7, 0.65)` | Encuadre inicial. `z` es la altura, sobre la posición del jugador, del punto al que mira la cámara. `y` más 0.5 es la distancia inicial en metros.        |
| `fov`            | number  | `36.0`                    | Campo de visión de la cámara. Valores más bajos acercan.                                                                                                  |
| `greenScreenPos` | vector4 | Estudio incluido          | Dónde se coloca el jugador para la foto: `x`, `y`, `z` y orientación. El valor por defecto está dentro de la sala de fondo verde que viene con el script. |
| `maxUploadSize`  | number  | `4000000`                 | Tamaño máximo de la foto que el servidor acepta para subirla, en caracteres. Una imagen mayor se rechaza.                                                 |
| `uploadCooldown` | number  | `3`                       | Segundos que un jugador debe esperar entre dos subidas de foto.                                                                                           |

{% hint style="warning" %}
Cambia `greenScreenPos` solo si llevas la foto a una sala de fondo verde propia. El fondo se elimina por color, así que un sitio sin fondo verde da una foto con el escenario detrás.
{% endhint %}

## Interfaz · `theme`

| Opción  | Tipo         | Por defecto  | Qué hace                              |
| ------- | ------------ | ------------ | ------------------------------------- |
| `color` | string (hex) | configurable | Color de acento de todos los paneles. |

## Verificación de identidad · `idCheck`

| Opción            | Tipo   | Por defecto                      | Qué hace                                                                                               |
| ----------------- | ------ | -------------------------------- | ------------------------------------------------------------------------------------------------------ |
| `logo`            | string | `'image/default.png'`            | Imagen que se muestra en el panel de verificación. Ruta relativa a la carpeta `web/build` del recurso. |
| `title`           | string | `'Los Santos Police Department'` | Título del panel.                                                                                      |
| `refreshInterval` | number | `3000`                           | Milisegundos entre actualizaciones de la lista de jugadores cercanos mientras el panel está abierto.   |

## Identificaciones falsas · `fakeId`

| Opción     | Tipo    | Por defecto | Qué hace                                                                                                        |
| ---------- | ------- | ----------- | --------------------------------------------------------------------------------------------------------------- |
| `enabled`  | boolean | `true`      | `false` impide que el generador produzca tarjetas.                                                              |
| `itemName` | string  | `'fake_id'` | Objeto que se entrega al jugador. Tiene que existir en tu inventario con `export = 'cuxial_license.useFakeId'`. |

{% hint style="info" %}
El panel de identificaciones falsas no tiene comando ni NPC. Ábrelo desde tu propio recurso con [`openFakeId`](/scripts/es/nucleo/cuxial-license/developers.md#openfakeid), por ejemplo desde un lugar escondido o un objeto.
{% endhint %}

## Opciones de tarjeta en el diseñador

Cada diseño lleva sus propias opciones, que se ajustan en el último paso del diseñador (`/license`):

| Opción                           | Qué hace                                                                                                                                       |
| -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| **Restringir Tarjeta a Trabajo** | Saca la tarjeta de la oficina de licencias. Solo se puede emitir a mano.                                                                       |
| **Cobrar dinero** e importe      | Pone la tarjeta a la venta en la oficina de licencias por ese precio.                                                                          |
| **Nombre del item**              | Objeto de inventario que se entrega con esta tarjeta. Vacío = `license_card`. El diseñador muestra la definición del objeto lista para copiar. |

Quién puede emitir una tarjeta lo decide `authorizedJobs`.

{% hint style="danger" %}
Borrar un diseño de tarjeta borra también todas las licencias emitidas con él. Los objetos siguen en los inventarios pero ya no muestran nada.
{% endhint %}

## Cambios habituales

**Cobrar del banco en vez de en efectivo**

```lua
paymentType = 'bank',
```

**Dejar que un rango más bajo emita tarjetas**

```lua
authorizedJobs = {
    ['police'] = 1,
},
```

**Apagar las identificaciones falsas**

```lua
fakeId = {
    enabled = false,
    itemName = 'fake_id',
},
```


---

# 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-license/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.
