# QBCore Installation

{% @github-files/github-code-block url="<https://github.com/ahmetkavl/kvlstore-qbtarget>" %}

```lua
                            🍹• Recipes

🍹• Mojito Recipe = 1 Ice, 1 Lime, 1 Mint, 1 Rum, 1 SodaWater
🍹• Sex On The Beach Recipe = 2 Ice, 1 Orange Juice, 1 Vodka
🍹• Pina Colada Recipe = 2 Ice, 1 Pineapple Juice, 1 Rum
🍹• Martini Recipe = 1 Ice, 1 Vodka, 3 Olive
🍹• Cosmo Politan Recipe = 1 Ice, 1 Liqueur, 1 Vodka, 1 Lemon Juice
🍹• Whiskey Sour Recipe = 1 Ice, 1 Whiskey, 1 SodaWater
🍹• White Russian Recipe = 3 Ice, 1 Vodka, 1 Liqueur
🍹• Classic Margarita Recipe = 1 Ice, 1 Tequila, 1 Liqueur, 1 Lemon Juice
🍹• Cuba Libre Recipe = 3 Ice, 1 Rum, 1 Lime, 1 Mint
🍹• Tequila Sunrise Recipe = 2 Ice, 1 Tequila, 1 Liqueur, 1 Orange Juice
```

### Step - 1: <a href="#step-1" id="step-1"></a>

Copy kvl-unicornjob to your resources directory&#x20;

Add "ensure kvl-unicornjob" to your server config

Go to the given directories and add these codes.

```
qb-core/shared/jobs.lua
['galaxyclub'] = {
    label = 'Galaxy Club',
    defaultDuty = true,
    offDutyPay = false,
    grades = {
        ['0'] = {
            name = 'Employee',
            payment = 50
        },
        ['1'] = {
            name = 'Boss',
            isboss = true,
            payment = 50
        },
    },
},

qb-management/client/cl_config.lua  ( (Config.BossMenus) Place the following code neatly at the bottom of the Boss menu.)
galaxyclub = {
    vector3(-1619.58, -3010.87, -75.20),
},
```

### Step - 2: <a href="#step-3" id="step-3"></a>

### Create the shop <a href="#create-the-shop" id="create-the-shop"></a>

