Events
Every event a gamemode can receive, with its parameters.
mp.events.on(name, handler) // register; several handlers per event are fine
mp.events.off(name, handler) // remove (the same function)playerJoin
mp.events.on("playerJoin", (player: Player) => void)A player connected. Their bank is empty and no job is active.
Types: Player
gamemodeStarted
mp.events.on("gamemodeStarted", () => void)The gamemode is loaded and running: mp.world is filled, players already on the server are in mp.players.all(), mp.config holds the server's settings. Once per start - also after "gamemode restart" and the automatic restart after a crash. The place for markers, zones and everything that does not wait for a player.
playerReady
mp.events.on("playerReady", (player: Player) => void)The player's game has loaded the world after joining - the player sees the road now. Once per connection, after playerJoin. The place for welcome messages, teleports, vehicles and markers.
Types: Player
playerLeave
mp.events.on("playerLeave", (player: Player, reason: string) => void)A player left the server (also timeout, kick).
Types: Player
playerChat
mp.events.on("playerChat", (player: Player, text: string) => void)A normal chat message. Without mp.chat.onMessage it has already been sent to everyone; with it, it fires as well (whatever the handler decides).
Types: Player
playerCommand
mp.events.on("playerCommand", (player: Player, command: string, args: string[]) => void)Every chat message starting with /, e.g. "/money 500" - also those registered with mp.commands.add (for logging). It is not shown to other players. Prefer mp.commands.add: commands nobody registered are answered by the server.
Types: Player
playerFined
mp.events.on("playerFined", (player: Player, fine: Fine) => void)The game fined the player for an offence (speed camera, police, red light, ...).
jobDelivered
mp.events.on("jobDelivered", (player: Player, job: JobDelivered) => void)A freight job of the game was delivered.
Game event: job.delivered
Types: Player, JobDelivered
jobCancelled
mp.events.on("jobCancelled", (player: Player, job: JobCancelled) => void)The player's job was cancelled (also by players.cancelJob and the reset after connecting).
Game event: job.cancelled
Types: Player, JobCancelled
tollPaid
mp.events.on("tollPaid", (player: Player, toll: TollPaid) => void)A toll was paid.
Game event: player.tollgate.paid
ferryUsed
mp.events.on("ferryUsed", (player: Player, trip: Transport) => void)The player took a ferry.
Game event: player.use.ferry
trainUsed
mp.events.on("trainUsed", (player: Player, trip: Transport) => void)The player took a train (car train / tunnel).
Game event: player.use.train
carJobDelivered
mp.events.on("carJobDelivered", (player: Player, job: SpecialJobDone) => void)A car transport job was delivered.
Game event: car_job.delivered
Types: Player, SpecialJobDone
busJobCompleted
mp.events.on("busJobCompleted", (player: Player, job: SpecialJobDone) => void)A bus job was completed.
Game event: bus_job.completed
Types: Player, SpecialJobDone
jobStarted
mp.events.on("jobStarted", (player: Player, job: Job) => void)The player took a job (the game's job, or one a gamemode handed out). Not for a job they already had when joining.
jobLoaded
mp.events.on("jobLoaded", (player: Player, job: Job) => void)The player has the job's cargo: hooked up the company's trailer at the source, or (own trailer) the cargo was loaded.
engineStart
mp.events.on("engineStart", (player: Player) => void)The player started the engine.
Types: Player
engineStop
mp.events.on("engineStop", (player: Player) => void)The player switched the engine off.
Types: Player
trailerAttach
mp.events.on("trailerAttach", (player: Player) => void)A trailer was hooked up.
Types: Player
trailerDetach
mp.events.on("trailerDetach", (player: Player) => void)The trailer was unhooked.
Types: Player
playerRefuel
mp.events.on("playerRefuel", (player: Player, liters: number) => void)The tank got fuller: at a filling station (one event once refuelling stops) or by mp.players.setFuel. liters: how much was added.
Types: Player
gameEvent
mp.events.on("gameEvent", (player: Player, name: string, attributes: GameAttributes) => void)Every event of the game in raw form, including the typed ones above. name e.g. "job.delivered", attributes named as in the game ("earned.xp").
Types: Player
playerEnterZone
mp.events.on("playerEnterZone", (player: Player, zone: Zone) => void)The player drove into a zone (mp.zones), checked about once a second.
playerLeaveZone
mp.events.on("playerLeaveZone", (player: Player, zone: Zone) => void)The player left a zone - also by leaving the server or when the zone is removed.
playerEnterCity
mp.events.on("playerEnterCity", (player: Player, city: City) => void)The player drove into a city (within its radius on the map, checked about once a second).
playerLeaveCity
mp.events.on("playerLeaveCity", (player: Player, city: City) => void)The player left a city.
playerEnterCountry
mp.events.on("playerEnterCountry", (player: Player, country: string, from: string | null) => void)The player is in another country now - judged by the nearest city, so it fires near the border (needs gamedata.json). from is null for the first position after joining.
Types: Player