> For the complete documentation index, see [llms.txt](https://docs.northscripts.dev/site/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.northscripts.dev/site/documentation/resources/bossmenu/player-guide.md).

# Player Guide

Every framework job with more than one grade, except `unemployed`. A job with a single grade gets it only when that grade is named `Config.BossGradeName` or is flagged as boss by the framework.

The **highest grade is always the boss** and always has every permission. On QBCore and Qbox, a grade flagged `isboss` counts as boss too.

### Permissions

Each grade below the boss gets its own set, edited from **Grades**:

| Permission                | Allows                                        |
| ------------------------- | --------------------------------------------- |
| Boss Menu Access          | Opening the menu and seeing its point         |
| Invite Player             | Sending job offers                            |
| Manage Employees          | Promoting, changing grade, firing             |
| Add Grade                 | Creating grades                               |
| Manage Grades             | Editing and reordering grades below their own |
| Delete Grades             | Deleting grades                               |
| Withdraw                  | Taking money from the society account         |
| Deposit                   | Adding money to the society account           |
| Change Boss Menu Location | Moving the boss menu point                    |
| Manage On Duty Location   | Placing the duty point                        |
| Manage Stash Location     | Creating, editing and placing stashes         |
| Manage Wardrobe Location  | Creating and placing wardrobes                |
| Manage Outfits            | Saving, editing and deleting outfits          |
| Change Business Logo      | Setting the logo                              |

A grade needs **Boss Menu Access** for any of the others to be usable. Nobody can act on an employee or a grade at or above their own.

### Employees

* **Hiring** sends an offer to an online player by server id. They have 30 seconds to accept with Enter or decline with Backspace.
* **Promoting, changing grade and firing** work on offline employees too.
* Headshots are taken automatically the first time an employee is in a suitable state (on foot, no menu open) and refreshed weekly.

### Grades

Grades are the framework's own. The menu stores only the permission set of each grade.

| Framework | Grade changes are saved to   | Survive a restart                                    |
| --------- | ---------------------------- | ---------------------------------------------------- |
| ESX       | `jobs` / `job_grades` tables | Yes                                                  |
| Qbox      | `qbx_core/shared/jobs.lua`   | Yes                                                  |
| QBCore    | Memory                       | No. Make them permanent in `qb-core/shared/jobs.lua` |

A new grade is added at the bottom of the ladder. Existing grades and the employees in them move up one level. A grade can only be deleted when no employee holds it, and the top grade cannot be deleted.

### Society money

| Framework     | Where the balance lives                                                                                    |
| ------------- | ---------------------------------------------------------------------------------------------------------- |
| ESX           | `society_<job>` in `addon_account_data`. Created automatically, with or without `esx_addonaccount` running |
| QBCore / Qbox | `Renewed-Banking`, else `qb-banking`, else the menu's own `bossmenu_accounts` table                        |

Deposits and withdrawals use the player's cash.

On ESX, a society account the menu creates is picked up by `esx_addonaccount` on its next restart.

### Analytics

The charts and the activity log are built from the menu's own transaction log. They include deposits and withdrawals made in the menu and anything sent through the exports. Money another script moves directly through your banking resource changes the balance but does not appear in the charts. To include it, call `AddSocietyMoney` / `RemoveSocietyMoney` from that script instead.

### Stashes

A boss creates named stashes, picks the grades allowed to open each one (none selected means every employee) and places them. The boss can always open every stash.

With `ox_inventory`, stashes are registered to the job, so players outside the job cannot open them.

### Wardrobes and outfits

1. Dress your character the way the uniform should look.
2. Open **Outfits**, save it and choose which grades may wear it.
3. Employees put it on at any wardrobe point.

An outfit stores clothing and accessories only, never the face, hair or model. Putting one on changes those slots and leaves the rest of the character as it was.

| Clothing resource                                                      | After a relog                                                      |
| ---------------------------------------------------------------------- | ------------------------------------------------------------------ |
| `esx_skin`, `illenium-appearance`, `fivem-appearance`, `ox_appearance` | The outfit is saved and stays on                                   |
| `qb-clothing`                                                          | The outfit stays on once the player saves in the clothing menu     |
| None                                                                   | The outfit is lost. Connect yours with `Bridge.Custom.ApplyOutfit` |

### Duty

The duty point toggles the framework's own duty state, so paychecks and other scripts that read it follow.

***

## Commands

| Command        | Who                                            | Description                                     |
| -------------- | ---------------------------------------------- | ----------------------------------------------- |
| `/setbossmenu` | Boss of a job without a point yet, or an admin | Places the boss menu point for your current job |

An admin is a player in the ESX `admin` or `superadmin` group, or with the QBCore / Qbox `admin` or `god` permission. This check can be replaced in `bridge/overrides.lua`.

There is no command or keybind to open the menu. It opens at its placed point, or from your own script through the exports.

***
