KAAPSULE®TOOLS
ToolsHash

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.

Le résultat change pendant que tu tapes. Tu peux aussi coller GetHashKey('adder') ou `adder`.
Tout est calculé dans ton navigateur. Rien n'est envoyé, aucune base distante.

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_PISTOL et weapon_pistol sont 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