lation scripts
scriptsmembershipdocs
see the scripts
Skip to Content
lation ui
ThemingConfigurationChangelog

Developer API

Shared optionsNotificationsProgress barAlert dialogInput dialogContext menuList menuRadial menuText UITimelineDrawerMinigames
lation interact
lation banking
lation shops
lation jobs
lation weed
lation chop shop

classics

money laundering
drug sales
coke processing
meth crafting
metal detecting
scuba diving
lation ui

Timeline

Show a lation ui timeline of tasks on screen, then update task status, add tasks or change its header while it's showing.

A timeline is a panel that lists a sequence of tasks with their status, such as the steps of a heist or a delivery route. It doesn't take focus. One timeline shows at a time; showing a new one replaces the old one.

A timeline titled Bank job, Complete every step, with a mask icon: Get equipment, completed, with a green check and struck through; Hack the security system, active, in the accent color with a spinner; and Open the vault and Escape the area, pending
The Bank job example as it first shows

showTimeline

Client export

exports.lation_ui:showTimeline(data)

Parameters

data.idstring
The timeline's id, used by the other exports
data.titlestring
The header's title
data.taskstable
The list of tasks
data.descriptionstringoptional
A line under the title
data.iconstringoptional
The header's icon
data.iconColorstringoptional
The header icon's color. The theme's muted text by default.
data.iconAnimationstringoptional
See icon animations
data.positionstringoptionaldefault 'right-center'
See positions
data.opacitynumberoptional
The panel's opacity, 0 to 1, for this timeline. The theme's panel opacity by default.

It raises an error if id, title or tasks is missing. The title, description and task text take text formatting.

Tasks

FieldTypeDefaultDescription
idstringRequired. The task's id.
labelstringRequired. The task's text.
descriptionstringSmaller text under the label.
statusstringRequired. 'pending', 'active', 'completed' or 'failed'.
iconstringThe status's iconReplaces the status's icon.
iconColorstringThe status's colorThe icon's color.
iconAnimationstringSee icon animations.

Each status has its own icon and color. An active task with the default icon spins in the accent color. A completed task gets a green check and is struck through in the theme's secondary text, and the line down to the next task turns green. A failed task gets a red cross and red text.

The Bank job timeline later on, a task in each status: two completed tasks with green checks, struck through in gray; Open the vault failed, in red with a cross; Escape the area active, in blue with a spinner; and Drop the bags at the safehouse pending
Completed, failed, active and pending

hideTimeline

Client export

exports.lation_ui:hideTimeline(id)

Parameters

idstring
The timeline's id

updateTimelineTask

Client export

exports.lation_ui:updateTimelineTask(timelineId, taskId, status)
exports.lation_ui:updateTimelineTask(timelineId, tasks)

Parameters

timelineIdstring
The timeline to update
taskIdstring
One task to update, with status
statusstring
That task's new status
taskstable
In place of taskId and status: a list of tables, each with an id and any task fields to change

Changes one task's status, or several tasks at once.

client.lua
exports.lation_ui:updateTimelineTask('bank_job', 'hack', 'completed')

addTimelineTask

Client export

exports.lation_ui:addTimelineTask(timelineId, task)

Parameters

timelineIdstring
The timeline to add to
tasktable
A task

Adds the task at the end of the timeline.

updateTimeline

Client export

exports.lation_ui:updateTimeline(timelineId, updates)

Parameters

timelineIdstring
The timeline to change
updatestable
The timeline's own fields to change, such as title, description, icon, position or opacity. Only the fields you pass change.
client.lua
exports.lation_ui:updateTimeline('bank_job', { description = 'Get out before the police arrive' })

getActiveTimeline

Client export

local id = exports.lation_ui:getActiveTimeline()

Returns

string | nil
The id of the timeline on screen, or nil
client.lua
-- Don't cover another script's timeline
if not exports.lation_ui:getActiveTimeline() then
    exports.lation_ui:showTimeline(deliveryTimeline)
end

Example

client.lua
exports.lation_ui:showTimeline({
    id = 'bank_job',
    title = 'Bank job',
    description = 'Complete every step',
    icon = 'fas fa-mask',
    tasks = {
        { id = 'gear', label = 'Get equipment', status = 'completed' },
        { id = 'hack', label = 'Hack the security system', status = 'active' },
        { id = 'vault', label = 'Open the vault', status = 'pending' },
        { id = 'escape', label = 'Escape the area', status = 'pending' }
    }
})

-- later
exports.lation_ui:updateTimelineTask('bank_job', {
    { id = 'hack', status = 'completed' },
    { id = 'vault', status = 'active' }
})

exports.lation_ui:addTimelineTask('bank_job', {
    id = 'drop',
    label = 'Drop the bags at the safehouse',
    status = 'pending'
})

-- when the job ends
exports.lation_ui:hideTimeline('bank_job')

Still stuck? Ask in our Discord: the people who write the scripts answer.

Last updated November 10, 2026

Text UI

Show a lation ui text UI prompt with a key, or a list of controls, and hide or check it from your script.

Drawer

Slide a lation ui drawer in from the side or bottom of the screen with text, callouts, key-value rows, images and action buttons, then update or close it.

On this page

showTimelineTaskshideTimelineupdateTimelineTaskaddTimelineTaskupdateTimelinegetActiveTimelineExample
lation scripts

FiveM scripts for Qbox, QBCore and ESX servers, made to look and work like one product.

store

  • all scripts
  • membership
  • classics

help

  • docs
  • discord
  • email support

legal

  • terms
  • refunds
  • privacy
© 2026 Lation Labslationscripts.com
  • home
  • scripts
  • membership
  • docs