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

# Настройка

> Всё, что можно изменить в config/config.lua, простыми словами.

Все настройки лежат в одном файле: `rco-motorworks/config/config.lua`. Откройте его любым текстовым редактором (подойдёт Блокнот, VS Code удобнее).

> [!TIP]
>
> Меняйте только то, что идёт после знака `=`. Оставляйте кавычки `'...'`, запятые и скобки точно как есть. После сохранения перезапустите сервер.

## Основное

| Настройка | Что делает | По умолчанию |
| - | - | - |
| `Config.Locale` | Язык текстов на экране: `'en'` или `'pt-br'` | `'en'` |
| `Config.Framework` | Оставьте `'auto'`. Пишите `'rsg'` или `'vorp'`, только если скрипт ошибается | `'auto'` |
| `Config.MoneyAccount` | Деньги, которые мастерская берёт и платит: `'cash'` или `'gold'`. В gold цены округляются вверх до целых слитков | `'cash'` |
| `Config.Debug` | Пишет в консоли, что делает скрипт, для настройки. Выключите перед открытием для игроков | `false` |

## Клавиши

Клавиши записываются кодом клавиши в игре, а не буквой. На [странице клавиш](https://rust-co.mintlify.site/ru/keys.md) есть код каждой. Рядом с каждой клавишей стоит буква, которая видна на экране (`Config.OpenKeyLabel`...).

| Настройка | Что делает | По умолчанию |
| - | - | - |
| `Config.OpenKey` | Открывает мастерскую, когда вы за рулём своего транспорта внутри | **R** |
| `Config.WorkKey` | Механик на смене, пешком рядом с транспортом клиента с заказом: делает работу | **G** |
| `Config.CounterKey` | Открывает кабинет владельца и панель механиков, пешком | **G** |

`Config.OpenKey` должна быть клавишей, которую игра читает за рулём. Клавиши читаются только пока на экране их подсказка, поэтому в остальных местах они остаются за другими скриптами.

## Мастерские

`Config.Workshops` — список всех мастерских. Сен-Дени уже готова; добавляйте свои так же.

```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,
    },
}
```

| Настройка | Что делает |
| - | - |
| имя перед `=` | Имя мастерской в админ-команде (`saint_denis`). Только буквы, цифры и `_`. Не меняйте его, когда у мастерской уже есть владелец |
| `label` | Название вверху её экрана, над "Motor Works" |
| `coords` | Центр пола мастерской |
| `radius` | На каком расстоянии (метры) от центра может стоять транспорт |
| `bays` | Посты модификации, `vector4(x, y, z, направление)`: где стоит транспорт во время работы. Транспорт в пределах `Config.BayRadius` (3 метра) от поста находится в мастерской. Без `bays` действует `radius` |
| `owned` | `true`: у мастерской может быть владелец, который нанимает механиков. `false`: владельца нет, клиент ставит аксессуары сам |
| `counter` | Кабинет владельца (только мастерские с владельцем): касса, доля механиков, найм и увольнение. Открывает только владелец |
| `staffCounter` | Панель механиков: выход на смену и уход с неё, заказы. Открывают механики и владелец. Без неё механики тоже пользуются `counter` |
| `blip` | `true`: мастерская видна на карте со значком механика из RCO Vehicles (без RCO Vehicles — значок кузнеца из игры) |

Мастерская с владельцем, у которой владельца ещё нет, работает как самообслуживание.

## Цены

| Настройка | Что делает | По умолчанию |
| - | - | - |
| `Config.Repair.Base` | Цена любого ремонта | `0.50` |
| `Config.Repair.PerPercent` | Плюс столько за каждый недостающий процент здоровья | `0.03` |
| `Config.Paint.Price` | Цена новой покраски, в любой цвет самого транспорта (из его каталога RCO Vehicles) | `2.0` |
| `Config.PriceMultiplier` | Цена каждого аксессуара (задаёт каждый транспорт) умножается на это. `1.0` оставляет как есть; `1.5` делает на 50% дороже | `1.0` |

Транспорт с 40% здоровья платит `0.50 + 60 × 0.03 = $2.30`. Снять аксессуар — бесплатно.

## Мастерские с владельцем

| Настройка | Что делает | По умолчанию |
| - | - | - |
| `Config.Owners.Command` | Админ-команда, которая назначает владельца | `'motorworks'` |
| `Config.Owners.Mode` | Как работают все мастерские с владельцем: `'self'`, `'staff'` или `'auto'`. Владелец это не меняет | `'auto'` |
| `Config.Owners.Commission` | Доля каждого заказа, которую сделавший его механик получает из кассы (`0.2` = 20%) | `0.2` |
| `Config.Owners.CommissionMax` | Самая высокая доля, которую владелец может назначить механикам у стойки (начинается с `Commission`) | `0.5` |
| `Config.Owners.ExpireHours` | Заказ, который никто не сделал за это время, отменяется, и касса возвращает деньги | `5` |
| `Config.Owners.WorkSeconds` | Сколько механик работает над транспортом | `12` |

Режимы:

* `'self'`: клиент ставит аксессуары сам; деньги идут в кассу.
* `'staff'`: клиент делает заказ и платит в кассу; каждую работу делает механик.
* `'auto'`: `'staff'`, пока механик этой мастерской на смене, `'self'`, когда никого нет.

Владелец, механики и касса хранятся в базе данных, одинаково на RSG и VORP: никаких работ (job) во фреймворке создавать не нужно.

## Порядок категорий

`Config.CategoryOrder` — порядок, в котором показываются категории. Категории транспорта, которых нет в списке, идут после, по имени.

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

## Камера

`Config.Camera` говорит, куда смотрит камера для каждой категории. Игрок по-прежнему может тянуть и приближать оттуда.

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

| Настройка | Что делает |
| - | - |
| `bone` | Часть транспорта, на которую смотреть (`'bonnet'`, `'boot'`, `'wheel_lf'`), если она у него есть |
| `point` | Без этой части: точка транспорта, бок (`-1` слева до `1` справа), длина (`-1` сзади до `1` спереди) и высота (`-1` снизу до `1` сверху) |
| `yaw` | С какой стороны смотрит камера: `0` сзади, `90` справа, `180` спереди, `270` слева |
| `pitch` | Высота камеры, от `0` низко до `1` высоко |
| `zoom` | От `0` далеко до `1` близко |

`default` — весь транспорт, `repair` — экран ремонта. Если у транспорта есть своя камера для категории или варианта (в его каталоге RCO Vehicles), используется она.


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