> ## 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 Default Pacific Bank Robbery resource

## Installation Steps

**1. Install required dependencies**

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

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

> **[projectx-bridge](/resources/bridge/installation)**
>
> Required Project X Bridge

> [!NOTE]
>
> This variant uses the **vanilla GTA** Pacific Standard Bank interior. No third-party map purchase is required.

**2. Install minigames**

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

> **[Minigames](https://drive.google.com/file/d/1JxLncvTB0khQlFWt4HVxkM9ce-ZzdpAH/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.

**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 when set to `'auto'`.

**6. Add to server.cfg**

Make sure dispatch starts before the bridge, and the bridge and minigames start before the robbery script.

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

ensure boii_minigames
ensure bl_ui
ensure SN-Hacking
ensure pure-minigames
ensure pd-safe
ensure xdecrypto

ensure projectx-pacificbankrobbery-default
```

## Items Required

### Items Required from Outside the Robbery

Obtain `pacificcard` externally (for example from another robbery or side mission) before starting the heist.

* `pacificcard`

### Items Required from Shop / Black Market

* `x_device`
* `x_phone`
* `x_laptop`
* `hackcard`
* `decryptor`
* `laserdrill`
* `pliers`
* `bag`

> [!NOTE]
>
> The rest of the items (`pacific_key`) are obtained within the robbery itself.

### Item Configuration

**ox\_inventory**

```lua theme={null}
["laserdrill"] = {
    label = "Laser Drill",
    weight = 1000,
    stack = false,
    close = false,
    description = "",
},
["x_device"] = {
    label = "Flapper Hero",
    weight = 125,
    stack = false,
    close = false,
    description = "?????????",
},
["bag"] = {
    label = "Duffel Bag",
    weight = 250,
    stack = false,
    close = false,
    description = "Duffel bag",
},
["hackcard"] = {
    label = "Hackcard",
    weight = 50,
    stack = false,
    close = false,
    description = "Hack card",
},
["decryptor"] = {
    label = "Decrypt-o-matic",
    weight = 300,
    stack = false,
    close = false,
    description = "Decrypt PIN based encryptions",
},
["pliers"] = {
    label = "Pliers",
    weight = 125,
    stack = false,
    close = false,
    description = "A pair of pliers",
},
["x_laptop"] = {
    label = "X Laptop",
    weight = 50,
    stack = false,
    close = false,
    description = "?????????",
},
["x_phone"] = {
    label = "x Phone",
    weight = 300,
    stack = false,
    close = false,
    description = "?????????",
},
["pacific_key"] = {
    label = "Pacific Key",
    weight = 125,
    stack = false,
    close = false,
    description = "Key!",
},
["pacificcard"] = {
    label = "Pacific Keycard",
    weight = 50,
    stack = false,
    close = false,
    description = "A Security card for Pacific Bank",
},
```

**qb-inventory**

```lua theme={null}
['pacific_key'] = {['name'] = 'pacific_key', ['label'] = 'Pacific Key', ['weight'] = 50, ['type'] = 'item', ['image'] = 'pacific_key.png', ['unique'] = true, ['useable'] = false, ['shouldClose'] = false, ['combinable'] = nil, ['description'] = 'Key!'},
['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'] = '?????????'},
['pacificcard'] = {['name'] = 'pacificcard', ['label'] = 'Pacific Keycard', ['weight'] = 25, ['type'] = 'item', ['image'] = 'pacificcard.png', ['unique'] = false, ['useable'] = false, ['shouldClose'] = false, ['combinable'] = nil, ['description'] = 'A Security card for Pacific Bank'},
['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'},
['x_laptop'] = {['name'] = 'x_laptop', ['label'] = 'X Laptop', ['weight'] = 50, ['type'] = 'item', ['image'] = 'x_laptop.png', ['unique'] = true, ['useable'] = false, ['shouldClose'] = false, ['combinable'] = nil, ['description'] = '?????????'},
['pliers'] = {['name'] = 'pliers', ['label'] = 'Pliers', ['weight'] = 200, ['type'] = 'item', ['image'] = 'pliers.png', ['unique'] = false, ['useable'] = false, ['shouldClose'] = false, ['combinable'] = nil, ['description'] = 'Pliers..?'},
['hackcard'] = {['name'] = 'hackcard', ['label'] = 'hackcard', ['weight'] = 50, ['type'] = 'item', ['image'] = 'hackcard.png', ['unique'] = true, ['useable'] = false, ['shouldClose'] = false, ['combinable'] = nil, ['description'] = 'Hack card'},
['decryptor'] = {['name'] = 'decryptor', ['label'] = 'decryptor', ['weight'] = 750, ['type'] = 'item', ['image'] = 'decryptomatic.png', ['unique'] = true, ['useable'] = false, ['shouldClose'] = false, ['combinable'] = nil, ['description'] = 'Decyrptomatic'},
['laserdrill'] = {['name'] = 'laserdrill', ['label'] = 'Laser Drill', ['weight'] = 7500, ['type'] = 'item', ['image'] = 'laserdrill.png', ['unique'] = true, ['useable'] = true, ['shouldClose'] = true, ['combinable'] = nil, ['description'] = 'Laser Drill'},
```


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