> ## Documentation Index
> Fetch the complete documentation index at: https://docs.thecruxstudio.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Installing UWU Cat Café Job V2 on Your FiveM Server

> Complete installation guide for crux-uwucafejobv2 — covering dependencies, configuration, inventory setup, job grades, and resource ensure order.

Follow these steps to install UWU Cat Café Job V2 (`crux-uwucafejobv2`) on your FiveM server.

## Script Installation

<Steps>
  <Step title="Install Dependencies">
    Download and install the following dependencies before adding the script to your server:

    * [oxmysql v2.12.0](https://github.com/overextended/oxmysql/releases/tag/v2.12.0)
    * [ox\_lib v3.30.6](https://github.com/overextended/ox_lib/releases/tag/v3.30.6)
    * `crux_lib` — included in your script download, no separate install needed.
  </Step>

  <Step title="Configure the Script">
    Open `config/config.lua` and configure all settings to match your server setup. This includes framework selection, job name, zone positions, and menu items.
  </Step>

  <Step title="Add Items to Your Inventory">
    Open the `install` folder inside the script. Add all items and their images to your inventory system.

    <Tabs>
      <Tab title="qb-inventory">
        1. Copy the item entries from the `README` into `qb-core/shared/items.lua`.
        2. Copy all images from `/install/images` into `qb-inventory/html/images`.

        ```lua theme={null}
        ['bm_cappucino']          = {['name'] = 'bm_cappucino',         ['label'] = 'Cappucino Coffee',      ['weight'] = 500, ['type'] = 'item', ['image'] = 'bm_cappucino.png',         ['unique'] = false, ['useable'] = true,  ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'Your favorite Cappucino Coffee!'},
        ['bm_chocolatedonut']     = {['name'] = 'bm_chocolatedonut',    ['label'] = 'Chocolate Donut',       ['weight'] = 500, ['type'] = 'item', ['image'] = 'bm_chocolatedonut.png',    ['unique'] = false, ['useable'] = true,  ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'Your favorite Chocolate Donut!'},
        ['bm_classicdonut']       = {['name'] = 'bm_classicdonut',      ['label'] = 'Classic Donut',         ['weight'] = 500, ['type'] = 'item', ['image'] = 'bm_classicdonut.png',      ['unique'] = false, ['useable'] = true,  ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'Your favorite Classic Donut!'},
        ['bm_espresso']           = {['name'] = 'bm_espresso',          ['label'] = 'Espresso Coffee',       ['weight'] = 500, ['type'] = 'item', ['image'] = 'bm_espresso.png',          ['unique'] = false, ['useable'] = true,  ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'Your favorite Espresso Coffee!'},
        ['bm_greentea']           = {['name'] = 'bm_greentea',          ['label'] = 'Green Tea',             ['weight'] = 500, ['type'] = 'item', ['image'] = 'bm_greentea.png',          ['unique'] = false, ['useable'] = true,  ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'Your favorite Green Tea!'},
        ['bm_jasminetea']         = {['name'] = 'bm_jasminetea',        ['label'] = 'Jasmine Tea',           ['weight'] = 500, ['type'] = 'item', ['image'] = 'bm_jasminetea.png',        ['unique'] = false, ['useable'] = true,  ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'Your favorite Jasmine Tea!'},
        ['bm_hotchocolate']       = {['name'] = 'bm_hotchocolate',      ['label'] = 'Hot Chocolate',         ['weight'] = 500, ['type'] = 'item', ['image'] = 'bm_hotchocolate.png',      ['unique'] = false, ['useable'] = true,  ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'Your favorite Hot Chocolate!'},
        ['bm_lattecoffee']        = {['name'] = 'bm_lattecoffee',       ['label'] = 'Latte Coffee',          ['weight'] = 500, ['type'] = 'item', ['image'] = 'bm_lattecoffee.png',       ['unique'] = false, ['useable'] = true,  ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'Your favorite Latte Coffee!'},
        ['bm_minttea']            = {['name'] = 'bm_minttea',           ['label'] = 'Mint Tea',              ['weight'] = 500, ['type'] = 'item', ['image'] = 'bm_minttea.png',           ['unique'] = false, ['useable'] = true,  ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'Your favorite Mint Tea!'},
        ['bm_pinkdonut']          = {['name'] = 'bm_pinkdonut',         ['label'] = 'Pink Donut',            ['weight'] = 500, ['type'] = 'item', ['image'] = 'bm_pinkdonut.png',         ['unique'] = false, ['useable'] = true,  ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'Your favorite Pink Donut!'},
        ['bm_turkishcoffee']      = {['name'] = 'bm_turkishcoffee',     ['label'] = 'Turkish Coffee',        ['weight'] = 500, ['type'] = 'item', ['image'] = 'bm_turkishcoffee.png',     ['unique'] = false, ['useable'] = true,  ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'Your favorite Turkish Coffee!'},
        ['bm_vanilladonut']       = {['name'] = 'bm_vanilladonut',      ['label'] = 'Vanilla Donut',         ['weight'] = 500, ['type'] = 'item', ['image'] = 'bm_vanilladonut.png',      ['unique'] = false, ['useable'] = true,  ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'Your favorite Vanilla Donut!'},
        -- Raw Materials
        ['bm_chocolate']          = {['name'] = 'bm_chocolate',         ['label'] = 'Chocolate',             ['weight'] = 500, ['type'] = 'item', ['image'] = 'bm_chocolate.png',         ['unique'] = false, ['useable'] = true,  ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'Your favorite Chocolate!'},
        ['bm_coffeebeans']        = {['name'] = 'bm_coffeebeans',       ['label'] = 'Coffee Beans',          ['weight'] = 500, ['type'] = 'item', ['image'] = 'bm_coffeebeans.png',       ['unique'] = false, ['useable'] = true,  ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'Your favorite Coffee Beans!'},
        ['bm_cream']              = {['name'] = 'bm_cream',             ['label'] = 'Cream',                 ['weight'] = 500, ['type'] = 'item', ['image'] = 'bm_cream.png',             ['unique'] = false, ['useable'] = true,  ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'Your favorite Cream!'},
        ['bm_milk']               = {['name'] = 'bm_milk',              ['label'] = 'Milk',                  ['weight'] = 500, ['type'] = 'item', ['image'] = 'bm_milk.png',              ['unique'] = false, ['useable'] = true,  ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'Your favorite Milk!'},
        ['bm_sugar']              = {['name'] = 'bm_sugar',             ['label'] = 'Sugar',                 ['weight'] = 500, ['type'] = 'item', ['image'] = 'bm_sugar.png',             ['unique'] = false, ['useable'] = true,  ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'Your favorite Sugar!'},
        -- Serveware
        ['bm_plate']              = {['name'] = 'bm_plate',             ['label'] = 'Plate',                 ['weight'] = 50,  ['type'] = 'item', ['image'] = 'bm_plate.png',             ['unique'] = false, ['useable'] = false, ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'A clean plate ready for serving food.'},
        ['bm_dirtyplate']         = {['name'] = 'bm_dirtyplate',        ['label'] = 'Dirty Plate',           ['weight'] = 50,  ['type'] = 'item', ['image'] = 'bm_dirtyplate.png',        ['unique'] = false, ['useable'] = false, ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'A used plate that needs to be washed.'},
        ['bm_cup']                = {['name'] = 'bm_cup',               ['label'] = 'Cup',                   ['weight'] = 50,  ['type'] = 'item', ['image'] = 'bm_cup.png',               ['unique'] = false, ['useable'] = false, ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'A clean cup for serving Coffee.'},
        ['bm_dirtycup']           = {['name'] = 'bm_dirtycup',          ['label'] = 'Dirty Cup',             ['weight'] = 50,  ['type'] = 'item', ['image'] = 'bm_dirtycup.png',          ['unique'] = false, ['useable'] = false, ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'A used cup that needs to be washed.'},
        ```
      </Tab>

      <Tab title="ox_inventory">
        1. Copy the item entries from the `README` into `ox_inventory/data/items.lua`.
        2. Copy all images from `/install/images` into `ox_inventory/web/images`.

        ```lua theme={null}
        ["bm_classicdonut"] = {
            label = "Classic Donut",
            weight = 500,
            stack = true,
            close = true,
            description = "Your favorite Classic Donut!",
            client = { image = "bm_classicdonut.png" }
        },
        ["bm_cappucino"] = {
            label = "Cappucino Coffee",
            weight = 500,
            stack = true,
            close = true,
            description = "Your favorite Cappucino Coffee!",
            client = { image = "bm_cappucino.png" }
        },
        ["bm_coffeebeans"] = {
            label = "Coffee Beans",
            weight = 500,
            stack = true,
            close = true,
            description = "Your favorite Coffee Beans!",
            client = { image = "bm_coffeebeans.png" }
        },
        ["bm_plate"] = {
            label = "Plate",
            weight = 50,
            stack = true,
            close = true,
            description = "A clean plate ready for serving food.",
            client = { image = "bm_plate.png" }
        },
        ["bm_dirtyplate"] = {
            label = "Dirty Plate",
            weight = 50,
            stack = true,
            close = true,
            description = "A used plate that needs to be washed.",
            client = { image = "bm_dirtyplate.png" }
        },
        ["bm_cup"] = {
            label = "Cup",
            weight = 50,
            stack = true,
            close = true,
            description = "A clean cup for serving Coffee.",
            client = { image = "bm_cup.png" }
        },
        ["bm_dirtycup"] = {
            label = "Dirty Cup",
            weight = 50,
            stack = true,
            close = true,
            description = "A used cup that needs to be washed.",
            client = { image = "bm_dirtycup.png" }
        },
        -- Add all remaining items following the same pattern. Full list is in the README.
        ```
      </Tab>

      <Tab title="qs-inventory">
        1. Copy the item entries from the `README` into `qs-inventory/`.
        2. Copy all images from `/install/images` into `qs-inventory/html/images`.

        The item format matches the `qb-inventory` format. See the `README` inside the script for the full item list.
      </Tab>

      <Tab title="tgiann-inventory">
        1. Copy the item entries from the `README` into `qb-core/shared/items.lua`.
        2. Copy all images from `/install/images` into `qb-inventory/html/images`.

        The item format matches the `qb-inventory` format. See the `README` inside the script for the full item list.
      </Tab>
    </Tabs>
  </Step>

  <Step title="Ensure Resources">
    Add the following lines to your `server.cfg` in this order:

    ```
    ensure ox_lib
    ensure crux_lib
    ensure crux-uwucafetv
    ensure crux-uwucafekiosk
    ensure crux-uwucafebag
    ensure crux-uwucafejobv2
    ```
  </Step>
</Steps>

## Livery Vehicle Installation

The script includes custom livery vehicles for deliveries. Install them separately using the steps below.

### Vapid Speedo Express

<Steps>
  <Step title="Download from GTA5-Mods">
    Download the [Vapid Speedo Express \[Add-On | Liveries | Legacy | Enhanced\]](https://www.gta5-mods.com/vehicles/vapid-speedo-express-add-on-liveries) from GTA5-Mods.com.
  </Step>

  <Step title="Replace the YTD File">
    After installing the base vehicle, replace the YTD file with the livery version included in the script's `install` folder.
  </Step>
</Steps>

### Benefactor Imperial

<Steps>
  <Step title="Download from GTA5-Mods">
    Download the [Benefactor Imperial \[Add-On | Tuning | Liveries | LODs\]](https://www.gta5-mods.com/vehicles/benefactor-imperial-add-on-tuning-liveries-lods/download/165947) from GTA5-Mods.com.
  </Step>

  <Step title="Replace the YFT File">
    After installing the base vehicle, replace the YFT file with the livery version included in the script's `install` folder.
  </Step>
</Steps>
