• Будьте внимательны, не попадайтесь на уловки мошенников и при возможности используйте наш сервис. Также ознакомьтесь - Рекомендации по защите от мошенников.
  • Из-за обновления 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) последний раз были обновлены:

Система набора очков дрифта и уровня REDAGE V3

Satile

Новый участник
17 Фев 2022
7
3
67
Всем привет!
discord:.satile
Уровень и очки сохраняются.
Есть рейтинг лучших дрифтеров через команду.
К системе идут 5 машин с превосходными параметрами для дрифта.
При покупке в одни руки, спустя время дополню приложением с таблицей лидеров в телефоне (осталось чуть дописать).
Дрифт можно опробовать на сервере Levis RP.
Цена: 3 500р 0/3 либо 12000 в одни руки.

1720952207089.png
 
Последнее редактирование:

Razrabragemp

Новый участник
8 Июн 2024
21
2
5
не дохуя ли?
по факту сделать только счётчик и всё, система самого дрифта давно слита.

JavaScript:
let _SIZE = 0.2;
let _DENS = 10;

let _BURNOUT_SIZE = 1.5;

let _BIND_KEY = 70;
let _SMOKE_ON = true;

let bone_list = ["wheel_lr","wheel_rr"];
let bone_list2 = ["IK_Head","IK_Head"];

let base = "scr_recartheft";
let base2 = "core";

//RequestParticle
function RequestParticle(fxName) {
    mp.game.streaming.requestNamedPtfxAsset(fxName);
    while(!mp.game.streaming.hasNamedPtfxAssetLoaded(fxName)) {
        mp.game.wait(1);
    }
}

//DriftSmoke
function DriftSmoke(base, sub, car, dens, size) {
    let all_part = [];

    for (let i = 0; i < dens; i++) {
        mp.game.invoke('0x6C38AF3693A69A91', base);
        let W1 = mp.game.graphics.startParticleFxLoopedOnEntityBone(sub, car.handle, 0.05, 0, 0, 0, 90, 0, car.getBoneIndexByName(bone_list[0]), size, false, false, false);

        mp.game.invoke('0x6C38AF3693A69A91', base);
        let W2 = mp.game.graphics.startParticleFxLoopedOnEntityBone(sub, car.handle, 0.05, 0, 0, 0, 90, 0, car.getBoneIndexByName(bone_list[1]), size, false, false, false);

        all_part.push(W1);
        all_part.push(W2);
    }
    mp.game.wait(1000);
    
    for (let i = 0; i < all_part.length; i++) {
        mp.game.graphics.stopParticleFxLooped(all_part[i], true);
    }
}

// Ange =========
function degrees_to_radians(degrees)
{
  var pi = Math.PI;
  return degrees * (pi/180);
}
function radians_to_degrees(radians)
{
  var pi = Math.PI;
  return radians * (180/pi);
}

function angle(veh) {
    if(veh) {
        let velocity = veh.getVelocity();
        let modV = Math.sqrt(velocity.x*velocity.x + velocity.y*velocity.y);
        
        let rz = veh.getHeading();
        const [sn,cs] = [-Math.sin(degrees_to_radians(rz)), Math.cos(degrees_to_radians(rz))];
        
        let speed = veh.getSpeed() * 3.6;

        if(speed < 5 || veh.gear == 0) return [0, modV];
        
        let cosX = (sn*velocity.x + cs*velocity.y)/modV;
        if(cosX > 0.966 || cosX < 0) return [0, modV];

        return [radians_to_degrees(Math.acos(cosX))*0.5, modV];
    } else {
        return [0, 0];
    }
}
let drift_mode = false;
//render smoke
mp.events.add('render', () => {
    if(localplayer.vehicle) {
        if(localplayer.vehicle.getPedInSeat(-1) == localplayer.handle) {
            RequestParticle(base);
            RequestParticle(base2);
            
            let car = localplayer.vehicle;
            let [ang, speed] = angle(car);

            // if(mp.game.controls.isControlJustPressed(0, _BIND_KEY)) {
                // _SMOKE_ON = !_SMOKE_ON;
            // }

            if(drift_mode) {
                if(speed >= 3.0 && ang != 0) {
                    DriftSmoke(base, "scr_wheel_burnout", car, _DENS, _SIZE);
                } else if (speed < 1.0 && car.isInBurnout()) {
                    DriftSmoke(base2, "exp_grd_bzgas_smoke", car, 3, _BURNOUT_SIZE);
                }
            }
        }
    }
});

