Мануал Добавляем систему автошколы в мод RedAge(NeptuneEvo)

Стоит ли ставить на сервер ?

  • Да

    Голосов: 25 73.5%
  • Фигня

    Голосов: 1 2.9%
  • ТЫ ТОП

    Голосов: 8 23.5%

  • Всего проголосовало
    34

Это я

Участник портала
Автор темы
high coder
12
22
12
В данном мануале мы поставим Авто школу в мод RedAge RolePlay (NeptuneEvo).
Если у Вас возникли проблемы с этой системой или просто что-то не получается - пишите в эту тему, постараюсь помочь.

Возможно кто-то скажет что чего-то нет но я думаю вы добавите я сделал для вас печеньку а вы делайте с ней что хотите
Спасибо за понимание!)
У кого вопросы мой Discord: Это я#6891

Если хотите поддержать мои работы можете кинуть монетку TINKOFF BANK: 5536 9138 3804 8938
Или поддержать лайком :)


Начнём:
1. Открываем проект (NeptuneEvo.sln) в bridge\resources
1.2 Открываем: Main.cs
Находим:
C#:
                            case 8:
                                Jobs.AutoMechanic.CarInfos.Add(data);
                                break;
Под него вставляем код:
C#:
                            case 100:
                                DrivingSchool.CarInfos.Add(data);
                                break;
Находим:
C#:
 Jobs.AutoMechanic.mechanicCarsSpawner();
Под него вставляем код:
C#:
DrivingSchool.SchoolCarsSpawner();
Далее ищем:
C#:
                    case 505:

                        if(!Players[player].Achievements[9]) {

                            if(!player.IsInVehicle) return;

                            if(player.Vehicle != FrankQuest1Trac0 && player.Vehicle != FrankQuest1Trac1) return;

                            Players[player].Achievements[9] = true;

                            Vehicle trac = player.Vehicle;

                            player.WarpOutOfVehicle();

                            NAPI.Task.Run(() => {

                                if(trac == FrankQuest1Trac0) {

                                    trac.Position = new Vector3(1981.87, 5174.382, 48.26282);

                                    trac.Rotation = new Vector3(0.1017629, -0.1177645, 129.811);

                                } else {

                                    trac.Position = new Vector3(1974.506, 5168.247, 48.2662);

                                    trac.Rotation = new Vector3(0.07581472, -0.08908347, 129.8487);

                                }

                            }, 500);

                            player.SendChatMessage("Отлично, трактор на месте, давай скажем Фрэнку?");

                        }

                        return;
Под него вставляем код:
C#:
                    case 511:
                        DrivingSchool.OpenTestSchoolMenu(player);
                        return;
Далее открываем client_packages находим: basicsync.js
JavaScript:
/*Найти:*/ mp.game.streaming.requestAnimDict("creatures@deer@amb@world_deer_grazing@idle_a");
/*Под него:*/ mp.game.streaming.requestAnimDict("amb@prop_human_seat_chair@female@proper@base"); // DrivingSchoolAnim

