Skip to main content

lib/events

Event system exports.

Interfaces

InterfaceDescription
DeferralsDeferral object for async connection validation.
NativeEventApiAPI shape for a native FiveM event wrapper. Provides a typed .on() method that returns a disposable for cleanup.
PopulationPedSettersFired when a population ped is being created. Can be used to customize or cancel ambient ped spawning.
SpawnInfoFired when the player spawns (initial spawn or respawn).

Type Aliases

Type AliasDescription
PlayerId-

Variables

fivemClientEvents

const fivemClientEvents: {
  entityCreated: NativeEventApi<(entityHandle: number) => void>;
  entityRemoved: NativeEventApi<(entityHandle: number) => void>;
  gameEventTriggered: NativeEventApi<(eventName: string, args: unknown[]) => void>;
  onClientResourceStart: NativeEventApi<(resourceName: string) => void>;
  onClientResourceStop: NativeEventApi<(resourceName: string) => void>;
  playerPedChanged: NativeEventApi<(oldPed: number, newPed: number) => void>;
  playerSpawned: NativeEventApi<(spawnInfo: SpawnInfo) => void>;
  populationPedCreating: NativeEventApi<(x: number, y: number, z: number, model: number, setters: PopulationPedSetters) => void>;
};

Defined in: src/lib/client/events.ts:267

Pre-defined FiveM native client events with type safety and automatic cleanup.

Each event's .on() method returns a disposable that should be stored and disposed in your module's stop() function to prevent handler accumulation.

Type Declaration

NameTypeDescriptionDefined in
entityCreatedNativeEventApi<(entityHandle: number) => void>Fired when an entity enters scope.src/lib/client/events.ts:290
entityRemovedNativeEventApi<(entityHandle: number) => void>Fired when an entity leaves scope.src/lib/client/events.ts:292
gameEventTriggeredNativeEventApi<(eventName: string, args: unknown[]) => void>Fired when a game event is triggered (damage, vehicle entry, etc.).src/lib/client/events.ts:276
onClientResourceStartNativeEventApi<(resourceName: string) => void>Fired when a resource starts on the client.src/lib/client/events.ts:270
onClientResourceStopNativeEventApi<(resourceName: string) => void>Fired when a resource stops on the client.src/lib/client/events.ts:272
playerPedChangedNativeEventApi<(oldPed: number, newPed: number) => void>Fired when the player's ped changes.src/lib/client/events.ts:284
playerSpawnedNativeEventApi<(spawnInfo: SpawnInfo) => void>Fired when the player spawns.src/lib/client/events.ts:286
populationPedCreatingNativeEventApi<(x: number, y: number, z: number, model: number, setters: PopulationPedSetters) => void>Fired when an ambient ped is being created.src/lib/client/events.ts:280

fivemEvents

const fivemEvents: {
  onResourceStart: NativeEventApi<(resourceName: string) => void>;
  onResourceStop: NativeEventApi<(resourceName: string) => void>;
  playerConnecting: NativeEventApi<(playerId: number, playerName: string, setKickReason: (reason: string) => void, deferrals: Deferrals) => void>;
  playerDropped: NativeEventApi<(playerId: number, reason: string) => void>;
  playerJoining: NativeEventApi<(playerId: number) => void>;
};

Defined in: src/lib/server/events.ts:184

Pre-defined FiveM native server events with type safety and automatic cleanup.

Each event's .on() method returns an unsubscribe function that should be called in your module's stop() function to prevent handler accumulation.

Type Declaration

NameTypeDescriptionDefined in
onResourceStartNativeEventApi<(resourceName: string) => void>Fired when a resource starts.src/lib/server/events.ts:192
onResourceStopNativeEventApi<(resourceName: string) => void>Fired when a resource stops.src/lib/server/events.ts:194
playerConnectingNativeEventApi<(playerId: number, playerName: string, setKickReason: (reason: string) => void, deferrals: Deferrals) => void>Fired when a player is connecting (supports deferrals).src/lib/server/events.ts:190
playerDroppedNativeEventApi<(playerId: number, reason: string) => void>Fired when a player disconnects from the server.src/lib/server/events.ts:188
playerJoiningNativeEventApi<(playerId: number) => void>Fired when a player starts joining the server.src/lib/server/events.ts:186

Functions

FunctionDescription
clearTrackedEventsClear all tracked events (used on resource stop).
createNativeEventCreates a typed wrapper around a FiveM native event.
getActiveEventsByNameGet active events grouped by event name with source information.
getActiveEventsBySourceGet active events grouped by source module.
getCurrentSourceGets the current event source as a normalized player ID.
getEventStatsGet summary statistics.
normalizeSourceNormalizes a FiveM source value to a player ID number.
registerEventHandlerRegisters an event handler and returns a disposable for cleanup. Works with both local (on) and network (onNet) events. Automatically tracks the registration for debugging purposes.
trackEventDisposedMark an event handler as disposed. The handler is immediately removed from tracking to prevent memory growth.
trackEventRegistrationTrack a new event handler registration.