DocsBoss Menu

Installation

Requirements, SQL import and start order.

Not released yet. These pages are written from the code of manniche_bossmenu and can change before the release.

Requirements

These resources are listed as dependencies in fxmanifest.lua:

  • es_extended (ESX Legacy)
  • oxmysql
  • ox_lib
  • esx_addonaccount

Only ESX is supported. The script reads the framework with exports['es_extended']:getSharedObject(). There is no other framework detection.

Install

  1. Put the manniche_bossmenu folder in your resources folder.
  2. Import sql/install.sql. It is safe to run more than once.
  3. Make sure every job in Config.Jobs has a society_<job> row in addon_account (and in addon_account_data with owner NULL). The standard esx_policejob, esx_ambulancejob, esx_mechanicjob, esx_taxijob and esx_vehicleshop SQL files create them.
  4. Add the resource to server.cfg after its dependencies:
ensure es_extended
ensure oxmysql
ensure ox_lib
ensure esx_addonaccount
ensure manniche_bossmenu

SQL file

sql/install.sql creates two tables:

  • manniche_bossmenu_transactions: deposit and withdraw history per job (identifier, name, action, amount, balance, time).
  • manniche_bossmenu_training: special trainings granted per player and job.

The job money itself is not stored here. It lives in esx_addonaccount.

User interface

The UI is already built in html/. You do not need to build anything to use the script. To change the UI, edit the source in web/ and run:

cd web
npm install --ignore-scripts
npm run build

First run check

  1. Start the server and watch the console. After about two seconds the script checks every job in Config.Jobs. A yellow warning means a society account or job grades are missing (see Troubleshooting).
  2. Join as a player whose job is in Config.Jobs and whose grade is the boss grade.
  3. Run /bossmenu. The tablet opens and the player holds a tablet prop.
Set Config.Debug = true to print extra messages with the prefix [manniche_bossmenu].