Skip to main content

Server Exports

CreateTasks

Creates a new task list and returns a unique task list ID. Duplicate task names are automatically grouped and tracked using counters.
local uid = exports['projectx-tasks']:CreateTasks(title, tasks)
title
string
required
Title shown in the task UI
tasks
table
required
List of task names (strings)
Returns
  • uid (string) - Unique task list identifier
Examples
local uid = exports['projectx-tasks']:CreateTasks('Mission Tasks', { 'Hack Panel', 'Hack Panel', 'Escape Area' })
local uid = exports['projectx-tasks']:CreateTasks('Heist Objectives', { 'Collect Supplies', 'Disable Security', 'Crack Vault', 'Escape' })

DeleteTasks

Deletes a task list and force closes it for all viewers.
exports['projectx-tasks']:DeleteTasks(uid)
uid
string
required
Task list ID
Returns
  • boolean - true if deleted, false if not found

OpenTasks

Opens a task list UI for a specific player and registers them as a viewer.
exports['projectx-tasks']:OpenTasks(player, uid, position)
player
number
required
Player server ID
uid
string
required
Task list ID
position
string
default:"right"
UI position ("left" or "right")
Returns
  • boolean - true if opened successfully
Example
exports['projectx-tasks']:OpenTasks(source, uid, 'left')

CloseTasks

Closes a task list UI for a specific player and removes them from the viewer list.
exports['projectx-tasks']:CloseTasks(player, uid)
player
number
required
Player server ID
uid
string
required
Task list ID
Returns
  • boolean - true if closed successfully

UpdateTask

Updates the state of a task. Supports multiple instances of the same task name and tracks progress automatically. When all tasks are completed or failed, the task list closes and is removed.
exports['projectx-tasks']:UpdateTask(uid, taskName, state)
uid
string
required
Task list ID
taskName
string
required
Task label
state
boolean
required
true = task completed, false = task failed
Returns
  • boolean - true if the update was successful
Example
exports['projectx-tasks']:UpdateTask(uid, 'Hack Panel', true)

GetStatus

Returns the current status of a specific task within a task list.
local status = exports['projectx-tasks']:GetStatus(uid, taskName)
uid
string
required
Task list ID
taskName
string
required
Task label
Returns
  • table or nil
    • Done (boolean)
    • Failed (boolean)
    • DoneCount (number)
    • Count (number)

GetIsListCompleted

Checks whether a task list has already been fully completed and cleaned up.
local completed = exports['projectx-tasks']:GetIsListCompleted(uid)
uid
string
required
Task list ID
Returns
  • boolean or nil