Task Registration

tasks.register

tasks.register(id, def)

Description:

Registers a new task/quest.

Parameters:

  • id: (string) Task identifier.
  • def: (TaskDef) Task definition table.

tasks.get_registered

tasks.get_registered

Description:

Retrieves list of registered task IDs.

Returns: (table) Registered task IDs.

tasks.get_definition

tasks.get_definition(id)

Description:

Retrieves a task definition.

Parameters:

  • id: (string) Task identifier.

Returns: TaskDef or nil.

tasks.get_title

tasks.get_title(id)

Description:

Retrieves human readable title.

Parameters:

  • id: (string) Task identifier.

Returns: Task title string or nil if id not registered.

tasks.get_description

tasks.get_description(id)

Description:

Retrieves task description.

Parameters:

  • id: (string) Task identifier.

Returns: Task description string or nil if id not registered.

Player States

tasks.get_player_tasks

tasks.get_player_tasks(player)

Description:

Retrieves all player's tasks.

Parameters:

Returns: (table) Player's task states indexed by ID.

tasks.set_player_state

tasks.set_player_state(player, id[, index][, value])

Description:

Sets task state with ID id for player to value.

Parameters:

  • player: (ObjectRef) Player reference.
  • id: (string) Task identifier.
  • index: (int) (optional) Task state index to be updated. If nil or less than 1 then entire state string is updated.
  • value: (any) (optional) New value (converted to string) for state index or entire state string. If nil then index is set to empty string or entire state is unset.

tasks.get_player_state

tasks.get_player_state(player, id[, index|list])

Description:

Retrieves task state string from player meta info.

Parameters:

  • player: (ObjectRef) Player reference.
  • id: (string) Task identifier.
  • index: (int) (optional) Task state index.
  • list: (boolean) (optional) Flag to return list instead of string for entire state.

Returns: (string|table) String value of state index or entire state string if index is nil or less than 1. If table is true then a list of strings of entire state is returned.

tasks.player_has

tasks.player_has(player, id)

Description:

Checks if player has a task.

Parameters:

  • player: (ObjectRef) Player reference.
  • id: (string) Task identifier.

Returns: (boolean) true if id is found in player tasks.

tasks.player_is_complete

tasks.player_is_complete(player, id)

Description:

Checks if task state is considered complete. Wrapper for TaskDef:is_complete.

Parameters:

  • player: (ObjectRef) Player reference.
  • id: (string) Task identifier.

Returns: (boolean) true if task definition considers task completed by player.

tasks.get_player_log

tasks.get_player_log(player, id)

Description:

Retrieves task descriptors for displaying to player. Wrapper for TaskDef:get_log.

Parameters:

  • player: (ObjectRef) Player reference.
  • id: (string) Task identifier.

Returns: (table) List of string descriptors.