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

# Instalación

Instala Cuxial License paso a paso: dependencias, screencapture, objetos, convars y orden de arranque.

Cuxial License necesita un recurso extra para las fotos, unos pocos objetos de inventario y una convar. Crea sus propias tablas en la base de datos al arrancar por primera vez.

{% stepper %}
{% step %}

## Comprueba las dependencias

Estos recursos tienen que estar instalados y funcionando antes de añadir el script:

* `ox_lib`
* `oxmysql`
* `cuxial_bridge`, con QBox o QBCore
* `ox_inventory`, para usar las tarjetas como objetos
* Un recurso de target compatible con el bridge (`sleepless_interact`, `ox_target` o `qb-target`), para el NPC de la oficina

`cuxial_police` y `av_weather` son opcionales. Con `cuxial_police` en marcha, la tarjeta mostrada lleva las marcas de búsqueda y de peligroso del personaje. `av_weather` mueve el selector de hora del día de la sesión de fotos.
{% endstep %}

{% step %}

## Instala screencapture

`screencapture` es un recurso gratuito y de código abierto que captura la pantalla de un jugador desde el servidor. Cuxial License lo usa para hacer la foto que va impresa en cada tarjeta, y no arranca sin él.

1. Descarga la última **release** desde [github.com/itschip/screencapture](https://github.com/itschip/screencapture/releases). Baja la release empaquetada, no el código fuente: el recurso tiene que traer la carpeta `game/dist`.
2. Coloca la carpeta en tu directorio `resources` y deja su nombre como `screencapture`.
3. Arráncalo antes que Cuxial License.

{% hint style="info" %}
`screencapture` se declara sustituto de `screenshot-basic`, así que los recursos que dependen de ese siguen funcionando con él. Corre sobre Node 22: usa un artefacto de servidor reciente.
{% endhint %}
{% endstep %}

{% step %}

## Copia el recurso

Coloca la carpeta `cuxial_license` dentro de tu directorio `resources`.

{% hint style="danger" %}
Mantén el nombre de carpeta `cuxial_license`. Los objetos de inventario llaman al script por ese nombre exacto y dejan de funcionar si lo cambias.
{% endhint %}
{% endstep %}

{% step %}

## Base de datos

No hay nada que importar. El recurso crea las tablas `cuxial_cards` (diseños de tarjeta) y `cuxial_issued` (licencias emitidas) al arrancar.

Si tu usuario de base de datos no puede crear tablas, ejecuta `sql/install.sql` a mano una vez.
{% endstep %}

{% step %}

## Registra los objetos

Añade estos objetos a `ox_inventory`. Los dos primeros son obligatorios; `job_badge` y `worker_id` solo hacen falta si otro recurso tuyo los entrega (mira [Exports y eventos](/scripts/es/nucleo/cuxial-license/developers.md#objetos-de-placa-y-de-trabajador)).

{% code title="ox\_inventory/data/items.lua" %}

```lua
['license_card'] = {
    label = 'Licencia',
    weight = 5,
    stack = false,
    close = true,
    consume = 0,
    description = 'Documento de identidad o licencia',
    client = {
        export = 'cuxial_license.useLicenseCard',
    },
},

['fake_id'] = {
    label = 'Identificación falsa',
    weight = 5,
    stack = false,
    close = true,
    consume = 0,
    description = 'Documento falsificado',
    client = {
        export = 'cuxial_license.useFakeId',
    },
},

['job_badge'] = {
    label = 'Placa de trabajo',
    weight = 5,
    stack = false,
    close = true,
    consume = 0,
    description = 'Credencial laboral',
    client = {
        export = 'cuxial_license.useJobBadge',
    },
},

['worker_id'] = {
    label = 'Identificación de trabajador',
    weight = 5,
    stack = false,
    close = true,
    consume = 0,
    description = 'Identificación laboral',
    client = {
        export = 'cuxial_license.useWorkerId',
    },
},
```

{% endcode %}

{% hint style="warning" %}
`stack = false` es obligatorio. Cada tarjeta guarda sus propios datos, así que dos tarjetas nunca pueden compartir hueco.
{% endhint %}

Todos los diseños se entregan como `license_card` salvo que escribas otro nombre de objeto en el diseñador (por ejemplo `id_card`). Cada nombre de objeto que uses necesita su propia definición con `export = 'cuxial_license.useLicenseCard'`; el diseñador muestra el bloque listo para copiar.

Las imágenes de los objetos no vienen incluidas. Añade las tuyas a `ox_inventory/web/images/` con el nombre del objeto (`license_card.png`, `fake_id.png`…).
{% endstep %}

{% step %}

## Define las convars

{% code title="server.cfg" %}

```cfg
# Token de Fivemanage con el que se guardan las fotos
set cuxial:fivemanageToken "TU_TOKEN_DE_FIVEMANAGE"

# Idioma (vienen en y es)
setr ox:locale "es"
```

{% endcode %}

La foto se sube a tu cuenta de Fivemanage y la tarjeta guarda su enlace. Sin token el script funciona igual, pero todas las tarjetas se emiten sin foto.

{% hint style="info" %}
La foto se sube desde el servidor. Escribe el token con `set`, no con `setr`: se queda en el servidor y nunca se envía a los jugadores.
{% endhint %}
{% endstep %}

{% step %}

## Arranca el recurso

Arráncalo después de sus dependencias, de tu framework y de tu inventario:

{% code title="server.cfg" %}

```cfg
ensure ox_lib
ensure oxmysql
# tu framework aquí (qbx_core o qb-core)
ensure ox_inventory
ensure ox_target
ensure cuxial_bridge
ensure screencapture
# opcional
ensure cuxial_police
ensure cuxial_license
```

{% endcode %}

Cambia las líneas del framework y del target por las que use tu servidor.
{% endstep %}

{% step %}

## Comprueba que funciona

1. Entra con una cuenta que tenga el permiso `admin` de tu framework y escribe `/license`. Se abre el panel de gestión.
2. Crea una tarjeta, activa **Cobrar dinero** en el último paso y guárdala.
3. Ve al NPC de la oficina (la posición está en `zones`) y compra la tarjeta. Se abre el estudio de fotos.
4. Captura y envía. El objeto aparece en tu inventario.
5. Usa el objeto. La tarjeta sale en pantalla con tu foto; pulsa <kbd>E</kbd> para guardarla.
   {% endstep %}
   {% endstepper %}

Siguiente: define los trabajos, la oficina y el estudio en [Configuración](/scripts/es/nucleo/cuxial-license/configuration.md).


---

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