Configuration

Config.lua
Config = {
    Unemployed = {
        jobName = "unemployed",
        grade = 0,
    },
    Zones = {
        {
            pos = vec3(192.1572, -854.8563, 31.2871),
            size = vec3(2.0, 2.0, 2.0),
            rotation = 0.0,
            job = {['police'] = 0},
            debug = false,
            lockerPositions = {
                {
                    pos = vec3(197.3270, -856.9032, 31.1414),
                    size = vec3(2.0, 2.0, 2.0),
                    rotation = 0.0,
                    job = {['police'] = 0},
                },
                {
                    pos = vec3(192.1572, -854.8563, 31.2871),
                    size = vec3(2.0, 2.0, 2.0),
                    rotation = 0.0,
                    job = {['police'] = 0},
                },
            },
        },
    },
}

The config.lua file defines all customizable options for the BHD Bossmenu, allowing you to adjust job restrictions, zones, billing systems, and more. Below is a detailed breakdown of each section to help you configure the script effectively.


Unemployed Job

The Unemployed section defines the default job and grade level for unemployed players. This ensures that players without assigned jobs are properly accounted for.

Unemployed = {
    jobName = "unemployed", -- Default job for unemployed players.
    grade = 0,             -- Default grade for unemployed players.
}
Zones Configuration

The Zones array defines specific areas in the game world where the boss menu can be accessed. Each zone may also contain locker positions where players can interact with lockers for their job.


Parameters

Each zone includes the following parameters:

  • pos: Coordinates of the zone's center (X, Y, Z).

  • size: The dimensions of the zone (width, height, depth).

  • rotation: The orientation of the zone.

  • job: A table defining which jobs can access the zone and their minimum grade level.

  • debug: A boolean to enable or disable debug visuals for the zone.

  • lockerPositions: An array of lockers within the zone, where each locker can have its own parameters:

    • pos: Coordinates of the locker (X, Y, Z).

    • size: The dimensions of the locker interaction area.

    • rotation: Orientation of the locker.

    • job: Jobs allowed to access the locker.


Example Configuration

Zones = {
    {
        pos = vec3(192.1572, -854.8563, 31.2871), -- Center of the Zone
        size = vec3(2.0, 2.0, 2.0),              -- Zone dimensions
        rotation = 0.0,                          -- Zone rotation
        job = {['police'] = 0},                  -- Restricted to 'police' job, grade 0
        debug = false,                           -- Debug visuals off
        lockerPositions = {
            {
                pos = vec3(197.3270, -856.9032, 31.1414), -- Locker 1 position
                size = vec3(2.0, 2.0, 2.0),              -- Locker 1 dimensions
                rotation = 0.0,                          -- Locker 1 rotation
                job = {['police'] = 0},                  -- Accessible only by 'police' job
            },
            {
                pos = vec3(192.1572, -854.8563, 31.2871), -- Locker 2 position
                size = vec3(2.0, 2.0, 2.0),              -- Locker 2 dimensions
                rotation = 0.0,                          -- Locker 2 rotation
                job = {['police'] = 0},                  -- Accessible only by 'police' job
            },
        },
    },
}

Explanation of Parameters

  1. pos (Zone/Locker):

    • Defines the center position of the zone or locker using 3D coordinates (X, Y, Z).

  2. size (Zone/Locker):

    • Specifies the dimensions (width, height, depth) for interaction within the zone or locker.

  3. rotation:

    • Adjusts the orientation of the zone or locker.

  4. job:

    • A table of jobs and their minimum grade levels that are allowed to access the zone or locker.

    • Example:

      job = {['police'] = 0} -- Police job, grade 0
  5. debug (Zone only):

    • If set to true, displays a visible marker for the zone, useful for testing.

  6. lockerPositions:

    • An array of lockers, each with its own position, size, and job restrictions.


Notes

  • Each zone must have a unique pos value to avoid overlap issues.

  • Lockers provide additional interaction areas within the zone and can have job-specific restrictions.

  • Set debug to true during testing to visualize zones and ensure they are correctly placed.

Last updated