Le hash GTA de n'importe quel nom
Tape un nom de modèle, d'arme ou de native : tu obtiens le hash que renvoie GetHashKey, en signé, non signé et hex, avec les lignes prêtes à coller dans ton script FiveM. Une liste entière d'un coup, ou d'un hash vers son nom.
Ce qu'il faut savoir sur les hash FiveM
- Même valeur partout.
GetHashKey('adder'),joaat('adder')et`adder`donnent tous -1216765807 en Lua. - La casse ne compte pas. Les lettres A à Z passent en minuscules avant le calcul :
WEAPON_PISTOLetweapon_pistolsont la même arme. - Signé ou non signé, mêmes 32 bits. -1216765807, 3078201489 et 0xB779A091 sont le même hash écrit de trois façons.
Questions
C'est quoi GetHashKey et joaat dans FiveM ?
GTA 5 ne range pas ses modèles, armes et natives par leur nom mais par un nombre de 32 bits : le hash. Ce nombre est calculé avec l'algorithme Jenkins one-at-a-time, que la communauté appelle joaat. GetHashKey('adder'), joaat('adder') et `adder` donnent tous le même hash : -1216765807, soit 0xB779A091.
Pourquoi mon hash est négatif ?
Un hash tient sur 32 bits. Lu comme un entier signé, il peut être négatif ; lu comme non signé, il est toujours positif. En Lua et en JS, GetHashKey renvoie la version signée, comme GetEntityModel. Les natives acceptent les deux. Attention aux comparaisons : en Lua 5.4, 0xB779A091 vaut 3078201489, donc GetEntityModel(veh) == 0xB779A091 est faux. Compare avec GetHashKey, joaat ou les backticks.
Les majuscules changent-elles le hash ?
Non. GetHashKey, joaat() et les backticks passent les lettres A à Z en minuscules avant de calculer. ADDER, Adder et adder donnent le même hash. Les accents ne sont pas convertis : ils sont hashés tels quels, en UTF-8. L'option Garder la casse sert seulement aux rares cas où il te faut le hash brut.
Peut-on retrouver un nom à partir d'un hash ?
Pas directement : le hash ne se déchiffre pas. Il faut une liste de noms possibles. Colle ton hash et tes candidats dans le mode Retrouver un nom : l'outil calcule chaque hash et te dit lequel correspond. Rien n'est envoyé, aucune base distante n'est interrogée.
Backticks, joaat ou GetHashKey : lequel utiliser ?
Ils donnent la même valeur. Les backticks sont calculés une seule fois, quand ton script est chargé : aucun appel pendant le jeu, c'est le plus léger. joaat() fait le calcul en Lua sans passer par une native. Les deux viennent du Lua 5.4 de FiveM : sur un ancien serveur, ajoute lua54 'yes' dans le fxmanifest. GetHashKey marche partout, Lua comme JS.
Besoin d'un script sur mesure ? On code tes ressources FiveM avec une config ouverte, optimisées et testées, dès 15 €.
Voir la prestation