🖥️Installation Guide

Bossmenu Script Installation Guide

This page is dedicated to installation of our bossmenu script. Follow steps listed below to start using Bossmenu System on your server.

Step 1: Installing the dependencies

Step 2: Setting up the Database

For our script to work, you need to modify your database. Run these SQL commands:

ESX
CREATE TABLE IF NOT EXISTS `bossmenu_bossmenus` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  `label` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  `logo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  `coords` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  `stash` longtext DEFAULT NULL,
  `tabs` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  `licenses` longtext DEFAULT NULL,
  `permissions` longtext DEFAULT NULL,
  `createdAt` varchar(25) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS `bossmenu_employee_profiles` (
  `identifier` varchar(46) NOT NULL,
  `picture` longtext DEFAULT NULL,
  `notes` longtext NOT NULL,
  `joinDate` varchar(25) NOT NULL,
  PRIMARY KEY (`identifier`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

CREATE TABLE IF NOT EXISTS `bossmenu_items` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(100) NOT NULL,
  `label` varchar(100) NOT NULL,
  `job` varchar(50) NOT NULL,
  `desc` text DEFAULT NULL,
  `price` int(11) NOT NULL,
  `enabled` tinyint(1) NOT NULL DEFAULT 1,
  `category` varchar(50) DEFAULT NULL,
  `createdAt` varchar(25) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

CREATE TABLE IF NOT EXISTS `bossmenu_salaries` (
  `job` varchar(30) NOT NULL,
  `salary` longtext DEFAULT '[]',
  PRIMARY KEY (`job`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

CREATE TABLE IF NOT EXISTS `bossmenu_society` (
  `name` varchar(30) NOT NULL,
  `type` varchar(20) NOT NULL,
  `balance` int(11) NOT NULL,
  `income` int(11) NOT NULL,
  `outcome` int(11) NOT NULL,
  `transactions` longtext DEFAULT NULL,
  `chart` longtext DEFAULT NULL,
  PRIMARY KEY (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

CREATE TABLE IF NOT EXISTS `bossmenu_vehicles` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `job` varchar(50) NOT NULL,
  `model` varchar(50) NOT NULL,
  `label` varchar(50) NOT NULL,
  `desc` longtext DEFAULT NULL,
  `price` int(11) NOT NULL,
  `enabled` tinyint(1) NOT NULL DEFAULT 1,
  `category` varchar(50) DEFAULT NULL,
  `createdAt` varchar(25) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

CREATE TABLE IF NOT EXISTS `bossmenu_vehicle_orders` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `job` varchar(30) DEFAULT NULL,
  `order_by` varchar(50) DEFAULT NULL,
  `model` varchar(50) NOT NULL,
  `label` varchar(50) NOT NULL,
  `plate` varchar(12) NOT NULL,
  `vin` varchar(20) NOT NULL,
  `status` int(1) NOT NULL,
  `delivery_time` int(11) DEFAULT NULL,
  `date` varchar(20) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `plate` (`plate`),
  UNIQUE KEY `vin` (`vin`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

CREATE TABLE IF NOT EXISTS `gangs` (
  `name` varchar(20) NOT NULL,
  `label` varchar(35) NOT NULL,
  PRIMARY KEY (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

INSERT IGNORE INTO `gangs` (`name`, `label`) VALUES
	('ballas', 'Ballas');

CREATE TABLE IF NOT EXISTS `gang_grades` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(25) NOT NULL,
  `label` varchar(30) NOT NULL,
  `grade` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

INSERT IGNORE INTO `gang_grades` (`id`, `name`, `label`, `grade`) VALUES
	(1, 'ballas', 'Recruit', 0),
	(2, 'ballas', 'Member', 1),
	(3, 'ballas', 'Soldier', 2),
	(4, 'ballas', 'Lieutenant', 3),
	(5, 'ballas', 'Boss', 4);

ALTER TABLE `users`
ADD COLUMN IF NOT EXISTS `gang` varchar(30) DEFAULT NULL,
ADD COLUMN IF NOT EXISTS `gang_grade` int(11) DEFAULT NULL,
ADD COLUMN IF NOT EXISTS `dutyTime` int(11) DEFAULT 0;

ALTER TABLE `owned_vehicles`
ADD COLUMN IF NOT EXISTS `vin` varchar(17) DEFAULT NULL,
ADD COLUMN IF NOT EXISTS `job` varchar(30) DEFAULT NULL;
QB/QBOX
CREATE TABLE IF NOT EXISTS `bossmenu_bossmenus` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  `label` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  `logo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  `coords` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  `stash` longtext DEFAULT NULL,
  `tabs` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  `licenses` longtext DEFAULT NULL,
  `permissions` longtext DEFAULT NULL,
  `createdAt` varchar(25) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS `bossmenu_employee_profiles` (
  `identifier` varchar(46) NOT NULL,
  `picture` longtext DEFAULT NULL,
  `notes` longtext NOT NULL,
  `joinDate` varchar(25) NOT NULL,
  PRIMARY KEY (`identifier`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

CREATE TABLE IF NOT EXISTS `bossmenu_items` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(100) NOT NULL,
  `label` varchar(100) NOT NULL,
  `job` varchar(50) NOT NULL,
  `desc` text DEFAULT NULL,
  `price` int(11) NOT NULL,
  `enabled` tinyint(1) NOT NULL DEFAULT 1,
  `category` varchar(50) DEFAULT NULL,
  `createdAt` varchar(25) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

CREATE TABLE IF NOT EXISTS `bossmenu_salaries` (
  `job` varchar(30) NOT NULL,
  `salary` longtext DEFAULT '[]',
  PRIMARY KEY (`job`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

CREATE TABLE IF NOT EXISTS `bossmenu_society` (
  `name` varchar(30) NOT NULL,
  `type` varchar(20) NOT NULL,
  `balance` int(11) NOT NULL,
  `income` int(11) NOT NULL,
  `outcome` int(11) NOT NULL,
  `transactions` longtext DEFAULT NULL,
  `chart` longtext DEFAULT NULL,
  PRIMARY KEY (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

CREATE TABLE IF NOT EXISTS `bossmenu_vehicles` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `job` varchar(50) NOT NULL,
  `model` varchar(50) NOT NULL,
  `label` varchar(50) NOT NULL,
  `desc` longtext DEFAULT NULL,
  `price` int(11) NOT NULL,
  `enabled` tinyint(1) NOT NULL DEFAULT 1,
  `category` varchar(50) DEFAULT NULL,
  `createdAt` varchar(25) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

CREATE TABLE IF NOT EXISTS `bossmenu_vehicle_orders` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `job` varchar(30) DEFAULT NULL,
  `order_by` varchar(50) DEFAULT NULL,
  `model` varchar(50) NOT NULL,
  `label` varchar(50) NOT NULL,
  `plate` varchar(12) NOT NULL,
  `vin` varchar(20) NOT NULL,
  `status` int(1) NOT NULL,
  `delivery_time` int(11) DEFAULT NULL,
  `date` varchar(20) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `plate` (`plate`),
  UNIQUE KEY `vin` (`vin`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

ALTER TABLE `players` ADD COLUMN IF NOT EXISTS `dutyTime` int(11) DEFAULT 0;

ALTER TABLE `player_vehicles`
ADD COLUMN IF NOT EXISTS `vin` varchar(17) DEFAULT NULL,
ADD COLUMN IF NOT EXISTS `job` varchar(30) DEFAULT NULL;

Step 3: Downloading the Bossmenu Script

  1. Download the bossmenu script from your Keymaster

  2. Extract the files to your resources (or any other preffered) folder.

  3. Add the following line to your server.cfg

ensure xnr-bossmenu

Step 4: Configuration

  1. Open the files in the shared/ folder

  2. Configure the script basing on your needs.

Step 5: (Optional, if you want to use built-in salary system)

ESX

Open es_extended/shared/config/main.lua

Set the following option to false:

Config.EnablePaycheck = false
QB

Open qb-core/server/player.lua and comment the following line:

-- PaycheckInterval()
Qbox

Open qbx_core/server/loops.lua and comment following lines:

    -- CreateThread(function()
    --     local interval = 60000 * config.money.paycheckTimeout
    --     while true do
    --         Wait(interval)
    --         for _, player in pairs(QBX.Players) do
    --             pay(player)
    --         end
    --     end
    -- end)

Step 6: Start using our script

  1. Save all changes

  2. Restart / Start your FiveM server

Last updated