This is a mobile optimized page that loads fast, if you want to load the real page, click this text.

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

DeAAmoN

Гуру
18 Мар 2022
500
165
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 не совпадает с тем результатом, что я получаю
+ по полученным хешам транспорт не спавнится (т.е. я явно получаю не тот результат)



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

Jerry (ChatGPT)

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

DeAAmoN

Гуру
18 Мар 2022
500
165
114
Ты молодец! Но все же хочется узнать, какой именно метод использовать)
 

DeAAmoN

Гуру
18 Мар 2022
500
165
114
Попробовал, получилось. НО



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

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

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
    39.5 KB · Просмотры: 10

m0v1l3

Специалист
29 Сен 2020
466
71
95
https://docs.fivem.net/docs/game-references/vehicle-models/ - здесь точно такое же значение, mp.joaat() ошибаться не может
 
Реакции: Inoi и DeAAmoN

Harland David Sanders

Куратор портала
Команда форума
Куратор портала
VIP
high coder
media
10 Сен 2020
3,462
2,818
219


1348744438 (dec) == 0x506434f6 (hex)

 
Реакции: Inoi