• Из-за обновления 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) последний раз были обновлены:

Вопрос Hash автомобиля (DLC)

DeAAmoN

Мастер
BackEnd developer
18 Мар 2022
606
168
114
Искал инфу, долго.. Решил спросить у ГПТ + глянуть примеры

let getVehicleHash = (name) => {
let hash = 0;
for (let i = 0; i < name.length; i++) {
hash += name.charCodeAt(i);
hash += (hash << 10);
hash ^= (hash >> 6);
}
hash += (hash << 3);
hash ^= (hash >> 11);
hash += (hash << 15);
return hash >>> 0;
};

else if (command.toLowerCase().startsWith("hash")) {
if (!user.isAdmin(player, 5))
return;
let args = command.toLowerCase().split(' ');
let modelName = args[1];
if (!modelName) {
player.outputChatBoxNew("Использование: /hash [modelName]");
return;
}

let getVehicleHash = (name) => {
let hash = 0;
for (let i = 0; i < name.length; i++) {
hash += name.charCodeAt(i);
hash += (hash << 10);
hash ^= (hash >> 6);
}
hash += (hash << 3);
hash ^= (hash >> 11);
hash += (hash << 15);
return hash >>> 0;
};

let hash = getVehicleHash(modelName);
methods.saveFile('VehHash', Администратор "${user.getRpName(player)}" запросил хэш модели "${modelName}" -> ${hash})
player.outputChatBoxNew(Hash для модели "${modelName}" = ${hash});
}

Все работает отлично, только вот например хеш oracle2 не совпадает с тем результатом, что я получаю
+ по полученным хешам транспорт не спавнится (т.е. я явно получаю не тот результат)

1733687900440.png


Суть вопроса, может кто подскажет в чем ошибка? Или на рейдже в целом используется другой метод получения хеша?
 

Jerry (ChatGPT)

AI-powered language model
VIP
helper
17 Окт 2023
2,373
237
100
Для получения правильного хеша модели в GTA V используется другой метод, который не совпадает с вашей функцией. Возможно, стоит обратиться к документации по работе с хешами моделей в игре для корректного получения нужного значения.
 

DeAAmoN

Мастер
BackEnd developer
18 Мар 2022
606
168
114
Для получения правильного хеша модели в GTA V используется другой метод, который не совпадает с вашей функцией. Возможно, стоит обратиться к документации по работе с хешами моделей в игре для корректного получения нужного значения.
Ты молодец! Но все же хочется узнать, какой именно метод использовать)
 

DeAAmoN

Мастер
BackEnd developer
18 Мар 2022
606
168
114
Попробовал, получилось. НО

1733690800200.png


Полученный хеш отличается того, что в вики
1733691028502.png

Или я опять что то не то использую?)

JavaScript:
else if (command.toLowerCase().startsWith("hash")) {
            if (!user.isAdmin(player, 5)) {
                player.outputChatBoxNew("У вас недостаточно прав для использования этой команды.");
                return;
            }
       
            let args = command.split(' ');
            let modelName = args[1];
       
            if (!modelName || modelName.trim() === "") {
                player.outputChatBoxNew("Ошибка: Аргумент modelName отсутствует или пустой.");
                return;
            }
       
            if (!/^[a-zA-Z0-9_]+$/.test(modelName)) {
                player.outputChatBoxNew("Ошибка: Название модели содержит недопустимые символы.");
                return;
            }
       
            try {
       
                let hash = mp.joaat(modelName);
                methods.saveFile('VehHash', `Администратор "${user.getRpName(player)}" запросил хэш модели "${modelName}" -> ${hash}`);
                player.outputChatBoxNew(`Hash для модели "${modelName}" = ${hash}`);
            } catch (error) {
                let errorMessage = `Ошибка при получении хеша модели "${modelName}": ${error.message}`;
                methods.saveFile('HashError', errorMessage);
                player.outputChatBoxNew("Произошла ошибка при обработке команды. Подробности записаны в лог.");
            }
        }
 

Вложения

  • 1733690846091.png
    1733690846091.png
    39.5 KB · Просмотры: 48

m0v1l3

Начинающий специалист
29 Сен 2020
498
64
95
Попробовал, получилось. НО

Посмотреть вложение 17259

Полученный хеш отличается того, что в вики
Посмотреть вложение 17261
Или я опять что то не то использую?)

JavaScript:
else if (command.toLowerCase().startsWith("hash")) {
            if (!user.isAdmin(player, 5)) {
                player.outputChatBoxNew("У вас недостаточно прав для использования этой команды.");
                return;
            }
      
            let args = command.split(' ');
            let modelName = args[1];
      
            if (!modelName || modelName.trim() === "") {
                player.outputChatBoxNew("Ошибка: Аргумент modelName отсутствует или пустой.");
                return;
            }
      
            if (!/^[a-zA-Z0-9_]+$/.test(modelName)) {
                player.outputChatBoxNew("Ошибка: Название модели содержит недопустимые символы.");
                return;
            }
      
            try {
      
                let hash = mp.joaat(modelName);
                methods.saveFile('VehHash', `Администратор "${user.getRpName(player)}" запросил хэш модели "${modelName}" -> ${hash}`);
                player.outputChatBoxNew(`Hash для модели "${modelName}" = ${hash}`);
            } catch (error) {
                let errorMessage = `Ошибка при получении хеша модели "${modelName}": ${error.message}`;
                methods.saveFile('HashError', errorMessage);
                player.outputChatBoxNew("Произошла ошибка при обработке команды. Подробности записаны в лог.");
            }
        }
https://docs.fivem.net/docs/game-references/vehicle-models/ - здесь точно такое же значение, mp.joaat() ошибаться не может
 
Реакции: DeAAmoN

Harland David Sanders

🍔 ChefBurger
Команда форума
High developer
10 Сен 2020
3,668
2,841
219
Попробовал, получилось. НО

Посмотреть вложение 17259

Полученный хеш отличается того, что в вики
Посмотреть вложение 17261
Или я опять что то не то использую?)

JavaScript:
else if (command.toLowerCase().startsWith("hash")) {
            if (!user.isAdmin(player, 5)) {
                player.outputChatBoxNew("У вас недостаточно прав для использования этой команды.");
                return;
            }
       
            let args = command.split(' ');
            let modelName = args[1];
       
            if (!modelName || modelName.trim() === "") {
                player.outputChatBoxNew("Ошибка: Аргумент modelName отсутствует или пустой.");
                return;
            }
       
            if (!/^[a-zA-Z0-9_]+$/.test(modelName)) {
                player.outputChatBoxNew("Ошибка: Название модели содержит недопустимые символы.");
                return;
            }
       
            try {
       
                let hash = mp.joaat(modelName);
                methods.saveFile('VehHash', `Администратор "${user.getRpName(player)}" запросил хэш модели "${modelName}" -> ${hash}`);
                player.outputChatBoxNew(`Hash для модели "${modelName}" = ${hash}`);
            } catch (error) {
                let errorMessage = `Ошибка при получении хеша модели "${modelName}": ${error.message}`;
                methods.saveFile('HashError', errorMessage);
                player.outputChatBoxNew("Произошла ошибка при обработке команды. Подробности записаны в лог.");
            }
        }


1348744438 (dec) == 0x506434f6 (hex)