> ## Documentation Index
> Fetch the complete documentation index at: https://rust-co.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuración

> Todo lo que puedes cambiar en config/config.lua, explicado con palabras sencillas.

Todos los ajustes están en un solo archivo: `rco-motorworks/config/config.lua`. Ábrelo con cualquier editor de texto (el Bloc de notas sirve, VS Code es mejor).

> [!TIP]
>
> Cambia solo lo que va después del signo `=`. Deja las comillas `'...'`, las comas y las llaves exactamente como están. Después de guardar, reinicia el servidor.

## Lo básico

| Ajuste | Qué hace | Por defecto |
| - | - | - |
| `Config.Locale` | Idioma de los textos en pantalla: `'en'` o `'pt-br'` | `'en'` |
| `Config.Framework` | Déjalo en `'auto'`. Escribe `'rsg'` o `'vorp'` solo si el script se equivoca | `'auto'` |
| `Config.MoneyAccount` | El dinero que el taller cobra y paga: `'cash'` o `'gold'`. Con gold los precios suben a barras enteras | `'cash'` |
| `Config.Debug` | Muestra en las consolas lo que hace el script, para configurar. Apágalo antes de abrir a los jugadores | `false` |

## Teclas

Las teclas se escriben con el código de la tecla en el juego, no con la letra. La [página de teclas](https://rust-co.mintlify.site/es/keys.md) tiene el código de cada una. Junto a cada tecla está la letra que se ve en pantalla (`Config.OpenKeyLabel`...).

| Ajuste | Qué hace | Por defecto |
| - | - | - |
| `Config.OpenKey` | Abre el taller, conduciendo tu vehículo dentro | **R** |
| `Config.WorkKey` | El mecánico de servicio, a pie junto al vehículo de un cliente con pedido: hace el trabajo | **G** |
| `Config.CounterKey` | Abre la oficina del dueño y el panel de los mecánicos, a pie | **G** |

`Config.OpenKey` debe ser una tecla que el juego lee mientras conduces. Las teclas solo se leen mientras su indicación está en pantalla, así que los demás scripts las conservan en el resto del mapa.

## Los talleres

`Config.Workshops` lista todos los talleres. Saint Denis viene listo; añade los tuyos de la misma forma.

```lua theme={"dark"}
Config.Workshops = {
    saint_denis = {
        label = 'Saint Denis', coords = vector3(2683.24, -840.91, 41.30), radius = 20.3, blip = true,
        bays = { vector4(2686.63, -851.89, 42.36, 116.22), vector4(2679.85, -836.29, 42.36, 110.55) },
        owned = true, counter = vector3(2672.60, -827.54, 42.36), staffCounter = vector3(2683.87, -825.76, 42.36),
    },
    valentine = {
        label = 'Valentine', coords = vector3(x, y, z), radius = 8.0,
        owned = false,
    },
}
```

| Ajuste | Qué hace |
| - | - |
| el nombre antes del `=` | El nombre del taller en el comando de admin (`saint_denis`). Solo letras, números y `_`. No lo cambies cuando ya tenga dueño |
| `label` | El nombre arriba de su pantalla, sobre "Motor Works" |
| `coords` | El centro del suelo del taller |
| `radius` | Hasta qué distancia (metros) del centro puede estar el vehículo |
| `bays` | Las estaciones de modificación, `vector4(x, y, z, rumbo)`: donde los vehículos se quedan para el trabajo. Un vehículo a menos de `Config.BayRadius` (3 metros) de una está en el taller. Sin `bays`, cuenta el `radius` |
| `owned` | `true`: el taller puede tener dueño, que contrata mecánicos. `false`: no tiene dueño y el cliente pone sus accesorios |
| `counter` | La oficina del dueño (solo talleres con dueño): caja, comisión, contratar y despedir. Solo el dueño la abre |
| `staffCounter` | El panel de los mecánicos: entrar y salir de servicio, y los pedidos. Lo abren los mecánicos y el dueño. Sin él, los mecánicos usan el `counter` también |
| `blip` | `true`: el taller aparece en el mapa, con el icono de mecánico de RCO Vehicles (el del herrero del juego sin RCO Vehicles) |

Un taller con dueño que todavía no tiene dueño funciona como autoservicio.

## Precios

| Ajuste | Qué hace | Por defecto |
| - | - | - |
| `Config.Repair.Base` | El precio de cualquier reparación | `0.50` |
| `Config.Repair.PerPercent` | Más esto por cada punto de salud que falta | `0.03` |
| `Config.Paint.Price` | El precio de una pintura nueva, en cualquier color del propio vehículo (de su catálogo de RCO Vehicles) | `2.0` |
| `Config.PriceMultiplier` | El precio de cada accesorio (lo pone cada vehículo) se multiplica por esto. `1.0` lo deja igual; `1.5` lo hace un 50% más caro | `1.0` |

Un vehículo con 40% de salud paga `0.50 + 60 × 0.03 = $2.30`. Quitar un accesorio es gratis.

## Talleres con dueño

| Ajuste | Qué hace | Por defecto |
| - | - | - |
| `Config.Owners.Command` | El comando de admin que da dueño a un taller | `'motorworks'` |
| `Config.Owners.Mode` | Cómo funcionan todos los talleres con dueño: `'self'`, `'staff'` o `'auto'`. El dueño no lo cambia | `'auto'` |
| `Config.Owners.Commission` | La parte de cada pedido que recibe de la caja el mecánico que lo hace (`0.2` = 20%) | `0.2` |
| `Config.Owners.CommissionMax` | La comisión más alta que el dueño puede dar a sus mecánicos en el mostrador (empieza en `Commission`) | `0.5` |
| `Config.Owners.ExpireHours` | Un pedido que nadie hizo en este tiempo se cancela y la caja lo devuelve | `5` |
| `Config.Owners.WorkSeconds` | Cuánto tiempo trabaja el mecánico en el vehículo | `12` |

Los modos:

* `'self'`: el cliente pone sus accesorios; el dinero va a la caja.
* `'staff'`: el cliente hace un pedido y lo paga a la caja; un mecánico hace cada trabajo.
* `'auto'`: `'staff'` mientras haya un mecánico de ese taller de servicio, `'self'` cuando no haya.

El dueño, los mecánicos y la caja se guardan en la base de datos, igual en RSG y en VORP: no creas ningún trabajo (job) en tu framework.

## El orden de las categorías

`Config.CategoryOrder` es el orden en que se muestran las categorías. Las categorías del vehículo que no están en la lista van después, por nombre.

```lua theme={"dark"}
Config.CategoryOrder = { 'teto', 'capo', 'frente', 'laterais', 'traseira', 'lanternas', 'rodas', 'volante' }
```

## La cámara

`Config.Camera` dice adónde mira la cámara en cada categoría. El jugador puede seguir arrastrando y haciendo zoom desde ahí.

```lua theme={"dark"}
teto = { point = { 0.0, 0.0, 1.0 }, yaw = 155.0, pitch = 0.95, zoom = 0.45 },
```

| Ajuste | Qué hace |
| - | - |
| `bone` | Una parte del vehículo a la que mirar (`'bonnet'`, `'boot'`, `'wheel_lf'`), cuando el vehículo la tiene |
| `point` | Sin la parte: un punto del vehículo, lado (`-1` izquierda a `1` derecha), largo (`-1` atrás a `1` delante) y alto (`-1` abajo a `1` arriba) |
| `yaw` | Desde qué lado mira la cámara: `0` detrás, `90` derecha, `180` delante, `270` izquierda |
| `pitch` | La altura de la cámara, de `0` baja a `1` alta |
| `zoom` | De `0` lejos a `1` cerca |

`default` es el vehículo entero y `repair` es la pantalla de reparación. Cuando un vehículo trae su propia cámara para una categoría u opción (en su catálogo de RCO Vehicles), se usa la suya.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.