Open Road MP

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, ...).

Types: Player, Fine

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

Types: Player, TollPaid

ferryUsed

mp.events.on("ferryUsed", (player: Player, trip: Transport) => void)

The player took a ferry.

Game event: player.use.ferry

Types: Player, Transport

trainUsed

mp.events.on("trainUsed", (player: Player, trip: Transport) => void)

The player took a train (car train / tunnel).

Game event: player.use.train

Types: Player, Transport

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.

Types: Player, Job

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.

Types: Player, Job

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.

Types: Player, Zone

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.

Types: Player, Zone

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).

Types: Player, City

playerLeaveCity

mp.events.on("playerLeaveCity", (player: Player, city: City) => void)

The player left a city.

Types: Player, 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

On this page