mp.events.add('smoketest', () => {
    RequestParticle(base);
    PlayerSmoke(base, "scr_wheel_burnout", localplayer, _DENS, 0.1);
});

function PlayerSmoke(base, sub, car, dens, size) {
    let all_part = [];

    for (let i = 0; i < dens; i++) {
        mp.game.invoke('0x6C38AF3693A69A91', base);
        let W1 = mp.game.graphics.startParticleFxLoopedOnEntityBone(sub, car.handle, 0.05, 0, 0, 0, 90, 0, car.getBoneIndexByName(bone_list2[0]), size, false, false, false);

        // mp.game.invoke('0x6C38AF3693A69A91', base);
        // let W2 = mp.game.graphics.startParticleFxLoopedOnEntityBone(sub, car.handle, 0.05, 0, 0, 0, 90, 0, car.getBoneIndexByName(bone_list2[1]), size, false, false, false);

        all_part.push(W1);
        // all_part.push(W2);
    }
    mp.game.wait(1000);
    
    for (let i = 0; i < all_part.length; i++) {
        mp.game.graphics.stopParticleFxLooped(all_part[i], true);
    }
}

global.binderFunctions.DriftMode = () => {
    if(localplayer.vehicle) {
        if(localplayer.vehicle.getPedInSeat(-1) == localplayer.handle) {
            let vehicle = localplayer.vehicle;
            drift_mode = !drift_mode;
            mp.game.invoke('0x222FF6A823D122E2', vehicle.handle, drift_mode);
            mp.game.invoke('0x6DEE944E1EE90CFB', vehicle.handle, drift_mode);
        }
    }
}
 
Реакции: qqWayne

Satile

Новый участник
17 Фев 2022
7
3
67
не дохуя ли?
по факту сделать только счётчик и всё, система самого дрифта давно слита.

JavaScript:
let _SIZE = 0.2;
let _DENS = 10;

let _BURNOUT_SIZE = 1.5;

let _BIND_KEY = 70;
let _SMOKE_ON = true;

let bone_list = ["wheel_lr","wheel_rr"];
let bone_list2 = ["IK_Head","IK_Head"];

let base = "scr_recartheft";
let base2 = "core";

//RequestParticle
function RequestParticle(fxName) {
    mp.game.streaming.requestNamedPtfxAsset(fxName);
    while(!mp.game.streaming.hasNamedPtfxAssetLoaded(fxName)) {
        mp.game.wait(1);
    }
}

//DriftSmoke
function DriftSmoke(base, sub, car, dens, size) {
    let all_part = [];

    for (let i = 0; i < dens; i++) {
        mp.game.invoke('0x6C38AF3693A69A91', base);
        let W1 = mp.game.graphics.startParticleFxLoopedOnEntityBone(sub, car.handle, 0.05, 0, 0, 0, 90, 0, car.getBoneIndexByName(bone_list[0]), size, false, false, false);

        mp.game.invoke('0x6C38AF3693A69A91', base);
        let W2 = mp.game.graphics.startParticleFxLoopedOnEntityBone(sub, car.handle, 0.05, 0, 0, 0, 90, 0, car.getBoneIndexByName(bone_list[1]), size, false, false, false);

        all_part.push(W1);
        all_part.push(W2);
    }
    mp.game.wait(1000);
 
    for (let i = 0; i < all_part.length; i++) {
        mp.game.graphics.stopParticleFxLooped(all_part[i], true);
    }
}

// Ange =========
function degrees_to_radians(degrees)
{
  var pi = Math.PI;
  return degrees * (pi/180);
}
function radians_to_degrees(radians)
{
  var pi = Math.PI;
  return radians * (180/pi);
}

