> 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/policia-y-medico/cuxial-medical/installation.md).

# Instalación

Instala Cuxial Medical paso a paso: dependencias, ítems, convars, orden de arranque y el primer hospital.

Cuxial Medical no necesita importar SQL. Crea sus tablas en el primer arranque. Solo tienes que añadir los ítems a tu inventario y configurar tu hospital.

{% stepper %}
{% step %}

## Comprueba las dependencias

Deben estar instaladas y funcionando antes de añadir el script:

* OneSync activado en el servidor
* `ox_lib`
* `oxmysql`
* `cuxial_bridge`, con uno de sus frameworks compatibles: QBox, QBCore o ESX
* Un inventario compatible con `cuxial_bridge`: `ox_inventory` o `qb-inventory`
* Un target compatible con `cuxial_bridge`: `sleepless_interact`, `ox_target` o `qb-target`

Hay dos recursos opcionales:

* `cuxial_interactions` añade el NPC de recepción de cada hospital. Sin él no hay NPC; todo lo demás funciona.
* `cuxial_police` recibe los avisos de auxilio en la central de la policía. Sin él solo se avisa a los EMS de servicio.

{% hint style="warning" %}
En ESX el script necesita metadatos del jugador (`getMeta` / `setMeta`) y estado de servicio en el trabajo. Comprueba ambos en tu versión de ESX antes de instalar.
{% endhint %}
{% endstep %}

{% step %}

## Copia el recurso

Coloca la carpeta `cuxial_medical` dentro de tu directorio `resources`. No le cambies el nombre: otros recursos llaman a sus exports con ese nombre.
{% endstep %}

{% step %}

## Quita otros scripts médicos

Cuxial Medical proporciona `qb-ambulancejob` y controla la muerte, la reaparición y la reanimación. Detén cualquier otro script de muerte o de ambulancia:

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

```cfg
# ensure qb-ambulancejob
```

{% endcode %}

{% hint style="danger" %}
Dos scripts gestionando la muerte a la vez reaniman, matan y teletransportan al mismo jugador por turnos. Deja solo Cuxial Medical.
{% endhint %}
{% endstep %}

{% step %}

## Añade los ítems

La lista de ítems está en `install/items.lua`.

{% tabs %}
{% tab title="ox\_inventory" %}
Copia el contenido de `install/items.lua` en `ox_inventory/data/items.lua`, dentro de la tabla que devuelve. Cambia las etiquetas si lo necesitas.

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

```lua
['medbag'] = {
    label = 'Bolso médico',
    weight = 5000,
    stack = false,
    close = true,
},

['defib'] = {
    label = 'Desfibrilador',
    weight = 2000,
    stack = false,
    close = true,
},

['medkit'] = {
    label = 'Medikit',
    weight = 1000,
    stack = true,
    close = true,
},
-- ...y el resto de install/items.lua
```

{% endcode %}
{% endtab %}

{% tab title="qb-inventory" %}
Registra los mismos nombres de ítem en tu archivo de ítems compartidos, con los nombres de la tabla de abajo.
{% endtab %}
{% endtabs %}

| Ítem                                                                     | Para qué se usa                                               | Cuándo hace falta                            |
| ------------------------------------------------------------------------ | ------------------------------------------------------------- | -------------------------------------------- |
| `medbag`                                                                 | Bolso médico que se coloca en el suelo                        | Siempre                                      |
| `defib`                                                                  | Inicia una reanimación; lo exige la RCP completa              | Siempre                                      |
| `medkit`                                                                 | Cura a un paciente; la RCP rápida lo exige y lo consume       | Siempre                                      |
| `sedative`                                                               | Seda a un paciente                                            | Siempre                                      |
| `tweezers`                                                               | Trata heridas de bala                                         | Siempre                                      |
| `suturekit`                                                              | Trata heridas de arma blanca                                  | Siempre                                      |
| `icepack`                                                                | Trata contusiones                                             | Siempre                                      |
| `burncream`                                                              | Trata quemaduras                                              | Siempre                                      |
| `bandage`                                                                | Vendaje por zona (export `TreatZone`) y vendaje de uso propio | Solo si usas alguno de los dos               |
| `morphine30`, `morphine15`, `perc30`, `perc10`, `perc5`, `vic10`, `vic5` | Analgésicos                                                   | Solo con `extras.painkillers.enabled = true` |

