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

    Ошибка: Ваша версия Grand Theft Auto V не поддерживается 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/newswire/
    Статус всех служб для Rockstar Games Launcher и поддерживаемых игр: https://support.rockstargames.com/ru/servicestatus


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

Вопрос Как сделать так, чтобы машина не теряла скорость

MrJagger

Новый участник
19 Янв 2025
23
3
15
Приветствую, написал функцию, которая меняет машину игрока на другую

Server-Side
JavaScript:
function changeDynamicVehiclePlayer(player, veh) {
    if(!player.vehicle) return console.log(`Player not vehicle`);

    const velocity = veh.velocity; // скорость
    const heading = veh.rotation;; // rotate
    const oldVeh = player.vehicle;

    //veh.destroy();
    
    if(player.carCurrent === 1) {
        const pos = player.position;
        const vehicle = alt.CreateVehicle("gt750", pos.x, pos.y, pos.z, heading, 52, 15, player.dimension, "admin", true);
        player.putIntoVehicle(vehicle, 0);
        player.carCurrent = 2;
        vehicle.engine = true;
        vehicle.rotation = heading;

        player.call('vehicle:applyVelocity', [velocity.x, velocity.y, velocity.z]);

        veh.destroy();
    } else {
        const pos = player.position;
        const vehicle = alt.CreateVehicle("bullet", pos.x, pos.y, pos.z, heading, 37, 15, player.dimension, "admin", true);
        player.putIntoVehicle(vehicle, 0);
        player.carCurrent = 1;
        vehicle.engine = true;
        vehicle.rotation = heading;

        player.call('vehicle:applyVelocity', [velocity.x, velocity.y, velocity.z]);
        veh.destroy();
    }
}

Все прекрасно работает, но после смены транспорта машина теряет скорость, как избежать это?

Client-Side
JavaScript:
mp.events.add('vehicle:applyVelocity', (x, y, z) => {
    const veh = mp.players.local.vehicle;
    if (!veh) return;

    veh.setVelocity(x, y, z);
});
 

ghostnuller

Новый участник
Мошенник
21 Июл 2025
24
1
13
Приветствую, написал функцию, которая меняет машину игрока на другую

Server-Side
JavaScript:
function changeDynamicVehiclePlayer(player, veh) {
    if(!player.vehicle) return console.log(`Player not vehicle`);

    const velocity = veh.velocity; // скорость
    const heading = veh.rotation;; // rotate
    const oldVeh = player.vehicle;

    //veh.destroy();
   
    if(player.carCurrent === 1) {
        const pos = player.position;
        const vehicle = alt.CreateVehicle("gt750", pos.x, pos.y, pos.z, heading, 52, 15, player.dimension, "admin", true);
        player.putIntoVehicle(vehicle, 0);
        player.carCurrent = 2;
        vehicle.engine = true;
        vehicle.rotation = heading;

        player.call('vehicle:applyVelocity', [velocity.x, velocity.y, velocity.z]);

        veh.destroy();
    } else {
        const pos = player.position;
        const vehicle = alt.CreateVehicle("bullet", pos.x, pos.y, pos.z, heading, 37, 15, player.dimension, "admin", true);
        player.putIntoVehicle(vehicle, 0);
        player.carCurrent = 1;
        vehicle.engine = true;
        vehicle.rotation = heading;

        player.call('vehicle:applyVelocity', [velocity.x, velocity.y, velocity.z]);
        veh.destroy();
    }
}

Все прекрасно работает, но после смены транспорта машина теряет скорость, как избежать это?

Client-Side
JavaScript:
mp.events.add('vehicle:applyVelocity', (x, y, z) => {
    const veh = mp.players.local.vehicle;
    if (!veh) return;

    veh.setVelocity(x, y, z);
});
Тебе надо менять значения максимальной скорости машины тоже, через

let MaxSpeed = mp.game.vehicle.getVehicleModelMaxSpeed(veh.model);
и
veh.setMaxSpeed(MaxSpeed)
 

MrJagger

Новый участник
19 Янв 2025
23
3
15
В общем, решил задачу. Для тех, кому интересно:
Client-side

JavaScript:
let currentVelocity = null;

let changeCar = false;

mp.events.add('vehicle:applyVelocity', (x, y, z) => {
    const veh = mp.players.local.vehicle;
    if (!veh) return;
    
    currentVelocity =  { x, y, z };
    changeCar = true;
});

mp.events.add('render', () => {
    if(player.vehicle) {
        if(changeCar) {
            player.vehicle.setVelocity(currentVelocity.x, currentVelocity.y, currentVelocity.z);
            changeCar = false;
        }
    }
});

Если вкратце, с сервера получаем velocity, записываем координаты в переменную currentVelocity и с помощью клиентского тика изменяем velocity. Скорость чуть-чуть падает, но в глаза не бросается
 
Реакции: Inoi и XDeveluxe