Script Synced Nitro 1.0.0

Serg_Brain

Мастер
Пользователь
Регистрация
15 Янв 2012
Сообщения
3,975
Лучшие ответы
7
Репутация
595
Награды
5
Synced Nitro
Synced Nitro 1.0.0 || Нитро





Этот ресурс дает возможность добавить нитро к любому автомобилю и синхронизировать эффект нитро в выхлопе, чтобы вы могли испытать этот эффект в игре.

Чтобы использовать его:

- Создайте каталог nitro в client_packages.
- Создайте в нём файл index.js и вставьте в него следующий код.
- После вызовите его в вашем скрипте client_packages / index.js с помощью require ('nitro');.

Код данного скрипта:

PHP:
const localPlayer = mp.players.local;
let activateNitro = false;
let vehiclesWithNitro = [];
let exhausts = ["exhaust", "exhaust_2", "exhaust_4", "exhaust_5", "exhaust_6", "exhaust_7"];

mp.game.streaming.requestNamedPtfxAsset("veh_xs_vehicle_mods");

mp.events.add({
    'toggleNitroEffect': (state, v) => {
        if (state) {
            if (v && v.handle !== 0) vehiclesWithNitro.push(v);
        } else {
            let indx = vehiclesWithNitro.indexOf(v);
            if (indx != -1) {
                vehiclesWithNitro.splice(indx, 1);
            }
        }
    }
});

mp.events.add('render', () => {
    if (mp.game.controls.isControlPressed(0, 73) && localPlayer.vehicle) {
        if (!activateNitro && localPlayer.vehicle.nosAmount > 0.1) {
            toggleNitro(true);
        }
    }

    if (localPlayer.vehicle && localPlayer.vehicle.nosAmount < 0.1) {
        toggleNitro(false);
    }
    
    if (vehiclesWithNitro.length > 0) {
        vehiclesWithNitro.forEach((v) => {
            try {
                if (mp.game.streaming.hasNamedPtfxAssetLoaded("veh_xs_vehicle_mods")) {
                    let heading = v.getHeading();
                    let pitch = v.getPitch();
                    exhausts.forEach((element) => {
                        let boneIndex = mp.game.invoke('0x4F9AEAB2CC029A5C', v.handle, element); // GET_ENTITY_BONE_INDEX_BY_NAME
                        if (boneIndex >= 0) {
                            let boneCoords = v.getWorldPositionOfBone(boneIndex);
                            mp.game.graphics.setPtfxAssetNextCall("veh_xs_vehicle_mods");
                            mp.game.graphics.startParticleFxNonLoopedAtCoord("veh_nitrous", boneCoords.x, boneCoords.y, boneCoords.z,
                                0, pitch, heading - 89, 1.0, false, false, false);
                        }
                    });
                } else {
                    mp.game.streaming.requestNamedPtfxAsset("veh_xs_vehicle_mods");
                }
            } catch (e) {
                mp.gui.chat.push(e.toString());
            }
        });
    }
});

function toggleNitro(state) {
    if (state) {
        activateNitro = true;
        mp.events.callRemote("NITRO_START");
    } else {
        activateNitro = false;
        mp.events.callRemote("NITRO_STOP");
    }
};
Далее:

- Создайте каталог nitro в packages.
- Создайте в нём файл index.js и вставьте в него следующий код.

PHP:
mp.events.add({
    'NITRO_START': (player) => {
        if (player.vehicle)
        mp.players.call('toggleNitroEffect', [true, player.vehicle]);
    },

    'NITRO_STOP': (player) => {
        if (player.vehicle)
        mp.players.call('toggleNitroEffect', [false, player.vehicle]);
    }
});
Пример использования:

PHP:
//Сторона сервера
player.call('giveNitro', [amount]);

//Сторона клиента
mp.events.call('giveNitro', [amount]);

// Примечание: Nitro заряжается автоматически независимо от того, какое значение вы даете.
- Нажмите X в игре, чтобы активировать нитро.


Также можете просто скачать:



Официальный источник: wiki.rage.mp
Автор скрипта: Captien
Автор темы: Serg_Brain



 
Последнее редактирование:
Сверху Снизу