THE ORB
Démarrage du studio

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.

groupsUne fonctionnalité ne fait rien, en silencecodeIl faut un développeur

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.

bug_reportCollez plutôt toute votre console

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. 1

    L'événement a été renommé entre deux versions du framework

    esx:getSharedObject a été supprimé dans ESX Legacy. QBCore:Server:OnPlayerLoaded et QBCore:Client:OnPlayerLoaded sont deux événements différents pour deux côtés différents.

  2. 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. 3

    RegisterNetEvent n'a jamais été appelé

    Un événement réseau a besoin de RegisterNetEvent ET d'un gestionnaire. AddEventHandler seul n'accepte pas un déclenchement venu du réseau.

  4. 4

    Confusion entre client et serveur

    TriggerEvent est local à ce côté. TriggerServerEvent et TriggerClientEvent franchissent la frontière. Utiliser le local pour un gestionnaire distant tire dans le vide.

  5. 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 Fixer

Pour ce type d'erreur, le Convertisseur de scripts traduit une ressource entre ESX, QBCore et Qbox.

Les erreurs qui voyagent avec celle-ci