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

# Installation

> Step by step instructions to install the K4MB1 Maze Bank Robbery resource

## Installation Steps

**1. Install required dependencies**

> [!WARNING]
>
> Verify all dependencies below are started **before** this script in your `server.cfg`.

> [card] [ox\_lib](https://github.com/CommunityOx/ox_lib/releases/latest)
>
> Download ox\_lib

> [card] [K4MB1 Maze Bank Map](https://www.k4mb1maps.com/product/5107011)
>
> Required Maze Bank interior by K4MB1

> [card] [projectx-bridge](https://docs.projectx.gg/resources/bridge/installation.md)
>
> Required Project X Bridge

> [!NOTE]
>
> This resource loads **mka-lasers** from the client manifest. You must still `ensure mka-lasers` in `server.cfg` so the dependency is present before the heist starts.

**2. Install minigames**

Download the minigames zip and place each resource into your standalone or dependencies folder.

> [card] [Minigames](https://drive.google.com/file/d/1Z9ZSLaOXaaq2Grw9kOij1XUkrdALA4Mc/view?usp=sharing)
>
> Download and place in your standalone or minigames folder

> [!WARNING]
>
> Make sure the minigames are **not** in the same folder as the robbery script.

**3. Extract and place the resource**

Extract the script from the zip file and place it into your scripts folder as `projectx-mazebankrobbery-k4mb1`.

**4. Add items to your inventory**

Add the required items and their images to your inventory resource. See the [items section](#items-required) below for the full list.

> [!NOTE]
>
> Item images done by [Artwork Inventory](https://discord.gg/Z2awpnXKdw) — use code **ProjectX** for 10% off!

**5. Configure the resource**

Open `config/config.lua` and adjust settings to match your server. The bridge handles framework, inventory, dispatch, and interaction automatically if set to `'auto'`.

**6. Add to server.cfg**

Make sure the bridge, ox\_lib, **mka-lasers**, and all minigames are started before the robbery script.

```cfg theme={null}
ensure ox_lib
ensure projectx-bridge

ensure mka-lasers
ensure SN-Hacking
ensure simonsays
ensure lightsout
ensure utk_fingerprint
ensure pure-minigames
ensure pd-safe

ensure projectx-mazebankrobbery-k4mb1
```

## Items Required

### Items Required from Outside the Robbery

The `mazebankcard` must be obtained externally (for example from a lower-tier heist or progression chain) before players can start this robbery.

* `mazebankcard`

### Items Required from Shop/Black Market

* `laserdrill`
* `x_phone`
* `x_device`
* `pliers`
* `x_stethoscope`
* `weapon_stickybomb`
* `weapon_smokegrenade`
* `bag`

> [!NOTE]
>
> Items such as `mazebankcard2` and `mazebankkey` are obtained during the heist itself.

### Item Configuration

> [tab] ox\_inventory
>
> ```lua theme={null}
> ["pliers"] = {
>     label = "Pliers",
>     weight = 125,
>     stack = false,
>     close = false,
>     description = "A pair of pliers",
> },
> ["x_device"] = {
>     label = "Flapper Hero",
>     weight = 125,
>     stack = false,
>     close = false,
>     description = "?????????",
> },
> ["x_phone"] = {
>     label = "X Phone",
>     weight = 125,
>     stack = false,
>     close = false,
>     description = "?????????",
> },
> ["bag"] = {
>     label = "Duffel Bag",
>     weight = 250,
>     stack = false,
>     close = false,
>     description = "Duffel bag",
> },
> ["x_stethoscope"] = {
>     label = "X Stethoscope",
>     weight = 150,
>     stack = false,
>     close = false,
>     description = "?????????",
> },
> ["mazebankcard"] = {
>     label = "Maze Bank Card A",
>     weight = 300,
>     stack = false,
>     close = false,
>     description = "A Security card for the Maze Bank",
> },
> ["mazebankcard2"] = {
>     label = "Maze Bank Card B",
>     weight = 300,
>     stack = false,
>     close = false,
>     description = "A Security card for the Maze Bank",
> },
> ["mazebankkey"] = {
>     label = "Maze Bank Key",
>     weight = 300,
>     stack = false,
>     close = false,
>     description = "A Key",
> },
> ["laserdrill"] = {
>     label = "Laser Drill",
>     weight = 300,
>     stack = false,
>     close = false,
>     description = "A laser powered drill",
> },
> ```

> [tab] qb-inventory
>
> ```lua theme={null}
> ["laserdrill"] = {["name"] = "laserdrill", ["label"] = "Laser Drill", ["weight"] = 7500, ["type"] = "item", ["image"] = "laserdrill.png", ["unique"] = true, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "Laser Drill"},
> ["x_phone"] = {["name"] = "x_phone", ["label"] = "X Phone", ["weight"] = 50, ["type"] = "item", ["image"] = "x_phone.png", ["unique"] = true, ["useable"] = false, ["shouldClose"] = false, ["combinable"] = nil, ["description"] = "?????????"},
> ["x_device"] = {["name"] = "x_device", ["label"] = "X Device", ["weight"] = 50, ["type"] = "item", ["image"] = "x_device.png", ["unique"] = true, ["useable"] = false, ["shouldClose"] = false, ["combinable"] = nil, ["description"] = "?????????"},
> ["bag"] = {["name"] = "bag", ["label"] = "Bag", ["weight"] = 400, ["type"] = "item", ["image"] = "bag.png", ["unique"] = true, ["useable"] = false, ["shouldClose"] = false, ["combinable"] = nil, ["description"] = "Duffel bag"},
> ["pliers"] = {["name"] = "pliers", ["label"] = "Pliers", ["weight"] = 200, ["type"] = "item", ["image"] = "pliers.png", ["unique"] = false, ["useable"] = false, ["shouldClose"] = false, ["combinable"] = nil, ["description"] = "Pliers..?"},
> ["x_stethoscope"] = {["name"] = "x_stethoscope", ["label"] = "X Stethoscope", ["weight"] = 200, ["type"] = "item", ["image"] = "x_stethoscope.png", ["unique"] = false, ["useable"] = false, ["shouldClose"] = false, ["combinable"] = nil, ["description"] = "click click"},
> ["mazebankcard"] = {["name"] = "mazebankcard", ["label"] = "Maze Bank Keycard A", ["weight"] = 100, ["type"] = "item", ["image"] = "mazebankcard.png", ["unique"] = false, ["useable"] = false, ["shouldClose"] = false, ["combinable"] = nil, ["description"] = "Card A"},
> ["mazebankcard2"] = {["name"] = "mazebankcard2", ["label"] = "Maze Bank Keycard B", ["weight"] = 100, ["type"] = "item", ["image"] = "mazebankcard2.png", ["unique"] = false, ["useable"] = false, ["shouldClose"] = false, ["combinable"] = nil, ["description"] = "Card B"},
> ["mazebankkey"] = {["name"] = "mazebankkey", ["label"] = "Maze Bank Key", ["weight"] = 100, ["type"] = "item", ["image"] = "mazebankkey.png", ["unique"] = false, ["useable"] = false, ["shouldClose"] = false, ["combinable"] = nil, ["description"] = "A Key"},
> ```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.