sm.event

Events for communicating between scripts by running callbacks.

Constants:

Functions:

  • sendToCharacter
  • sendToGame
  • sendToHarvestable
  • sendToInteractable
  • sendToPlayer
  • sendToScriptableObject
  • sendToTool
  • sendToUnit
  • sendToWorld

  • sm.event.types table

    Event types

    validate Will make sure script instance exists, and that the callback is declared on the receiving end, before queuing the event. This is the default type.
    blind Will blindly queue the event without making any validation checks. Can be useful for sending events to script we know will come alive the next tick.
    instant Same as blind event, but sent immediately.

    sm.event.sendToCharacter(character, callback, args?, eventType?, pauseSave?)

    Sends an event to a specified Character.

    Parameters:

    TypeNameDescription
    CharactercharacterThe character.
    stringcallbackThe function name in a character script.
    anyargs?Optional arguments to be sent to the callback.
    integereventType?The type of event. Defaults to sm.event.types.validate.
    booleanpauseSave?Optional, defaults to true. If true, pauses saving for 1 tick for delayed event types (server only).

    Returns:

    TypeDescription
    booleanresult Returns true if the event was successfully processed.

    sm.event.sendToGame(callback, args?, eventType?, pauseSave?)

    Sends an event to the game script.

    Parameters:

    TypeNameDescription
    stringcallbackThe function name in the game script.
    anyargs?Optional arguments to be sent to the callback.
    integereventType?The type of event. Defaults to sm.event.types.validate.
    booleanpauseSave?Optional, defaults to true. If true, pauses saving for 1 tick for delayed event types (server only).

    Returns:

    TypeDescription
    booleanresult Returns true if the event was successfully processed.

    sm.event.sendToHarvestable(harvestable, callback, args?, eventType?, pauseSave?)

    Sends an event to a specified Harvestable.

    Parameters:

    TypeNameDescription
    HarvestableharvestableThe harvestable.
    stringcallbackThe function name in a harvestable script.
    anyargs?Optional arguments to be sent to the callback.
    integereventType?The type of event. Defaults to sm.event.types.validate.
    booleanpauseSave?Optional, defaults to true. If true, pauses saving for 1 tick for delayed event types (server only).

    Returns:

    TypeDescription
    booleanresult Returns true if the event was successfully processed.

    sm.event.sendToInteractable(interactable, callback, args?, eventType?, pauseSave?)

    Sends an event to a specified Interactable.

    Parameters:

    TypeNameDescription
    InteractableinteractableThe interactable.
    stringcallbackThe function name in an interactable script.
    anyargs?Optional arguments to be sent to the callback.
    integereventType?The type of event. Defaults to sm.event.types.validate.
    booleanpauseSave?Optional, defaults to true. If true, pauses saving for 1 tick for delayed event types (server only).

    Returns:

    TypeDescription
    booleanresult Returns true if the event was successfully processed.

    sm.event.sendToPlayer(player, callback, args?, eventType?, pauseSave?)

    Sends an event to a specified Player.

    Parameters:

    TypeNameDescription
    PlayerplayerThe player.
    stringcallbackThe function name in a player script.
    anyargs?Optional arguments to be sent to the callback.
    integereventType?The type of event. Defaults to sm.event.types.validate.
    booleanpauseSave?Optional, defaults to true. If true, pauses saving for 1 tick for delayed event types (server only).

    Returns:

    TypeDescription
    booleanresult Returns true if the event was successfully processed.

    sm.event.sendToScriptableObject(scriptableObject, callback, args?, eventType?, pauseSave?)

    Sends an event to a specified ScriptableObject.

    Parameters:

    TypeNameDescription
    ScriptableObjectscriptableObjectThe scriptableObject.
    stringcallbackThe function name in a scriptableObject script.
    anyargs?Optional arguments to be sent to the callback.
    integereventType?The type of event. Defaults to sm.event.types.validate.
    booleanpauseSave?Optional, defaults to true. If true, pauses saving for 1 tick for delayed event types (server only).

    Returns:

    TypeDescription
    booleanresult Returns true if the event was successfully processed.

    sm.event.sendToTool(tool, callback, args?, eventType?, pauseSave?)

    Sends an event to a specified Tool.

    Parameters:

    TypeNameDescription
    TooltoolThe tool.
    stringcallbackThe function name in a tool script.
    anyargs?Optional arguments to be sent to the callback.
    integereventType?The type of event. Defaults to sm.event.types.validate.
    booleanpauseSave?Optional, defaults to true. If true, pauses saving for 1 tick for delayed event types (server only).

    Returns:

    TypeDescription
    booleanresult Returns true if the event was successfully queued.

    sm.event.sendToUnit(unit, callback, args?, eventType?, pauseSave?)

    Sends an event to a specified Unit.

    Parameters:

    TypeNameDescription
    UnitunitThe unit.
    stringcallbackThe function name in a unit script.
    anyargs?Optional arguments to be sent to the callback.
    integereventType?The type of event. Defaults to sm.event.types.validate.
    booleanpauseSave?Optional, defaults to true. If true, pauses saving for 1 tick for delayed event types (server only).

    Returns:

    TypeDescription
    booleanresult Returns true if the event was successfully processed.

    sm.event.sendToWorld(world, callback, args?, eventType?, pauseSave?)

    Sends an event to a specified World.

    Parameters:

    TypeNameDescription
    WorldworldThe world.
    stringcallbackThe function name in a world script.
    anyargs?Optional arguments to be sent to the callback.
    integereventType?The type of event. Defaults to sm.event.types.validate.
    booleanpauseSave?Optional, defaults to true. If true, pauses saving for 1 tick for delayed event types (server only).

    Returns:

    TypeDescription
    booleanresult Returns true if the event was successfully processed.