> For the complete documentation index, see [llms.txt](https://docs.elusivestudios.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.elusivestudios.net/qb/bank-trucks/installation.md).

# Installation

## Requirements

* [ox-lib](https://github.com/overextended/ox_lib)
* [ox-target](https://github.com/overextended/ox_target/releases) or [qb-target](https://github.com/qbcore-framework/qb-target/releases)
* [PolyZone](https://github.com/mkafrin/PolyZone/releases)
* [LegacyFuel](https://github.com/InZidiuZ/LegacyFuel/releases) or [cdn-fuel](https://github.com/CodineDev/cdn-fuel/releases)
* [qb-phone](https://github.com/qbcore-framework/qb-phone) or qs-smartphone or lb-phone
* [ps-ui](https://github.com/Project-Sloth/ps-ui)
* [ps-dispatch](https://github.com/Project-Sloth/ps-dispatch/releases) (optional)

## Step 1 - Place resource in \[qb] folder

Place the folder qb-pos inside your folder with all the other qb scripts. This is most likely called \[qb]

## Step 2 - Database

Execute the following code in your database

<pre class="language-sql"><code class="lang-sql"><strong>CREATE TABLE `es_banktrucks` (
</strong>  `citizenid` varchar(255) NOT NULL,
  `completed` varchar(500) NOT NULL,
  `current` varchar(500) DEFAULT NULL,
  `routes` varchar(255) DEFAULT NULL,
  `xp` int(255) DEFAULT 0
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

ALTER TABLE `es_banktrucks`
  ADD PRIMARY KEY (`citizenid`);
</code></pre>

## Step 3 - Add Items

Add the following items to your qb-core `items.lua` file

```lua
-- Bank Trucks Items
hacking_device                       = { name = 'hacking_device', label = 'Hacking Device', weight = 100, type = 'item', image = 'hacking_device.png', unique = true, useable = true, shouldClose = true, description = 'A device' },
routes_normal 			     = { name = 'routes_normal', label = 'Normal Truck Routes', weight = 200, type = 'item', image = 'routes_normal.png', unique = true, useable = false, shouldClose = true, description = 'Illegal bank truck routes'},
routes_better 			     = { name = 'routes_better', label = 'Better Truck Routes', weight = 200, type = 'item', image = 'routes_better.png', unique = true, useable = false, shouldClose = true, description = 'Illegal bank truck routes'},
routes_elite 			     = { name = 'routes_elite', label = 'Elite Truck Routes', weight = 200, type = 'item', image = 'routes_elite.png', unique = true, useable = false, shouldClose = true, description = 'Illegal bank truck routes'},
thermitecharge 			     = { name = 'thermitecharge', label = 'Thermite Charge', weight = 200, type = 'item', image = 'thermitecharge.png', unique = true, useable = false, shouldClose = true, description = 'High powered thermite charge often used in criminal activity.'},
```

## Step 4 - Upload Images

Add the images found in the images folder into your inventory script images folder

## Step 5 - Configure

Open up the configuration file and configure. It is very lengthy because it contains the data for the missions. I recommend that you do not mess with any of the mission data, other than stuff like costs, rewards, spawns, ect. You should not be editing stuff like the names of missions, ect, as you will probably break something. It is already pre-configured so you shouldn't have to change much other than what I mentioned above.
