Un événement du framework n'existe pas
Un script en a appelé un autre et personne n'a répondu. Souvent il n'y a aucune erreur : la fonctionnalité n'arrive simplement pas.
Faites d'abord ceci
Vérifiez que les deux scripts tournent et qu'ils sont dans des versions prévues l'une pour l'autre.
Ce que ça veut dire
Le code a déclenché un événement que personne n'écoute. FiveM ne renvoie pas d'erreur : le déclenchement ne fait rien en silence, et le symptôme est une fonctionnalité qui ne s'exécute jamais plutôt qu'une ligne rouge. Quand un message apparaît, c'est en général le framework lui-même qui se plaint.
Ce qui la provoque
Classé par fréquence : la cause la plus probable en premier.
- 1
L'événement a été renommé entre deux versions du framework
esx:getSharedObjecta été supprimé dans ESX Legacy.QBCore:Server:OnPlayerLoadedetQBCore:Client:OnPlayerLoadedsont deux événements différents pour deux côtés différents. - 2
La ressource qui écoute n'est pas démarrée
Le gestionnaire existe mais n'est pas enregistré parce que sa ressource est arrêtée.
- 3
RegisterNetEvent n'a jamais été appelé
Un événement réseau a besoin de
RegisterNetEventET d'un gestionnaire.AddEventHandlerseul n'accepte pas un déclenchement venu du réseau. - 4
Confusion entre client et serveur
TriggerEventest local à ce côté.TriggerServerEventetTriggerClientEventfranchissent la frontière. Utiliser le local pour un gestionnaire distant tire dans le vide. - 5
Une faute de frappe
Le nom de l'événement est une chaîne, donc rien ne le vérifie.
Comment savoir laquelle est la vôtre
Mettez un print dans le gestionnaire. S'il ne s'exécute jamais, le déclenchement ne l'atteint pas. Cherchez ensuite le nom exact de l'événement dans toutes les ressources :
grep -rn "esx:playerLoaded" resources/
Si la seule occurrence est le déclenchement, personne n'écoute.
Où regarder
Les deux côtés : le déclenchement et le gestionnaire visé.
Comment la corriger
-- serveur
RegisterNetEvent('myres:buy')
AddEventHandler('myres:buy', function(item)
local src = source
end)
-- client
TriggerServerEvent('myres:buy', item)Toujours bloqué sur votre propre code ?
Cette page explique ce que cette erreur signifie en général. Collez votre console dans Server Fixer : il classera tout ce qui s'y trouve et vous dira quoi faire en premier ; et si vous préférez ne pas y toucher, ORBIE peut réparer le script et vous rendre la ressource prête à déposer.
bug_reportOuvrir le Server FixerPour ce type d'erreur, le Convertisseur de scripts traduit une ressource entre ESX, QBCore et Qbox.