Events - AmyrAhmady/samp-node GitHub Wiki
First of all, you can already use all samp callback names while adding an event listener; so if you don't want to use our predefined definitions, you'll be fine.
Event functions:
- on(eventName, function)
// adds a new listener to the given event - addEventListener
// acts like *on* - addListener
// acts like *on* - fire(eventName, arg1, arg2, ...)
// to trigger/call/fire a registered event programmatically - removeEventListener(eventName)
// removes all listeners - removeEventListener(eventName, function)
// removes specific listener - removeEventListener(eventName, functions[])
// removes array of specific listeners - removeListener
// acts like *removeEventListener* - registerEvent(callback/eventName, paramTypes)
// register a new event, e.g: from other plugins
SAMPNode_CallEvent
This is pawn native, made to be used for calling custom registered events in samp-node environment, and it calls and passes your args to your event according to specifiers you specified while registering it.
NOTE:
There's something you should know if you are going to use a or v, array of integers and array of floats, you have to specify the array size in the next parameter, don't worry it gets ignored so you don't need an i specifier on event registration, so without passing array size, you'll face a crash. (This doesn't happen with strings since we know the exact size, unlike arrays)
Example:
JS code:
// note that there's only 2 specifiers, that means this event takes two parameters
// an array of integers, and an integer
samp.registerEvent("MyTestEvent", "ai");
samp.on("MyTestEvent", (array, myint) => {
console.log(array)
console.log('My int' + myint);
return 8;
});
Pawn code:
new array[8] = {0, 1, 4, 6, 7, 8, 9, 10};
new integer = 4;
new test = SAMPNode_CallEvent("MyTestEvent", array, sizeof(array), integer);
results:

Event definitions
List of pre-defined events:
EVENT_GAME_MODE_INIT
EVENT_GAME_MODE_EXIT
EVENT_FILTER_SCRIPT_INIT
EVENT_FILTER_SCRIPT_EXIT
EVENT_PLAYER_CONNECT
EVENT_PLAYER_DISCONNECT
EVENT_PLAYER_SPAWN
EVENT_PLAYER_DEATH
EVENT_VEHICLE_SPAWN
EVENT_VEHICLE_DEATH
EVENT_PLAYER_TEXT
EVENT_PLAYER_COMMAND_TEXT
EVENT_PLAYER_REQUEST_CLASS
EVENT_PLAYER_ENTER_VEHICLE
EVENT_PLAYER_EXIT_VEHICLE
EVENT_PLAYER_STATE_CHANGE
EVENT_PLAYER_ENTER_CHECKPOINT
EVENT_PLAYER_LEAVE_CHECKPOINT
EVENT_PLAYER_ENTER_RACE_CHECKPOINT
EVENT_PLAYER_LEAVE_RACE_CHECKPOINT
EVENT_RCON_COMMAND
EVENT_PLAYER_REQUEST_SPAWN
EVENT_OBJECT_MOVED
EVENT_PLAYER_OBJECT_MOVED
EVENT_PLAYER_PICK_UP_PICKUP
EVENT_VEHICLE_MOD
EVENT_ENTER_EXIT_MOD_SHOP
EVENT_VEHICLE_PAINTJOB
EVENT_VEHICLE_RESPRAY
EVENT_VEHICLE_DAMAGE_STATUS_UPDATE
EVENT_UNOCCUPIED_VEHICLE_UPDATE
EVENT_PLAYER_SELECTED_MENU_ROW
EVENT_PLAYER_EXITED_MENU
EVENT_PLAYER_INTERIOR_CHANGE
EVENT_PLAYER_KEY_STATE_CHANGE
EVENT_RCON_LOGIN_ATTEMPT
EVENT_PLAYER_UPDATE
EVENT_PLAYER_STREAM_IN
EVENT_PLAYER_STREAM_OUT
EVENT_VEHICLE_STREAM_IN
EVENT_VEHICLE_STREAM_OUT
EVENT_ACTOR_STREAM_IN
EVENT_ACTOR_STREAM_OUT
EVENT_DIALOG_RESPONSE
EVENT_PLAYER_TAKE_DAMAGE
EVENT_PLAYER_GIVE_DAMAGE
EVENT_PLAYER_GIVE_DAMAGE_ACTOR
EVENT_PLAYER_CLICK_MAP
EVENT_PLAYER_CLICK_TEXT_DRAW
EVENT_PLAYER_CLICK_PLAYER_TEXT_DRAW
EVENT_INCOMING_CONNECTION
EVENT_TRAILER_UPDATE
EVENT_VEHICLE_SIREN_STATE_CHANGE
EVENT_PLAYER_FINISHED_DOWNLOADING
EVENT_PLAYER_REQUEST_DOWNLOAD
EVENT_PLAYER_CLICK_PLAYER
EVENT_PLAYER_EDIT_OBJECT
EVENT_PLAYER_EDIT_ATTACHED_OBJECT
EVENT_PLAYER_SELECT_OBJECT
EVENT_PLAYER_WEAPON_SHOT
EVENT_CLIENT_CHECK_RESPONSE
EVENT_SCRIPT_CASH