{% hint style="info" %}
Los nombres de los ítems se pueden cambiar en la configuración. Si renombras un ítem ahí, renómbralo también en tu inventario.
{% endhint %}
{% endstep %}

{% step %}

## Define las convars

Todas son opcionales.

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

```cfg
# Idioma del script (se incluyen en y es)
setr ox:locale "es"

# Webhook de Discord para los registros de muertes, reanimaciones y ajustes
set cuxial_medical_webhook "https://discord.com/api/webhooks/..."

# Trazas de depuración en la consola
setr cuxial_medical_debug "0"
```

{% endcode %}

{% hint style="info" %}
El webhook va en `server.cfg`, nunca en `shared/config.lua`. Se lee una sola vez, al arrancar el recurso. El nombre de la convar se puede cambiar en `logs.convar`.
{% endhint %}
{% endstep %}

{% step %}

## Arranca el recurso

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

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

```cfg
ensure ox_lib
ensure oxmysql
# tu framework aquí (qbx_core, qb-core o es_extended)
# tu inventario y tu target aquí
ensure cuxial_bridge
# opcionales
ensure cuxial_interactions
ensure cuxial_police
ensure cuxial_medical
```

{% endcode %}

No hay SQL que ejecutar. En el primer arranque el recurso crea `cuxial_medical_settings`, `cuxial_medical_logs` y `cuxial_medical_audit`, y copia los valores de `shared/config.lua` y `data/hospitals.lua` a la base de datos.

{% hint style="warning" %}
Desde ese primer arranque, la copia de la base de datos manda sobre los archivos en todas las secciones que aparecen en el panel de administración. Edita esas secciones desde `/medadmin`. Consulta [Dónde se guardan los ajustes](/scripts/es/policia-y-medico/cuxial-medical/configuration.md#donde-se-guardan-los-ajustes).
{% endhint %}
{% endstep %}

{% step %}

## Da acceso al staff

El panel de administración y los comandos de staff necesitan permisos:

* `/medadmin` usa el permiso de `admin.permission` (`'admin'` por defecto), comprobado a través de tu framework.
* `/revive`, `/heal`, `/kill` y `/mdstretcher` están restringidos por defecto al grupo ACE `group.mod`.

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

```cfg
add_principal identifier.license:xxxxxxxxxxxxxxxx group.mod
```

{% endcode %}

Más detalle en [Comandos y permisos](/scripts/es/policia-y-medico/cuxial-medical/commands.md).
{% endstep %}

{% step %}

## Configura tu hospital

El hospital que viene en `data/hospitals.lua` es un ejemplo: Pillbox Hill Medical Center, colocado en la entrada exterior y sin camas. Muévelo a tu hospital y añade las camas de tu interior.

1. Entra como staff y escribe `/medadmin`.
2. Abre **Hospitales y camas**.
3. Colócate donde deben reaparecer los jugadores y fija el punto de reaparición con **Aquí**.
4. Añade cada cama con **Añadir cama aquí** y elige su modelo.
5. Coloca el NPC de recepción con **Colocar** (solo se ve en juego con `cuxial_interactions`).
6. Pulsa **Guardar**.
   {% endstep %}

{% step %}

## Comprueba que funciona

1. Escribe `/kill`. Aparece la pantalla de muerte con la cuenta atrás.
2. Escribe `/revive`. Te levantas.
3. Ponte el trabajo de EMS, entra de servicio y usa un `medbag`. El bolso aparece en el suelo.
4. Acércate a una cama y usa la opción del target para tumbarte.
   {% endstep %}
   {% endstepper %}

Siguiente: mira cómo funciona cada parte en la [Guía de funciones](/scripts/es/policia-y-medico/cuxial-medical/features.md) y ajústala en [Configuración](/scripts/es/policia-y-medico/cuxial-medical/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/policia-y-medico/cuxial-medical/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.
