> For the complete documentation index, see [llms.txt](https://docs.apx-studios.com/api/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.apx-studios.com/api/premium-resources/apex-cat-cafe/install-instructions.md).

# Install Instructions

***

Follow the steps below to install this resource to your server.

{% stepper %}
{% step %}

## Install dependencies

{% hint style="warning" %}
Verify all dependencies below are started *before* this script in your `server.cfg`.
{% endhint %}

Install (or update) all dependencies below:

1. [oxmysql](https://github.com/overextended/oxmysql/releases/latest)
2. [ox\_lib](https://github.com/overextended/ox_lib/releases/latest)
3. apex\_lib (Included with the purchases - Please check your keymaster)
   {% endstep %}

{% step %}

## Add items <a href="#add-items" id="add-items"></a>

Open the `[install]` folder and add the `items` & their `images` to your inventory

{% hint style="info" %}
Are you on esx - Remember to add the `.sql` to your database.
{% endhint %}

{% tabs %}
{% tab title="qb-inventory" %}

```lua
-- [FOOD INGREDIENTS] --
sugar             = { name = 'sugar',             label = 'Sugar',             weight = 10, type = 'item', image = 'sugar.png',             unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Ingredients' },
cocoapowder      = { name = 'cocoapowder',      label = 'Cocoa Powder',      weight = 10, type = 'item', image = 'cocoapowder.png',      unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Ingredients' },
milk              = { name = 'milk',              label = 'Milk',              weight = 10, type = 'item', image = 'soda.png',              unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Ingredients' },
noodles           = { name = 'noodles',           label = 'Noodles',           weight = 10, type = 'item', image = 'noodles.png',           unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Ingredients' },
onion             = { name = 'onion',             label = 'Onion',             weight = 10, type = 'item', image = 'onion.png',             unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Ingredients' },
butter            = { name = 'butter',            label = 'Butter',            weight = 10, type = 'item', image = 'butter.png',            unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Ingredients' },
chickenfillet    = { name = 'chickenfillet',    label = 'Chicken Fillet',    weight = 10, type = 'item', image = 'chickenfillet.png',    unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Ingredients' },
tofu              = { name = 'tofu',              label = 'Tofu',              weight = 10, type = 'item', image = 'tofu.png',              unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Ingredients' },
rice              = { name = 'rice',              label = 'Rice',              weight = 10, type = 'item', image = 'rice.png',              unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Ingredients' },
fish              = { name = 'fish',              label = 'Fish',              weight = 10, type = 'item', image = 'fish.png',              unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Ingredients' },
flour             = { name = 'flour',             label = 'Flour',             weight = 10, type = 'item', image = 'flour.png',             unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Ingredients' },
egg               = { name = 'egg',               label = 'Egg',               weight = 10, type = 'item', image = 'eggs.png',              unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Ingredients' },
orangedye        = { name = 'orangedye',        label = 'Orange Dye',        weight = 10, type = 'item', image = 'orangedye.png',        unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Food Dye' },
greendye         = { name = 'greendye',         label = 'Green Dye',         weight = 10, type = 'item', image = 'greendye.png',         unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Food Dye' },
pinkdye          = { name = 'pinkdye',          label = 'Pink Dye',          weight = 10, type = 'item', image = 'pinkdye.png',          unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Food Dye' },
turquoisedye     = { name = 'turquoisedye',     label = 'Turquoise Dye',     weight = 10, type = 'item', image = 'turquoisedye.png',     unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Food Dye' },
bakingsoda        = { name = 'bakingsoda',        label = 'Baking Soda',       weight = 10, type = 'item', image = 'bakingsoda.png',        unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Ingredients' },

-- [FOOD] --
orangemacaroon    = { name = 'orangemacaroon',    label = 'Orange Macaroon',   weight = 30, type = 'item', image = 'orangemacaroon.png',    unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Orange Macaroon' },
greenmacaroon     = { name = 'greenmacaroon',     label = 'Green Macaroon',    weight = 30, type = 'item', image = 'greenmacaroon.png',     unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Green Macaroon' },
pinkmacaroon      = { name = 'pinkmacaroon',      label = 'Pink Macaroon',     weight = 30, type = 'item', image = 'pinkmacaroon.png',      unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Pink Macaroon' },
turquoisemacaroon = { name = 'turquoisemacaroon', label = 'Turquoise Macaroon',weight = 30, type = 'item', image = 'turquoisemacaroon.png', unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Turquoise Macaroon' },
cookie            = { name = 'cookie',            label = 'Cookie',            weight = 30, type = 'item', image = 'cookie.png',            unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Cookie' },
cupcake           = { name = 'cupcake',           label = 'Cupcake',           weight = 30, type = 'item', image = 'cupcake.png',           unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Cupcake' },
donut             = { name = 'donut',             label = 'Donut',             weight = 30, type = 'item', image = 'donut.png',             unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Donut' },
chocosandwich     = { name = 'chocosandwich',     label = 'Choco Sandwich',    weight = 30, type = 'item', image = 'chocosandwich.png',     unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Choco Sandwich' },
pancake           = { name = 'pancake',           label = 'Pancake',           weight = 30, type = 'item', image = 'pancake.png',           unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Pancake' },
chickennoodlesoup = { name = 'chickennoodlesoup', label = 'Chicken Noodle Soup',weight = 30, type = 'item', image = 'chickennoodlesoup.png', unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Chicken Noodle Soup' },
misosoup          = { name = 'misosoup',          label = 'Miso Soup',         weight = 30, type = 'item', image = 'misosoup.png',          unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Miso Soup' },
sushi             = { name = 'sushi',             label = 'Sushi',             weight = 10, type = 'item', image = 'sushi.png',             unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Food' },

-- [DRINKS] --
brewedcoffee      = { name = 'brewedcoffee',      label = 'Brewed Coffee',     weight = 10, type = 'item', image = 'brewedcoffee.png',      unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Brewed Coffee Drink' },
hotchocolade      = { name = 'hotchocolade',      label = 'Hot Chocolate',     weight = 30, type = 'item', image = 'hotchocolade.png',      unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Hot Chocolate Drink' },
latte             = { name = 'latte',             label = 'Latte',             weight = 30, type = 'item', image = 'latte.png',             unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Latte Drink' },
matchatea         = { name = 'matchatea',         label = 'Matcha Tea',        weight = 30, type = 'item', image = 'matchatea.png',         unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Matcha Tea Drink' },
bubbletea         = { name = 'bubbletea',         label = 'Bubble Tea',        weight = 30, type = 'item', image = 'bubbletea.png',         unique = false, useable = true, shouldClose = true, combinable = nil, description = 'Bubble Tea Drink' },
```

{% endtab %}

{% tab title="ESX" %}

```lua
INSERT INTO `items` (`name`, `label`, `weight`, `rare`, `can_remove`) VALUES
('sugar', 'Sugar', 10, 0, 1),
('cocoapowder', 'Cocoa Powder', 10, 0, 1),
('milk', 'Milk', 10, 0, 1),
('noodles', 'Noodles', 10, 0, 1),
('onion', 'Onion', 10, 0, 1),
('butter', 'Butter', 10, 0, 1),
('chicken_fillet', 'Chicken Fillet', 10, 0, 1),
('tofu', 'Tofu', 10, 0, 1),
('rice', 'rice', 10, 0, 1),
('fish', 'Fish', 10, 0, 1),
('flour', 'Flour', 10, 0, 1),
('egg', 'Egg', 10, 0, 1),
('orangedye', 'Orange Dye', 10, 0, 1),
('greendye', 'Green Dye', 10, 0, 1),
('pinkdye', 'Pink Dye', 10, 0, 1),
('turquoisedye', 'Turquoise Dye', 10, 0, 1),
('bakingsoda', 'Baking Soda', 10, 0, 1),
('orangemacaroon', 'Orange Macaroon', 10, 0, 1),
('greenmacaroon', 'Green Macaroon', 10, 0, 1),
('pinkmacaroon', 'Pink Macaroon', 10, 0, 1),
('turquoisemacaroon', 'Turquoise Macaroon', 10, 0, 1),
('cookie', 'Cookie', 10, 0, 1),
('cupcake', 'Cupcake', 10, 0, 1),
('donut', 'Donut', 10, 0, 1),
('chocosandwich', 'Choco Sandwich', 10, 0, 1),
('pancake', 'Pancake', 10, 0, 1),
('chickennoodlesoup', 'Chicken Noodle Soup', 10, 0, 1),
('misosoup', 'Miso Soup', 10, 0, 1),
('sushi', 'Sushi', 10, 0, 1),
('brewedcoffee', 'Brewed Coffee', 10, 0, 1),
('hotchocolade', 'Hot Chocolate', 10, 0, 1),
('latte', 'Latte', 10, 0, 1),
('matchatea', 'Matcha Tea', 10, 0, 1),
('bubbletea', 'Bubble Tea', 10, 0, 1);
```

{% endtab %}
{% endtabs %}
{% endstep %}

{% step %}

## Add jobs

Open the `[install]` folder and add the `jobs` to your core resource

{% hint style="info" %}
Are you on esx - Remember to add the `.sql` to your database.
{% endhint %}

{% tabs %}
{% tab title="qb-core" %}

```lua
-- [Install into: qb-core/shared/jobs.lua] --
catcafe= {
	label = 'Cat Cafe',
	defaultDuty = true,
	offDutyPay = false,
	grades = {
		['0'] = { name = 'Helper', payment = 30 },
		['1'] = { name = 'Cook', payment = 40 },
		['2'] = { name = 'Bartender', payment = 50 },
		['3'] = { name = 'Manager', payment = 60 },
		['4'] = { name = 'Boss', isboss = true, payment = 70 },
	},
},
```

{% endtab %}

{% tab title="qbx\_core" %}

```lua
-- [Install into: qbx_core/shared/jobs.lua] --   
['catcafe'] = {
        label = 'Cat Cafe',
        defaultDuty = true,
        offDutyPay = false,
        grades = {
            [0] = {
                name = 'Helper',
                payment = 30
            },
            [1] = {
                name = 'Cook',
                payment = 40
            },
            [2] = {
                name = 'Bartender',
                payment = 50
            },
            [3] = {
                name = 'Manager',
                payment = 60
            },
             [4] = {
                name = 'Boss',
                isboss = true,
                bankAuth = true,
                payment = 70
            },
        },
    },
```

{% endtab %}

{% tab title="ESX" %}

```lua
INSERT INTO `jobs` (name, label) VALUES
('catcafe', 'Cat Cafe');

INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES
('bite', 0, 'helper', 'Helper', 30, '{}', '{}'),
('bite', 1, 'bartender', 'bartender', 40, '{}', '{}'),
('bite', 2, 'cook', 'Cook', 50, '{}', '{}'),
('bite', 3, 'manager', 'Manager', 60, '{}', '{}'),
('bite', 4, 'boss', 'Boss', 70, '{}', '{}');
```

{% endtab %}
{% endtabs %}
{% endstep %}

{% step %}

## Restart server <a href="#restart-server" id="restart-server"></a>

* Add this script into your main resources directory (usually `../resources`)
* Open `server.cfg` and add `start` or `ensure apex_bite`&#x20;
* Restart your server.
  {% endstep %}
  {% endstepper %}

{% hint style="danger" %}
Upon completion, do **not** delete the `[install]` folder or any `.sql` files or you will experience errors.
{% endhint %}