```
["galaxystock"] = {
    ["label"] = "Galaxy Shop",
    ["coords"] = vector4(-1581.95, -3011.21, -76.00, 91.697395324707),
    ["ped"] = 's_m_y_valet_01',
    ["scenario"] = "WORLD_HUMAN_STAND_MOBILE_CLUBHOUSE",
    ["radius"] = 1.5,
    ["targetIcon"] = "fas fa-leaf",
    ["targetLabel"] = "Open Stock Shop",
    ["products"] = Config.Products["galaxystock"],
    ["showblip"] = false,
    ["blipsprite"] = 52,
    ["blipscale"] = 0.8,
    ["blipcolor"] = 0,
    ["delivery"] = vector4(-1581.95, -3011.21, -76.00, 91.697395324707)
},

["galaxystock2"] = {
    ["label"] = "Galaxy Shop",
    ["coords"] = vector4(-1575.75, -3017.85, -79.00, 104.80337524414),
    ["ped"] = 's_m_y_valet_01',
    ["scenario"] = "WORLD_HUMAN_STAND_MOBILE_CLUBHOUSE",
    ["radius"] = 1.5,
    ["targetIcon"] = "fas fa-leaf",
    ["targetLabel"] = "Open Stock Shop",
    ["products"] = Config.Products["galaxystock"],
    ["showblip"] = false,
    ["blipsprite"] = 52,
    ["blipscale"] = 0.8,
    ["blipcolor"] = 0,
    ["delivery"] = vector4(-1575.75, -3017.85, -79.00, 104.80337524414)
},

["galaxystock3"] = {
    ["label"] = "Galaxy Shop",
    ["coords"] = vector4(-1612.34, -3019.54, -75.20, 359.63238525391),
    ["ped"] = 's_m_y_valet_01',
    ["scenario"] = "WORLD_HUMAN_STAND_MOBILE_CLUBHOUSE",
    ["radius"] = 1.5,
    ["targetIcon"] = "fas fa-leaf",
    ["targetLabel"] = "Open Stock Shop",
    ["products"] = Config.Products["galaxystock"],
    ["showblip"] = false,
    ["blipsprite"] = 52,
    ["blipscale"] = 0.8,
    ["blipcolor"] = 0,
    ["delivery"] = vector4(-1612.34, -3019.54, -75.20, 359.63238525391)
},

["galaxyshop"] = {
    ["label"] = "Galaxy Club",
    ["coords"] = vector4(-1585.07, -3013.85, -76.00, 89.862823486328),
    ["ped"] = 's_m_y_barman_01',
    ["scenario"] = "WORLD_HUMAN_PARTYING",
    ["radius"] = 1.5,
    ["targetIcon"] = "fas fa-leaf",
    ["targetLabel"] = "Open Shop",
    ["products"] = Config.Products["galaxyshop"],
    ["showblip"] = false,
    ["blipsprite"] = 52,
    ["blipscale"] = 0.8,
    ["blipcolor"] = 0,
    ["delivery"] = vector4(-1585.07, -3013.85, -76.00, 89.862823486328)
},

["galaxyshop2"] = {
    ["label"] = "Galaxy Club",
    ["coords"] = vector4(-1578.69, -3016.60, -79.00, 359.41226196289),
    ["ped"] = 's_m_y_barman_01',
    ["scenario"] = "WORLD_HUMAN_PARTYING",
    ["radius"] = 1.5,
    ["targetIcon"] = "fas fa-leaf",
    ["targetLabel"] = "Open Shop",
    ["products"] = Config.Products["galaxyshop"],
    ["showblip"] = false,
    ["blipsprite"] = 52,
    ["blipscale"] = 0.8,
    ["blipcolor"] = 0,
    ["delivery"] = vector4(-1578.69, -3016.60, -79.00, 359.41226196289)
},

["galaxyshop3"] = {
    ["label"] = "Galaxy Club",
    ["coords"] = vector4(-1610.28, -3016.91, -75.20, 264.83203125),
    ["ped"] = 's_m_y_barman_01',
    ["scenario"] = "WORLD_HUMAN_PARTYING",
    ["radius"] = 1.5,
    ["targetIcon"] = "fas fa-leaf",
    ["targetLabel"] = "Open Shop",
    ["products"] = Config.Products["galaxyshop"],
    ["showblip"] = false,
    ["blipsprite"] = 52,
    ["blipscale"] = 0.8,
    ["blipcolor"] = 0,
    ["delivery"] = vector4(-1610.28, -3016.91, -75.20, 264.83203125)
},
```

### Then we will add the items to the shop <a href="#then-we-will-add-the-items-to-the-shop" id="then-we-will-add-the-items-to-the-shop"></a>

