• Добавляем различные ресурсы в продажу.В архиве сохраняем контакты для получения или готовый ресурс. Вывод средств 20%.

RageMP мануал Как сделать ограничитель скорости для автомобиля

Admin

Admin

Предводитель
Админ
Хорошо подойдет для RP серверов. К примеру у Вас есть фракция LSPD и нужно поддерживать скорость для недопущения ДТП, тем более с синхронизацией в RageMP 0.3.7 существенные проблемки.

JavaScript:
let limiter = false; // создадим переменную, которая отвечает за состояние ограна (вкл/выкл)

JavaScript:
let limiter_maxspeed = undefined; //создадим переменную в которую будем записывать максимальную скорость авто

JavaScript:
mp.keys.bind(0x4F, true, function() // 0x4F это символьное имя константы клавиши "O" (англ.)
{
    if (mp.players.local.vehicle) { // проверка на нахождение в автомобиле
        if(limiter) { // проверка на состояние ограничителя (вкл/выкл)
            mp.players.local.vehicle.setMaxSpeed(limiter_maxspeed) // возвращаем автомобилю его стоковую скорость
            limiter_maxspeed = undefined; //очищаем переменную в которую мы ранее записывали стоковую максималку авто
            limiter = false; // выключаем ограничитель
        }
        else {
            limiter_maxspeed = mp.game.vehicle.getVehicleModelMaxSpeed(mp.players.local.vehicle.model); // записываем стоковую скорость автомобиля в переменную
            mp.players.local.vehicle.setMaxSpeed(60/3.6); // ограничиваем скорость авто, где 60 это скорость на которую мы ограничиваем автомобиль, где 3.6 это перевод в км/ч
            limiter = true; // включаем ограничитель
        }
    }
});

JavaScript:
mp.events.add("playerLeaveVehicle", (vehicle, seat) => { //  Срабатывает, когда игрок выходит из машины.

        vehicle.setMaxSpeed(limiter_maxspeed)  // возвращаем автомобилю его стоковую скорость
        limiter_maxspeed = undefined; //очищаем переменную в которую мы ранее записывали стоковую максималку авто
        limiter = false; // выключаем ограничитель
})

Все это нужно вставить в любое место клиентской части вашего сервера. (Пример: client_packages/index.js)
Важное замечание, я тестировал на бета версии мультиплеера 1.1!
Если автомобилю сначала установить скорость (setMaxSpeed), а затем использовать getVehicleModelMaxSpeed, то getVehicleModelMaxSpeed вернёт значение которое вы установили ранее.

Ссылки на использованные функции и ивенты:
Key::bind
Entity::setMaxSpeed
Vehicle::getVehicleModelMaxSpeed
PlayerLeaveVehicle
Ссылка на названия кнопок
 
Vitalik

Vitalik

Местный
Участник
а подскажите пожалуйста - где и что прописать что бы скорость в ЗЗ снижалась до указанной ? (шо бы знал бы так не спрашивал)
 
Верх