> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nexdev.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Usage

> How admins place markers, and how bosses use the menu in-game.

How admins place markers, and how bosses use the menu in-game.

## Admin — placing markers

1. Stand **exactly** where you want the marker to spawn.
2. Run `/bossmenu_admin`.
3. The placement panel opens with three sections:

   * **Place** — pick a job from the dropdown, optionally type a label, and click **Place here**. The marker is inserted into the database immediately and appears for everyone.
   * **List** — every existing marker with its job, label, distance from you, GPS button, and a delete action.
   * **Delete** — click the trash icon on any row in the list, confirm in the modal.

Changes go live for every connected player instantly — no restart.

The dropdown is built from the framework's full job list, filtered through `Config.JobBlacklist`.

<Info>
  You can use the **GPS** button on a listed marker to set a waypoint to it, useful for sanity-checking where you placed things.
</Info>

## Boss — opening the menu

A boss walks up to a marker for their society. The marker only **draws** within `Config.DrawDistance` (15m default) and the interaction prompt only shows within `Config.InteractDistance` (1.6m default).

* **`textui` mode** — `[E] Open Boss Menu` appears in the bottom-right (or wherever you set `position`). Press `E`.
* **`target` mode** — third-eye option **Open Boss Menu** within `Config.target.distance` (2m default).

The menu opens with up to five tabs, controlled by `Config.MenuOptions`.

## Boss — Balance

Shows the society's current balance, pulled live from the configured backend:

* **ESX** → `addon_account_data` for `society_<jobname>`
* **QB / Qbox** → Renewed-Banking / qb-management exports, with qb-banking fallback

If the society row doesn't exist on ESX, it's seeded on the first read so you never see a `nil`.

## Boss — Withdraw / Deposit

Move money between the society and the player's configured account (`Config.PlayerAccount`, default `cash`).

* Capped at `Config.MaxTransaction` per click.
* **Refund on failure** — if the society write fails (e.g. banking resource down, society row locked), the player is refunded. Money is never silently lost.

## Boss — Employees

Lists every player currently employed in the society. Per-row actions:

* **Promote / demote** — pick a new grade from the framework's grade list.
* **Fire** — kicks the player from the job:
  * **Qbox** → `RemovePlayerFromJob` (drops the secondary job entry cleanly)
  * **QB / ESX** → `SetJob('unemployed', 0)` with a server-side **readback** to confirm the change stuck. ESX's `setJob` silently swallows errors otherwise.
* Self-fire and self-promote are blocked server-side. The UI buttons grey out for your own row anyway, but the server rechecks.
* You can't fire someone whose grade is in `Config.BossGradeNames` — bosses can't fire each other.

## Boss — Hire

Hires the nearest unemployed player into the society at grade 0.

* The candidate must be within `Config.HireDistance` (5m default) at the moment you click Hire — re-checked server-side, not just when the menu opens.
* If the candidate has moved away in the meantime, you get a notification and the action no-ops.

After hiring, the new employee is in the society at grade 0. Use Employees → Promote to push them to a higher grade.