````
```lua
["galaxystock"] = {
    [1] = {
        name = "ice",
        price = 5,
        amount = 1,
        info = {},
        type = "item",
        slot = 1,
        requiredJob = { "galaxyclub" }
    },
    [2] = {
        name = "lime",
        price = 5,
        amount = 1,
        info = {},
        type = "item",
        slot = 2,
        requiredJob = { "galaxyclub" }
    },
    [3] = {
        name = "mint",
        price = 5,
        amount = 1,
        info = {},
        type = "item",
        slot = 3,
        requiredJob = { "galaxyclub" }
    },
    [4] = {
        name = "sodawater",
        price = 5,
        amount = 1,
        info = {},
        type = "item",
        slot = 4,
        requiredJob = { "galaxyclub" }
    },
    [5] = {
        name = "liqueur",
        price = 5,
        amount = 1,
        info = {},
        type = "item",
        slot = 5,
        requiredJob = { "galaxyclub" }
    },
    [6] = {
        name = "vodka",
        price = 5,
        amount = 1,
        info = {},
        type = "item",
        slot = 6,
        requiredJob = { "galaxyclub" }
    },
    [7] = {
        name = "rum",
        price = 5,
        amount = 1,
        info = {},
        type = "item",
        slot = 7,
        requiredJob = { "galaxyclub" }
    },
    [8] = {
        name = "whiskey",
        price = 5,
        amount = 1,
        info = {},
        type = "item",
        slot = 8,
        requiredJob = { "galaxyclub" }
    },
    [9] = {
        name = "tequila",
        price = 5,
        amount = 1,
        info = {},
        type = "item",
        slot = 9,
        requiredJob = { "galaxyclub" }
    },
    [10] = {
        name = "lemonjuice",
        price = 5,
        amount = 1,
        info = {},
        type = "item",
        slot = 10,
        requiredJob = { "galaxyclub" }
    },
    [11] = {
        name = "olive",
        price = 5,
        amount = 1,
        info = {},
        type = "item",
        slot = 11,
        requiredJob = { "galaxyclub" }
    },
    [12] = {
        name = "orangejuice",
        price = 5,
        amount = 1,
        info = {},
        type = "item",
        slot = 12,
        requiredJob = { "galaxyclub" }
    },
    [13] = {
        name = "pineapplejuice",
        price = 5,
        amount = 1,
        info = {},
        type = "item",
        slot = 13,
        requiredJob = { "galaxyclub" }
    },
    [14] = {
        name = "lemonjuice",
        price = 5,
        amount = 1,
        info = {},
        type = "item",
        slot = 14,
    },
},

["galaxyshop"] = {
    [1] = {
        name = "vodka",
        price = 30,
        amount = 1,
        info = {},
        type = "item",
        slot = 1,
    },
    [2] = {
        name = "rum",
        price = 30,
        amount = 1,
        info = {},
        type = "item",
        slot = 2,
    },
    [3] = {
        name = "whiskey",
        price = 30,
        amount = 1,
        info = {},
        type = "item",
        slot = 3,
    },
    [4] = {
        name = "tequila",
        price = 30,
        amount = 1,
        info = {},
        type = "item",
        slot = 4,
    },
    [5] = {
        name = "orangejuice",
        price = 20,
        amount = 1,
        info = {},
        type = "item",
        slot = 5,
    },
    [6] = {
        name = "pineapplejuice",
        price = 20,
        amount = 1,
        info = {},
        type = "item",
        slot = 6,
    },
},
```
````

### Next we will add the images for our inventory and the items to qb-core/shared/items.lua <a href="#next-we-will-add-the-images-for-our-inventory-and-the-items-to-qb-core-shared-items.lua" id="next-we-will-add-the-images-for-our-inventory-and-the-items-to-qb-core-shared-items.lua"></a>

### Adding images for your inventory Copy the files from Images to your qb-inventory/html/images folder. <a href="#adding-images-for-your-inventory-copy-the-files-from-images-to-your-inventoryname-html-images-folder" id="adding-images-for-your-inventory-copy-the-files-from-images-to-your-inventoryname-html-images-folder"></a>

### Adding items to the items.lua <a href="#adding-items-to-the-items.lua" id="adding-items-to-the-items.lua"></a>

