> 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/primeros-pasos/cuxial-bridge.md).

# Cuxial Bridge

La capa de compatibilidad que usan todos los scripts de Cuxial para hablar con tu framework, inventario y target.

Cuxial Bridge permite que un mismo script funcione en QBox, QBCore o ESX sin editarlo. Los scripts le piden al bridge jugadores, dinero, trabajos, items y opciones de target; el bridge traduce cada petición a lo que use tu servidor.

Es gratuito y de código abierto. Lo necesitan todos los scripts de Cuxial y se instala una sola vez.

## Con qué es compatible

| Capa       | Compatibles                                    | Se detecta por                       |
| ---------- | ---------------------------------------------- | ------------------------------------ |
| Framework  | QBox, QBCore, ESX                              | `qbx_core`, `qb-core`, `es_extended` |
| Inventario | `ox_inventory`, `qb-inventory`                 | Recurso con ese nombre               |
| Target     | `sleepless_interact`, `ox_target`, `qb-target` | Recurso con ese nombre               |

La detección sigue el orden de cada fila. Si hay dos opciones en marcha, gana la primera: `qbx_core` sobre `qb-core`, `ox_inventory` sobre `qb-inventory`, `sleepless_interact` sobre `ox_target`.

Si no se detecta nada, el bridge recurre a QBox, `ox_inventory` y `ox_target`.

{% hint style="info" %}
Algunos scripts requieren un framework concreto: Cuxial Multichar requiere QBox o QBCore. La página de cada script indica sus requisitos.
{% endhint %}

## Instalación

{% stepper %}
{% step %}

## Instala la dependencia

Cuxial Bridge necesita `ox_lib`. Comprueba que está instalado y que arranca antes que el bridge.
{% endstep %}

{% step %}

## Copia el recurso

Descarga la última versión desde [GitHub](https://github.com/Cuxialv2/cuxial_bridge/releases/latest) y coloca la carpeta `cuxial_bridge` en tu directorio `resources`. Cada versión y sus cambios están en la [página de releases](https://github.com/Cuxialv2/cuxial_bridge/releases).

{% hint style="danger" %}
Mantén el nombre de carpeta `cuxial_bridge`. Todos los scripts lo cargan con ese nombre exacto y no arrancan si lo cambias.
{% endhint %}
{% endstep %}

{% step %}

## Arráncalo después de tu framework

Añádelo debajo de tu framework, inventario y target, y encima de todos los scripts de Cuxial.

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

```cfg
ensure ox_lib
ensure qbx_core
ensure ox_inventory
ensure ox_target

ensure cuxial_bridge
```

{% endcode %}

Sustituye las líneas de framework, inventario y target por las que use tu servidor.
{% endstep %}

{% step %}

## Revisa la consola del servidor

Al arrancar, el bridge muestra lo que ha detectado:

```
[cuxial_bridge] listo framework=qbox inventario=ox_inventory target=ox_target contexto=server
```

Si los tres valores coinciden con tu servidor, ya está.
{% endstep %}
{% endstepper %}

## Configuración

Cuxial Bridge no tiene archivo de configuración. Las convars de abajo solo hacen falta cuando la detección elige la opción equivocada.

### Forzar una opción

| Convar                    | Por defecto | Valores                                                |
| ------------------------- | ----------- | ------------------------------------------------------ |
| `cuxial_bridge:framework` | `auto`      | `auto`, `qbox`, `qbcore`, `esx`                        |
| `cuxial_bridge:inventory` | `auto`      | `auto`, `ox_inventory`, `qb-inventory`                 |
| `cuxial_bridge:target`    | `auto`      | `auto`, `sleepless_interact`, `ox_target`, `qb-target` |

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

```cfg
setr cuxial_bridge:framework "esx"
setr cuxial_bridge:inventory "ox_inventory"
setr cuxial_bridge:target "ox_target"
```

{% endcode %}

{% hint style="warning" %}
Usa `setr`, no `set`. Estos valores se leen en el servidor y en el juego de cada jugador; con `set` los dos lados pueden no coincidir. Coloca las líneas encima de `ensure cuxial_bridge`.
{% endhint %}

### Tablas de base de datos personalizadas

Cámbialas solo si tu framework guarda los personajes o los vehículos en tablas con otros nombres. Solo se leen en el servidor, así que basta con `set`.

| Convar                         | Por defecto en QBox / QBCore | Por defecto en ESX | Qué es                                  |
| ------------------------------ | ---------------------------- | ------------------ | --------------------------------------- |
| `cuxial_bridge:charTable`      | `players`                    | `users`            | Tabla de personajes                     |
| `cuxial_bridge:charIdColumn`   | `citizenid`                  | `identifier`       | Columna del identificador del personaje |
| `cuxial_bridge:vehTable`       | `player_vehicles`            | `owned_vehicles`   | Tabla de vehículos en propiedad         |
| `cuxial_bridge:vehOwnerColumn` | `citizenid`                  | `owner`            | Columna del dueño del vehículo          |

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

```cfg
set cuxial_bridge:charTable "players"
```

{% endcode %}

## Actualizaciones

Al arrancar el servidor, Cuxial Bridge consulta en GitHub si hay una versión más nueva. Si la hay, avisa en la consola del servidor con el número de versión, un resumen de los cambios y el enlace de descarga. No se descarga ni se cambia nada automáticamente.

Para actualizar, descarga la [última versión](https://github.com/Cuxialv2/cuxial_bridge/releases/latest), sustituye la carpeta `cuxial_bridge` y reinicia el servidor.

Actualiza el bridge antes de actualizar un script: las versiones nuevas de los scripts pueden apoyarse en el último bridge. Consulta [Actualizar un script](/scripts/es/primeros-pasos/updating.md).

## Problemas frecuentes

<details>

<summary>La consola avisa de que no se detectó ningún framework</summary>

El aviso dice `[cuxial_bridge] aviso: no se detectó framework, usando fallback "qbox"`.

**Causa.** Tu framework no estaba en marcha cuando cargó el bridge o un script.

**Solución.** Sube la línea `ensure` del framework por encima de `cuxial_bridge` y de todos los scripts de Cuxial. Si la carpeta del framework tiene un nombre no estándar, fuérzalo con `setr cuxial_bridge:framework`.

</details>

<details>

<summary>Se detecta el inventario o el target equivocado</summary>

**Causa.** Hay dos opciones en marcha a la vez, o la tuya arranca después de los scripts de Cuxial.

**Solución.** Revisa primero el orden de arranque. Si los dos recursos tienen que seguir, fuerza el correcto con `setr cuxial_bridge:inventory` o `setr cuxial_bridge:target`.

</details>

<details>

<summary>Un script no arranca y el error menciona cuxial_bridge/init.lua</summary>

**Causa.** El bridge falta, se ha renombrado o arranca después del script.

**Solución.** Comprueba que la carpeta se llama `cuxial_bridge` y que `ensure cuxial_bridge` aparece antes que el script.

</details>


---

# 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/primeros-pasos/cuxial-bridge.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.
