Lua events

From Wiki G1R-MP G1 Remake Multiplayer
Revision as of 22:33, 14 August 2026 by QCherry (talk | contribs) (Add Lua event reference index)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Lua events

Lua events notify resources about authoritative gameplay, world, networking, and client UI changes. The catalog below is generated from event names and argument lists verified against the current runtime.

Handling an event

addEventHandler("onPlayerJoin", root, function(playerId)
    outputChatBox("Welcome!", playerId, 225, 195, 110)
end)

Use root for global runtime events and resourceRoot for events owned by the current resource. Each event page specifies its execution side, exact callback signature, parameters, and delivery rules.

The current reference documents 62 public events.

Resource events

Event Side Description
onClientResourceStart client-side Triggered after the current client resource has started and its client scripts are ready.
onClientResourceStop client-side Triggered immediately before the current client resource is stopped.
onResourceStart server-side Triggered after the current server resource has started and its scripts are ready.
onResourceStop server-side Triggered immediately before the current server resource is stopped.
onServerShutdown server-side Triggered while the multiplayer server is beginning an orderly shutdown.

Player events

Event Side Description
onPlayerJoin server-side Triggered after a client has joined the server and received its authoritative player ID.
onPlayerNameChange server-side Triggered after an authoritative player name change has been accepted.
onPlayerQuit server-side Triggered when a player disconnects or is removed from the server.
onPlayerSpawn server-side Triggered after the server authoritatively spawns a player in the game world.
onPlayerTeleport server-side Triggered after the server authoritatively teleports an existing player.

Chat events

Event Side Description
onPlayerChat server-side Triggered when a player submits a normal chat message.
onPlayerChatReady server-side Triggered by the bundled chat resource when a player's client chat UI reports that it is ready.
onPlayerCommand server-side Triggered when a player submits a slash command that was not consumed before event dispatch.

Combat events

Event Side Description
onPlayerHit server-side Triggered after the server validates that one player hit another player.

Life State events

Event Side Description
onPlayerDamage server-side Triggered after authoritative damage changes a player's health.
onPlayerDead server-side Compatibility alias triggered together with onPlayerDeath when health reaches zero.
onPlayerDeath server-side Triggered when a player's authoritative health reaches zero.
onPlayerDowned server-side Triggered after a player enters the authoritative downed state.
onPlayerLifeStateChange server-side Triggered whenever the authoritative life state changes between alive, downed, and dead.
onPlayerRevived server-side Triggered after a downed or dead player is authoritatively returned to the alive state.

Magic events

Event Side Description
onPlayerConsumableUse server-side Triggered after the server accepts or rejects a consumable-use request.
onPlayerSpellCastCancel server-side Triggered when an active spell cast is cancelled.
onPlayerSpellCastComplete server-side Triggered when an authoritative spell cast completes.
onPlayerSpellCastRejected server-side Triggered when the server rejects a requested spell-cast transition.
onPlayerSpellCastStart server-side Triggered when the server accepts the start of a spell cast.
onPlayerSpellCastState server-side Triggered for every authoritative spell-cast phase transition.
onPlayerSpellEquip server-side Triggered when the authoritative equipped or in-hand state of a spell changes.
onPlayerSpellImpact server-side Triggered when an authoritative spell projectile impacts a player or the world.
onPlayerSpellProjectileCreate server-side Triggered when the server creates an authoritative spell projectile.
onPlayerSpellProjectileDestroy server-side Triggered when an authoritative spell projectile is removed.
onPlayerSpellRelease server-side Triggered when the casting player releases an accepted spell.

Ranged events

Event Side Description
onPlayerRangedImpact server-side Triggered when an authoritative arrow or bolt impacts a player or the world.
onPlayerRangedProjectileDestroy server-side Triggered when an authoritative arrow or bolt projectile is removed.
onPlayerRangedShot server-side Triggered when the server creates an authoritative arrow or bolt projectile.
onPlayerRangedState server-side Triggered when the authoritative bow or crossbow action state changes.

Interaction events

Event Side Description
onPlayerInteractionStart server-side Triggered when a replicated general interaction begins.
onPlayerInteractionState server-side Triggered for every replicated general interaction-state update.
onPlayerInteractionStop server-side Triggered when a replicated general interaction ends.
onPlayerMiningStart server-side Triggered when synchronized ore mining begins.
onPlayerMiningState server-side Triggered for every replicated mining-state update.
onPlayerMiningStop server-side Triggered when synchronized ore mining ends.
onPlayerSittingStart server-side Triggered when synchronized sitting begins.
onPlayerSittingState server-side Triggered for every replicated sitting-state update.
onPlayerSittingStop server-side Triggered when synchronized sitting ends.

World events

Event Side Description
onMinuteDurationChange server-side Triggered after the server changes how long one in-game minute lasts.
onTimeChange server-side Triggered after the server changes the authoritative world clock.
onWeatherChange server-side Triggered after the server accepts an authoritative weather transition.
onWorldItemPickup server-side Triggered after the server validates a synchronized world-item pickup.
onWorldItemSpawn server-side Triggered when the server creates a synchronized pickup item in the world.
onWorldObjectStateChange server-side Triggered when a synchronized usable world object changes state.

Monster events

Event Side Description
onMonsterAttack server-side Triggered when server-owned monster AI begins an authoritative attack against a player.
onMonsterDamage server-side Triggered after authoritative damage changes a monster's health.
onMonsterDeath server-side Triggered when a synchronized monster's authoritative health reaches zero.
onMonsterDestroy server-side Triggered after a synchronized monster is removed from the server world.
onMonsterSpawn server-side Triggered after the server creates a synchronized monster.
onMonsterTargetChange server-side Triggered when server-owned monster AI changes its player target.

GUI events

Event Side Description
onClientChatClose client-side Triggered when the built-in client chat input is closed.
onClientChatOpen client-side Triggered when the built-in client chat input becomes active.
onClientGuiChange client-side Triggered when a supported RmlUi input value changes.
onClientGuiClick client-side Triggered when a clickable element in a resource-owned RmlUi document is activated.
onClientGuiEscape client-side Triggered when Escape is pressed while a resource-owned RmlUi document owns UI input.
onClientGuiSubmit client-side Triggered when a resource-owned RmlUi form or input is submitted.