```
['ice'] 			 	 	= {['name'] = 'ice', 			  			['label'] = 'Ice', 					['weight'] = 100, 	    ['type'] = 'item', 		['image'] = 'ice.png', 					['unique'] = false, 	['useable'] = false, 	['shouldClose'] = true,    ['combinable'] = nil,   ['description'] = nil},
['lime'] 			 	 	= {['name'] = 'lime', 			  			['label'] = 'Lime', 				['weight'] = 100, 	    ['type'] = 'item', 		['image'] = 'lime.png', 				['unique'] = false, 	['useable'] = false, 	['shouldClose'] = true,    ['combinable'] = nil,   ['description'] = nil},
['mint'] 			 	 	= {['name'] = 'mint', 			  			['label'] = 'Mint', 				['weight'] = 100, 	    ['type'] = 'item', 		['image'] = 'mint.png', 				['unique'] = false, 	['useable'] = false, 	['shouldClose'] = true,    ['combinable'] = nil,   ['description'] = nil},
['sodawater'] 			 	= {['name'] = 'sodawater', 			  		['label'] = 'Soda Water', 			['weight'] = 100, 	    ['type'] = 'item', 		['image'] = 'sodawater.png', 			['unique'] = false, 	['useable'] = false, 	['shouldClose'] = true,    ['combinable'] = nil,   ['description'] = nil},
['orangejuice'] 			= {['name'] = 'orangejuice', 			  	['label'] = 'Orange Juice', 		['weight'] = 100, 	    ['type'] = 'item', 		['image'] = 'orangejuice.png', 			['unique'] = false, 	['useable'] = false, 	['shouldClose'] = true,    ['combinable'] = nil,   ['description'] = nil},
['pineapplejuice'] 			= {['name'] = 'pineapplejuice', 			['label'] = 'Pineapple Juice', 		['weight'] = 100, 	    ['type'] = 'item', 		['image'] = 'pineapplejuice.png', 		['unique'] = false, 	['useable'] = false, 	['shouldClose'] = true,    ['combinable'] = nil,   ['description'] = nil},
['olive'] 			 	 	= {['name'] = 'olive', 			  			['label'] = 'Olive', 				['weight'] = 100, 	    ['type'] = 'item', 		['image'] = 'olive.png', 				['unique'] = false, 	['useable'] = false, 	['shouldClose'] = true,    ['combinable'] = nil,   ['description'] = nil},
['liqueur'] 			 	= {['name'] = 'liqueur', 			  		['label'] = 'Liqueur', 				['weight'] = 100, 	    ['type'] = 'item', 		['image'] = 'liqueur.png', 				['unique'] = false, 	['useable'] = false, 	['shouldClose'] = true,    ['combinable'] = nil,   ['description'] = nil},
['lemonjuice'] 			 	= {['name'] = 'lemonjuice', 			  	['label'] = 'Lemon Juice', 			['weight'] = 100, 	    ['type'] = 'item', 		['image'] = 'lemonjuice.png', 			['unique'] = false, 	['useable'] = false, 	['shouldClose'] = true,    ['combinable'] = nil,   ['description'] = nil},
['tequila'] 			 	= {['name'] = 'tequila', 			  		['label'] = 'Tequila', 				['weight'] = 100, 	    ['type'] = 'item', 		['image'] = 'tequila.png', 				['unique'] = false, 	['useable'] = false, 	['shouldClose'] = true,    ['combinable'] = nil,   ['description'] = nil},
['whiskey'] 			 	= {['name'] = 'whiskey', 			  		['label'] = 'Whiskey', 				['weight'] = 100, 	    ['type'] = 'item', 		['image'] = 'whiskey.png', 				['unique'] = false, 	['useable'] = false, 	['shouldClose'] = true,    ['combinable'] = nil,   ['description'] = nil},
['rum'] 			 	 	= {['name'] = 'rum', 			  			['label'] = 'Rum', 					['weight'] = 100, 	    ['type'] = 'item', 		['image'] = 'rum.png', 					['unique'] = false, 	['useable'] = false, 	['shouldClose'] = true,    ['combinable'] = nil,   ['description'] = nil},
['vodka'] 			 	 	= {['name'] = 'vodka', 			  			['label'] = 'Vodka', 				['weight'] = 100, 	    ['type'] = 'item', 		['image'] = 'vodka.png', 				['unique'] = false, 	['useable'] = false, 	['shouldClose'] = true,    ['combinable'] = nil,   ['description'] = nil},
['mojito'] 			 		= {['name'] = 'mojito', 			  		['label'] = 'Mojito', 				['weight'] = 100, 	    ['type'] = 'item', 		['image'] = 'mojito.png', 				['unique'] = false, 	['useable'] = false, 	['shouldClose'] = true,    ['combinable'] = nil,   ['description'] = nil},
['sexonthebeach'] 			= {['name'] = 'sexonthebeach', 			  	['label'] = 'Sex on the Beach', 	['weight'] = 100, 	    ['type'] = 'item', 		['image'] = 'sexonthebeach.png', 		['unique'] = false, 	['useable'] = false, 	['shouldClose'] = true,    ['combinable'] = nil,   ['description'] = nil},
['pinacolada'] 			 	= {['name'] = 'pinacolada', 			  	['label'] = 'Pina Colada', 			['weight'] = 100, 	    ['type'] = 'item', 		['image'] = 'pinacolada.png', 			['unique'] = false, 	['useable'] = false, 	['shouldClose'] = true,    ['combinable'] = nil,   ['description'] = nil},
['martini'] 			 	= {['name'] = 'martini', 			  		['label'] = 'Martini', 				['weight'] = 100, 	    ['type'] = 'item', 		['image'] = 'martini.png', 				['unique'] = false, 	['useable'] = false, 	['shouldClose'] = true,    ['combinable'] = nil,   ['description'] = nil},
['cosmopolitan'] 			= {['name'] = 'cosmopolitan', 			  	['label'] = 'Cosmo Politan', 		['weight'] = 100, 	    ['type'] = 'item', 		['image'] = 'cosmopolitan.png', 		['unique'] = false, 	['useable'] = false, 	['shouldClose'] = true,    ['combinable'] = nil,   ['description'] = nil},
['whiskeysour'] 			= {['name'] = 'whiskeysour', 			  	['label'] = 'Whiskey Sour', 		['weight'] = 100, 	    ['type'] = 'item', 		['image'] = 'whiskeysour.png', 			['unique'] = false, 	['useable'] = false, 	['shouldClose'] = true,    ['combinable'] = nil,   ['description'] = nil},
['whiterussian'] 			= {['name'] = 'whiterussian', 			  	['label'] = 'White Russian', 		['weight'] = 100, 	    ['type'] = 'item', 		['image'] = 'whiterussian.png', 		['unique'] = false, 	['useable'] = false, 	['shouldClose'] = true,    ['combinable'] = nil,   ['description'] = nil},
['classicmargarita'] 		= {['name'] = 'classicmargarita', 			['label'] = 'Classic Margarita', 	['weight'] = 100, 	    ['type'] = 'item', 		['image'] = 'classicmargarita.png', 	['unique'] = false, 	['useable'] = false, 	['shouldClose'] = true,    ['combinable'] = nil,   ['description'] = nil},
['cubalibre'] 			 	= {['name'] = 'cubalibre', 			  		['label'] = 'Cuba Libre', 			['weight'] = 100, 	    ['type'] = 'item', 		['image'] = 'cubalibre.png', 			['unique'] = false, 	['useable'] = false, 	['shouldClose'] = true,    ['combinable'] = nil,   ['description'] = nil},
['tequilasunrise'] 			= {['name'] = 'tequilasunrise', 			['label'] = 'Tequila Sunrise', 		['weight'] = 100, 	    ['type'] = 'item', 		['image'] = 'tequilasunrise.png', 		['unique'] = false, 	['useable'] = false, 	['shouldClose'] = true,    ['combinable'] = nil,   ['description'] = nil},
```

#### **Installation is complete, enjoy!** <a href="#installation-is-complete-enjoy" id="installation-is-complete-enjoy"></a>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://kavl.gitbook.io/kvl-store/scripts/galaxy-club-job/qbcore-installation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
