🔮Add / Edit Club Things

You can learn how to add and edit Club here

Let's go inside the wais-club folder and open the Config.lua file with an editor.

There's a vacant building down there. You can make a quick start by copying and pasting it

["club-name"] = {
    ["job"] = "",
    ["boss_grade"] = 0, 
    ["debug"] = false,
    ["polyZone"] = {
        ["WallHeight"] = 25,
        ["Zones"] = {
            vec(),
            vec(),
            vec(),
            vec(),
        }
    },
    ["boss_menu"] = {
        ["coords"] = vector3(0.0, 0.0, 0.0),
        ["distance"] = 3,
        ["stash"] = {
            ["use"] = false,
            ["weight"] = 1000,
            ["slots"] = 50,
        },
        ["settings"] = {
            ["label"] = "club-blip-name",
            ["sprite"] = 121,
            ["scale"] = 0.7,
            ["color"] = 48,
            ["coords"] = vector3(0.0, 0.0, 0.0),
            ["work_waitress"] = false,
            ["spotlights"] = {},
            ["animatedNpcs"] = {}
        },
    },
    ["bar_market"] = {
        ["coords"] = vector3(0.0, 0.0, 0.0),
        ["distance"] = 3.0,
        ["items"] = {
            ["foods"] = {
                ["bread"] = {
                    ["price"] = 1,
                    ["label"] = "Bread",
                }
            },
            ["drinks"] = {
                ["water"] = {
                    ["price"] = 1,
                    ["label"] = "Water",
                }
            },
        }
    },
    ["tables"] = {
        [1] = {
            ["club"] = "club-name",
            ["textZ"] = 0.0,
            ["coords"] = vector3(0.0, 0.0, 0.0),
            ["radius"] = 2.0,
        },
    },
    ["dj_cabin"] = {
        ["coords"] = vector3(0.0, 0.0, 0.0),
        ["distance"] = 3.0,
        ["music_coords"] = vector3(0.0, 0.0, 0.0),
        ["music_maxDistance"] = 40.0,
    },
},

‘club-name’ must be unique. Give it a simple and meaningful name as it will be used in the sql table and in some code inside.

Job integration 💼

Don't forget to add Job making sure it is not used for another club.

  • You must enter your job name where it says ‘your-job-name-here’

Boss_grade: Written for ESX, In ESX, you have to write the boss grad of the job here. Thus, it will be known whether the person is boss or not. For QBCore and Qbx you can write 0 or nil here

["job"] = "your-job-name-here",
["boss_grade"] = 0, 
  • Add Job For QBCore/Qbx

    • Go to this location: qb-core/shared/jobs.lua

    • Go to the bottom line and add the new job with the correct syntax.

    • Below is an example.

      your-job-name = {
      	label = 'Job Label',
      	type = 'club',
      	defaultDuty = false,
      	offDutyPay = false,
      	grades = {
      		['0'] = { name = 'Waiter', payment = 50 },
      		['1'] = { name = 'Employee', payment = 75 },
      		['2'] = { name = 'Assistant', payment = 100 },
      		['3'] = { name = 'Director', payment = 125 },
      		['4'] = { name = 'Boss', isboss = true, payment = 150 },
      	},
      },
  • Add Job For ESX

    • Go to your sql table and find the jobs table.

    • Name: The job name you created for the club.

    • Label: Your job label

    • Visit Job_grades and add a grade by adding a new stune according to the name you created


Polyzone / Debug

You must enter the coordinates of the polzyzone, where the area consists simply of 4 sides.

If the MLO / YMAP has a very different shape, you can get a more stable structure by entering a detailed coordinate operation

  • Debug: By making True, you can see the target, polyzone and other points in the area with a red circle

  • WallHeight: Keep 25 by default. This is the height level of the Polyzone.


Boss Menu / Stash / Blips & Club Settings 🔩

When the script is first started, if the club is not in the sql table, it is registered in sql. Then the boss menu changes in config (aniamtedNpcs, spotlights, blip sptire and colour) will not be changed. Because it will work with data from sql

  • Coords, Distance: The coordinate to access the boss menu and the interaction distance for this area. It cannot be opened with the command, you can only open it in that area in the club

  • Stash: If you set ["use"] to false, you will not be able to access the custom repository for the venue from the boss menu.

  • Settings: There are many modifiable variables related to the Club.

    • Label: The default blips name on the map

    • Sprite: Default blips view on the map. You can access the sprites here

    • Scale: Default blips size on the map.

    • Coords: The location of the blip on the map.

    • Work_waitress: If true, drinks and food should be taken from the tables in the club by calling the waiter. If false, people can access the bar menu by looking at the table with Target.

    • Spotlights: Placing the light by default is quite excusable.Therefore, I do not recommend putting light in the default state, you can easily handle it with Creator. Do not touch or delete!

    • AnimatedNpcs: It is in a way that you can place npc by default. If you do not want to, you can provide npc placement with Creator. Below is a default table structure. You can add it by editing it. Remember, the changes you will make after this club is registered to sql will not work. Ped models

    • ["npc-short-name"] = {
          class = nil,
          name = "NPC Label",
          model = "a_f_m_beach_01",
          anim = "anim name",
          dict = "anim directory",
          canDoAnim = false, -- If you make True, it will do the animation you wrote
          coords = vector3(0.0, 0.0, 0.0),
          heading = 0.0,
      },

Bar Market / Shop System 💸

It operates within the entered position and control distance. It does not open with command. Received products can be printed as invoice to the table according to work_waitress status.

Invoices or the prices of the products received at the tables are defined to the Club Society.

There must be a ‘Drinks’ and ‘Foods’ category in the item table. It is not suitable to add more categories at the moment.

  • The item you add must definitely be in the Core or Inventory item table. If not, you may get an error or you may not see the item.

  • Item prices will be actively displayed in the bar system and will go to the Club's society in case of purchase


Tables / Service 👨🏼‍💼

ID, Coordinate and Radius of the tables that will receive service in the club are required.

Make sure to take the table coordinate from the centre and set the Z position correctly.

  • Club:The first short club name you wrote. It must belong to the club itself, do not write another club short name

  • TextZ:Value of Height to be Added to make it easier for employees to see the number of desks

  • Coords, Radius:Coordinate and width of the table


DJ Cabinet / Music System 🎼

Only YouTube URLs are supported.

The DJ Cabinet works with ‘xsound’. Favourite songs or other changes are instantly updated to other people in the job.

Songs cannot be looped. Forward or Back buttons have no function.

  • Coords, Distance:Location and interaction area to access the DJ Cabinet

  • Music Coords, Distance: The main position and width of the music to be played. I recommend you to be sensitive about the width. Take coordinates from a location where there is as much interaction as possible

Last updated