> For the complete documentation index, see [llms.txt](https://docs.17movement.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.17movement.net/complete-interface-system/api/events.md).

# Events

The following events can be triggered from your own resources to interact with the interface.

From the client:

```lua
TriggerEvent('eventName', ...)
```

From the server:

```lua
TriggerClientEvent('eventName', source, ...)
```

Optional arguments are marked with `?`.

***

### Notifications

#### `17mov_Interface:Notification:Client:Show`

Displays a notification.

**Arguments**

* `data` `NotificationData | string`

```lua
TriggerEvent('17mov_Interface:Notification:Client:Show', {
    type = 'success',
    title = 'Payment received',
    description = 'You received $500'
})
```

***

### Text UI

#### `17mov_Interface:TextUI:Client:Show`

Displays Text UI.

**Arguments**

* `text` `string`
* `options?` `TextUIOptions`

```lua
TriggerEvent(
    '17mov_Interface:TextUI:Client:Show',
    '[E] Open the door',
    {
        type = 'info',
        icon = 'door-open'
    }
)
```

#### `17mov_Interface:TextUI:Client:Hide`

Hides the active Text UI.

```lua
TriggerEvent('17mov_Interface:TextUI:Client:Hide')
```

***

### Progress Bar

#### `17mov_Interface:Progress:Client:ProgressBar`

Starts a progress bar.

**Arguments**

* `data` `ProgressData`

```lua
TriggerEvent('17mov_Interface:Progress:Client:ProgressBar', {
    duration = 5000,
    label = 'Repairing vehicle',
    canCancel = true
})
```

#### `17mov_Interface:Progress:Client:ProgressCircle`

Starts a progress circle.

**Arguments**

* `data` `ProgressData`

#### `17mov_Interface:Progress:Client:StartProgress`

Starts a non-blocking progress bar.

**Arguments**

* `data` `ProgressData`

#### `17mov_Interface:Progress:Client:Cancel`

Cancels the active progress bar.

```lua
TriggerEvent('17mov_Interface:Progress:Client:Cancel')
```

#### `17mov_Interface:Progress:Client:Stop`

Stops the active progress bar and marks it as completed.

```lua
TriggerEvent('17mov_Interface:Progress:Client:Stop')
```

***

### Input Dialog

#### `17mov_Interface:InputDialog:Client:Show`

Displays an input dialog.

**Arguments**

* `header` `string | InputDialogHeader`
* `rows` `InputRow[]`
* `options?` `InputDialogOptions`

#### `17mov_Interface:InputDialog:Client:Hide`

Closes the active input dialog.

```lua
TriggerEvent('17mov_Interface:InputDialog:Client:Hide')
```

***

### Alert Dialog

#### `17mov_Interface:AlertDialog:Client:Show`

Displays an alert dialog.

**Arguments**

* `data` `AlertDialogData`
* `timeout?` `number`

#### `17mov_Interface:AlertDialog:Client:Hide`

Closes the active alert dialog.

**Arguments**

* `reason?` `string`

***

### Context Menu

#### `17mov_Interface:ContextMenu:Client:Register`

Registers one or multiple context menus.

**Arguments**

* `context` `ContextMenu | ContextMenu[]`

#### `17mov_Interface:ContextMenu:Client:ShowContext`

Opens a registered context menu.

**Arguments**

* `id` `string`

```lua
TriggerEvent(
    '17mov_Interface:ContextMenu:Client:ShowContext',
    'garage'
)
```

#### `17mov_Interface:ContextMenu:Client:HideContext`

Closes the active context menu.

**Arguments**

* `onExit?` `boolean`

***

### List Menu

#### `17mov_Interface:Menu:Client:Register`

Registers a list menu.

**Arguments**

* `data` `ListMenu`
* `cb?` `function`

#### `17mov_Interface:Menu:Client:SetOptions`

Updates menu options.

**Arguments**

* `id` `string`
* `options` `ListMenuOption[] | ListMenuOption`
* `index?` `number`

#### `17mov_Interface:Menu:Client:Show`

Opens a registered list menu.

**Arguments**

* `id` `string`
* `startIndex?` `number`

#### `17mov_Interface:Menu:Client:Hide`

Closes the active list menu.

**Arguments**

* `onExit?` `boolean`

***

### Radial Menu

#### `17mov_Interface:RadialMenu:Client:Register`

Registers a radial menu.

**Arguments**

* `menu` `RadialMenu`

#### `17mov_Interface:RadialMenu:Client:AddItem`

Adds one or multiple radial items.

**Arguments**

* `items` `RadialItem | RadialItem[]`
* `parentMenuId?` `string`

#### `17mov_Interface:RadialMenu:Client:RemoveItem`

Removes a radial item.

**Arguments**

* `id` `string`
* `parentMenuId?` `string`

#### `17mov_Interface:RadialMenu:Client:ClearItems`

Removes all root radial items.

#### `17mov_Interface:RadialMenu:Client:Disable`

Enables or disables the radial menu.

**Arguments**

* `state` `boolean`

#### `17mov_Interface:RadialMenu:Client:Open`

Opens the radial menu.

**Arguments**

* `id?` `string`

#### `17mov_Interface:RadialMenu:Client:Close`

Closes the radial menu.

#### `17mov_Interface:RadialMenu:Client:Toggle`

Toggles the radial menu.

**Arguments**

* `id?` `string`

***

### NPC Dialog

#### `17mov_Interface:NpcDialog:Client:Register`

Registers one or multiple NPC dialogs.

**Arguments**

* `dialog` `Dialog | table<string, Dialog>`

#### `17mov_Interface:NpcDialog:Client:Show`

Starts a dialog.

**Arguments**

* `dialogOrId` `Dialog | string`
* `ped?` `number`
* `customSettings?` `table`

#### `17mov_Interface:NpcDialog:Client:Hide`

Stops the active dialog.

**Arguments**

* `silent?` `boolean`

#### `17mov_Interface:NpcDialog:Client:Remove`

Removes a registered dialog.

**Arguments**

* `id` `string`

***

### Sounds

#### `17mov_Interface:Sound:Client:Play`

Plays a registered sound.

**Arguments**

* `name` `string`
* `volume?` `number`
* `exclusive?` `boolean`

```lua
TriggerEvent(
    '17mov_Interface:Sound:Client:Play',
    'notify:success'
)
```

#### `17mov_Interface:Sound:Client:Stop`

Stops a sound.

**Arguments**

* `name?` `string`

***

### HUD

#### `17mov_Interface:Hud:Client:ToggleDisplay`

Shows or hides the HUD.

**Arguments**

* `state` `boolean`

```lua
TriggerEvent(
    '17mov_Interface:Hud:Client:ToggleDisplay',
    false
)
```

#### `17mov_Interface:Editor:Client:Open`

Opens the player's HUD editor.

```lua
TriggerEvent('17mov_Interface:Editor:Client:Open')
```

#### `17mov_Interface:Hud:Client:SetValue`

Sets a HUD value.

**Arguments**

* `key` `string`
* `value` `any`

***

### Info Panel

#### `17mov_Interface:Info:Client:SetItem`

Updates an info panel item.

**Arguments**

* `id` `string`
* `value` `any`
* `sub?` `any`
* `badge?` `any`

```lua
TriggerEvent(
    '17mov_Interface:Info:Client:SetItem',
    'radio',
    '245.5 MHz',
    'Dispatch',
    'LIVE'
)
```

#### `17mov_Interface:Info:Client:Refresh`

Refreshes all function-driven info panel items.

***

### Radar / Minimap

#### `17mov_Interface:Radar:Client:Hide`

Temporarily hides or shows the minimap.

**Arguments**

* `state` `boolean`

#### `17mov_Interface:Radar:Client:SetLoop`

Enables or disables minimap management.

**Arguments**

* `state` `boolean`

***

### Seatbelt

#### `17mov_Interface:Seatbelt:Client:UpdateState`

Updates the seatbelt state.

**Arguments**

* `state` `boolean`

***

### Stress

#### `17mov_Interface:Stress:Client:AddAmount`

Adds stress.

**Arguments**

* `amount` `number`

#### `17mov_Interface:Stress:Client:RemoveAmount`

Removes stress.

**Arguments**

* `amount` `number`

#### `17mov_Interface:Stress:Client:SetEnabled`

Enables or disables the stress system.

**Arguments**

* `state` `boolean`

#### `17mov_Interface:Stress:Client:SetEffects`

Enables or disables stress effects.

**Arguments**

* `state` `boolean`

#### `17mov_Interface:Stress:Client:SetSource`

Enables or disables a registered stress source.

**Arguments**

* `id` `string`
* `state` `boolean`

#### `17mov_Interface:Stress:Client:TriggerSource`

Triggers a manually controlled stress source.

**Arguments**

* `id` `string`

***

### Status

#### `17mov_Interface:Bridge:Client:UpdateStatus`

Updates one or multiple status values.

**Arguments**

* `status` `StatusData`

#### `StatusData`

* `hunger?` `number`
* `thirst?` `number`
* `stress?` `number`

```lua
TriggerEvent('17mov_Interface:Bridge:Client:UpdateStatus', {
    hunger = 75,
    thirst = 60,
    stress = 10
})
```
