Ruta de ejecucion del evento defineEvent

Ruta de ejecucion del evento defineEvent A sequence diagram generated by Archify. defineEvent({ name, identifier, isNative }) samp.registerEvent(name, identifier) y samp.on(name, trigger) OnPlayerConnect(playerid) trigger(playerid) beforeEach arma el contexto y llama al listener return next() avanza al siguiente listener executeAfterEach() se ejecuta al acabar la cadena transformReturnValue da 0 o 1, devuelto via samp-node Registro al importar Callback nativo a cadena Valor de retorno Script de app · listener onConnect · Sequence participant Script de app listener onConnect @infernus/core bus.ts · eventBus / trigger · Sequence participant @infernus/core bus.ts eventBus / trigger samp-node · samp.on · Sequence participant samp-node samp.on Servidor open.mp · callback nativo · Sequence participant Servidor open.mp callback nativo Legend request return default message

Registro: efecto de importar

  • • defineEvent se registra al importar el modulo, sin init manual
  • • Con isNative false no se llama a registerEvent ni samp.on, queda como evento interno
  • • Un nombre repetido lanza CoreException: event [name:xxx] already defined

Propagacion: next() guia la cadena

  • • beforeEach convierte los argumentos nativos en contexto; el listener recibe { next, defaultValue, ...contexto }
  • • next(value) avanza y aplica Object.assign al contexto, cambiando lo que ven los siguientes
  • • No llamar a next() corta la cadena y ese retorno pasa a ser el resultado del evento

Valor de retorno y errores

  • • El resultado se normaliza a 0 o 1: los booleanos convierten y los valores invalidos usan defaultValue
  • • Un listener que devuelve Promise no bloquea la cadena; afterEach espera allSettled
  • • Los errores van a setEventErrorHandler o, si no hay, a samp.logprint