openmohaa/docs/script/events.md
smallmodel 6f9e710ec9
Some checks failed
CodeQL / Analyze (push) Waiting to run
Build branch / build-all (push) Failing after 15s
Update events documentation
2025-02-03 22:12:35 +01:00

2.4 KiB

Events

OpenMoHAA introduces a new way for scripts to monitor for specific events, like players spawning or getting killed. Multiple scripts can subscribe to the same events.

Subscribing

Commands related to events:

event_subscribe event_name script_label
    Subscribes to an event, script_label will be called when the event is triggered

event_unsubscribe event_name script_label
    Unsubscribe from an event, script_label will not be called anymore

When an event is not needed anymore, make sure to call event_unsubscribe with the same parameters used when subscribing to the event.

Example

main:
    event_subscribe "player_spawned" event_player_spawned
    // Can specify another script:
    //event_subscribe "player_spawned" global/test_script::event_player_spawned
end

event_player_spawned:
    iprintlnbold("player entity number " + self.entnum + " just spawned!")
end

List of events

Player events

The self object is the player object for all triggered player events.

player_connected

The player entered the game.

Called when:

  • When a client spawns for the first time
  • When the map restarts, or when the map changes (for all players)
  • On the next round (for all players)

This is called after the player finished spawning, and before player_spawned event.

player_damaged

The player just got hit.

The parameters are the same as the damage command:

player_damaged local.attacker local.damage local.inflictor local.position local.direction local.normal local.knockback local.damageflags local.meansofdeath local.location

player_disconnecting

The player is disconnecting.

player_killed

The player got killed.

The parameters are the same as the killed command:

player_killed local.attacker local.damage local.inflictor local.position local.direction local.normal local.knockback local.damageflags local.meansofdeath local.location

player_spawned

The player just spawned.

Called when:

  • The player has entered the battle
  • The player respawned or spawned with weapons

This is called after the player finished spawning.

The event can be called even for spectators (when the spectator gets respawned).

player_textMessage

The player sent a text message.

player_textMessage local.text local.is_team

Parameters:

  • local.text: The raw text message the client sent to the server
  • local.is_team: 1 if it's a team message. 0 otherwise (everyone)