THE ORB
Arrancando el studio

Un evento del framework no existe

Un script llamó a otro y no contestó nadie. Muchas veces no hay error ninguno: la función simplemente no pasa.

groupsUna función no hace nada, en silenciocodeNecesita un desarrollador

Haz esto primero

Comprueba que los dos scripts estén corriendo y que sean versiones pensadas la una para la otra.

bug_reportMejor pega tu consola entera

Qué significa

El código disparó un evento que nadie escucha. FiveM no da error por eso: el disparo no hace nada en silencio, y el síntoma es una función que nunca se ejecuta en vez de una línea roja. Cuando sí aparece un mensaje, normalmente es el propio framework quejándose.

Qué lo provoca

Ordenado por la frecuencia con la que es la respuesta.

  1. 1

    El evento se renombró entre versiones del framework

    esx:getSharedObject se quitó en ESX Legacy. QBCore:Server:OnPlayerLoaded y QBCore:Client:OnPlayerLoaded son eventos distintos para lados distintos.

  2. 2

    El recurso que escucha no está arrancado

    El manejador existe pero no está registrado porque su recurso está caído.

  3. 3

    Nunca se llamó a RegisterNetEvent

    Un evento de red necesita tanto RegisterNetEvent como un manejador. AddEventHandler solo no acepta un disparo que venga de la red.

  4. 4

    Confusión entre cliente y servidor

    TriggerEvent es local a ese lado. TriggerServerEvent y TriggerClientEvent cruzan la frontera. Usar el local para un manejador remoto dispara al vacío.

  5. 5

    Una errata

    El nombre del evento es una cadena, así que nada lo comprueba.

Cómo saber cuál es el tuyo

Poné un print dentro del manejador. Si no se ejecuta nunca, el disparo no le está llegando. Después buscá el nombre exacto del evento en todos los recursos:

grep -rn "esx:playerLoaded" resources/

Si lo único que aparece es el disparo, no lo escucha nadie.

Dónde mirar

Los dos lados: el disparo y el manejador al que iba dirigido.

Cómo arreglarlo

-- servidor
RegisterNetEvent('myres:buy')
AddEventHandler('myres:buy', function(item)
    local src = source
end)

-- cliente
TriggerServerEvent('myres:buy', item)

¿Sigues atascado en tu propio código?

Esta página es lo que suele significar este error. Pega tu consola en Server Fixer y ordenará todo lo que haya en ella y te dirá qué hacer primero; y si prefieres no tocarlo, ORBIE puede reparar el script y devolverte el recurso listo para soltar.

bug_reportAbrir el Server Fixer

Para este tipo de error, el Conversor de scripts traduce un recurso entre ESX, QBCore y Qbox.

Errores que viajan con este