• Из-за обновления GTA 5 (был добавлен новый патч) может временно не работать вход в RAGE Multiplayer.

    ERROR: Your game version is not supported by RAGE Multiplayer.

    Данная ошибка говорит о том, что GTA V обновилась до новой версии (GTA Online тоже). Вам необходимо обновить саму игру в главном меню вашего приложения (Steam / Epic Games / Rockstar Games).
    Если после этого RAGE:MP все равно не работает - вам нужно дождаться выхода патча для самого мультиплеера (обычно это занимает от нескольких часов до нескольких дней).

    Новости и апдейты Rockstar Games - https://www.rockstargames.com/ru/newswire/
    Статус всех служб для Rockstar Games Launcher и поддерживаемых игр: https://support.rockstargames.com/ru/servicestatus


    Grand Theft Auto 5 (+ GTA Online) последний раз были обновлены:

Урок Прописка тюнинга в LSC.

sasha18058

Активный участник
Автор темы
4 Дек 2020
8
8
43
Для начала заходим в папку server/dotnet/resources и открываем файл sln формата. (Для владельцев 0.3.7 сервера - bridge/resources) Открыли файл. Нам нужна вкладка businesses. И Ищем данную строку -
Код:
 public static Dictionary<string, Dictionary<int, List<Tuple<int, string, int>>>> Tuning = new Dictionary<string, Dictionary<int, List<Tuple<int, string, int>>>>()
В моём случае, это 873 строка.
Теперь открываем машинку, и смотрим какой у неё есть тюнинг. Предположим что в модельке присутствуют все компоненты т.е. (крыша, решетка, бампера и т.д.)
Открываем наш код и вставляем код -
Код:
public static Dictionary<string, Dictionary<int, List<Tuple<int, string, int>>>> Tuning = new Dictionary<string, Dictionary<int, List<Tuple<int, string, int>>>>()
        {
            { "Имя спавна машины", new Dictionary<int, List<Tuple<int, string, int>>>() {
                { 0, new List<Tuple<int, string, int>>() {
                    new Tuple<int, string, int>(-1, "Стандартный глушитель", 5000),
                    new Tuple<int, string, int>(0, "Сдвоенный титановый", 7000),
                }},
                { 1, new List<Tuple<int, string, int>>() {
                    new Tuple<int, string, int>(-1, "Стандартные пороги", 5000),
                    new Tuple<int, string, int>(0, "Заказные пороги", 30000),
                }},
                { 2, new List<Tuple<int, string, int>>() {
                    new Tuple<int, string, int>(-1, "Стандартный капот", 5000),
                    new Tuple<int, string, int>(0, "Стандартный капот 2", 16000),
                }},
                { 3, new List<Tuple<int, string, int>>() {
                    new Tuple<int, string, int>(-1, "Нет", 5000),
                    new Tuple<int, string, int>(0, "Дрифт-спойлер", 22000),
                }},
                { 4, new List<Tuple<int, string, int>>() {
                    new Tuple<int, string, int>(-1, "Стандартная решетка", 3000),
                    new Tuple<int, string, int>(0, "Заказная решетка", 6000),
                }},
                { 5, new List<Tuple<int, string, int>>() {
                    new Tuple<int, string, int>(-1, "Стандартное крыло", 5000),
                    new Tuple<int, string, int>(0, "Карбоновые панели", 22000),
                }},
                { 6, new List<Tuple<int, string, int>>() {
                    new Tuple<int, string, int>(-1, "Стандартная крыша", 5000),
                    new Tuple<int, string, int>(0, "Заказная крыша", 10000),
                }},
                { 7, new List<Tuple<int, string, int>>() {
                    new Tuple<int, string, int>(-1, "Без раскраски", 5000),
                    new Tuple<int, string, int>(0, "Полоса по бокам", 18000),
                }},
                { 8, new List<Tuple<int, string, int>>() {
                    new Tuple<int, string, int>(-1, "Стандартный пер. бампер", 5000),
                    new Tuple<int, string, int>(0, "Бампер с радиатором", 13000),
                }},
                { 9, new List<Tuple<int, string, int>>() {
                    new Tuple<int, string, int>(-1, "Стандартный зад. бампер", 5000),
                    new Tuple<int, string, int>(0, "Заказной бампер", 13000),
                    new Tuple<int, string, int>(1, "Эксклюзивный бампер", 13000),
                }},
            }},
        };
