> ## 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-vehicles/config/config.lua`. Откройте его любым текстовым редактором (подойдёт Блокнот, в VS Code удобнее).

<Tip>
  Меняйте только то, что стоит после знака `=`. Кавычки `'...'`, запятые и скобки оставьте как есть. После сохранения перезапустите сервер.
</Tip>

<Note>
  Комментарии внутри файла на английском. На этой странице каждая настройка объяснена по-русски.
</Note>

## Основное

| Настройка | Что делает | По умолчанию |
| - | - | - |
| `Config.Locale` | Язык меню: `'en'` или `'pt-br'` | `'en'` |
| `Config.StoreName` | Название вашего магазина вверху каждого меню | `'Rust & Co.'` |
| `Config.Framework` | Оставьте `'auto'`. Пишите `'rsg'` или `'vorp'`, только если скрипт ошибся | `'auto'` |
| `Config.Debug` | Режим помощи при настройке (см. «Расстановка салонов и гаражей» ниже). Выключите перед открытием сервера для игроков | `false` |

### Другой язык

Скопируйте `locales/en.json`, переведите тексты справа в каждой строке, сохраните, например, как `locales/ru.json` и поставьте `Config.Locale = 'ru'`. То, что не переведено, будет на английском.

## Деньги и лимиты

| Настройка | Что делает | По умолчанию |
| - | - | - |
| `Config.MoneyAccount` | Какими деньгами платят за транспорт. RSG: `'cash'`, `'bank'`, `'gold'` или другой тип денег вашего сервера. VORP: `'cash'` или `'gold'` | `'cash'` |
| `Config.MaxVehicles` | Сколько транспорта может быть у одного персонажа | `10` |
| `Config.MovePrice` | Цена перегона транспорта из гаража другого города. `0` = бесплатно | `1` |

## Цены

У каждого транспорта RCO уже есть своя цена. Этот список нужен, только чтобы **изменить** цену:

```lua theme={"dark"}
Config.Prices = {
    wanderer = 25,    -- имя транспорта = новая цена
}
```

Имя транспорта — это имя модели (велосипед Wanderer — `wanderer`). Транспорт, которого нет в списке, сохраняет свою цену.

## Клавиши и расстояния

| Настройка | Что делает | По умолчанию |
| - | - | - |
| `Config.OpenKey` | Клавиша, чтобы открыть салон или гараж, пешком | **J** |
| `Config.StoreKey` | Клавиша, чтобы поставить в гараж транспорт, на котором вы едете | **R** |
| `Config.InteractDistance` | На скольких метрах от точки салона или гаража должен стоять игрок | `2.0` |
| `Config.StoreDistance` | На скольких метрах от точки гаража должен быть транспорт, чтобы его поставить | `15.0` |
| `Config.TransferDistance` | На скольких метрах должен быть другой игрок, чтобы получить транспорт | `5.0` |

<Note>
  Клавиши записываются кодом управления игры (например, `0xF3830D8E`), а не буквой. Меняйте их, только если знаете код нужной клавиши. Клавиша для гаража должна читаться игрой, пока игрок на транспорте: J, например, на транспорте не работает.
</Note>

## Гаражи

Каждый гараж — это вот такой блок:

```lua theme={"dark"}
valentine = {
    label = 'Valentine',
    coords = vector3(-179.53, 648.90, 113.58),
    spawn = vector4(-179.87, 653.14, 113.65, 136.06),
    blip = true,
},
```

| Строка | Что значит |
| - | - |
| `valentine` | Короткое имя гаража. Строчными буквами, без пробелов |
| `label` | Название, которое видит игрок |
| `coords` | Где стоит игрок, чтобы открыть гараж |
| `spawn` | Где появляется транспорт, когда его достают. Последнее число — куда он смотрит |
| `blip` | `true` показывает гараж на карте, `false` скрывает |

Выбирайте `spawn` так, чтобы вокруг было метров 6 свободного места и ничего низкого сверху: меню гаража показывает там транспорт с вращающейся камерой.

<Warning>
  Каждый транспорт помнит **короткое имя** своего гаража. Если переименовать `valentine`, транспорт, который там стоит, пропадёт из него. Чтобы добавить гараж, добавьте новый блок с новым коротким именем.
</Warning>

В комплекте семь гаражей: Сен-Дени, Роудс, Валентайн, Аннесбург, Блэкуотер, Строберри и Армадилло.

## Салоны

Работают как гаражи, но строк чуть больше:

| Строка | Что значит |
| - | - |
| `label` | Название, которое видит игрок |
| `coords` | Где стоит игрок, чтобы открыть салон |
| `range` | На скольких метрах от `coords` он открывается. Уберите строку, чтобы использовать `Config.InteractDistance` |
| `preview` | Где стоит выставленный транспорт, пока игрок выбирает |
| `npc` | Продавец (модель персонажа игры). Уберите строку, если продавец не нужен |
| `chair` | Необязательно: стул, на котором сидит продавец. Без него он ищет место поблизости |
| `garage` | Гараж (короткое имя), в который попадает купленный здесь транспорт |
| `delivery` | Где новый транспорт выдаётся сразу после покупки. Уберите строку, чтобы выдавать его в гараже |
| `categories` | Какие виды транспорта здесь продаются, например `{ 'bicycle' }`. `nil` — всё |
| `blip` | `true` показывает салон на карте |
| `lift` | Только для магазина в Сен-Дени, который идёт с ресурсом: выставленный транспорт поднимается на платформе. Не копируйте в другие салоны |

Скрипт сам подгоняет высоту к земле, так что ошибка в `z` на метр не страшна. Исключение — салон в Сен-Дени: его `preview` должен быть точным, это верх платформы.

## Расстановка салонов и гаражей

Простой способ получить числа для новой точки:

<Steps>
  <Step title="Включите режим помощи">
    Поставьте `Config.Debug = true` и перезапустите сервер.
  </Step>

  <Step title="Встаньте на место">
    В игре встаньте там, где должен быть гараж (или транспорт), лицом в нужную сторону.
  </Step>

  <Step title="Скопируйте позицию">
    Введите `/vehicles_here` в чат, откройте консоль F8 и скопируйте показанную строку в конфиг.
  </Step>

  <Step title="Выключите режим помощи">
    Верните `Config.Debug = false` перед открытием сервера для игроков.
  </Step>
</Steps>


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