/*Найти:*/ else if (entity.getModel() == 1906124788) entity.taskPlayAnim("missstrip_club_lean", "player_lean_rail_loop", 8.0, 1.0, -1, 1, 0.0, false, false, false); // Frank
/*Под него:*/ else if (entity.getModel() == 1767447799) entity.taskPlayAnim("amb@prop_human_seat_chair@female@proper@base", "base", 8.0, 1.0, -1, 1, 0.0, false, false, false); // DrivingSchoolPed
Открываем файл index.js в client_packages
Вписываем под последним js а это у нас require('./configs/tuning.js'); возможно у вас будет другой это зависит от вас.
Вставляем:
JavaScript:
require('./DrivingSchool.js');
Открываем файл vehiclesync.js в client_packages
Находим:
JavaScript:
mp.events.add("playerEnterVehicle", (entity, seat) => {
Меняем код на это:
JavaScript:
mp.events.add("playerEnterVehicle", (entity, seat) => {
    try {
        if (seat == 0) {
            lastdirt = entity.getDirtLevel();
            if (dirtt != null) clearInterval(dirtt);
            dirtt = setInterval(function () {
                dirtlevel(entity);
            }, 20000);

            if (entity.getVariable('BOOST') != undefined) {
                var boost = entity.getVariable('BOOST');
                entity.setEnginePowerMultiplier(boost);
                entity.setEngineTorqueMultiplier(boost);
            }
        }
        entity.setInvincible(false); // DrivingSchoolCar
    } catch (e) { }
});
Открываем бд redage или как он у вас называется
Переходим в: othervehicles

и делаем как у меня
Координаты можете свои
162: это id он ставится автоматом
10: это номер работы
Loader1: Просто название
forklift: машина
координаты 1
координаты 2
88: цвет машины
24: цвет машины
0: цена но она не влияет можете поставить 0

Screenshot_2.png


Интерьер школы: ТЫК

Закидываем все файлы в client_packages "которые в закрепе"
Запускаем сервер и наслаждаемся =)[/SPOILER]
 

Вложения

Последнее редактирование модератором:

Divais

Участник портала
17
3
5
не работает покупка теста у педа,исправь пожалуйста.И тачки возле автошколы не появляются.Делал всё по инструкции
 

Это я

Участник портала
Автор темы
high coder
12
22
12
Забыл написать


Находим:
C#:
 Jobs.AutoMechanic.mechanicCarsSpawner();
Под него вставляем код:
C#:
DrivingSchool.SchoolCarsSpawner();
 
  • Like
Реакции: Boiko

Zver1o7

Участник портала
VIP
18
4
12
Исправь в теме. В данном мануале мы поставим работу Водолазы в мод RedAge RolePlay (NeptuneEvo).
 
  • Like
Реакции: Это я

Это я

Участник портала
Автор темы
high coder
12
22
12
Прошу прощения скинул старые файлы.
Я их обновил в закрепе
Теперь должно всё работать как на видео
 

kekstm98

Участник портала
15
3
12
Обнаружил ошибку которая крашила сервер при покупке мото прав!

В DrivingSchool.cs (строка 125)

case 0:
if (Main.Players[player].Money < LicPrices[0])
{
Trigger.ClientEvent(player, "CloseDrivingSchool");
Notify.Send(player, NotifyType.Error, NotifyPosition.BottomCenter, $"У Вас недостаточно денег, чтобы купить эту лицензию", 3000);
return;
}
Main.Players[player].Licenses[0] = true;
MoneySystem.Wallet.Change(player, -LicPrices[0]);
Fractions.Stocks.fracStocks[6].Money += LicPrices[0];
GameLog.Money($"player({Main.Players[player].UUID})", $"frac(6)", LicPrices[0], $"buyLic");
Trigger.ClientEvent(player, "CloseDrivingSchool");
Notify.Send(player, NotifyType.Success, NotifyPosition.BottomCenter, $"Вы успешно купили лицензию на мото транспорт", 3000);
Dashboard.sendStats(player);
return;

case 0:
if (Main.Players[player].Money < LicPrices[0])
{
Trigger.ClientEvent(player, "CloseDrivingSchool");
Notify.Send(player, NotifyType.Error, NotifyPosition.BottomCenter, $"У Вас недостаточно денег, чтобы купить эту лицензию", 3000);
return;
}
Main.Players[player].Licenses[0] = true;
MoneySystem.Wallet.Change(player, -LicPrices[0]);
//Fractions.Stocks.fracStocks[6].Money += LicPrices[0];
GameLog.Money($"player({Main.Players[player].UUID})", $"frac(6)", LicPrices[0], $"buyLic");
Trigger.ClientEvent(player, "CloseDrivingSchool");
Notify.Send(player, NotifyType.Success, NotifyPosition.BottomCenter, $"Вы успешно купили лицензию на мото транспорт", 3000);
Dashboard.sendStats(player);
return;

После этого выявил что данная строка в DrivingSchool.cs крашит сервер!

Совет: найти строки Fractions.Stocks.fracStocks и исправить все это на
//Fractions.Stocks.fracStocks[6].Money += LicPrices[6];
//Fractions.Stocks.fracStocks[6].Money += LicPrices[5];
//Fractions.Stocks.fracStocks[6].Money += LicPrices[4];
//Fractions.Stocks.fracStocks[6].Money += LicPrices[3];
//Fractions.Stocks.fracStocks[6].Money += LicPrices[2];
//Fractions.Stocks.fracStocks[6].Money += LicPrices[1];

//Fractions.Stocks.fracStocks[6].Money += LicPrices[0];
 
Последнее редактирование:
  • Like
Реакции: Alonze

JJIGolem

Участник портала
20
26
22
Обнаружил ошибку которая крашила сервер при покупке мото прав!

В DrivingSchool.cs (строка 125)

case 0:
if (Main.Players[player].Money < LicPrices[0])
{
Trigger.ClientEvent(player, "CloseDrivingSchool");
Notify.Send(player, NotifyType.Error, NotifyPosition.BottomCenter, $"У Вас недостаточно денег, чтобы купить эту лицензию", 3000);
return;
}
Main.Players[player].Licenses[0] = true;
MoneySystem.Wallet.Change(player, -LicPrices[0]);
Fractions.Stocks.fracStocks[6].Money += LicPrices[0];
GameLog.Money($"player({Main.Players[player].UUID})", $"frac(6)", LicPrices[0], $"buyLic");
Trigger.ClientEvent(player, "CloseDrivingSchool");
Notify.Send(player, NotifyType.Success, NotifyPosition.BottomCenter, $"Вы успешно купили лицензию на мото транспорт", 3000);
Dashboard.sendStats(player);
return;

case 0:
if (Main.Players[player].Money < LicPrices[0])
{
Trigger.ClientEvent(player, "CloseDrivingSchool");
Notify.Send(player, NotifyType.Error, NotifyPosition.BottomCenter, $"У Вас недостаточно денег, чтобы купить эту лицензию", 3000);
return;
}
Main.Players[player].Licenses[0] = true;
MoneySystem.Wallet.Change(player, -LicPrices[0]);
//Fractions.Stocks.fracStocks[6].Money += LicPrices[0];
GameLog.Money($"player({Main.Players[player].UUID})", $"frac(6)", LicPrices[0], $"buyLic");
Trigger.ClientEvent(player, "CloseDrivingSchool");
Notify.Send(player, NotifyType.Success, NotifyPosition.BottomCenter, $"Вы успешно купили лицензию на мото транспорт", 3000);
Dashboard.sendStats(player);
return;

После этого выявил что данная строка в DrivingSchool.cs крашит сервер!

Совет: найти строки Fractions.Stocks.fracStocks и исправить все это на
//Fractions.Stocks.fracStocks[6].Money += LicPrices[6];
//Fractions.Stocks.fracStocks[6].Money += LicPrices[5];
//Fractions.Stocks.fracStocks[6].Money += LicPrices[4];
//Fractions.Stocks.fracStocks[6].Money += LicPrices[3];
//Fractions.Stocks.fracStocks[6].Money += LicPrices[2];
//Fractions.Stocks.fracStocks[6].Money += LicPrices[1];

//Fractions.Stocks.fracStocks[6].Money += LicPrices[0];
костыль, ты убираешь отправляемые деньги в казну Мерии