# Menu System

`Menu System` is a FiveM menu and input dialog resource that provides a modern, fully customizable selection menu and multi-field input dialog through a clean NUI interface.

It is designed to be used as a shared UI layer across other resources, allowing developers to register custom menus, open interactive input dialogs, and build advanced workflows with keyboard and mouse navigation.

With support for menu history, checkboxes, value selectors, progress bars, searchable inputs, layout editing, and local position saving, the system is flexible, lightweight, and easy to integrate into any server setup.

### Features

* Custom menu registration system
* Multi-field input dialogs
* Keyboard and mouse navigation
* Menu history and back navigation
* Checkboxes, side scroll values, and progress bars
* Number key quick selection
* Layout editor for menu and dialog position
* Per-element scaling
* Local settings persistence

### How it works

Other resources can register menus through exports and open them whenever needed.

Players can navigate menus using the keyboard, mouse hover, mouse clicks, mouse wheel, or quick-select number keys. Menus support nested navigation, checkbox toggles, scrollable values, and callback-based actions.

Input dialogs can also be opened from any resource and return user-entered values such as text, numbers, checkboxes, select values, date fields, sliders, and more.

### Included Pages

* Installation
* Configuration

### Requirements

Before using this resource, make sure all required dependencies are installed and started correctly.

### Notes

* Menus are registered and controlled through exports
* Input dialogs return values directly to the calling resource
* Menu and dialog layout settings are stored locally
* The resource can be used as a shared UI system for many other scripts


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://mskscripts.gitbook.io/mskscripts/scripts/menu-system.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
