Checklist

The Checklist API allows you to display a persistent, interactive task list on the player's HUD. It supports main tasks, nested sub-tasks, progress states, and rich text formatting (keys/mouse icons).

🛠️ Exports

ShowChecklist

Displays the checklist UI with a list of tasks.

exports['ak47_lib']:ShowChecklist(tasks, title, position)
-- or 
Lib47.ShowChecklist(tasks, title, position)

Parameters:

Argument

Type

Optional

Description

tasks

Table

No

A table containing the task objects (see Task Structurearrow-up-right below).

title

String

Yes

The header title of the checklist. Defaults to Config value.

position

String

Yes

Screen position. Options: 'top', 'center', 'bottom'.


UpdateChecklist

Updates the completion status of a specific task or sub-task.

exports['ak47_lib']:UpdateChecklist(index, isComplete, subIndex)
-- or
Lib47.UpdateChecklist(index, isComplete, subIndex)

Parameters:

Argument

Type

Optional

Description

index

Number

No

The 1-based index of the main task in the list.

isComplete

Boolean

No

true to mark as done, false to uncheck.

subIndex

Number

Yes

The 1-based index of a sub-task (if updating a nested item).


HideChecklist

Removes the checklist from the screen.


🧬 Data Structures

Task Structure

When sending the tasks table to ShowChecklist, each item should follow this format:


🎨 Rich Text Formatting

You can inject keyboard keys and mouse icons directly into your task labels using the following tags:

Tag

Result

Description

<k>KEY</k>

Keyboard E

Renders a styled keyboard key (e.g., <k>E</k>).

<m></m>

Mouse

Renders a Mouse icon

<m>1</m>

🖱️ Mouse Left

Renders a Left Mouse Button icon.

<m>2</m>

🖱️ Mouse Right

Renders a Right Mouse Button icon.

<m>3</m>

🖱️ Mouse Middle

Renders a Middle Mouse/Scroll icon.


💡 Examples

Example 1: Simple Task List

A basic list positioned at the top left of the screen.

Example 2: Complex Mission (Sub-tasks & Rich Text)

A mission list centered on the screen featuring interaction keys and nested objectives.

Example 3: Updating Progress

How to update the mission created in Example 2 dynamically.

Example 4:


ℹ️ Additional Info

Night Mode: The UI automatically adjusts its background opacity between 21:00 and 06:00 in-game time (managed via GetClockHours).

Lib47: If you are using the internal Lib47 files, the functions are also available via Lib47.ShowChecklist, Lib47.UpdateChecklist, and Lib47.HideChecklist.

Last updated