Где 0- Глушитель, 1- Пороги, 2- Капот, 3- Спойлер, 4- Решетка радиатора, 5- Крылья, 6- крыша, 7-Ливреи, 8- пер.бампер, 9- зад. бампер.
Если же у модельки нету тюнинга, тогда делаем так -
Код:
{ "Имя спавна модельки", new Dictionary<int, List<Tuple<int, string, int>>>() { }},
Как всё сделали и всё прописали, компилим сборку.
Скомпилили.
Теперь переходим в папку server/client_packages/configs и открываем tuning.js
Нам нужна 103 строка и со 104 строки пляшем.
Вот пример -
Код:
global.tuningConf = JSON.parse(`
{
   "Имя спавна машинки":{
      "0":[
         {
            "Item1":-1,
            "Item2":"Стандартный глушитель",
            "Item3":5000
         },
         {
            "Item1":0,
            "Item2":"Сдвоенный титановый",
            "Item3":10000
         }
      ],
      "1":[
         {
            "Item1":-1,
            "Item2":"Стандартные пороги",
            "Item3":5000
         },
         {
            "Item1":0,
            "Item2":"Заказные пороги",
            "Item3":22000
         }
      ],
      "2":[
         {
            "Item1":-1,
            "Item2":"Стандартный капот",
            "Item3":5000
         },
         {
            "Item1":0,
            "Item2":"Стандартный капот 2",
            "Item3":16000
         }
      ],
      "3":[
         {
            "Item1":-1,
            "Item2":"Без спойлера",
            "Item3":5000
         },
         {
            "Item1":0,
            "Item2":"Дрифт-спойлер",
            "Item3":22000
         }
      ],
      "4":[
         {
            "Item1":-1,
            "Item2":"Стандартная решетка",
            "Item3":5000
         },
         {
            "Item1":0,
            "Item2":"Заказная решетка",
            "Item3":22000
         }
      ],
      "5":[
         {
            "Item1":-1,
            "Item2":"Стандартные крылья",
            "Item3":5000
         },
         {
            "Item1":0,
            "Item2":"Заказные крылья",
            "Item3":22000
         }
      ],
      "6":[
         {
            "Item1":-1,
            "Item2":"Стандартная крыша",
            "Item3":3000
         },
         {
            "Item1":0,
            "Item2":"Заказная крыша",
            "Item3":5000
         }
      ],
      "7":[
         {
            "Item1":-1,
            "Item2":"Без раскраски",
            "Item3":5000
         },
         {
            "Item1":0,
            "Item2":"Полоса по бокам",
            "Item3":22000
         }
      ],
      "8":[
         {
            "Item1":-1,
            "Item2":"Стандартный пер.Бампер",
            "Item3":5000
         },
         {
            "Item1":0,
            "Item2":"Бампер с радиатором",
            "Item3":25000
         }
      ],
      "9":[
         {
            "Item1":-1,
            "Item2":"стандартный зад. бампер",
            "Item3":5000
         },
         {
            "Item1":0,
            "Item2":"Заказной бампер",
            "Item3":22000
         },
         {
            "Item1":1,
            "Item2":"Эксклюзивный бампер",
            "Item3":22000
         }
      ]
   },
}
В этом документе будьте предельно аккуратны с запятыми и кавычками.
Забыл сказать, что индекс всегда начинается с -1, это важно!
Если же у модельки нету тюна, делаем так-
Код:
global.tuningConf = JSON.parse(`
 {
   "Имя спавна машинки":{

    }
}
Теперь сохраняем, выходим и удаляем settings.db
Запускаем сервер и наслаждаемся.
Если будут вопросы постучаться можно сюда - Pomidor4ik#6323
Надеюсь был полезен.