function angle(veh) {
    if(veh) {
        let velocity = veh.getVelocity();
        let modV = Math.sqrt(velocity.x*velocity.x + velocity.y*velocity.y);
     
        let rz = veh.getHeading();
        const [sn,cs] = [-Math.sin(degrees_to_radians(rz)), Math.cos(degrees_to_radians(rz))];
     
        let speed = veh.getSpeed() * 3.6;

        if(speed < 5 || veh.gear == 0) return [0, modV];
     
        let cosX = (sn*velocity.x + cs*velocity.y)/modV;
        if(cosX > 0.966 || cosX < 0) return [0, modV];

        return [radians_to_degrees(Math.acos(cosX))*0.5, modV];
    } else {
        return [0, 0];
    }
}
let drift_mode = false;
//render smoke
mp.events.add('render', () => {
    if(localplayer.vehicle) {
        if(localplayer.vehicle.getPedInSeat(-1) == localplayer.handle) {
            RequestParticle(base);
            RequestParticle(base2);
         
            let car = localplayer.vehicle;
            let [ang, speed] = angle(car);

            // if(mp.game.controls.isControlJustPressed(0, _BIND_KEY)) {
                // _SMOKE_ON = !_SMOKE_ON;
            // }

            if(drift_mode) {
                if(speed >= 3.0 && ang != 0) {
                    DriftSmoke(base, "scr_wheel_burnout", car, _DENS, _SIZE);
                } else if (speed < 1.0 && car.isInBurnout()) {
                    DriftSmoke(base2, "exp_grd_bzgas_smoke", car, 3, _BURNOUT_SIZE);
                }
            }
        }
    }
});

mp.events.add('smoketest', () => {
    RequestParticle(base);
    PlayerSmoke(base, "scr_wheel_burnout", localplayer, _DENS, 0.1);
});

function PlayerSmoke(base, sub, car, dens, size) {
    let all_part = [];

    for (let i = 0; i < dens; i++) {
        mp.game.invoke('0x6C38AF3693A69A91', base);
        let W1 = mp.game.graphics.startParticleFxLoopedOnEntityBone(sub, car.handle, 0.05, 0, 0, 0, 90, 0, car.getBoneIndexByName(bone_list2[0]), size, false, false, false);

        // mp.game.invoke('0x6C38AF3693A69A91', base);
        // let W2 = mp.game.graphics.startParticleFxLoopedOnEntityBone(sub, car.handle, 0.05, 0, 0, 0, 90, 0, car.getBoneIndexByName(bone_list2[1]), size, false, false, false);

        all_part.push(W1);
        // all_part.push(W2);
    }
    mp.game.wait(1000);
 
    for (let i = 0; i < all_part.length; i++) {
        mp.game.graphics.stopParticleFxLooped(all_part[i], true);
    }
}

global.binderFunctions.DriftMode = () => {
    if(localplayer.vehicle) {
        if(localplayer.vehicle.getPedInSeat(-1) == localplayer.handle) {
            let vehicle = localplayer.vehicle;
            drift_mode = !drift_mode;
            mp.game.invoke('0x222FF6A823D122E2', vehicle.handle, drift_mode);
            mp.game.invoke('0x6DEE944E1EE90CFB', vehicle.handle, drift_mode);
        }
    }
}
По факту данный код полная хуета. И то что я предлагаю не слито, а написано с 0. Если такой умный напиши счетчик с поднятием уровня и слей его бесплатно.
 
Реакции: m0v1l3 и h4cker777

Swayze

Активный участник
BackEnd developer
6 Окт 2022
78
39
55
По факту данный код полная хуета. И то что я предлагаю не слито, а написано с 0. Если такой умный напиши счетчик с поднятием уровня и слей его бесплатно.
Аргументируй почему он хуевый? В чем будет его кардинальное различие от твоего? Формулы для расчитывания угла одни и те же будут, если хочешь счетчик - ничего не мешает на рендере впихнуть drawText либо же цефку
 

Satile

Новый участник
17 Фев 2022
7
3
67
Аргументируй почему он хуевый? В чем будет его кардинальное различие от твоего? Формулы для расчитывания угла одни и те же будут, если хочешь счетчик - ничего не мешает на рендере впихнуть drawText либо же цефку
Зачем мне описывать различия с совершенно другим кодом? Если ты посмотрел видос и не видишь разницы, то мне не о чем с тобой разговаривать в принципе.
Код который он оставил координально отличается хотя-бы тем что это дрифт мод из первой рыгаги, а не счетчик с очками и поднятием уровня.

Ешё раз повторяю, сделай тоже самое и слей бесплатно если цена не нравится :).
 
Последнее редактирование:

CXS

Участник портала
21 Мар 2021
264
18
79
на том же гта го есть эта система,от туда ее вырезать спокойно можно вместе с cef,а покупать за 12к это слишком много)